Rice我叫加饭? · 2020年12月03日

Linux 如何在emmc增加分区《Rice linux 学习开发》

首发:Rice 嵌入式开发技术分享
作者:RiceDIY

本文描述是基于高通平台,在emmc上增加一块分区,并挂载自己制作的ext4格式的镜像。作者是第一次弄这个,很多都不是很懂,有不对的地方请指教,经过一番某度和某歌之后,我慢慢知道怎么动手。原来只需要简单的增加几句内容就可以轻松挂在上自己的镜像文件。接下来讲解如何增加分区以及如何挂载镜像。

<一>

首先更改partition.xml文件,增加一个属于自己的分区(分区名字:rice),其中分区对应的镜像为temp.img。

<PROJECT>/common/config/partition.xml

1203.png

参数描述:

  • label: 分区名字(在我认为他就是个别名)
  • size\_in\_kb: 分区大小
  • type: 分区类型
  • bootable: 是否可以引导
  • readonly: 是否为只读
  • filename: 分区对应的镜像名字
  • sparse: 烧录的镜像是否是展开的

<二>

接下来创建一个ext4格式的temp.img镜像,并且希望这个文件在整包烧录的时候能够烧录到对应的rice分区中。
这里我们需要一个制作工具: make_ext4fs(我已经放在的github上:https://github.com/RiceChen/E...\_Tools/tree/master/Make\_ext4fs)
首先要给镜像制作点东西,简单弄个文本文件:

mkdir ./temp

制作镜像:

./make_ext4fs -s -l 64M -a rice ./temp.img ./temp/

参数说明:
" -l " : 指明分区的img大小,我们这儿是64M
" -a " : 对应的是镜像的挂载点
" -s " :这是按照生成ext4的sparse模式制作,这个参数是对应的第一步partition.xml中的sparse=“true” ,啥意思呢:sparse中文的意思是稀疏的意思,意味着生成的分区.img会将所有为0的地方压缩,从而节省空间。不妨我们可以看一下,通过工具`simg2img``,转换一下。
`

./simg2img temp.img temp_ext4.img

对比一下两个镜像的大小:清晰看出temp.img小很多。
image.png

<三>
接下来就是打包镜像,在高通的平台中,他提供了打包镜像的脚本,只需要执行该脚本就可以。这里我就不详细介绍了。
<四>
烧录程序,然后手动挂在镜像。首相看看我们申请的分区是否存在?
通过查看,存在我们的分区(rice),并对应的设备节点为:mmcblk0p57

image.png

手动挂在镜像:首相创建一个文件夹,我们直接挂在到这个文件夹。

mkdir /run/temp

查看结果:挂在内容即是我们的镜像内容。

image.png

关注微信公众号『Rice嵌入式开发技术分享』,后台回复“微信”添加作者微信,备注”入群“,便可邀请进入技术交流群。

image.png

推荐阅读

推荐阅读
关注数
1754
内容数
51
一个周末很无聊的嵌入式软件工程师,写写经验,写写总结。
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息