ARM-linux与Ubuntu开发工具NFS及流程

时间:2023-08-21 22:33:58
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的挂载文件已经加载到板端相应的文件夹当中。