板子要开始调试了,第一个头大的问题就是调试过程中更新的文件怎么更新到板子上,以前用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

嵌入式开发板nfs挂载的更多相关文章

  1. TQ210开发板NFS挂载android4.0.4的rootfs的方法

    首先声明的是,我使用的u-boot是自己移植的u-boot2013.01.01而非天嵌官方的那个,至于使用官方的u-boot如何去实现nfs挂载rootfs我没怎么研究过,不过原理方法都是一致的. 主 ...

  2. 嵌入式开发板使用网口和nfs进行文件共享

    如果你的开发板有网口,类似于这玩意. 那么,你可以去买根网线,类似于这玩意. 然后你就可以将你的电脑和开发板用网线连起来,通过nfs(网络文件系统)来进行文件夹共享,文件夹共享就相当于挂载,nfs是利 ...

  3. ARM嵌入式开发板

    iTOP-4412 ARM嵌入式开发板----主要特点 iTOP-4412开发平台是北京迅为电子研发设计的嵌入式开发板平台,核心板配备64位双通道2GB DDR3,16GBEMMC存储,三星原厂S5M ...

  4. 嵌入式开发板iTOP4412学习开发板

    网站:http://www.topeetboard.com 淘宝:https://item.taobao.com/item.htm?_u=okcahs0f42a&id=38712193806 ...

  5. 学习嵌入式开发板的Android平台体系结构和源码结构

    本文转自迅为论坛资料:http://www.topeetboard.com 推荐学习嵌入式开发板平台:iTOP-4412开发板 下面这张图出自Google官方,展示了Android系统的主要组成部分. ...

  6. IMX6Q开发板Linux-QT挂载U盘及TF卡

    本文基于:迅为-iMX6开发板Linux-QT挂载U盘及TF卡 如下图所示,qt 启动之后,在超级终端中使用命令“mknod /dev/sda1 b 8 1”创建 U盘的设备节点,如下图所示. 插入 ...

  7. CLion远程调试嵌入式开发板程序

    CLion远程调试嵌入式开发板程序 目录 CLion远程调试嵌入式开发板程序 1. 目的 2. 前提条件 3. CLion设置 3.1 设置一个Deployment 3.2 上传需要的目录到目标板子 ...

  8. [学习嵌入式开发板]iTOP-4412实现NFS网络文件系统

    本文转自迅为:http://www.topeetboard.com 学习平台:iTOP-4412开发板 本文讲解如何在 iTOP-4412 开发板上实现 NFS 网络文件系统. 我们使用的软硬件环境是 ...

  9. [分享] IMX6嵌入式开发板linux QT挂载U盘及TF卡

    本文转自迅为开发板:http://www.topeetboard.com 开发平台:iMX6开发板 linux QT 系统下挂载 u 盘如下图所示,qt 启动之后,在超级终端中使用命令“mknod / ...

随机推荐

  1. MapReduce 示例:减少 Hadoop MapReduce 中的侧连接

    摘要:在排序和reducer 阶段,reduce 侧连接过程会产生巨大的网络I/O 流量,在这个阶段,相同键的值被聚集在一起. 本文分享自华为云社区<MapReduce 示例:减少 Hadoop ...

  2. CentOS linux系统将UTC时间修改为CST时间

    1.编辑时间配置文件 1 2 3 4 # vi /etc/sysconfig/clock           ZONE="Asia/Shanghai"     UTC=false  ...

  3. 图论---DFS

    图论---DFS 1. 图的遍历 在理解DFS算法之前,我们首先需要对什么是遍历进行了解,遍历的概念就是:从某一个点出发(一般是首或尾),依次将数据结构中的每一个数据访问且只访问一遍. 2. DFS简 ...

  4. 深入浅出 BPF TCP 拥塞算法实现原理

    本文地址:https://www.ebpf.top/post/ebpf_struct_ops 1. 前言 eBPF 的飞轮仍然在快速转动,自从 Linux 内核 5.6 版本支持 eBPF 程序修改 ...

  5. Shell系列(6)- 管道符

    多命令顺序执行 多命令执行符 格式 作用 ; 命令1 ; 命令2 连接命令:多个命令顺序执行,命令之间没有任何逻辑联系:前面命令报错,后面命令照常执行 && 命令1 && ...

  6. django使用restframework序列化查询集合(querryset)

    第一: pip install djangorestframework 第二: 在setting.py文件中的app添加名为: 'rest_framework', 第三:再项目的APP下面新建名为(可 ...

  7. re.findall用法

    其中,re.findall() 函数可以遍历匹配,可以获取字符串中所有匹配的字符串,返回一个列表. 在python源代码中,展示如下: 搜索string,返回一个顺序访问每一个匹配结果(Match对象 ...

  8. Windows下nginx报错解决:CreateFile() "xxx/logs/nginx.pid" failed

    写在前面 本文给出Windows下nginx报错:CreateFile() "xxx/logs/nginx.pid" failed 的解决方法并分析了出错原因,其中 xxx 表示n ...

  9. Python+requests环境搭建和GET基本用法

    Python+requests环境搭建 首先你得安装Python,然后安装requests模块(第3方模块,安装方法:pip install requests)  基本用法 get 请求(不带参数的) ...

  10. SpringMVC的数据输出

    使用 @Controller public class OutputController { @RequestMapping("/handle01") public String ...