在嵌入式Linux开发中,需要在Linux主机编写程序代码,然后编译程序,生成的二进制程序文件要传输到目标机上才能调试、运行。那么如何更快、更便捷地传输文件,提高开发工作的效率呢?NFS无疑是最好的选择。通过NFS服务,主机将用户指定的目录通过网络共享给目标机(和windows的文件网络共享类似)。目标机可以直接运行存放于Linux主机共享目录下的二进制程序,这样调试程序时十分方便、高效。
NFS即网络文件系统(Network File-System),可以通过网络让不同机器、不同系统之间可以实现文件共享。通过NFS,可以访问远程共享目录,就像访问本地磁盘一样。
ubuntu下搭建nfs服务器的方法
软件下载安装。
elf@ubuntu:~$ sudo apt-get install nfs-kernel-server nfs-common portmap
创建NFS的目录为nfs_rootfs,并在该目录下新建测试文件test。
elf@ubuntu:~$ mkdir nfs_rootfs
elf@ubuntu:~$ cd nfs_rootfs/
elf@ubuntu:~/nfs_rootfs$ touch test
elf@ubuntu:~/nfs_rootfs$ ls
test
修改配置文件。
elf@ubuntu:~/nfs_rootfs$ sudo vim /etc/exports
在文件中添加以下配置。
/home/elf/nfs_rootfs *(rw,sync,no_root_squash,no_subtree_check)
重启配置文件和服务。
elf@ubuntu:~/nfs_rootfs$ sudo exportfs -rv
elf@ubuntu:~/nfs_rootfs$ sudo /etc/init.d/rpcbind restart
elf@ubuntu:~/nfs_rootfs$ sudo /etc/init.d/nfs-kernel-server restart
验证
在开发板上验证nfs服务器,执行完以下命令将nfs服务器挂载到开发板的/mnt目录。
root@ELF1:~# mount -t nfs4 -o vers=4 192.168.0.51:/home/elf/nfs_rootfs /mnt/
挂载成功后,查看/mnt目录,会看到刚才新建的测试文件。
root@ELF1:~# ls /mnt/
test