如果你的开发板有网口,类似于这玩意。
那么,你可以去买根网线,类似于这玩意。
然后你就可以将你的电脑和开发板用网线连起来,通过nfs(网络文件系统)来进行文件夹共享,文件夹共享就相当于挂载,nfs是利用网络进行挂载的,你电脑的硬盘是通过硬件(pcie?)进行挂载的。
配置nfs的过程:
仅针对ubuntu的电脑和嵌入式开发板说明,Windows我没试过,需要的话,可以参考摸索。
以下仅针对我的环境介绍,我的环境是:
ubuntu16.04电脑,电脑通过WiFi上网,嵌入式开发板是linux系统。
至于如果你的电脑是连网线上网的,其实没什么大区别。
1、查看你电脑的ip(ifconfig)
记下第一项的网卡的的地址,即以太网的ip(enp0s31f6),我的电脑是黄色框框出来的ip,这个是嵌入式板卡需要连接的ip地址。注意不同电脑可能显示的名字不一样,我的名字是enp0s31f6。
上面的界面中除了第一项enp0s31f6,还有一个wlan的ip(wlp3s0),这个ip在有些情况下是和以太网ip是相同的,有的时候不相同,我们仅用以太网ip。
然而我的电脑一开始ifconfig的时候,并没有显示框中的ip,这是因为你没有设置这个ip,这个ip叫以太网ip,或者叫静态ip,网上有很多关于ubuntu的静态ip的设置教程。
先打开 /etc/network/interfaces 文件
我的静态ip设置是:
auto enp0s31f6iface enp0s31f6 inet staticaddress 169.254.XXX.XXX(自己设置)netmask 255.255.0.0
其中 enp0s31f6 设置成你的第一个网卡的名字。
address和netmask可以自己设置。
ok,你的静态ip已经搞定。
2、修改你的嵌入式板卡的ip
打开嵌入式板卡上的 /etc/init.d/S00eth0 文件,添加如下两行(第二行和第三行),如果没有第一行,也请添上。
#! /bin/shifconfig eth0 169.254.XXX.YYYmount -o nolock -t nfs 169.254.XXX.XXX:/home/yongyang/hi3559a /mnt
ifconfig eth0 169.254.XXX.YYY 表示将嵌入式板卡的ip修改成这个ip,记住,要修改成成和你电脑在同一段的ip,这也是为什么要记住电脑静态ip的原因之一。同一段的意思是,只有最后3个数字不同,其它相同的ip。
mount -o nolock -t nfs 169.254.XXX.XXX:/home/yongyang/hi3559a /mnt 这一行的ip,就是你电脑的静态ip。表示将你电脑上的/home/yongyang/hi3559a文件夹挂载到板卡的/mnt下,以后板卡访问/mnt,就可以访问电脑上相应的文件夹。
这个文件是写好后,是每次板卡启动的时候,要执行的设置,因此,你也可以reboot重启,或者直接断电再开,就可以是配置生效。。。
3、但是做到这些还是不够,你需要在你的电脑上配置nfs服务端。以下在电脑上执行
sudo apt-get install nfs-kernel-server 安装nfs服务端
自己新建一个文件夹,以供挂载,我新建的是 /home/yongyang/hi3559a
修改该文件夹的权限:
sudo chown nobody:nogroup /home/yongyang/hi3559asudo chmod 777 /home/yongyang/hi3559a
修改 /etc/exports 文件
在该文件中添加一行
/home/yongyang/hi3559a 169.254.XXX.YYY(rw,sync,no_root_squash,no_subtree_check)
这里的ip是板卡的ip,表示电脑将开放/home/yongyang/hi3559a文件夹作为该ip的设备进行挂载。括号里照抄。
sudo exportfs -a 导出共享目录
sudo systemctl restart nfs-kernel-server 最后重启nfs
4、重启你板卡,看看你挂载是否成功
比如,我可以在电脑上/home/yongyang/hi3559a文件夹下放个文件,看我的板卡中的/mnt中是否有这个文件。
建议:修改好两边的ip后,可以试着互相ping对方,如果能ping同,那就可以,ping不同,后面也完不成,看你哪步搞错了。Windows记住要关闭防火墙。