板子要開始調試了,第一個頭大的問題就是調試過程中更新的文件怎么更新到板子上,以前用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