当前位置: 首页 > news >正文

IMX6ULL开发板挂载 Ubuntu 的 NFS 目录,并以交叉编译得到的hello程序进行测试

首先参考博文 https://blog.csdn.net/wenhao_ir/article/details/144404637 使得IMX6ULL开发板、PC机上的USB网卡、VMware中的Ubuntu能互相Ping 通

然后开始将Ubuntu 的 NFS 目录挂载到Ubuntu中。
为什么挂载?
答:其实是把 Ubuntu中的某个目录通过NFS网络协议变成linux中的某个目录,类似Windows中的共享文件夹。我们有些时候需要多次调试开发板文件系统内的某个应用程序,这就需要多次进行编译拷贝等操作,所以我们在前期进行调试时可以直接让开发板使用ubuntu 的 nfs 目录下文件系统来进行远程调试,用以提高调试效率,加快研发速度。

首先确保开发板和到Ubuntu能互相ping通:
开发板 Ping Ubuntu:

ping 192.168.5.11

Ubuntu Ping 开发板

ping 192.168.5.9

然后确认Ubuntu中目录/home/book/nfs_rootfs存在。

在这里插入图片描述
然后在开发板上执行下面的命令:

mount -t nfs -o nolock,vers=3 192.168.5.11:/home/book/nfs_rootfs /mnt

这条命令是用于在 Linux 系统中挂载一个 NFS(Network File System)共享目录到本地文件系统。以下是对这条命令的详细解释:


在这里插入图片描述

命令结构

mount -t nfs -o nolock,vers=3 192.168.5.11:/home/book/nfs_rootfs /mnt

1. mount

这是用于挂载文件系统的通用命令。

2. -t nfs

-t 选项指定挂载的文件系统类型,这里指定为 nfs,即网络文件系统。

3. -o nolock,vers=3

-o 选项用于指定挂载选项,多个选项用逗号分隔:

  • nolock
    • 禁用文件锁机制。
    • 通常用于避免 NFS 客户端尝试与锁管理器 rpc.statd 进行通信时出现问题,比如锁管理器未运行或网络延迟。
  • vers=3
    • 指定使用 NFS 协议版本 3。
    • NFS 有多个版本(如 3、4、4.1),版本 3 是一个经典版本,支持更好的性能和兼容性。

4. 192.168.5.11:/home/book/nfs_rootfs

  • 这是 NFS 服务器的地址和共享目录:
    • 192.168.5.11 是 NFS 服务器的 IP 地址。
    • /home/book/nfs_rootfs 是在服务器上配置的 NFS 共享目录路径。

5. /mnt

  • 这是挂载点,即本地系统中 NFS 共享目录将被映射到的位置。
  • 挂载后,访问 /mnt 就相当于访问服务器上的 /home/book/nfs_rootfs

在这里插入图片描述

挂载完成后的测试:
按照博文 https://blog.csdn.net/wenhao_ir/article/details/144326545 的说明在目录/home/book/mycode/C001_hello通过交叉编译生成了hello可执行文件。
在这里插入图片描述
我们把这个可执行文件复制到挂载目录/home/book/nfs_rootfs /mnt下:
在这里插入图片描述
然后在开发板上执行下面的命令看下有没有相应的文件:

ls /mnt

在这里插入图片描述
可见是有的。
然后在用户目录下创建一个名为 mycode 的目录

mkdir mycode

进入这个目录

cd mycode

把程序hello复制到 /mycode 中

cp /mnt/hello ./hello

在这里插入图片描述
然后给hello添加执行权限

chmod +x hello

然后执行程序

./hello

在这里插入图片描述
我们再给它加一个参数,它的源码(源码见 https://blog.csdn.net/wenhao_ir/article/details/144326545)表明我们是可以附带一个字符串参数的:

./hello suwenhao

在这里插入图片描述
完美运行~

http://www.lryc.cn/news/503930.html

相关文章:

  • Xcode模拟器运行报错:The request was denied by service delegate
  • ubuntu18.04配置实时内核
  • Unity中Mesh重叠顶点合并参考及其应用
  • 倚光科技助力自由曲面设计与加工
  • PWM调节DCDC参数计算原理
  • [Pro Git#3] 远程仓库 | ssh key | .gitignore配置
  • Freertos任务切换
  • go开发中interface和方法接收器的使用
  • vue3-tp8-Element:对话框实现
  • 高中数学:随机变量-正态分布
  • 游戏引擎学习第47天
  • Git 仓库托管教程
  • 基于51单片机的简易时钟/定时器闹钟proteus仿真
  • Jackson @JsonProperty 注解
  • 【Excel学习记录】02-单元格格式设置
  • 支持自定义离线地图地理区域,查询组件及数据源功能增强,DataEase开源BI工具v2.10.3 LTS发布
  • LF CRLF
  • 【从零开始入门unity游戏开发之——C#篇01】理论开篇,理解什么是编程
  • 怎样提升企业网络的性能?
  • 1. 机器学习基本知识(2)——机器学习分类
  • 四叉树算法在游戏碰撞检测中的应用
  • IDEA 打包普通JAVA项目为jar包
  • Docker Compose 多应用部署 一键部署
  • 软件架构设计——通用表单UI—未来之窗行业应用跨平台架构
  • 人工智能大语言模型起源篇(二),从通用语言微调到驾驭LLM
  • VBA 连续打印多个内容成PDF
  • 9. 高效利用Excel设置归档Tag
  • ubuntu系统生成SSL证书配置https
  • 顺序表(数据结构初阶)
  • AOF和RDB【Redis持久化篇】