网络文件系统的挂载方法_第11课第4节

  1. 启动内核后,输入命令 ifcongfig eth0 up 启动网卡。Ubuntu 中,通常有线网卡为eth0,无线网卡则为wlan0,后续增加的以此类推(可能某些无线网卡型号命名为eth1,而非wlan0)。(如何查看网卡的设备节点?)
  2. 配置ip: ifconfig eth0 19168.1.103(注意环境变量中的ip地址要与此保持一致)
  3. Ping一下服务器看是否能够ping通

Ping 192.168.1.102

网络文件系统的挂载方法_第11课第4节

4.服务器上执行 cat /etc/exports(该文件是nfs服务的配置文件)命令,查看服务器上允许被挂接的目录,如果没有想挂接的目录,可以对该文件进行修改。

网络文件系统的挂载方法_第11课第4节

如果修改了该文件,需要重启nfs服务,即执行以下命令:

Sudo /etc/init.d/nfs-kernel-server restart

5.手工挂接网络文件系统(这种方式每次重启内核都要重新配置eth0的ip,然后重新挂载):

a.  尝试虚拟机自己挂接自己:Sudo mount –t nfs 192.168.1.102:/work/nfs_root/first_fs /mnt

b. 单板挂载:

创建目录 mkdir /mnt

mount –t nfs –o nolock 192.168.1.102:/work/nfs_root/first_fs /mnt

在执行挂载这一步时出现了错误:

网络文件系统的挂载方法_第11课第4节

原因:板子上使用的内核没有nfs服务。

解决办法:换内核。尝试将新内核使用nfs服务加载到内存时,出现以下错误:

网络文件系统的挂载方法_第11课第4节

解决办法:

 

网络文件系统的挂载方法_第11课第4节

c. 执行应用程序video2lcd:./video2lcd /dev/video0

但是出现了错误:

网络文件系统的挂载方法_第11课第4节

所以执行以下命令修改权限:chmod 777 video2lcd

再次执行应用程序,通过。

6.直接从NFS启动:

a.修改uboot命令行参数:

原来的:console=ttySAC0,115200 root=/dev/mtdblock3 rootfstype=yaffs  //启动yaffs格式的文件系统

改为:console=ttySAC0,115200 root=/dev/nfs nfsroot=192.168.1.102:/work/nfs_root/first_fs ip=192.168.1.103: 192.168.1.102:192.168.1.1:255.255.255.0::eth0:off

执行命令:set bootargs console=ttySAC0,115200 init=linuxrc root=/dev/nfs nfsroot=192.168.1.102:/work/nfs_root/first_fs ip=192.168.1.103:192.168.1.102:192.168.1.1:255.255.255.0::eth0:off

b. 重启开发板

出现错误:

网络文件系统的挂载方法_第11课第4节

经请教,网络文件系统已经挂载上,但是应用程序没有启动,NFS目录中的程序有问题,而手动挂载只是挂载网络文件系统,并没有启动应用程序,因此手工挂载时没有报错。

解决办法:重新制作NFS根文件系统。

 

 

设置格式(中括号表示可以省略,尖括号表示不可省略):

nfsroot=[<server-ip>:]<root-dir>[,<nfs-options>]

ip=<client-ip>:<server-ip>:<gw-ip>(网关,只要是同一个网段,随便写):<netmask>(子网掩码):<hostname>:<device>:<autoconf>

 

这些参数的意义在linux-2.6.22.6\Documentation\nfsroot.txt里面有解释。

 

 

常用命令:

set bootargs console=ttySAC0,115200 init=linuxrc root=/dev/nfs nfsroot=192.168.1.102:/work/nfs_root/first_fs ip=192.168.1.103:192.168.1.102:192.168.1.1:255.255.255.0::eth0:off

nfs 30000000 192.168.1.102:/work/nfs_root/uImage_new