-
编译文件系统:
我的文件系统从buildroot编译,当然你也可以在busybox或者yotoc去编译.
编译完成后不需要对文件系统进行任何修改. -
内核使能网络和网络文件系统:
-
搭建主机服务器:
在你的主机上搭建tftp服务器和nfs服务器,这个网上有说我就不细细道来了.弄好之后把设备树和内核放到tftp服务器目录即可
注意: 以上挂载的是 Ubuntu16 系统下的共享目录,如果是挂载 Ubuntu18 系统及更高版本
的系统下的 nfs 共享目录, uboot 无法通过 nfs 启动 Ubuntu 系统内的共享目录。 需要在
/etc/default/nfs-kernel-server 文件进行修改,改好了保存退出,然后重启一下 nfs 就可以了, 或
者报错 Loading:*ww ERROR:File lookup fail 的也是按照下面的方法来解决。
以下错误都可以通过以上办法解决:
Cannot open root device "nfs" or unknown-block(2,0): error -6
- 设置uboot环境变量:
setenv netargs 'console=ttymxc0,115200 root=/dev/nfs nfsroot=192.168.1.186:/home/lba/nfsdir/imx-rootfs,proto=tcp rw ip=192.168.1.187:192.168.1.186:192.168.1.1:255.255.255.0::eth0:off'
# 这里尽量不要用变量$形式去写参数!!!
# 不然会报错IP-Config: Unable to set interface netmask (-22)
# 还可能导致挂载不了根文件系统
setenv nfsboot 'setenv bootargs ${netargs};run loadfdt;run loadimage;bootz ${loadaddr} - ${fdt_addr};'
setenv bootcmd run nfsboot
saveenv后启动即可.
以上内容如有错误欢迎指正!