Linux挂载根文件系统
NFS根文件系统挂载
**这里只是记录自己使用NFS挂载根文件系统时出现的错误,并不涉及技术细节**
开发板:Smart210
Bootloader: u-boot-2012-10
Linux: Linux3.10.46
刚开始时在uboot中设置的参数如下:
setenv bootargs root=/dev/nfs nfsroot=192.168.10.101:/home/weirdo/Share/rootfs_rtm_210 ip=192.168.10.120:192.168.10.101:192.168.10.1:255.255.255.0:
weirdo:eth0:off console=ttySAC0,115200
在使用bootm 0x20008000 后,终端开始打印各种启动信息,最后停留在dm9000的答应输出中,输出的信息只是显示dm9000的up 和down,始终不可以进入Linux提供的终端。百思不得其解,最后看了一个视频时突然发现是自己参数设置错误导致启动失败。
解释一下ip参数:
* param1: 开发板ip
* param2: 宿主机ip
* param3: 网关
* param4:网络掩码
param5: 宿主机名称
* param6: 指定网卡
* param7: 不清楚(因该是网卡状态)
这里后面的3个参数中param5可以随便给,不会影响启动,我这里给的参数比较全面,是因为在我的u-boot中param*参数没有设定完全,这里特别的指定。如果你的参数(param*)在环境中设置的比较完整,也可以直接使用如下的形式:
ip = 开发板ip
错误原因:缺少init=/linuxrc参数
修改bootargs启动参数为如下:
setenv bootargs root=/dev/nfs init=/linuxrc nfsroot=192.168.10.101:/home/weirdo/Share/rootfs_rtm_210
ip=192.168.10.120:192.168.10.101:192.168.10.1:255.255.255.0: weirdo:eth0:off console=ttySAC0,115200
再次启动开发板挂载Linux,成功挂载!