zoukankan      html  css  js  c++  java
  • 嵌入式开发板nfs挂载

    板子要开始调试了,第一个头大的问题就是调试过程中更新的文件怎么更新到板子上,以前用sd卡拷贝来来回回太浪费时间了,adb也需要接线各种连接操作。

    现在板子有wifi可用,是时候把nfs共享搭起来了。

    公司的编译服务器已经配好了一个nfs的共享目录/home/pub,地址是192.168.11.111

    现在需要把板子连接到同一个网络内,把这个网络上的目录挂载到板子上的某个目录就好了

    第一步查看板子是否支持nfs文件系统用 cat /proc/filesystem 

    如果有nodev nfs说明支持nfs文件系统

    root@TinaLinux:/# cat /proc/filesystems 
    nodev   sysfs
    nodev   rootfs
    nodev   ramfs
    nodev   bdev
    nodev   proc
    nodev   cpuset
    nodev   cgroup
    nodev   cgroup2
    nodev   tmpfs
    nodev   devtmpfs
    nodev   configfs
    nodev   debugfs
    nodev   sockfs
    nodev   pipefs
    nodev   rpc_pipefs
    nodev   devpts
            ext3
            ext2
            ext4
            vfat

    很遗憾我这个板子没有nfs文件系统的支持,应该是在内核编译的时候没有打开nfs配置,

    于是先把内核配置好nfs再编译烧录

    make menuconfig arch=arm

    找到并进入File systems选项 

    往下翻到NetWork File Systems 并进入

     然后把NFS client support的都选上,因为我们的板子是要作为客户端连接到nfs服务器的。

    Save保存退出重新编译打包烧录。

    再去板子上看下这次已经有nfs了

    root@TinaLinux:/# cat /proc/filesystems 
    nodev   sysfs
    nodev   rootfs
    nodev   ramfs
    nodev   bdev
    nodev   proc
    nodev   cpuset
    nodev   cgroup
    nodev   cgroup2
    nodev   tmpfs
    nodev   devtmpfs
    nodev   configfs
    nodev   debugfs
    nodev   sockfs
    nodev   pipefs
    nodev   rpc_pipefs
    nodev   devpts
            ext3
            ext2
            ext4
            vfat
    nodev   nfs
    nodev   nfs4

    现在要把板子连接到公司的网络上,让板子和服务器在同一个局域网内

    root@TinaLinux:/# wifi_connect_ap_test  AirFly airflymaster
    ==================================
    [   29.767497] [STA] !!!xradio_vif_setup: id=0, type=2, p2p=0
    [   29.969455] random: wpa_supplicant: uninitialized urandom read (4096 bytes read, 101 bits of entropy available)
    [   29.982768] random: wpa_supplicant: uninitialized urandom read (4096 bytes read, 101 bits of entropy available)
    [   29.996495] random: wpa_supplicant: uninitialized urandom read (4096 bytes read, 101 bits of entropy available)
    Connecting to the network......
    [   31.700627] wlan0: authenticate with 28:6c:07:41:ec:31 (try 1)
    [   31.789632] wlan0: authenticated
    [   31.793629] wlan0: associate with 28:6c:07:41:ec:31 (try 1)
    [   31.832925] wlan0: RX AssocResp from 28:6c:07:41:ec:31 (capab=0xc11 status=0 aid=7)
    [   31.841446] wlan0: associated
    [   31.847854] [AP_WRN] [STA] ASSOC HTCAP 11N 58
    [   31.918279] [TXRX_WRN] [RX] IF=0, No key found.
    [   32.017679] [TXRX_WRN] [RX] IF=0, No key found.
    [   32.172652] random: wpa_supplicant: uninitialized urandom read (4096 bytes read, 114 bits of entropy available)
    [   32.186420] [TXRX_WRN] drop=1440, fctl=0x00d0.
    Connected to the AP
    Getting ip address......
    Wifi connect ap : Success!
    ==================================

    接下来就是把网络上的文件夹挂载到板子上,

    第一次尝试直接用 mount -t nfs 192.168.11.111:/home/pub /root/pub 命令失败了

    一直阻塞最后失败。

    网上搜索了一下

    https://www.cnblogs.com/chenchenluo/p/3573911.html这里面说要带参数

    -o nolock,rsize=1024,wsize=1024

    加上之后果然挂载上了,再用mount命令看下挂载结果

    mount -t nfs -o nolock,rsize=1024,wsize=1024 192.168.11.111:/home/pub /root/pub
    root@TinaLinux:/# mount
    /dev/root on / type ext4 (rw,relatime,data=ordered)
    devtmpfs on /dev type devtmpfs (rw,relatime,size=309460k,nr_inodes=54378,mode=755)
    /proc on /proc type proc (rw,relatime)
    tmpfs on /tmp type tmpfs (rw,relatime)
    sys on /sys type sysfs (rw,relatime)
    /dev/by-name/rootfs_data on /etc type ext4 (rw,relatime,block_validity,delalloc,barrier,user_xattr)
    devpts on /dev/pts type devpts (rw,relatime,gid=5,mode=620)
    /dev/mmcblk0p1 on /mnt/UDISK type ext4 (rw,relatime,data=ordered)
    /dev/mmcblk0p1 on /mnt/SDCARD type ext4 (rw,relatime,data=ordered)
    192.168.11.111:/home/pub on /root/pub type nfs (rw,relatime,vers=3,rsize=1024,wsize=1024,namlen=255,hard,nolock,proto=tcp,timeo=600,retrans=2,sec=sys,mountaddr=192.168.11.111,mountvers=3,mountproto=tcp,local_lock=all,addr=192.168.11.111)

    现在就可以往服务器上的/home/pub里面放东西,然后通过串口或者adb在板子上的/root/pub目录就能获取到更新的东西了。

     2019-04-27

    15:45:21

  • 相关阅读:
    小程序开发记录一:开发流程
    js小功能3:一个简单的计算器功能
    js小功能2:切换
    js小功能1:全选全不选
    通过javascript得到当前的日期和计算出该班级的平均分
    CSS 使用calc()获取当前可视屏幕高度
    javaScript基础题
    Python标准库03 路径与文件 (os.path包, glob包)
    Python标准库02 时间与日期 (time, datetime包)
    Python标准库01 正则表达式 (re包)
  • 原文地址:https://www.cnblogs.com/tid-think/p/10778976.html
Copyright © 2011-2022 走看看