Ubuntu 10.04 NFS配置(补充终端中通过NFS 启动的过程)(经测试)

之前解决了"mount.nfs:access denied by server while mounting"

今早终于成功从NFS启动,所以跟踪此贴,补充下从NFS启动 过程


First   
配置NFS,并在本地测试



环境 ubuntu 10.04  vm 7.1
终端
ifconfig 得到 ubuntu 资料
INET ADDR 192.168.0.3
BCAST  192.168.0.255
MASK 255.255.255.0

安装NFS
$ sudo apt-get install nfs-kernel-server
$ sudo apt-get install nfs-common

二 配置NFS
1 $ sudo dpkg-reconfigure portmap , 对Should portmap be bound to the loopback address? 选N
2 $ sudo vi  /etc/default/portmap 末行清除 "-i 127.0.0.1"

三 配置hosts.deny
   $ sudo vi  /etc/hosts.deny
   文本末添加
### NFS DAEMONS
  portmap: ALL
  lockd:   ALL
  mountd:  ALL
  rquotad: ALL
  statd:   ALL

四 配置hosts.allow
  $ sudo vi /etc/hosts.allow
   文本末加入
### NFS DAEMONS
  portmap: 192.168.0.
  lockd:   192.168.0.
  rquotad: 192.168.0.
  mountd:  192.168.0.
  statd:   192.168.0.
$ sudo /etc/init.d/portmap restart 重启portmap daemon.
显示如下
Since the script you are attempting to invoke has been converted to an
Upstart job, you may also use the restart(8) utility, e.g. restart portmap
portmap start/running, process  XXXX

五 配置/etc/exports
$ sudo vi /etc/exports
文本末添加
/home/work *(rw,sync,no_root_squash)
$ sudo showmount -e
显示 clnt-create : RPC : Program not registered

$ sudo  exportfs -r 更新

$ sudo  showmount 192.168.0.3 -e
显示
Export list for 192.168.0.3:
/home/work *

六 启用
  $ sudo /etc/init.d/nfs-kernel-server restart 重启nfs服务
显示如下
* Stopping NFS kernel daemon                                            [ OK ]
* Unexporting directories for NFS kernel daemon...                      [ OK ]
* Exporting directories for NFS kernel daemon...                              
  exportfs: /etc/exports [1]: Neither 'subtree_check' or 'no_subtree_check' specified for export "*:/home/work".
  Assuming default behaviour ('no_subtree_check').
  NOTE: this default has changed since nfs-utils version 1.0.x
                                                                        
* Starting NFS kernel daemon                                                         [ OK ]

挂载
   mount -t nfs 192.168.0.3:/home/work  /mnt
   mount -t nfs 192.168.0.3:/home/work  /mnt  -o nolock
不出现警告即成功挂载 ,
$sudo ls /nfsmnt  .  看到与/home/work中的内容一样.


SECOND
从NFS启动 系统
我配置NFS的目的 为了方便 调试 程序.把程序下到板子里测试.
$sudo umount /nfsmnt
$sudo cd /home
$sudo mkdir nfsroot
$sudo cd nfsroot
$sudo cp -a /home/cheung/works/nfsroot/* ./
(前路径是我用BUSYBOX 制作文件系统 ,在这里,我把它都移到/home/nfsroot,方便以后使用)
(但并不建议像我这样复制,很多情况是不行的,还是直接在NFSROOT里做系统)
至于 文件系统这里不赘述了,我也是个菜鸟,就自己学着做了个.

$sudo chmod  777 -R  /home/nfsroot
更改NFS配置
$sudo vi /etc/exports
把FIRST中的/home/work改成/home/nfsroot
$sudo exportfs -r  更新
$sudo /etc/init.d/portmap restart
$sudo /etc/init.d/nfs-kernel-server restart

接下来,打开win下的secureCRT或者minicom
在开机或者复位时迅速按下enter , 进入uboot控制台,以下是我的开机参数
"
U-Boot 2009.11-rc2 (Jun 11 2010 - 15:39:57)
DRAM:  64 MB
Flash:  2 MB
NAND:  128 MiB
In:    serial
Out:   serial
Err:   serial
Net:   dm9000
dm9000 i/o: 0x30000000, id: 0x90000a46
DM9000: running in 16 bit mode
MAC: 12:34:56:78:90:12
operating at 10M full duplex mode
Hit any key to stop autoboot:  0
NewMsg9261> print
bootargs=console=ttyS0,57600 root=/dev/mtdblock0 rw rootfstype=jffs2 init=/linuxrc
bootcmd=nand read 0x22000000 0xA0000 0x200000; bootm
bootdelay=3
baudrate=57600
ethact=dm9000
ethaddr=12:34:56:78:90:12
ipaddr=192.168.0.5
serverip=192.168.0.2
Environment size: 243/131067 byte

"


先把nand flash中原有的jffs2删除掉
<newmsg9261> nand erase 0x300000(这里是我之前存放jffs2文件系统的地址)
设置启动参数bootargs
<newmsg9261> setenv bootargs console=ttyS0,57600 root=/dev/nfs rw mem=128M nfsroot=192.168.0.3:/home/nfsroot ip=192.168.0.5:192.168.0.3:192.168.0.1:255.255.255.0:newmsg9261:eth0: off
(在minicom中可能不会自动换行 , 那就按ctrl+A,然后w, ok)

这里解释一下参数
"nfsroot="  后面是我NFS主机的IP地址和我的文件系统的路径, 上面说过
"ip="后面
一 目标板IP  192.168.0.5(我的启动参数里print给大家了,就是ipaddr)
二 主机IP    192.168.0.3
三 目标板网关   192.168.0.1
四 子网掩码       255.255.255.0
开发板名字(随你便)
六  eth0(网卡 设备名称)

<newmsg9261>sa   (保存设置)
<newmsg9261>boot   启动
以下是我启动成功的图片



我也是菜鸟一个, 最近配置这些 , 也是花了很长时间和力气 。
这只是我的一点心得。

有帮助的,谢谢大家顶下。   高手的,也别拍砖 。 ^_^




你可能感兴趣的:(Ubuntu 10.04 NFS配置(补充终端中通过NFS 启动的过程)(经测试))