本期,我们先来演示如何制作Linux系统启动卡,下面是详细的分解步骤,其中使用到的板子是创龙科技的新品——TLIMX8-EVM评估板,该评估板支持通过Linux系统启动卡和板载eMMC存储设备两种方式启动。一起来看看!
下期,我们将进一步讲解如何将Linux系统固化至eMMC的有效方法。
注意:
本指导文档适用开发环境:
Windows开发环境:Windowsbit、Windowsbit
Linux开发环境:Ubuntu14.04.bit
虚拟机:VMware14.1.1
U-Boot:U-Boot-.04
Kernel:Linux-5.4.70
LinuxSDK:5.4.70_2.3.0
1Linux系统启动卡制卡工具包说明
1.1制卡工具包版本说明
产品资料“4-软件资料\Linux\Makesdboot\”目录下的mksdboot_AA_BB_CC.tar.gz压缩文件是Linux系统启动卡制卡工具包,主要包含U-Boot、Linux内核、设备树镜像文件,以及文件系统压缩包等内容。AA_BB_CC为制卡工具包的版本号,具体版本说明如下。
(1)AA:U-Boot发布版本。详细信息请查看“4-软件资料\Linux\U-Boot\”目录下的特
性支持说明文件。
(2)BB:Linux内核发布版本。详细信息请查看“4-软件资料\Linux\Kernel\”目录下的
特性支持说明文件。
(3)CC:文件系统发布版本。详细信息请查看“4-软件资料\Linux\Filesystem\”目录下
的特性支持说明文件。
1.2制卡工具包目录说明
打开Ubuntu,将制卡工具包复制到/home/tronlong/IMX8/工作目录下,进入制卡工具包所在路径执行如下命令将其解压至当前目录,工具包名称请根据实际情况修改。Host#tar-xvfmksdboot_10_10_10.tar.gz-C.
(1)boot目录
flash.bin:U-Boot启动镜像。
Image:Linux内核镜像。
*.dtb:基础设备树文件。
README.md文件:制卡工具包、U-Boot、Linux内核、文件系统等版本信息说明文件。
(2)filesystem目录
modules目录:主要存放Linux内核模块压缩包。
rootfs目录:主要存放文件系统压缩包。
tools目录:存放Shell脚本。
(3)mksdboot.sh文件:Linux系统启动卡制作脚本文件。
2Linux系统启动卡制作
评估板出厂时,默认提供一张配套的MicroSD卡,此卡为可正常使用的Linux系统启动卡。本章节主要说明Linux系统启动卡的制作方法,可使用配套的Linux系统启动卡,或者使用新的空白MicroSD卡。如下步骤使用配套的Linux系统启动卡进行操作,如使用空白MicroSD卡,步骤类似。
2.1MicroSD卡挂载
将MicroSD卡通过读卡器连接至PC机,Ubuntu系统识别后,一般会自动挂载MicroSD卡分区,如下图所示。
如Ubuntu系统未自动识别,请右击右下角的USB大容量存储设备图标,再点击Connect(DisconnectfromHost)进行识别。
如无以上图标或者连接不成功,请尝试如下方法:
(1)请将MicroSD卡通过读卡器插到PC机USB2.0接口,而不是USB3.0接口,部分版本VMware可能不兼容USB3.0。
(2)请将MicroSD卡插在PC机上,然后重启Ubuntu,在Ubuntu重启过程中不要取出。Ubuntu系统重启后,存储设备图标会重新出现。
2.2MicroSD卡设备节点名确认
执行如下命令,确认MicroSD卡在Ubuntu系统的设备节点名。
Host#sudofdisk-l
可看到MicroSD卡设备节点是/dev/sdb,并且有三个分区,分别为sdb1、sdb2和sdb3分区。设备节点名字是可变的,一般插拔多次或者使用不同的卡插拔后,可能会显示sdc或者sdd。
2.3PV工具安装
PV(PipeViewer)是一种基于终端的工具,用于通过管道监测数据的进度。
为了更直观地显示系统启动卡的制作进度,Linux系统启动卡制作过程中会使用到PV工具。请执行如下命令通过网络安装PV工具,如未安装PV工具将会导致系统启动卡制作失败。
Host#sudoapt-getinstallpv
2.4Linux系统启动卡制作
如下为Linux系统启动卡制作命令。命令中/dev/sdb为MicroSD卡设备节点,如错误输入其他存储介质设备节点,将会造成存储介质数据损坏,请确认命令中设备节点无误后,再执行命令。
Host#sudo./mksdboot.sh-d/dev/sdb
根据提示按回车键,进行Linux系统启动卡制作。
耗时约15~25min,Linux系统启动卡制作完成。同时,系统会打印提示信息,如下图所示。制作时间与Linux系统大小、MicroSD卡容量和接口性能有关。
执行如下命令,可看到新制作的Linux系统启动卡共有BOOT、rootfs和rootfs-backup三个分区。其中BOOT分区为FAT32格式,rootfs分区和rootfs-backup分区为EXT4格式。FAT32格式分区在Windows系统下可见,EXT4格式分区在Windows系统下不可见,三个分区在Linux系统下均可见。
BOOT分区:主要存放U-Boot启动镜像flash.bin、内核镜像Image、基础设备树文件等文件,从制卡工具包boot目录复制而来。使用Linux系统启动卡启动系统时,将使用此目录的flash.bin文件启动U-Boot。
rootfs分区:存放文件系统。
rootfs-backup分区:存放备份的文件系统。系统固化时,将其内容固化至eMMC文件系统分区。
点击右下角的大容量存储设备图标,选择Disconnect(Connecttohost)选项(如下图),断开MicroSD卡和Ubuntu的连接,完成Linux系统启动卡制作。
2.5从Linux系统启动卡启动系统
评估板断电,将Linux系统启动卡插入评估板MicroSD卡槽,根据评估底板丝印将拨码开关拨为(1~5),此档位为系统启动卡启动模式。使用MicroUSB线连接评估板的USBTOUART2调试串口至PC机,然后将评估板上电启动,串口调试终端会打印如下类似启动信息。
系统启动后会自动登陆root用户,说明使用Linux系统启动卡启动评估板成功。
可执行如下命令查看当前Linux内核版本信息。Host#cat/proc/version
#linux知识汇总与分享#