首发:Rice 嵌入式开发技术分享
作者:RiceDIY
本文描述是基于高通平台,在emmc上增加一块分区,并挂载自己制作的ext4格式的镜像。作者是第一次弄这个,很多都不是很懂,有不对的地方请指教,经过一番某度和某歌之后,我慢慢知道怎么动手。原来只需要简单的增加几句内容就可以轻松挂在上自己的镜像文件。接下来讲解如何增加分区以及如何挂载镜像。
<一>
首先更改partition.xml文件,增加一个属于自己的分区(分区名字:rice),其中分区对应的镜像为temp.img。
<PROJECT>/common/config/partition.xml
参数描述:
- 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小很多。
<三>
接下来就是打包镜像,在高通的平台中,他提供了打包镜像的脚本,只需要执行该脚本就可以。这里我就不详细介绍了。
<四>
烧录程序,然后手动挂在镜像。首相看看我们申请的分区是否存在?
通过查看,存在我们的分区(rice),并对应的设备节点为:mmcblk0p57
手动挂在镜像:首相创建一个文件夹,我们直接挂在到这个文件夹。
mkdir /run/temp
查看结果:挂在内容即是我们的镜像内容。
关注微信公众号『Rice嵌入式开发技术分享』,后台回复“微信”添加作者微信,备注”入群“,便可邀请进入技术交流群。
推荐阅读