ARM-linux与Ubuntu开发工具NFS及流程
linux虚拟机的型号是:ubuntu 12.04 vmware:workstation 14 pro
author: xianghai ding date:2019.01.04
板端:hi3536 海思编解码芯片
***********************************************************
ip/tcp环境的配置:
1.首先要虚拟机linux,windows,arm三个系统的网络要相互可以ping通
2.arm的eth0 192.168.1.22 netmask 255.255.255.0,windows的eth0 192.168.1.x netmask 255.255.255.255
3.linux的eth0 192.168.1.x netmask 255.255.255.255 虚拟机设置:网络适配器:网络连接:桥接模式(不用点击复制物理网络连接状态)。
编辑:网络:虚拟网络编辑器:vmnet0 桥接模式:桥接到:realtek pcie fe family controller。
linux虚拟机网络连接设置:edit conections:wired:wired connection 1:edit:ipv4 settings:
method:manual;addresses:192.168.1.netmask:255.255.255.0 gateway:1382.168.1.0 dns servers:202.96.69.38(这个dns自己设置就可以了)
点击require ipv4 addressing for this connetion to complete : save。
4.三个系统相互ip ping一下,ping通即可。
***********************************************************
使用nfs文件系统进行开发:
1)首先要网线连接到能上网的局域网(linux能下载安装包)
2)服务器端:sudo apt-get install portmap
3)服务器端:sudo apt-get install nfs-kernel-server
4)服务器端配置:sudo gedit /etc/exports
vi /etc/exports
添加:/home/share *(rw,sync,no_subtree_check)
或者/home/share 192.168.1.*(rw,sync,no_root_squash)
(共享目录) (允许ip)
(rw权限是可擦写,还有ro只读,
sync代表数据会同步写入到内存与硬盘中,async则代表数据会先暂存于内存当中,而非直接写入硬盘,
开放客户端使用root身份来操作服务器的文件系统,那么开no_root_squash才行,root_squash不允许)
共享文件:/home/share 就是你要移植到板卡端的文件,可以 sudo chmod 777 /home/share
5)服务器端启动:sudo /etc/init.d/portmap restart
6)服务器端启动:sudo /etc/init.d/nfs-kernel-server restart
7)网线连接到arm板卡端(挂载文件做准备)
8)arm板上挂载文件:mount -t nfs 192.168.1.101:/home/share /mnt
(主机ip和共享目录) (arm板目录) mount上之后arm板上文件自动同步
1.出现问题:reason given by server: permission denied
解决:服务器端启动一定要sudo启动,不然启动失败,服务拒绝
2.出现问题:svc: failed to register lockdv1 rpc service (errno 111).
lockd_up: makesock failed, error=-111
mount: mounting 192.168.1.101:/home/share on /mnt failed: connection refused
则改成:
mount -t nfs -o nolock 192.168.1.101:/home/share /mnt (一般直接打这个就行)
3.出现问题:
mount: mounting 192.168.1.101:/home/share on /mnt failed: device or resource busy
解决:
mount上之后在进行mount命令会出现此提示,设备正在运行,不用再次mount
如果想再次mount可以先umount /mnt。
以上步骤后:在板端的linux下就可以cd /mnt/后,看到linux的挂载文件已经加载到板端相应的文件夹当中。