Linux platform驱动框架的使用和分析

介绍

手上有一块nanopi,想在上面测试写好的驱动,但是开发环境在主机上,为了方便测试,需要使用NFS服务器将开发板文件夹挂载到主机上,这个文件夹相当于一个共享文件夹,只需将写好的驱动复制到该文件夹中,在开发板中就可以看到复制进去的文件了。
注意:这里是在nanopi上搭建NFS服务器,而不是在主机中搭建,好处是任意一台主机(即使没有安装NFS服务器)都可以挂载nanopi的文件夹,坏处是如果开发板不是运行的linux发行版(我的nanopi装的Ubuntu),搭建NFS服务器不是一件容易的事情。
这里选择在nanopi上搭建NFS服务器,还有一点原因是我的主机虚拟机不能ping通开发板,但是开发板却能ping通主机。

在开发板上搭建NFS服务器

注意,这里需要开发板安装的是发行版Linux

1. 安装

$ sudo apt-get install nfs-kernel-server
$ sudo apt-get install nfs-common

2. 配置/etc/exports

首先创建一个目录用于主机挂载,这里使用的是:/home/pi/nfs,然后执行$ sudo vi /etc/exports,在文本末尾添加:

/home/pi/nfs *(insecure,rw,sync,no_root_squash,no_subtree_check)

(注意这里添加insecure选项目的是允许使用1024以上的端口号)

接下来执行$ chmod 777 -R /home/pi/nfs更改文件夹的权限,然后执行$ sudo exportfs -r更新/etc/exports的变更。
最后执行$ sudo showmount localhost -e查看在本机中允许NFS挂载的文件夹,此时应该显示(xxx是开发板的ip地址):

Export list for xxx.xxx.xxx.xxx
/home/pi/nfs *

如果显示了以上内容,则可以执行$ sudo /etc/init.d/nfs-kernel-server restart重启NFS服务器。

3. 测试挂载

将刚才的NFS文件夹挂载到本机的/mnt文件夹下:

$ sudo mount -t nfs -o nolock localhost:/home/pi/nfs /mnt

然后进入/mnt文件夹即可查看到/home/pi/nfs文件夹下的内容,说明挂载成功。
使用以下命令取消挂载

$ sudo umount /mnt

在主机中挂载开发板的NFS文件夹

首先需要保证主机能够ping通开发板

ping xxx.xxx.xxx.xxx

然后执行$ sudo showmount xxx.xxx.xxx.xxx -e查看对应ip地址下允许NFS挂载的文件夹,此时应该输出:

Export list for xxx.xxx.xxx.xxx
/home/pi/nfs *

然后主机执行

$ sudo mount -t nfs -o nolock xxx.xxx.xxx.xxx:/home/pi/nfs /mnt

即可将开发板的/home/pi/nfs挂载到主机的/mnt文件夹下。
如果出现:

mount.nfs: access denied by server while mounting xxx.xxx.xxx.xxx:/home/pi/nfs

说明开发板的/home/pi/nfs文件夹权限没有改为777,或者/etc/exports文件配置中没有加inssecure选项。

猜你喜欢

转载自blog.csdn.net/Egean/article/details/80924871
今日推荐