首页 / 操作系统 / Linux / Tiny6410基于linux2.6.36内核通过NFS启动根文件系统总结
Tiny6410基于linux2.6.36内核通过NFS启动根文件系统总结(成功挂载nfs根文件系统) 1. 从 NandFlash 启动 Tiny6410,然后修改UBoot 的环境变量 bootargs(就是这里了,可以解决一开始文章的 not responding的问题)!
操作命令:setenv serverip console=ttySAC0 root=/dev/nfs nfsroot=192.168.1.100:/opt/FriendlyARM/mini6410/linux/rootfs,proto=tcp,nfsvers=3,nolock ip=192.168.1.70:192.168.1.100:192.168.1.100:255.255.255.0:linux.arm9.net:eth0:off解释一下其中的意思了:console=ttySAC0 ttySAC0 作为控制台root=dev/nfs 固定格式,表示内核采用nfs 方式起根文件系统nfsroot=192.168.1.100:/opt/FriendlyARM/mini6410/linux/rootfs, 表示的是 nfs 起的根文件系统位于 nfs 服务器 /opt/FriendlyARM/mini6410/linux/rootfs,目录下proto=tcp,nfsvers=3,nolock 如果不加这条语句会造成上面的 nfs: server192.168.1.100 notresponding, still trying 这样的错误!原因:NFS的默认传输协议是UDP,而PC机与嵌入式系统通过UPD交互时就会出现严重的网卡丢包现象(这个也只是暂时的分析)!貌似好多人都说是网卡移植出现的问题!具体我也就不知道了,反正写上这个,然后就没有问题了! ip=192.168.1.70:192.168.1.100:192.168.1.100:255.255.255.0:linux.arm9.net:eth0:off 这句话的格式是:ip=IP1:IP0:IP2:IP3:nameofyoulike:eth0:off 第一项(IP1)是目标板的临时IP(注意不要和局域网内其它的IP有冲突) 第二项(IP0)是我的虚拟机的IP 第三项(IP2)是目标板上网管(GW)的设置,这个参数设置跟虚拟机网管一致 第四项(IP3)是子网掩码 第五项(yourname)是开发板的名字(随便啦) 第六项(eth0)是网卡设备的名字操作过程如下图所示:1) 设置主机的IP地址和bootargs环境变量
执行结果