本帖最后由 xcoder 于 2016-4-3 19:36 编辑
实战7 NFS启动pcDuino板
上一章介绍了pcDuino板挂载虚拟机中NFS目录,从而pcDuino板访问该目录就像访问自己文件系统中目录一样。实际上,这个NFS目录不但可以成为pcDuino板的一个普通目录,还可以作为pcDuino板的根文件系统根目录,这就意味着pcDuino可以直接从NFS目录启动。
SD卡启动pcDuino板,修改SD卡启动分区中的uEnv.txt文件。 # mount /dev/mmcblk0p1 /mnt # cd /mnt # vi uEnv.txt
|
将下面一行
bootargs=console=ttyS0,115200 earlyprintk root=/dev/mmcblk0p2 rw rootwait |
修改为
bootargs=console=ttyS0,115200 earlyprintk ip=192.168.1.119::192.168.1.254:255.255.255.0:edge:eth0: off root=/dev/nfs nfsroot=192.168.1.118:/home/ubuntu/pcduino/nfs/ rw rootwait |
保存退出。增加的内容含义如下:
ip=192.168.1.119::192.168.1.254:255.255.255.0:ubuntu:eth0: off
格式:板子IP地址:主机IP地址:网关:子网掩码:主机名:网卡: off
配置pcDuino板IP信息,由于NFS基于网络,所以本板的IP地址信息需要指明。
root=/dev/nfs告诉内核根文件系统是NFS
nfsroot=192.168.1.118:/home/ubuntu/pcduino/nfs/
NFS服务器(即我们的虚拟机)端配置,指明NFS服务器IP地址以及挂载目录。
虚拟机侧,将根文件系统镜像挂载到目录/home/ubuntu/pcduino/nfs
# sudo mount ./rootfs.img /home/ubuntu/pcduino/nfs -o loop=/dev/loop0
|
图7.1 虚拟机板侧准备根文件系统
串口方式连接pcDuino板并从TF卡启动。Linux启动过程中,会以NFS作为根文件系统,如图7.2所示。
图7.2 Linux启动并挂载NFS
执行df查看文件系统挂载情况,可以看到根目录挂载了NFS。
图7.3 根节点挂载了NFS
pcDuino板从NFS启动成功。在开发调试的时候,不必每次都将根文件系统镜像文件烧入SD卡,只要将待测试程序拷贝到虚拟机的NFS文件系统目录内,这样在pcDuino板启动后,测试程序机会存在根文件系统目录中。
|