android通过nfs挂载linux共享的文件 - Go语言中文社区

android通过nfs挂载linux共享的文件


最近一直在调wifi驱动,编写linux下的wifi代码,所以android的应用层和wpa_supplicant的通信一直没时间看,先留着。
公司使用的ubuntu版本为12.04,所以以次版本讲下如何在开发板下挂载linux主机通过nfs共享的文档,利于调试驱动
(1)linux主机需要的配置
配置nfs服务器

sudo apt-get install nfs-kernel-server
sudo apt-get install portmap

成功后配置环境

vi /etc/exports

输入share_file *(rw,sync,no_root_squash)
share_file为你要共享的文件夹,请自行设置
在我的虚拟机下需配置网卡的选项,如下图;
这里写图片描述
vmnet0选择桥接到pc的物理网卡上,不要桥接到wlan0上,在进入linux下设置静态ip:
这里写图片描述
地址自行设置,需在同以局域网内,即address前3个地址需相同

(2)window端的设置
这里写图片描述
win端设置和linux大同小异,如图所示
现在可以相互ping下看是否可以ping通,如没成功则关闭linux/win的防火墙,需在板子的网口和PC插上的情况下。

ufw disable 

(3)android板的设置
开shell情况下输入ifconfig eth0 xxx.xxx.xxx.xxx
需设置成同一局域网内
ping下三者是否互通
我的android平台集成busybox,且mountnfs需busybox支持,不然会出现错误,输入

mount -o nolock -t nfs 10.3.178.110:/home/jerry/drivers /mnt

ip地址后为你共享的目录,错误如下

mount: Invalid argument

mount前面加入busybox则无此错误,出现其他错误

failed: I/O error

看打印出来信息

[  325.717668@0] type=1400 audit(1420070728.230:9): avc: denied { net_raw } for pid=4824 comm="kworker/0:3" capability=13 scontext=u:r:kernel:s0 tcontext=u:r:kernel:s0 tclass=capability permissive=0

permissive为0,推测事selinux的问题,使用getenforce查看为Enforcing,利用setenforce 0命令改为permissive在重新mount成功
这里写图片描述

如有本人未遇到问题可一起探讨!利用nfs可以很轻松调试驱动,目前本人遇到调试wifi时,wifi连接上ip会与rj45的网口冲突导致nfs挂载失败,
提示

nfs: server xxxx not responding, still trying

最后卡死在此处?在网口和wlan都开启情况下ping命令优先选择了wlan端口,而非网口?这是内核处理网络的方式还是IC厂商设置需重代码中了解,有熟悉网络方面可以不令赐教下。
so enjoy it!!!

版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/CSDN_weng/article/details/53466942
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2020-03-01 20:49:30
  • 阅读 ( 1803 )
  • 分类:Linux

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