ZYNQ开发板的NFS文件系统安装 - ZYNQ7020学习
ZYNQ开发板的NFS文件系统安装 - ZYNQ7020学习
这篇博客主要讲解NFS的安装和开发板与Linux虚拟机如何mount成功。重点讲解如何mount成功。
NFS 文件系统的原理: 通过网络将 PC ubuntu Linux NFS server 上的文件,mount到开发板上,使得开发板操作这些文件,就像是操作使用本地文件一样。简单一点说,就是在 PC ubuntu Linux server 的NFS 文件夹下,编译一个 Linux app 如 hello.c -> hello,在开发板上也能看的见 hello 文件,并能执行这个文件。 这样我们在编写驱动的时候就不需要老是插拔 SD 卡了。
1. nfs server安装
在 Ubuntu 命令行里输入命令"sudo apt-get install nfs-kernel-server", 提示"Y/N"的时候输入"Y" ,然后等待安装完成。
2. 创建 nfs_server 文件夹
1) 在 Downloads(可以随意) 目录下右键打开命令窗口,然后输入"mkdir nfs_server"创建新的文件夹(也可以输入"sudo su", 再输入登录密码后再"mkdir nfs_server",这样得到的文件夹需要root权限才能更改,保证了文件的安全性,但文件操作不方便)。
2) 输入命令"sudo vim /etc/exports", 用 vim 打开 exports 文件。
按"i" 键转到插入模式,输入"/home/alinx/Downloads/nfs_server*(rw,sync,no_root_squash)" ,其中/home/alinx/Downloads/nfs_server自己的安装路径。
按Esc退出插入模式,输入:wq(注意,是“:wq”)保存推出 vim
3. 启动 nfs server输入命令"/etc/init.d/nfs-kernel-server start" ,启动nfs server
输入"showmount -e"命令可以查看 nfs server 路径
4. 本机上测试 nfs server
/home/alinx/Downloads/nfs_server 下面随便创建个文件(输入"cd /nfs_server"命令进入nfs_server 文件夹,然后输入命令"sudo touch test_nfs.dat")
输入命令"sudo mount -t nfs localhost:/home/alinx/Downloads/nfs_server /mnt", 把nfs_server 目录下的内容同步到/mnt 目录下。
/mnt 下面也有 test_nfs.dat,nfs server 安装成功
最后取消 umount, 输入命令"sudo umount /mnt"。
5. 开发板 nfs server 同步(重点)
进入虚拟机,选中Ubuntu 64位->设置->网络适配器,然后配置如下
进入Ubuntu系统,如果适配器是灰色的。右键点击连接,然后找到网络连接,点击编辑连接
点击编辑
方法改为手动,将地址改为自己设定的地址然后保存。
到这里,完成了ZYNQ与虚拟机Ubuntu的连接,接下来双方相互ping一下,确保通信无误即可进行mount了(注意关闭防火墙!!!)。
使用mount -t nfs 192.169.1.129:/home/alinx/Downloads/nfs_server /mnt 命令是把虚拟机上的Ubuntu 操作系统中的
home/alinx/Downloads/nfs_server 同步到开収板上的/mnt 目录下 。如果命令过长需要用反斜杠加回车符来换行。换行符我一直没用成,每次手动全部输入,贴一张假图吧。
如果出现server denied...,...bad file description,请手动重新输入命令,因为复制的命令很容易少了几个字母之类的。如果mount的时候出现...nolock...之类问题,采用命令
mount -t nfs -o nolock 192.169.1.129:/home/alinx/Downloads/nfs_server /mnt。补一张后期的图
这里讲得是桥接的方式,我们也可以选择NAT或者特定虚拟网,这样使用需要先将NAT虚拟网络或者特定虚拟网络与win系统下的以太网桥接才能正常工作,过程复杂很多,这里不做介绍了。无聊时候写写自己的经验小总结,有不对的地方,还请大侠们指正。
ZYNQ开发板的NFS文件系统安装 - ZYNQ7020学习相关教程