LV01-02-IMX6ULL-ALPHA开发板体验-06-挂载ubuntu目录

本文主要是体验正点原子I.MX6U-ALPHA开发板出厂系统——挂载ubuntu中的目录到linux开发板中,为后面应用开发学习做准备。若笔记中有错误或者不合适的地方,欢迎批评指正😃。

点击查看使用工具及版本
PC端开发环境 Windows Windows11
Ubuntu Ubuntu20.04.6的64位版本(一开始使用的是16.04版本,后来进行了升级)
VMware® Workstation 17 Pro 17.0.0 build-20800274
终端软件 MobaXterm(Professional Edition v23.0 Build 5042 (license))
Win32DiskImager Win32DiskImager v1.0
Linux开发板环境 Linux开发板 正点原子 i.MX6ULL Linux 阿尔法开发板
uboot NXP官方提供的uboot,NXP提供的版本为uboot-imx-rel_imx_4.1.15_2.1.0_ga(使用的uboot版本为U-Boot 2016.03)
linux内核 linux-4.15(NXP官方提供)
点击查看本文参考资料
分类 网址 说明
官方网站 https://www.arm.com/ ARM官方网站,在这里我们可以找到Cotex-Mx以及ARMVx的一些文档
https://www.nxp.com.cn/ NXP官方网站
https://www.nxpic.org.cn/NXP 官方社区
https://u-boot.readthedocs.io/en/latest/u-boot官网
https://www.kernel.org/linux内核官网
点击查看相关文件下载
分类 网址 说明
NXP https://github.com/nxp-imx NXP imx开发资源GitHub组织,里边会有u-boot和linux内核的仓库
https://elixir.bootlin.com/linux/latest/source 在线阅读linux kernel源码
nxp-imx/linux-imx/releases/tag/rel_imx_4.1.15_2.1.0_ga NXP linux内核仓库tags中的rel_imx_4.1.15_2.1.0_ga
nxp-imx/uboot-imx/releases/tag/rel_imx_4.1.15_2.1.0_ga NXP u-boot仓库tags中的rel_imx_4.1.15_2.1.0_ga
I.MX6ULL i.MX 6ULL Applications Processors for Industrial Products I.MX6ULL 芯片手册(datasheet,可以在线查看)
i.MX 6ULL Applications ProcessorReference Manual I.MX6ULL 参考手册(下载后才能查看,需要登录NXP官网)

一、写在最前面的

前面我们已经知道了如何从tftp加载设备树和linux内核镜像,如何从nfs挂载根文件系统,我们后面进行应用开发的时候是不需要修改根文件系统和镜像以及设备树这些的,每次都这么加载会很慢,但是其实我们有时候只是想把文件传输到开发板而已,可以怎么做?前面不是已经实现了从nfs挂载根文件系统到linux开发板吗,是不是可以用一样的操作?当然可以的。

这一节我们从SD卡或者eMMC启动系统,然后从nfs挂载ubuntu中的目录到开发板中去。

二、ubuntu搭建好NFS环境

1. 搭建NFS环境

根据《01嵌入式开发/02IMX6ULL平台/LV02-开发环境/LV02-03-网络环境-03-NFS环境搭建》搭建好NFS服务器:

1
showmount -e
image-20240831105732279

2. 创建app目录

我们创建一个目录,用与后面应用开发使用:

image-20240831103306372

三、网口实现挂载

1. 环境准备

这个方式需要连接网线,我们需要提前配置好ubuntu、windows和linux开发板的IP:

1
2
3
开发板 IP:192.168.10.109
虚拟机 IP:192.168.10.108
PC IP:192.168.10.100

保证他们可以互相ping通。

2. linux开发板挂载目录

我们在/mnt目录下创建挂载点,注意这个目录下创建的文件,好像关机后并不会消失,不需要重新创建:

1
mkdir -p /mnt/nfs_app

挂载命令如下:

1
mount -t nfs -o nolock,nfsvers=3 192.168.10.108:/home/sumu/4nfs/app /mnt/nfs_app

然后就可以成功挂载啦。

3. 开机自动挂载

如何实现开机自动挂载?我们需要把这些挂载的命令写到 /etc/init.d/rcS中去

1
mount -t nfs -o nolock,nfsvers=3 192.168.10.108:/home/sumu/4nfs/app /mn/nfs_app

不过这里会有一个问题,直接写到这个文件中的话,这个时候开发板的IP还没设置好,前面我们设置静态IP的时候,是修改的/etc/rc.local这个文件,这个文件也会在开机的时候自动执行,所以我们把命令写入到IP配置之后。

1
vi /etc/rc.local

然后添加如下内容:

1
2
3
4
echo "========================================================"
echo "[sumu]mount sumu's nfs dir (/mnt/nfs_app)......"
mount -t nfs -o nolock,nfsvers=3 192.168.10.108:/home/sumu/4nfs/app /mnt/nfs_app
echo "========================================================"
image-20240831113614991

可以看到开机的时候挂载完毕,已经可以正常使用了:

image-20240831113547106

根据打印信息来看,这个文件应该是运行在最后的。

四、USB WiFi

前面在体验出厂系统的时候还用到了usb WiFi模块,我们在学习应用开发的时候只需要在出厂系统上跑app程序就可以了,这样我们其实是可以使用这个模块,和电脑连接在同一个局域网下,这样就不需要插网线了。

1. 启动并连接WiFi

这里就看《01嵌入式开发/02IMX6ULL平台/LV01-IMX6ULL平台/LV01-02-IMX6ULL-ALPHA开发板体验-04-基本功能测试》就可以了。连接完成后,可以ping一下电脑主机WiFi连接的ip和ubuntu NAT模式的ip,会发现在同一个局域网下是可以ping通的。

2. 挂载ubuntu共享目录

和上面的挂载命令是一样的:

1
2
mkdir -p /mnt/nfs_app
mount -t nfs -o nolock,nfsvers=3 <ubuntu NAT模式下的IP>:/home/sumu/4nfs/app /mnt/nfs_app