欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

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

程序员文章站 2022-03-30 11:46:19
Linux虚拟机的型号是:Ubuntu 12.04 VMware:workstation 14 pro author: Xianghai Ding Date:2019.01.04 板端:Hi3536 海思编解码芯片******************************************* ......

  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的挂载文件已经加载到板端相应的文件夹当中。