NFS是Network File System的简写,即网络文件系统.。网络文件系统是FreeBSD支持的文件系统中的一种,也被称为NFS. NFS允许一个系统在网络上与他人共享目录和文件。通过使用NFS,用户和程序可以像访问本地文件一样访问远端系统上的文件。
一、Ubuntu下 NFS安装
1、# sudo apt-get install nfs-kernel-server
2、修改配置文件:
# vi /etc/exports
如果你没有配置过这个文件的话此文件应该是空的。在开始部分写入
/rootfs *(rw,sync,no_root_squash)
(/rootfs 为根文件系统目录,该目录之下有root,dev,bin等子文件夹和linuxrc文件)
/rootfs -- 与客户机共享的目录;
* -- 表示允许任意用户使用,也可以使用具体IP;
(rw,sync,no_root_squash) -- rw,挂载此目录的客户机对此目录有读写权利;
sync, linux同步数据命令;
no_root_squash,挂载此目录的客户机享有主机root的权利;
我是将主机的根目录下的rootfs目录设置为共享目录 /rootfs *(rw,sync,no_root_squash)
OK,保存,退出。
修改完成之后输入:# exportfs -rv 来使配置文件生效
3.重启nfs服务器
输入如下命令:
# sudo /etc/init.d/nfs-kernel-server restart
4.测试
在本地挂载试一下:
输入如下命令:
# mount -t nfs localhost:/rootfs /mnt
/mnt 指的是你要挂在到的目录
(umount /mnt 卸掉挂载的目录)
输入命令:
# ls /mnt
下面显示的是你原来rootfs目录里的文件,你就成功了!
二、Uboot设置
1、启动Uboot,按q进入u-boot命令行
设置开发板IP
# set ipaddr 192.168.1.2
2、设置PC端IP
# set serverip 192.168.1.123
3、设置NFS启动参数
# setenv bootargs noinitrd root=/dev/nfs nfsroot=192.168.1.123:/rootfs,tcp ip=192.168.1.2:192.168.1.123:192.168.1.1:255.255.255.0::eth0:off init=linuxrc console=ttySAC0,115200
4、将设置的参数写入NAND FLASH
# saveenv
NFS文件系统能否成功启动,关键点就是网络是否顺畅,开发板能否ping通虚拟机。
连好网线,确保局域网畅通,重新启动开发板,正常情况下,内核启动之后,在开发板上就能挂载你PC机上linux里的那个根文件系统目录(/rootfs)。NFS网络文件系统为我们Qt和驱动开发带来很多方便。