我承认自己是菜鸟,没什么网络知识就来搞挂载nfs网络文件系统,花费了5天的时间才把nfs网络文件系统成功挂载在A8板子上,实现了A8板子和虚拟机的文件共享。分享一下个人经验:
以下是基于nfs已经完成安装来说
板子接线问题:我是把板子和电脑都接到同一个路由器上的,保证在同一个网段,我的网关是192.168.0.1,故我的电脑、虚拟机、板子的网关也是它,我的电脑ip地址是192.168.0.111、虚拟机ip为192.168.0.121,板子ip为192.168.0.120,发现上面就是192.168.0.*。哈哈,他们就在同一个网段了。
命令的解释
ifconfig(在虚拟机上实际是查看网络信息比如ip地址,网关。在window下可以用ipconfig查看)
如何启动NFS文件系统
步骤一、PC虚拟机端的设置
①设置虚拟机IP地址
[root@localhostrootfs]#ifconfigeth0192.168.0.121
这个说得通俗点就是修改虚拟机的ip地址
②启动NFS服务器
[root@localhostrootfs]#/etc/init.d/nfsrestart
③设置NFS共享目录
[root@localhostrootfs]#vim/etc/exports
/*将下面内容写入/etc/exports文件*/
/rootfs*(rw,sync,no_root_squash)
注意:rootfs是你所共享的nfs文件系统的根目录相当于root,文件夹里面有什么你懂的,里面有什么bin、sbin、usr等等,不是你的镜像文件。别理解错,我就是被这个问题拖了好多天的,网峰的该文件在:源代码/移植部分/移植后代码/根文件系统/
就是这个文件:
rw:是读/写权限,只读权限为ro
Sync:数据同步写入内存或硬盘,也可以使用async,此时数据会暂存内存,不写入硬盘。
no_root_squash:NFS服务器共享目录的属性,如果用户是root,那么对于这个共享目录就有root的权限。
步骤二、选择【1】下载u-boot到NANDFlash
步骤三、选择【2】下载kernel到NANDFLASH
Ps:如果你已经把yaffs2文件系统下载进去了,如果下面设置好了,在里面也没有影响的。
完成上面二个烧写后,按q进入u-boot命令行。输入PRintenv:可以查看你当前的环境变量
步骤四、进入u-boot环境变量设置IP
①设置开发板IP
[Webee_210]#setipaddr192.168.0.120
②设置PC端IP(也是在u-boot命令行这里设置)
[Webee_210]#setserverip 192.168.0.121 //设置虚拟机ip作为服务器
[Webee_210]#setgatewayip 192.168.0.1 //设置A8的网关
③设置NFS启动参数
[Webee_210]#setenvbootargsnoinitrdroot=/dev/nfs
nfsroot=192.168.0.121:/webee,tcp
ip=192.168.0.120:192.168.0.121:192.168.0.1:255.255.255.0::eth0:offinit=linuxrc
console=ttySAC0,115200
解释一下各个参数什么意思
root=/dev/nfs, //表示用挂载的nfs文件系统
nfsroot=192.168.0.121:/webee,tcp //表示虚拟机IP:虚拟机要共享的目录
ip=192.168.0.120:192.168.0.121:192.168.0.1:255.255.255.0::eth0:off //表示板子IP:虚拟机IP(服务器):网关IP:掩码::eth0:off
④将刚设置的参数写入NANDFLASH
[Webee_210]#saveenv
此时可以用printenv查看参数
可以看到,上面很多环境变量是我们自己设置的 。
到这个步骤你可以用电脑、虚拟机、板子相互ping会发现下面情况,这是正常的:
电脑 ping 板子 不通虚拟机 ping 板子 不通板子 ping 电脑 通板子 ping 虚拟机 通虚拟机 ping 电脑 通电脑 ping 虚拟机 通
贴一张图片
⑤将Linux内核从NANDFLASH读入内存,然后启动内核。
[Webee_210]#nandread0x20007fc00x1000000x500000
⑥NFS启动内核
[Webee_210]#bootm0x20007fc0
启动完后
上面可以看到VFS:mount root (nfs filesystem)ondevice 0:9.表示nfs文件系统已成功挂载。
到这个步骤你可以用电脑、虚拟机、板子相互ping会发现下面情况,这是正常的:
电脑 ping 板子 通虚拟机 ping 板子 通板子 ping 电脑 通板子 ping 虚拟机 通虚拟机 ping 电脑 通电脑 ping 虚拟机 通
贴下图片
板子ping 电脑、网关、虚拟机
虚拟机 ping 板子
电脑ping板子
哈哈,是不是成功啦
试一下在板子上新建一个123.c文件
看一下虚拟机上有没有
有了就成功了,到此结束。
新闻热点
疑难解答