1.ubuntu 12.04安装nfs,sudo apt-get instal nfs-kernel-serverl 。
2.修改配置文件/etc/exports,允许其它计算机访问共享目录。
#gedit /etc/exports
打开后在文档中加入:
/utuLinux2.6.24/s3c2440_recover *(rw,sync,no_root_squash)
3.重新启动nfs
#sudo /etc/init.d/portmap restart 重新启动portmap
#sudo /etc/init.d/nfs-kernel-server restart 重启nfs服务
#showmount -e 显示出共享目录、
4.将开发板、linux系统、主机xp的ip地址设置成一个网段
5.将虚拟机设置成桥接
6关闭linux和主机xp防火墙
linux下# sudo ufw disable
开发板和宿主机能ping通。
7.开发板上uboot下输入
setenv bootargs 'console=ttySAC0 root=/dev/nfs nfsroot=10.12.24.163:/utuLinux2.6.24/s3c2440_recover
10.12.24.163为linux宿主机的ip,/utuLinux2.6.24/s3c2440_recover为共享目录。
8.若要用nfs启动根文件系统,将根文件系统解压到/utuLinux2.6.24/s3c2440_recover
在开发板上(2440)输入boot,将启动内核和文件系统。
9.将共享目录挂载到开发板目录
# mount -o nolock 10.12.24.163:/utuLinux2.6.24/s3c2440_recover /mnt
这样开发板的/mnt将有 /utuLinux2.6.24/s3c2440_recover的内容。
nfs启动根文件系统没成功,不知什么原因,开发板和宿主机能互通,防火墙也关了出现错误
Looking up port of RPC 100003/2 on 10.12.24.163
rpcbind: server 10.12.24.163 not responding, timed out
Root-NFS: Unable to get nfsd port number from server, using default
Looking up port of RPC 100005/1 on 10.12.24.163
rpcbind: server 10.12.24.163 not responding, timed out
Root-NFS: Unable to get mountd port number from server, using default
mount: server 10.12.24.163 not responding, timed out
Root-NFS: Server returned error -5 while mounting /utuLinux2.6.24/s3c2440_recove
r
VFS: Unable to mount root fs via NFS, trying floppy.
VFS: Cannot open root device "nfs" or unknown-block(2,0)
Please append a correct "root=" boot option; here are the available partitions:
1f00 384 mtdblock0 (driver?)
1f01 2048 mtdblock1 (driver?)
1f02 63088 mtdblock2 (driver?)
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(2,0)
第二天,在做了下,原因是环境变量bootargs设置ip错误了
设置ip有两种方法:
ip = ip addr
ip=ip addr:server ip addr:gateway:netmask::which netcard:off
这两种方法可以用,不过很明显第二种要详细很多,请注意第二种中which netcard 是指开发板上的网卡,而不是主机上的网卡。
故第7步命令为setenv bootargs 'console=ttySAC0 root=/dev/nfs nfsroot=10.12.24.163:/utuLinux2.6.24/s3c2440_recover ip=10.12.24.164:10.12.24.166:10.12.24.1:255.255.255.0:www.yctek.com:eth0:off'
上电重启,就可以从nfs启动根文件系统了。