在Ubuntu下安装NFS服务
sudo apt-get install nfs-kernel-server
Ubuntu下准备NFS文件系统(如果不是使用源码提供的Ubuntu,需要把源码复制到自己的Ubuntu系统上)
cd ~/ssd20x
mkdir nfs
cd nfs
cp ../project/image/output/rootfs/* ./ -rf
cp ../project/image/output/customer/ ./ -rf
cp ../project/image/output/appconfigs/ ./ -rf
cp ../project/image/output/miservice/config/ ./ -rf
在Ubuntu开启NFS服务
sudo vi /etc/exports
#如果提示没有文档,请查看nfs服务是否安装。进入文件在后面添加以下内容
/home/industio/ssd20x/nfs *(rw,sync)
如果上面的步骤没有问题,接下来重启nfs服务
sudo /etc/init.d/nfs-kernel-server restart
NFS服务重启成功
本地验证
#使用ifconfig查看Ubuntu IP地址,Ubuntu IP地址为192.168.0.17
sudo mount -t nfs -o nolock 192.168.0.17:/home/industio/ssd20x/nfs/ /mnt
#挂载成功查看目录是否与之前准备的文件系统一样
ls /mnt
#使用umount命令卸载当前挂载的文件系统
sudo umount /mnt
开发板挂载NFS
确认开发板与Ubuntu处于同一局域网内,并且能互相通信。
Ubuntu的IP地址如下:
开发板ping Ubuntu的IP正常通信
#开发板挂载NFS文件系统
mount -t nfs -o nolock 192.168.0.17:/home/industio/ssd20x/nfs/ /mnt
ls /mnt
umount /mnt
将NFS编译到kernel
cd /kernel
ARCH=arm make menuconfig
按照下面的步骤添加nfs
保存退出之后需要把原来的deconfig文件覆盖,查看Releaseto_customer.sh可以知道2D06是使用以下文件
所以需要在kernel目录下使用命令覆盖原来文件:
cp .config infinity2m_spinand_ssc011a_s01a_minigui_doublenet_defconfig
重新编译并更新kernel
./Release_to_customer.sh -f nand -p ssd202 -o 2D06 -m 256
编译完成需要重新更新kernel,步骤查看烧录流程中的更新uboot和kernel
更新kernel之后,板子上电回车进入uboot,重新设置bootargs,这里需要将bootargs设置根文件系统指向NFS,这里的192.168.0.17是Ubuntu的IP,192.168.0.85为同一路由下的随机IP,192.168.0.1是路由的IP(由自身的IP而设置),在这里设置指定nfs版本为v3,详细内容如下
setenv bootargs console=ttyS0,115200 root=/dev/nfs rw nfsroot=192.168.0.17:/home/industio/ssd20x/nfs,v3,nolock ip=192.168.0.85:192.168.0.17:192.168.0.1:255.255.255.0::eth0:off init=/linuxrc rootwait=1 LX_MEM=0x7f00000 mma_heap=mma_heap_name0,miu=0,sz=0xa00000 mma_memblock_remove=1 highres=off mmap_reserved=fb,miu=0,sz=0x300000,max_start_off=0x3300000,max_end_off=0x3600000 mtdparts=nand0:384k@1280k(IPL0),384k(IPL1),384k(IPL_CUST0),384k(IPL_CUST1),768k(UBOOT0),768k(UBOOT1),256k(ENV),256k(ENV1),0x20000(KEY_CUST),0x60000(LOGO),0x500000(KERNEL),0x500000(RECOVERY),-(UBI)
#保存
saveenv
#重新启动
reset
重新启动后,当加载到以下信息,说明了nfs挂载rootfs成功
文档更新时间: 2022-06-23 16:45 作者:Aeeditor