打印
[ARM入门]

Linux的系统启动卡制作及系统固化

[复制链接]
3398|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
Tronlong创龙|  楼主 | 2021-6-8 15:21 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本指导文档适用开发环境:
Windows开发环境:Windows 7 64bitWindows 10 64bit
Linux开发环境:Ubuntu 14.04.3 64bit
虚拟机:VMware14.1.1
U-Boot:U-Boot-2020.04
KernelLinux-5.4.70
Linux SDK5.4.70_2.3.0
评估板支持通过Linux系统启动卡和板载eMMC存储设备两种方式启动。本文档主要演示Linux系统启动卡制作,以及将Linux系统固化至eMMC的方法。

1 Linux系统启动卡制卡工具包说明1.1 制卡工具包版本说明
产品资料“4-软件资料\Linux\Makesdboot\目录下的mksdboot_AA_BB_CC.tar.gz压缩文件是Linux系统启动卡制卡工具包,主要包含U-BootLinux内核、设备树镜像文件,以及文件系统压缩包等内容。AA_BB_CC制卡工具包的版本号,具体版本说明如下
(1) AAU-Boot发布版本。详细信息请查看“4-软件资料\Linux\U-Boot\”目录下的特性支持说明文件。
(2) BBLinux内核发布版本。详细信息请查看“4-软件资料\Linux\Kernel\”目录下的特性支持说明文件。
(3) CC文件系统发布版本。详细信息请查看“4-软件资料\Linux\Filesystem\”目录下的特性支持说明文件。
1.2 制卡工具包目录说明
打开Ubuntu,将制卡工具包复制到"/home/tronlong/IMX8/"工作目录下进入制卡工具包所在路径执行如下命令将其解压至当前目录,工具包名称请根据实际情况修改。
Host#        tar -xvf mksdboot_10_10_10.tar.gz -C .
1
执行如下命令,查看解压后的制卡工具包具体内容。
Host#        tree -L 3 mksdboot_10_10_10
2
(1) boot目录
Ø flash.bin:U-Boot启动镜像。
Ø ImageLinux内核镜像。
Ø *.dtb:基础设备树文件。
Ø README.md文件:制卡工具包、U-BootLinux内核文件系统等版本信息说明文件。
(2) filesystem目录
Ø modules目录主要存放Linux内核模块压缩包。
Ø rootfs目录:主要存放文件系统压缩包。
Ø tools目录:存放Shell脚本
(3) mksdboot.sh文件Linux系统启动卡制作脚本文件。
2 Linux系统启动卡制作
评估板出厂时,默认提供一张配套的Micro SD卡,此卡为可正常使用的Linux系统启动卡。本章节主要说明Linux系统启动卡的制作方法,可使用配套的Linux系统启动卡,或者使用新的空白Micro SD卡。如下步骤使用配套的Linux系统启动卡进行操作,如使用空白Micro SD卡,步骤类似。
2.1 Micro SD卡挂载
Micro SD通过读卡器连接至PCUbuntu系统识**,一般会自动挂载Micro SD卡分区,如下图所示
3
Ubuntu系统未自动识别,请右击右下角的USB大容量存储设备图标,再点击"Connect (Disconnect from Host)"进行识别
4
如无以上图标或者连接不成功请尝试如下方法:
(1) 请将Micro SD卡通过读卡器插到PCUSB 2.0接口,而不是USB 3.0接口,部分版本VMware可能不兼容USB 3.0
(2) 请将Micro SD卡插在PC上,然后重启UbuntuUbuntu重启过程中不要取出Ubuntu系统重启后,存储设备图标会重新出现。
2.2 Micro SD卡设备节点名确认
执行如下命令,确认Micro SD卡在Ubuntu系统的设备节点名。
Host#        sudo fdisk -l
5
可看到Micro SD卡设备节点是"/dev/sdb",并且有三个分区,分别为sdb1sdb2sdb3分区。设备节点名字是可变的,一般插拔多次或者使用不同的卡插拔后,可能会显示sdc或者sdd
2.3 PV工具安装
PV(Pipe Viewer)是一种基于终端的工具,用于通过管道监测数据的进度。
为了更直观地显示系统启动卡的制作进度,Linux系统启动卡制作过程中会使用到PV工具。请执行如下命令通过网络安装PV工具,如未安装PV工具将导致系统启动卡制作失败
Host#        sudo apt-get install pv
6
2.4 Linux系统启动卡制作
如下为Linux系统启动卡制作命令。命令中"/dev/sdb"为Micro SD卡设备节点,如错误输入其他存储介质设备节点,将会造成存储介质数据损坏,请确认命令中设备节点无误后,再执行命令
Host#        sudo ./mksdboot.sh -d /dev/sdb
7
根据提示按回车键,进行Linux系统启动卡制作。
8
耗时约15~25minLinux系统启动卡制作完成。同时,系统会打印提示信息,如下图所示。制作时间与Linux系统大小、Micro SD卡容量和接口性能有关。
9
执行如下命令,可看到新制作的Linux系统启动卡共有BOOTrootfsrootfs-backup三个分区。其中BOOT分区为FAT32格式,rootfs分区和rootfs-backup分区为EXT4格式。FAT32格式分区在Windows系统下可见,EXT4格式分区在Windows系统下不可见,三个分区在Linux系统下均可见。
10
BOOT分区:主要存放U-Boot启动镜像flash.bin、内核镜像Image、基础设备树文件等文件,从制卡工具包boot目录复制而来。使用Linux系统启动卡启动系统时,将使用此目录的flash.bin文件启动U-Boot
rootfs分区:存放文件系统。
rootfs-backup分区:存放备份的文件系统。系统固化时,将其内容固化至eMMC文件系统分区。
点击右下角的大容量存储设备图标选择"Disconnect(Connect to host)"选项(如下图),断开Micro SDUbuntu连接,完成Linux系统启动卡制作。
11
2.5 Linux系统启动卡启动系统
评估板断电,将Linux系统启动卡插入评估板Micro SD卡槽,根据评估底板丝印将拨码开关拨为11100(1~5),此档位为系统启动卡启动模式。使用Micro USB线连接评估板的USB TO UART2调试串口至PC机,然后将评估板上电启动,串口调试终端会打印如下类似启动信息。
12
13
系统启动后会自动登陆root用户,说明使用Linux系统启动卡启动评估板成功。
14
执行如下命令查看当前Linux内核版本信息。
Host#        cat /proc/version
15
3 eMMC固化Linux系统3.1 系统启动卡和eMMC挂载信息说明
进入评估板系统后执行如下命令,查看Linux系统启动卡和eMMC挂载详细信息。
Target#        df -h
16
1
Linux系统启动卡
BOOT分区
设备节点:/dev/mmcblk1p1
挂载路径:/run/media/mmcblk1p1
rootfs-backup分区
设备节点:/dev/mmcblk1p3
挂载路径:/run/media/mmcblk1p3
eMMC设备
BOOT分区
设备节点:/dev/mmcblk0p1
挂载路径:/run/media/mmcblk0p1
rootfs分区
设备节点:/dev/mmcblk0p2
挂载路径:/run/media/mmcblk0p2
data分区(用户分区)
设备节点:/dev/mmcblk0p3
挂载路径:/run/media/mmcblk0p3
3.2 eMMC固化Linux系统
Linux系统启动卡制作时已将eMMC固化系统的脚本文件mkemmcboot.sh复制到Linux系统启动卡文件系统"/opt/tools/"目录下。
17
执行如下命令进行一键固化。
Target#        /opt/tools/mkemmcboot.sh
18
脚本会进行如下操作:
(1) Linux系统启动卡BOOT分区中的文件固化至eMMCBOOT分区,包括U-Boot启动镜像、内核镜像和基础设备树文件。
(2) Linux系统启动卡rootfs-backup分区中的文件系统固化至eMMCrootfs分区
用时约5mineMMC成功固化Linux系统,同时串口调试终端打印提示信息
3.3 eMMC启动系统
评估板断电,将Linux系统启动卡评估板Micro SD卡槽中取出,根据评估底板丝印将拨码开关拨为00010(1~5),此档位为eMMC启动模式。评估板上电,串口调试终端将会打印如下类似启动信息。
19
20

使用特权

评论回复

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

313

主题

321

帖子

4

粉丝