一、通过yocto定制linux
1.安装yocto
yocto只能在非root用户下编译,所以先新建一个用户。
useradd chen passwd -d chen 重启电脑进入chen用户。
给chen用户添加root权限,vim /etc/sudoers 第99行添加 chen ALL=(ALL) ALL
chen ALL = NOPASSWD: /usr/bin/yum
mkdir yocto 将光盘中的资料拷贝到yocto下,光盘名称(yocto soure iso)。
添加可执行权限 chmod +x install ./install 跟着步骤安装好yocto。
2.编译linux文件
进入yocto的安装文件夹:
./scripts/host-prepare.sh 配置yocto的环境变量。
source ./fsl-setup-poky -m p1010rdb 开始编译生成文件。
选择编译方式,这里提供了以下几种:
fsl-image-minimal
fsl-image-core
fsl-image-full
fsl-image-flash
fsl-toolchain
package-name(usdpaa)
我选的是 fsl-image-minimal:
bitbake fsl-image-minimal
在编译的时候会提示缺一个库,直接用yum install 库的名字 在继续编译就行了
等待编译完成在QorIQ-SDK-V1.2-20120614-yocto/build_p1010rdb_release/tmp/deploy/images路径下会生成编好的文件系统,内核镜像,驱动树。
提示:
要留至少20g的硬盘空间给文件使用。
二、启动linux
这里介绍两种启动linux的方法:
1.通过tftp直接启动
打开安装包里面的START_HERE.html 文档,找到development deployment这一章,根据文档操作确保主机上的tftp服务器可以使用。
配置板子的启动参数:
setenv ipaddr 192.168.1.10
setenv serverip 192.168.1.20
setenv gatewayip 192.168.1.1
setenv bootargs ‘root=/dev/ram rw ramdisk_size=10000000 console=ttyS0,115200‘
saveenv
启动linux:
tftp 0x1000000 uImage-p1010rdb.bin
tftp 0x2000000 fsl-image-minimal-p1010rdb.rootfs.ext2.gz.u-boot
tftp 0xc00000 uImage-p1010rdb.dtb
bootm 0x1000000 0x2000000 0xc00000 启动linux成功。
2.通过nfs服务器启动
在主机上构建nfs服务器,mkdir /tftpboot/systembuilder ,cp p1010rdb-rootfs.tar.gz /tftpboot/systembuilder
tar xf p1010rdb-rootfs.tar.gz , chmod 777 /tftpboot/systembuilder -R
vi /etc/exports 加入/tftpboot/systembuilder *(rw, no_root_squash, async)
配置启动参数:
setenv ipaddr 192.168.1.10
setenv serverip 192.168.1.20
setenv gatewayip 192.168.1.1
setenv bootargs root=/dev/nfs rw nfsroot=192.168.1.20:/tftpboot/systembuilder nolock ip=192.168.1.10:192.168.1.20:192.168.1.1:255.255.0.0::eth0:off /> console=ttyS0,115200
saveenv
启动linux:
tftp 0x1000000 uImage-p1010rdb.bin
tftp 0xc00000 uImage-p1010rdb.dtb
bootm 0x1000000 - 0xc00000 启动linux成功。