嵌入式開發板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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM