环境:

  单板:s3c2440  内核:Linux-2.6.22.6  U-boot1.16  初始根文件系统Yaffs2

前提条件

  1. 开发板上要烧写好文件系统

  2. 能正常开机进入Linux系统

  3.uboot中启动参数类似于  bootargs=noinitrd root=/dev/mtdblock3 init=/linuxrc console=ttySAC0

  (最好是除NFS之外的文件系统启动,如果已经设置了NFS启动,但是失败了,无法正常开机,建

    先设置U-Boot启动参数如上,save保存,再重新烧写根文件系统,让开发板正常进入系统)

步骤:

  1.搭建(下载)、配置和重启NFS服务器

  2.Ping 通服务器

  3.执行挂载命令

1.搭建(下载)、配置和重启NFS服务器

  下载:sudo apt-get install nfs-kernel-server

  配置:sudo vi /etc/exports       目的是为了允许此目录能被别人挂接

        

uboot 如何查看nfs的版本 uboot挂载nfs_IP

  在文件中添加  

  /work/nfs               *(rw,sync,no_root_squash)  

  /var/lib/tftpboot       *(rw,sync,no_root_squash)

   其中/work/*** 为你自己想共享的目录

  然后保存,重启NFS服务器或者Ubuntu(如果不重启,配置不会生效),命令如下:

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

   现在NFS服务器就可使用了。

2.Ping通服务器

  开发板正常进入Linux系统

  ifconfig 查看IP以及网卡号,若与服务器不在同一网段,修改IP

  ifconfig eth0  xxx.xx.xx.x

  

uboot 如何查看nfs的版本 uboot挂载nfs_IP_02

  Ping一下服务器,测试一下数据是否传输正常

  

uboot 如何查看nfs的版本 uboot挂载nfs_IP_03

3.执行挂载命令

   在开发板上执行挂载命令

  mount   -t    nfs    -o   nolock,vers=2    10.101.15.2:/work/nfs    /mnt

解释下参数:

  mount     :挂载命令

  nfs          :使用的协议

  nolock     :不阻塞

  vers        : 使用的NFS版本号

  IP           : NFS服务器的IP(NFS服务器运行在哪个系统上,就是哪个系统的IP)

  /work/nfs: 要挂载的目录(Ubuntu的目录)

  /mnt       : 要挂载到的目录(开发板上的目录,注意挂载成功后,/mnt下原有数据将会被隐藏,无法找到)

 进入/mnt目录,查看文件,就可以看见Ubuntu服务器中的文件

  

uboot 如何查看nfs的版本 uboot挂载nfs_服务器_04

  

uboot 如何查看nfs的版本 uboot挂载nfs_IP_05

  推荐这种方式,因为简单。随时想挂载就挂载,Ubuntu系统即使不开机(前提是ubuntu ip没变)也不影响开发板的启动。

     若使用NFS作为根文件系统来启动 ,若Ubuntu未启动或者文件系统有问题,开发板根本无法开机,严重影响体验。

使用NFS作为根文件系统来启动及其注意事项