您当前的位置:首页 > 电脑百科 > 软件技术 > 操作系统 > linux

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

时间:2021-06-09 09:54:54  来源:今日头条  作者:Tronlong创龙科技

本指导文档适用开发环境:

windows开发环境:Windows 7 64bit、Windows 10 64bit

linux开发环境:Ubuntu 14.04.3 64bit

虚拟机:VMware14.1.1

U-Boot:U-Boot-2020.04

Kernel:Linux-5.4.70

Linux SDK:5.4.70_2.3.0

评估板支持通过Linux系统启动卡和板载eMMC存储设备两种方式启动。本文档主要演示Linux系统启动卡制作,以及将Linux系统固化至eMMC的方法。

 

1 Linux系统启动卡制卡工具包说明

1.1 制卡工具包版本说明

产品资料“4-软件资料LinuxMakesdboot”目录下的mksdboot_AA_BB_CC.tar.gz压缩文件是Linux系统启动卡制卡工具包,主要包含U-Boot、Linux内核、设备树镜像文件,以及文件系统压缩包等内容。AA_BB_CC为制卡工具包的版本号,具体版本说明如下。

(1) AA:U-Boot发布版本。详细信息请查看“4-软件资料LinuxU-Boot”目录下的特性支持说明文件。

(2) BB:Linux内核发布版本。详细信息请查看“4-软件资料LinuxKernel”目录下的特性支持说明文件。

(3) CC:文件系统发布版本。详细信息请查看“4-软件资料LinuxFilesystem”目录下的特性支持说明文件。

1.2 制卡工具包目录说明

打开Ubuntu,将制卡工具包复制到"/home/tronlong/IMX8/"工作目录下,进入制卡工具包所在路径执行如下命令将其解压至当前目录,工具包名称请根据实际情况修改。

Host# tar -xvf mksdboot_10_10_10.tar.gz -C .

 

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

 

图 1

 

执行如下命令,查看解压后的制卡工具包具体内容。

Host# tree -L 3 mksdboot_10_10_10

 

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

 

图 2

 

(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系统启动卡制作脚本文件。

2 Linux系统启动卡制作

评估板出厂时,默认提供一张配套的Micro SD卡,此卡为可正常使用的Linux系统启动卡。本章节主要说明Linux系统启动卡的制作方法,可使用配套的Linux系统启动卡,或者使用新的空白Micro SD卡。如下步骤使用配套的Linux系统启动卡进行操作,如使用空白Micro SD卡,步骤类似。

2.1 Micro SD卡挂载

将Micro SD卡通过读卡器连接至PC机,Ubuntu系统识别后,一般会自动挂载Micro SD卡分区,如下图所示。

 

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

 

图 3

 

如Ubuntu系统未自动识别,请右击右下角的USB大容量存储设备图标,再点击"Connect (Disconnect from Host)"进行识别。

 

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

 

图 4

 

如无以上图标或者连接不成功,请尝试如下方法:

(1) 请将Micro SD卡通过读卡器插到PC机USB 2.0接口,而不是USB 3.0接口,部分版本VMware可能不兼容USB 3.0。

(2) 请将Micro SD卡插在PC机上,然后重启Ubuntu,在Ubuntu重启过程中不要取出。Ubuntu系统重启后,存储设备图标会重新出现。

2.2 Micro SD卡设备节点名确认

执行如下命令,确认Micro SD卡在Ubuntu系统的设备节点名。

Host# sudo fdisk -l

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

 

图5

 

可看到Micro SD卡设备节点是"/dev/sdb",并且有三个分区,分别为sdb1、sdb2和sdb3分区。设备节点名字是可变的,一般插拔多次或者使用不同的卡插拔后,可能会显示sdc或者sdd。

2.3 PV工具安装

PV(Pipe Viewer)是一种基于终端的工具,用于通过管道监测数据的进度。

为了更直观地显示系统启动卡的制作进度,Linux系统启动卡制作过程中会使用到PV工具。请执行如下命令通过网络安装PV工具,如未安装PV工具将会导致系统启动卡制作失败。

Host# sudo apt-get install pv

 

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

 

图 6

 

2.4 Linux系统启动卡制作

如下为Linux系统启动卡制作命令。命令中"/dev/sdb"为Micro SD卡设备节点,如错误输入其他存储介质设备节点,将会造成存储介质数据损坏,请确认命令中设备节点无误后,再执行命令。

Host# sudo ./mksdboot.sh -d /dev/sdb

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

 

图 7

 

根据提示按回车键,进行Linux系统启动卡制作。

 

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

 

图 8

 

耗时约15~25min,Linux系统启动卡制作完成。同时,系统会打印提示信息,如下图所示。制作时间与Linux系统大小、Micro SD卡容量和接口性能有关。

 

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

 

图 9

 

执行如下命令,可看到新制作的Linux系统启动卡共有BOOT、rootfs和rootfs-backup三个分区。其中BOOT分区为FAT32格式,rootfs分区和rootfs-backup分区为EXT4格式。FAT32格式分区在Windows系统下可见,EXT4格式分区在Windows系统下不可见,三个分区在Linux系统下均可见。

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

 

图 10

 

BOOT分区:主要存放U-Boot启动镜像flash.bin、内核镜像Image、基础设备树文件等文件,从制卡工具包boot目录复制而来。使用Linux系统启动卡启动系统时,将使用此目录的flash.bin文件启动U-Boot。

rootfs分区:存放文件系统。

rootfs-backup分区:存放备份的文件系统。系统固化时,将其内容固化至eMMC文件系统分区。

点击右下角的大容量存储设备图标,选择"Disconnect(Connect to host)"选项(如下图),断开Micro SD卡和Ubuntu的连接,完成Linux系统启动卡制作。

 

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

 

图 11

 

2.5 从Linux系统启动卡启动系统

评估板断电,将Linux系统启动卡插入评估板Micro SD卡槽,根据评估底板丝印将拨码开关拨为11100(1~5),此档位为系统启动卡启动模式。使用Micro USB线连接评估板的USB TO UART2调试串口至PC机,然后将评估板上电启动,串口调试终端会打印如下类似启动信息。

 

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

 

图 12

 

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

 

图 13

 

系统启动后会自动登陆root用户,说明使用Linux系统启动卡启动评估板成功。

 

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

 

图 14

 

可执行如下命令查看当前Linux内核版本信息。

Host# cat /proc/version

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

 

图 15

 

3 eMMC固化Linux系统

3.1 系统启动卡和eMMC挂载信息说明

进入评估板系统后执行如下命令,查看Linux系统启动卡和eMMC挂载详细信息。

Target# df -h

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

 

图 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/"目录下。

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

 

图 17

 

执行如下命令进行一键固化。

Target# /opt/tools/mkemmcboot.sh

 

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

 

图 18

 

脚本会进行如下操作:

(1) 将Linux系统启动卡BOOT分区中的文件固化至eMMC的BOOT分区,包括U-Boot启动镜像、内核镜像和基础设备树文件。

(2) 将Linux系统启动卡rootfs-backup分区中的文件系统固化至eMMC的rootfs分区。

用时约5min,eMMC成功固化Linux系统,同时串口调试终端打印提示信息。

3.3 从eMMC启动系统

评估板断电,将Linux系统启动卡从评估板Micro SD卡槽中取出,根据评估底板丝印将拨码开关拨为00010(1~5),此档位为eMMC启动模式。评估板上电,串口调试终端将会打印如下类似启动信息。

 

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

 

图 19

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

 

图 20



Tags:Linux   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
一、背景介绍作为一名渗透测试工作人员(或者小白),在我们的日常工作或者学习中,我们不可能时时刻刻将自己的个人电脑(安装好Kali Linux的个人主机)带在身边,当我们没有带自己的个人...【详细内容】
2021-12-27  Tags: Linux  点击:(2)  评论:(0)  加入收藏
作用显示文件或目录所占用的磁盘空间使用命令格式du [option] 文件/目录命令功能显示文件或目录所占用的磁盘空间一些写法的区别du -sh xxx 显示总目录的大小,但是不会列出...【详细内容】
2021-12-23  Tags: Linux  点击:(12)  评论:(0)  加入收藏
什么是linux内核linux就像是一个哲学的最佳实践。如果非要对它评价,我真的不知道该怎么赞叹,我只能自豪地说着:“linux的美丽简直让人沉醉。”我只能说是我处在linux学习的修炼...【详细内容】
2021-12-23  Tags: Linux  点击:(15)  评论:(0)  加入收藏
本文将比较 Linux 中 service 和 systemctl 命令,先分别简单介绍这两个命令的基础用法,然后进行比较。从 CentOS 7.x 开始,CentOS 开始使用 systemd 服务来代替 service服务(dae...【详细内容】
2021-12-23  Tags: Linux  点击:(13)  评论:(0)  加入收藏
以下是服务器安全加固的步骤,本文以腾讯云的CentOS7.7版本为例来介绍,如果你使用的是秘钥登录服务器1-5步骤可以跳过。1、设置复杂密码服务器设置大写、小写、特殊字符、数字...【详细内容】
2021-12-20  Tags: Linux  点击:(7)  评论:(0)  加入收藏
mv是move的缩写,可以用来移动文件或者重命名文件名,经常用来备份文件或者目录。命令格式mv [选项] 源文件或者目录 目标文件或者目录命令功能mv命令中第二个参数类型的不同(...【详细内容】
2021-12-17  Tags: Linux  点击:(23)  评论:(0)  加入收藏
大数据技术AI Flink/Spark/Hadoop/数仓,数据分析、面试,源码解读等干货学习资料 98篇原创内容 -->公众号 Linux sed 命令是利用脚本来处理文本文件。sed 可依照脚本的指令来处...【详细内容】
2021-12-17  Tags: Linux  点击:(21)  评论:(0)  加入收藏
概述我们知道SQL Server是微软公司推出的重要的数据库产品,通常情况下只支持部署在windows平台上。不过令人感到兴奋的是,从SQL Server 2017开始支持 linux系统。此 SQL Serve...【详细内容】
2021-12-17  Tags: Linux  点击:(13)  评论:(0)  加入收藏
Node是个啥?  写个东西还是尽量面面俱到吧,所以有关基本概念的东西我也从网上选择性地拿了下来,有些地方针对自己的理解有所改动,对这些概念性的东西有过了解的可选择跳过这段...【详细内容】
2021-12-15  Tags: Linux  点击:(21)  评论:(0)  加入收藏
简介Netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast Memberships) 等等。输出信息含义执行net...【详细内容】
2021-12-13  Tags: Linux  点击:(26)  评论:(0)  加入收藏
▌简易百科推荐
作用显示文件或目录所占用的磁盘空间使用命令格式du [option] 文件/目录命令功能显示文件或目录所占用的磁盘空间一些写法的区别du -sh xxx 显示总目录的大小,但是不会列出...【详细内容】
2021-12-23  mitsuhide1992    Tags:du命令   点击:(12)  评论:(0)  加入收藏
什么是linux内核linux就像是一个哲学的最佳实践。如果非要对它评价,我真的不知道该怎么赞叹,我只能自豪地说着:“linux的美丽简直让人沉醉。”我只能说是我处在linux学习的修炼...【详细内容】
2021-12-23  linux上的码农    Tags:linux内核   点击:(15)  评论:(0)  加入收藏
本文将比较 Linux 中 service 和 systemctl 命令,先分别简单介绍这两个命令的基础用法,然后进行比较。从 CentOS 7.x 开始,CentOS 开始使用 systemd 服务来代替 service服务(dae...【详细内容】
2021-12-23  软件架构    Tags:systemctl   点击:(13)  评论:(0)  加入收藏
mv是move的缩写,可以用来移动文件或者重命名文件名,经常用来备份文件或者目录。命令格式mv [选项] 源文件或者目录 目标文件或者目录命令功能mv命令中第二个参数类型的不同(...【详细内容】
2021-12-17  入门小站    Tags:mv命令   点击:(23)  评论:(0)  加入收藏
大数据技术AI Flink/Spark/Hadoop/数仓,数据分析、面试,源码解读等干货学习资料 98篇原创内容 -->公众号 Linux sed 命令是利用脚本来处理文本文件。sed 可依照脚本的指令来处...【详细内容】
2021-12-17  仙风道骨的宝石骑士    Tags:sed命令   点击:(21)  评论:(0)  加入收藏
Node是个啥?  写个东西还是尽量面面俱到吧,所以有关基本概念的东西我也从网上选择性地拿了下来,有些地方针对自己的理解有所改动,对这些概念性的东西有过了解的可选择跳过这段...【详细内容】
2021-12-15  linux上的码农    Tags:node   点击:(21)  评论:(0)  加入收藏
难道只有我一个人觉得Ubuntu的unity桌面非常好用吗?最近把台式机上面的Ubuntu 16.04格式化了,装了黑苹果用了一周,不得不说,MacOS确实很精美,软件生态比Linux丰富很多,比Windows简...【详细内容】
2021-12-14  地球末日村    Tags:ubuntu   点击:(34)  评论:(0)  加入收藏
简介Netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast Memberships) 等等。输出信息含义执行net...【详细内容】
2021-12-13  窥镜天    Tags:Linux netstat   点击:(26)  评论:(0)  加入收藏
对于较多数量的文件描述符的监听无论是select还是poll系统调用都显得捉襟见肘,poll每次都需要将所有的文件描述符复制到内核,内核本身不会对这些文件描述符加以保存,这样的设计...【详细内容】
2021-12-13  深度Linux    Tags:Linux   点击:(16)  评论:(0)  加入收藏
今天,我们来了解下 Linux 系统的革命性通用执行引擎-eBPF,之所以聊着玩意,因为它确实牛逼,作为一项底层技术,在现在的云原生生态领域中起着举足轻重的作用。截至目前,业界使用范...【详细内容】
2021-12-10  架构驿站    Tags:eBPF   点击:(24)  评论:(0)  加入收藏
最新更新
栏目热门
栏目头条