ENV:
kernel 要支持NFS,IPV6等,busybox的mount要支持nfs.
HW:
Master: Ubuntu 7.10, Slave: imx31 开发板, Others:USB cable.
SW:
linux-2.6.22(开发板)
实现过程:
1. insmod g_ether.ko
2.用USB 线把开发板和电脑连接起来
3.在电脑端,ifconfig 指令可以看到有格usb0的设备,运行指令:sudo ifconfig usb0 192.168.22.5 up
4.在开发板端,运行指令:ifconfig usb0 up, 再ifconfig usb0 192.168.22.3
5.此时在开发板端可以ping 192.168.22.5.
此时USB network已经调通,以下是建立nfs server的过程。
一.在电脑端
1. sudo mkdir -p /exports/root
2. sudo apt-get install nfs-kernel-server
3. sudo echo "/exports/root
*(rw,sync,no_root_squash,insecure,no_subtree_check)" >> /etc/exports
4. sudo echo "ALL: ALL" >> /etc/hosts.allow
5. sudo /etc/init.d/nfs-kernel-server restart
二.在开发板端
1.mount -o nolock -t nfs 192.168.22.5:/exports/root /mnt/base-us
此时NFS已经OK
補充說明:
常用NFS mount选项介绍
解决方法:通过NFS挂接远程主机的文件系统时,使用一些不同的选现可以使得mount比较简单易用。这些选项可以在mount命令中使用,也可以在/etc/fstab和autofs中设定。
以下是NFS mount常用的一些选现:
hard or soft -- 指定当程序无法通过NFS连接使用服务器输出的文件系统上的文件时,是否需要等待服务器重新在线。如果是soft情况,它将报错。如果指定hard,用户无法不能终止程序等待NFS通讯恢复,除非同时指定了intr选项。如果指定了soft,用户可以设置附加选项timeo=<value>,<value>指定了错误报告之前的秒数。
intr -- 当服务器宕机或者无法到达时,允许中断NFS请求。
nfsvers=2或者nfsvers=3 -- 指定使用那个版本的NFS协议。
nolock -- 禁用文件锁。这个设置在连接到一个旧版本的NFS服务器时偶尔会用到。
noexec -- 防止执行被挂接的系统上的二进制文件。这在系统通过NFS挂接一个包含有不兼容的二进制文件的非linux系统时是很有用的。
nosuid -- 禁用"设置用户标志位"(set-user-identifier)或者"设置组标志位"(set-group-identifier)。这样防止远程用户运行setuid程序获得更高权限。
rsize=8192和wsize=8192 -- 通过设定大的同时传输的数据块大小(bytes),以提高NFS读写的速度。改变这些值时要当心,一些旧的linux内核和网卡在大的块大小不能正常工作。
tcp -- 指定NFS使用TCP协议mount,替换UDP。
在mount的man page列出了许多选项,包括挂接非NFS文件系统的选项。
来源:https://www.cnblogs.com/weifuqin530/archive/2008/11/05/1327551.html