1). 简介
嵌入式 Linux 设备开发调试时候为了方便部署各种配置和修改常用的一种方法就是通过网络启动,具体就是将 Linux Kernel(以及 Device tree/Device Tree overlays) 从开发主机的 TFTP 服务加载, Linux rootfs 通过开发主机的 NFS 服务加载,这样开发过程中的功能配置或者文件修改就能直接在开发主机上面完成,而无需先复制到设备端再部署。本文就基于 NXP iMX8MM ARM嵌入式平台演示 TFTP/NFS 启动的简单示例。
本文所演示的平台来自于Toradex Verdin iMX8MM 嵌入式平台,基于 NXP iMX8M Mini 系列 ARM 处理器,核心为 Cortex-A53 。
2). 硬件准备
a). Verdin iMX8MM ARM 核心版配合 Dahlia Carrier Board 载板,并连接调试串口以便测试。
b). Verdin iMX8MM 核心版 Boot ROM 启动选项已经 fuse ,因此 Bootloader (U-Boot) 必须要从模块 eMMC启动,所以先参考这里说明更新当前最新的 Toradex Ycoto Linux Reference Multimedia Image V6.4 到核心板 eMMC。
c). Verdin iMX8MM 设备平台网口和开发主机单独用于开发的网口直连,如下图所示。由于需要在开发主机配置 DHCP 服务,因此不建议将设备和开发主机直接连接到工作网络,以免多个 DHCP 服务器冲突。