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