- 启动内核后,输入命令 ifcongfig eth0 up 启动网卡。Ubuntu 中,通常有线网卡为eth0,无线网卡则为wlan0,后续增加的以此类推(可能某些无线网卡型号命名为eth1,而非wlan0)。(如何查看网卡的设备节点?)
- 配置ip: ifconfig eth0 19168.1.103(注意环境变量中的ip地址要与此保持一致)
- Ping一下服务器看是否能够ping通
Ping 192.168.1.102
4.服务器上执行 cat /etc/exports(该文件是nfs服务的配置文件)命令,查看服务器上允许被挂接的目录,如果没有想挂接的目录,可以对该文件进行修改。
如果修改了该文件,需要重启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
在执行挂载这一步时出现了错误:
原因:板子上使用的内核没有nfs服务。
解决办法:换内核。尝试将新内核使用nfs服务加载到内存时,出现以下错误:
解决办法:
c. 执行应用程序video2lcd:./video2lcd /dev/video0
但是出现了错误:
所以执行以下命令修改权限: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. 重启开发板
出现错误:
经请教,网络文件系统已经挂载上,但是应用程序没有启动,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