PC机与开发板NFS共享文件

写在前面

“好记性不如烂笔头”。记性太差,总结来救。水平太差,那没办法。这是写给自己的课程笔记,肯定会有一些错误与非常多“囫囵吞枣的记录”。如能对未来一二人有帮助,善。

11.11课程总结

本节课的主要任务就是将板子PC机使用网络进行连接。使得板子与PC机之间可以互传文件。本人除机组外未学过任何硬件部分。为了下次课程中可以快速复现第一次课程中的内容,现将第一次实验课上课实验内容进行总结,难免出错,以便下节课使用。

本部分内容在嵌入式系统A9实验指导书的第二部分-第一章实验环境与软件工具Linux开发环境简介 P13

  • 实验环境:实验室win10电脑的linux虚拟机
  • 实验主要目标:
    • 1.将开发板与pc机连接到同一个局域网下,使互相可以ping通
    • 2.将pc机的某文件夹位置设置同步到开发板的某文件夹

(1)将开发板与pc机连接到同一个局域网

将上课讲的内容与实验的内容进行步骤的总结,以及遇到的一些问题。但是请清楚,最初的目标是什么。

实验前工具验证,没有的话换设备呀:

- 开发板通电后4个小企鹅
- 电源线、usb转串口线、网线
  • 1.物理设备连接

    • 开发板通电,并且使用usb转串口线与电脑的usb相连。
  • 2.软件设备连接

    • a.输入以下命令进入图形化界面

      startx  #进入图形操作界面,因为命令行有一些端口看不到了
      
    • b.使用串口工具读取启动。

      # 在linux下运行
      cd .. #确保在跟目录下
      cd /etc/dev
      ls
      

      此时屏幕应该显示类似的内容。但是可以在最右侧一列看到有名为ttyUSB0的名称(如果你插上在拔掉,该名称就可能变为ttyUSB1,以此类推)

      在这里插入图片描述

      • 有一个命令好像可以更快的查找,可以试试

        • ls /dev/ttyUSB*
          
    • c. 在命令行下输入minicom -s命令修改串口名称

      • 第三行一个port,回车进入
      • 需要修改内容有:
        • 选A 修改为之前查到的设备分配串口号,例如ttyUSB0
        • 倒数第二行是啥忘记了,但是选择NO。剩下的什么波特率,想了解的到时候再查
        • 回车退出,在选择Exit退出,就会进入到开发板的命令行中了
        • 注:在本实验中如果出现以下界面,根据串口号发现,名称配置错了,所以无法进入。这里的port写的是 /dev/ttyS0,不是ttyUSB0
        • 在这里插入图片描述
  • 3.将开发板与PC机连接到同一局域网下

    • a.物理连接

      • 使用网线将开发板与PC机连接(没错,把实验室主机的网线给拔了)

      • 这里注意看开发板网线接口的灯是否亮,应该是一个常亮,一个闪烁。如果没有亮,网线、开发板网线接口、电脑网线接口,三者中肯定有一个接触不好,或者坏了。建议换网线。

      • 注:下列这个就是实验做到一半发现没ip了,发现灯都不亮,可能是主机那端接触不良。而软件层面同样可以发现该问题:开发板输入ifconfig命令,没有任何输入。如下图

      • 在这里插入图片描述

      • 在这里插入图片描述

  • b.软件连接设置到同一个局域网下!>)

    • 原理:修改一方的ip地址,使得在同一个网段内即可,主机号可以随便给。

      • 注意事项:此时有两个终端了,PC机的终端用户名为“root@localhost”,开发板的终端用户名为“root@Cyb-Bot”,之后的操作直接使用用户名代替,要清楚在谁的终端运行!其实这块自己查命令就好了。
    • 步骤:

      • step1:在root@localhost中输入查询ifconfig查询PC机ip地址,

      • step2:在root@Cyb-Bot中输入查询ifconfig查询开发板ip地址

        • 例如在这里插入图片描述
      • step3:修改一端的ip与另一端的ip在同一个网段即可。

        • 例如,root@localhost的ipv4地址为192.168.1.230,root@Cyb-Bot的ipv4地址为139.162.5.218。此时可以在root@Cyb-Bot中输入命令ifconfig eth0 192.168.1.231。(如看上图,网卡设备号eth0,网卡ipv4地址也圈出来了)
      • step4:再次在两个终端查询ip地址,看是否在同一个ip网段。

      • step5:Vm中编辑、虚拟网络设备编辑器,修改虚拟机网络模式为桥接,不要使用NAT,同时虚拟网络设置为真实的使用的网卡(最后一项),不要使用自动。上述如果不能修改,点击界面中的“更改系统选项”,然后在Vmware右上角退出全屏模式,再次执行step5即可。

        • 在这里插入图片描述
      • step6:此时再任意一个终端都可以ping对方的ip地址了。有time就说明ping通了。

