我一直以来对nfs 感到迷惑。后来捉模了一下。就明白了。具体我的理解如下,如有不正确之处,欢个拍砖。
A------>如果我们要将mini2440挂载 nfs.首先得把 supervivi,linux内核,及yaffs文件系统烧到mini2440。让它跑起来。具体请参看手册 3.2节,安装linux系统。
B----->安装好后,把启动开关拔到nand flash,让mini2440从nand flash启动。
刚一跑起来,如果你把耳机插在mini2440上的话,会听到 shanghaitan.mp3那首歌
敲几个回车(Enter)键吧。超级终端上显示出来了下面的提示符.
[root@FriendlyARM/]#
现在我们要做的是,看看我们的mini2440的网址是多少。在提示符后输入 ifconfig命令查看一下。
接下来的信息显示的是你的mini2440的网址,网关,子网掩码等信息。一般我们的mini2440网址是:192.168.1.230 .子网掩码是:255.255.255.0 网关是:192.168.1.111.
如果不是那么请用笔记下来。
C----->这时你可以关了mini2440的电源。或在超级终端上输入poweroff 那么 linux会关机。
但是不会自动关电源,你要手动关掉mini2440的电源。
D------>这时你先一手按住电脑上的空格键。然后再开启mini2440的电源。这样启动的时候就会进入supper vivi输入参数的那个界面.
E------>对于那个输入的参数。我弄了好久才明白。如果设的不对那么就挂不上。
param set linux_cmd_line "console=ttySAC0 root=/dev/nfs
nfsroot=192.168.1.111:/opt/FriendlyARM/mini2440/root_nfs
ip=192.168.1.70:192.168.1.111:192.168.1.111:255.255.255.0:MINI2440.arm9.net:eth0:off"
来解释一下: console=ttySAC0 ---->意思是我们的mini2440的linux启动后,控制台是串口0终端。也就是说我们在PC机上的超级终端输入的字符命令,通过串口发送给mini2440。mini2440的串口接收后。转给mini2440的管道。通过解释之后执行。执行完了后,将相关的输出信息,又通过串口打印出来,到我们的PC机上的超级终端。串口相关于我们的 mini2440的标准输入输出。
root=/dev/nfs 这一句我不知如何解释。后面隐的具体函意不太明。应该是什么根目录之类的。
nfsroot=192.168.1.111:/opt/FriendlyARM/mini2440/root_nfs 这一句的意思是:
192.168.1.111 这个代表的是你的电脑的网卡地址。你可以打开你的电脑的网卡地址设置那儿,设一下。你先设置成这个地址再说。子网掩码设为:255.255.255.0.网关设置成和你刚才在 B这一步查的一样。
:/opt/FriendlyARM/mini2440/root_nfs 这个明显就是个路径。你把root_nfs.tgz解压之后的文件放到这里面。注意只拷文件就可以了。不要再把那个root_nfs文件夹拷进来。要是拷进来路径变成了
:/opt/FriendlyARM/mini2440/root_nfs /root_nfs 这样的话就挂不起来。
整个192.168.1.111:/opt/FriendlyARM/mini2440/root_nfs 的作用就是让我们的mini2440通过网络地址找到我们的共享目录。跟上网同一个道理。所以才叫nfs(网络文件系统)。
ip=192.168.1.70:192.168.1.111:192.168.1.111:255.255.255.0:MINI2440.arm9.net:eth0:off"
这一部分是你的 mini2440的网卡地址,网关,和子网掩码,以及最后的名字。
192.168.1.70 这个是你的mini2440的网卡地址。如果你在B步查的网卡地址与这个不同。请设成你查的值。
192.168.1.111 这个是mini2440 的网关地址。如果你在B步查的网关地址与这个不同。请设成你查的值。
192.168.1.111 这个也是mini2440的网关地下。如果你在B步查的网关地址与这个不同。请设成你查的值。 不过我有点不明白。为什么
要写2个网关地址?请高手明示!255.255.255.0 是mini2440的然后是子网掩码。
MINI2440.arm9.net 这个不用管它,影响应不大,就直接用它就是. 我不理解,请高手明示!
eth0 这个应表示的是以太网卡名字 ,请高手明示 !
off 应该表示关什么东东吧。也不太明白,请高手明示 !
你先在文本里的修改好,拷贝,再粘贴就行
回车之后,输入boot就重启你的mini2440.这样就挂载了。这时你可以按手册上第6章说的。
把hello执行文件拷到你的 /opt/FriendlyARM/mini2440/root_nfs/mnt/目录下
然后执行 ./hello 就可以看到执行的结果了。
在所有上面的步骤之前,我们要先配好nfs 服务器。在弄下面这一步时
#gedit /etc/exports
/opt/FriendlyARM/MINI2440/root_nfs *(rw,sync,no_root_squash)
可以将/opt/FriendlyARM/MINI2440/root_nfs *(rw,sync,no_root_squash)改成
/opt/FriendlyARM/MINI2440/root_nfs *(rw,no_root_squash) .去掉sync这一项。就是说不要让它同步传输。这样可能更容易成功挂接。
注意我们不但要起动nfs服务,还要启动portmap服务
可以在终端上输入如下命令#service portmap start 意思是开启端口映射服务
然后再输入 #service nfs start. 开启nfs服务
我提一个问题下面这句 -C/ 这一选项的“/”确切意思应该是默认目录是usr/local/ 对吧。
#tar xvzf arm-linux-gcc-3.3.2.tgz –C /
[ 此帖被tqw4321在2009-03-01 23:39重新编辑 ]