2.18.4.nfs方式启动自制简易文件夹形式的rootfs

  1. 创建简易rootfs

cd /root/porting_x210/rootfs/rootfs>>touch linuxrc

2.将rootfs挂载到nfs共享目录

vi /etc/exports/root/porting_x210/rootfs/rootfs *(rw,sync,no_root_squash,no_subtree_check) (可以导出多个目录)
chmod -R 777 /root/porting_x210/rootfs/rootfs
sudo showmount -e
sudo exportfs -r
sudo showmount localhost -e
sudo /etc/init.d/nfs-kernel-server restart

  1. 配置内核支持nfs方式启动

cd /root/x210v3_bsp/qt_x210v3/kernel
make distclean
make x210ii_qt_defconfig
make menuconfig

make -j2 (makedistclean编译生成新的zImage的时间 )
cp arch/arm/boot/zImage /tftpboot/ -f (易错点:一定要更新)
注:可以不重新编译,只要tftpboot下的zImage设置了 [*] Root file system on NFS,kernel启动之后VFS就会自动去nfs工作目录挂载rootfs

  1. 开发板设置nfs方式启动(插好网线)

setenv bootargs root=/dev/nfs nf sroot=192.168.1.141:/root/porting_x210/rootfs/rootfs ip=192.168.1.10:192.168.1.141:192.168.1.1:255.255.255.0::eth0:off init=/linuxrc console=ttySAC2,115200 (root=/dev/nfs表示nfs方式启动根文件系统)
set bootcmd 'tftp 30008000 zImage; bootm 30008000' (以往的出错原因,这样设置只要tftpboot的zImage更新了,就会自动重新启动)
save
reset(不要打断,运行内核,内核启动后就会到nfs的共享目录里去挂载rootfs)
注意:[ 0.000000] Linux version 2.6.35.7 (root@ubuntu) (gcc version 4.4.1 (Sourcery G++ Lite 2009q3-67) ) #1 PREEMPT Thu Mar 15 20:10:57 CST 2018中的时间是编译生成新的zImage的时间。
结果:[ 7.171184] VFS: Mounted root (nfs filesystem) on device 0:12.[ 7.175594] Freeing init memory: 172K[ 7.179735] Failed to execute /linuxrc. Attempting defaults...挂载成功,执行失败

原文地址:https://www.cnblogs.com/Ocean-Star/p/9235439.html