(2)NFS共享文件设置

本部分内容主要查看word文档。这里将内容进行复制粘贴。出现的问题进行加粗或标黄处理。

  • 1.添加NFS共享目录并设置权限

    • [root@localhost ~]#vim /etc/exports
      #修改内容如下:
      /SomeDirctory *(rw)
      #退出保存即可,该行语句表明,将系统的 根目录 下的/SomeDirctory目录设置成共享,“*”代表任意机器都可以访问,rw表示具有读写权限。注意,SomeDirctory这个是你自己起的名字!!
      #退出之后,你在 根目录 下需要创建文件夹SomeDirctory
      
  • 2.关闭防火墙

[root@localhost ~]# /etc/init.d/iptables stop
iptables:清除防火墙规则:                                 [确定]
iptables:将链设置为政策 ACCEPT:filter                    [确定]
iptables:正在卸载模块:                                   [确定]
[root@localhost ~]#

3.启动NFS共享服务(跟着敲就行)

[root@localhost ~]# /etc/init.d/nfs restart
关闭 NFS mountd:                                          [失败]
关闭 NFS 守护进程:                                        [失败]
关闭 NFS quotas:                                          [失败]
启动 NFS 服务:                                            [确定]
关掉 NFS 配额:                                            [确定]
启动 NFS 守护进程:                                        [确定]
启动 NFS mountd:                                          [确定]
[root@localhost ~]#

  • 4.在ARM Linux系统中访问宿主机端NFS共享

    • [root@Cyb-Bot /]#mount -t nfs -o nolock 192.168.1.230:/SomeDirctory /mnt/
      

    注意:/SomeDirctory /mnt/,这两个之间是有空格的!因为一个代表的是device,一个代表的是dir,不要写成/SomeDirctory/mnt/。在Pc机的主目录下面,需要自己建立建SomeDirctory这个文件夹,要不然会报找不到文件的错误。如果建立还还是报没有该文件夹的错误,记得,去最初的目录建文件夹!(比如多按几次cd . .保证回到最上级的目录中)只记得这里了,剩下的忘记了。。。错误评论区指出。剩下的大家加油!

    • mount命令是在终端root@Cyb-Bot上的ARM Linux系统的串口终端中使用的。挂载成功后,即可在ARM系统中访问PC机的共享实验目录了。

      注意一下是谁的ip。PC机的IP为192.168.1.230,开发板的ip之前改为了192.168.1.231。

    • 简要记录一下monut命令,可以跳过

      • 命令使用格式:mount [-fnrsvw] [-t vfstype] [-o options] device dir
        
      • device:指明要挂载的设备;
        dir:挂载点
            事先存在;建议使用空目录;
            进程正在使用中的设备无法被卸载;
        常用命令选项:
            -t vsftype:指定要挂载的设备上的文件系统类型;
            -r: readonly,只读挂载;
            -w: read and write, 读写挂载;
            -n: 不更新/etc/mtab; 
            -a:自动挂载所有支持自动挂载的设备;(定义在了/etc/fstab文件中,且挂载选项中有“自动挂载”功能)
            -L 'LABEL': 以卷标指定挂载设备;
            -U 'UUID': 以UUID指定要挂载的设备;
            -B, --bind: 绑定目录到另一个目录上;
        注意:查看内核追踪到的已挂载的所有设备:cat /proc/mounts
        ………………………………………………………………………………………………………………………
            -o options:(挂载文件系统的选项)
              async:异步模式;
              sync:同步模式;
              atime/noatime:包含目录和文件;
              diratime/nodiratime:目录的访问时间戳
              auto/noauto:是否支持自动挂载
              exec/noexec:是否支持将文件系统上应用程序运行为进程
              dev/nodev:是否支持在此文件系统上使用设备文件;
              suid/nosuid:是否支持在此文件系统上使用特殊权限
              remount:重新挂载
              ro:只读
              rw:读写
              user/nouser:是否允许普通用户挂载此设备
              acl:启用此文件系统上的acl功能
        注意:上述选项可多个同时使用,彼此使用逗号分隔;
        默认挂载选项:defaults:rw, suid, dev, exec, auto, nouser, and async
        
        上述信息可以通过查看超级块信息看到,这里不再对其进行演示。
        
      • 以上mount命令复制https://blog.csdn.net/daydayup654/article/details/78788310

  • 5.此时你在root@localhost的根目录下的SomeDirctory目录下,新建一个文件a.txt。在root@Cyb-Bot的根目录下的mnt文件夹可以看到a.txt。说明开发板与pc机之间共享成功。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值