CXD Linux Engineer

Ubuntu14.04和Tiny6410开发板挂载NFS服务

2015-08-11

Ubuntu上搭建NFS服务

  • 安装NFS服务

apt-get install nfs-kernel-server

  • 创建一个共享文件夹

mkdir /root/nfs

  • 编辑 exports 文件

vi /etc/exports

  • exports文件中加入一下内容

/root/nfs *(rw,sync,no_root_squash,no_subtree_check)

/root/nfs:           刚才创建的共享文件夹
*:                   允许所有的网段访问,也可以使用具体的IP
rw:                  挂接此目录的客户端对该共享目录具有读写权限
sync:                资料同步写入内存和硬盘
no_subtree_check:    不检查父目录的权限。
no_root_squash:      root用户具有对根目录的完全管理访问权限。
  • 重启rpcbind 服务

/etc/init.d/rpcbind restart

  • 重启nfs服务

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

当出现 Not starting: portmapper is not running 警告时重启Ubuntu系统。

执行命令 showmount -e 出现下面字符说明搭建成功

Export list for cxd:
/root/nfs *

Tiny6410开发板挂载NFS

  • 将服务器/root/nfs目录挂载到/mnt目录下

mount -t nfs -o intr,nolock,rsize=1024,wsize=1024 192.168.0.101:/root/nfs /mnt

在uboot中挂载nfs启动内核

nfs 0x50008000 10.10.206.15:/root/nfs/zImage

0x50008000 :      下载到0x50008000内存地址处;
10.10.206.15 :    nfs服务器的IP地址(uboot的IP地址在环境变量中设置)
/root/nfs/zImage :要下载文件的路径和文件名

Linux内核挂载网络文件系统

  • 在uboot中设置内核启动参数

自己移植的Linux内核:

set bootargs console=ttySAC0,115200 root=/dev/nfs nfsroot=192.168.0.100:/root/nfs/roofs,proto=tcp ip=192.168.0.10:192.168.0.100:192.168.0.1:255.255.255.0:cxd:eth0:off init=/linuxrc

Tiny6410自带的内核:

set bootargs console=ttySAC0,115200 root=/dev/nfs nfsroot=192.168.0.10:/root/nfs/roofs ip=192.168.0.20:192.168.0.10:192.168.0.1:255.255.255.0:cxd:eth0:off init=/linuxrc lcd=S70

Comments

Content