完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
文件类型 4418的boot.img是由kenrel + uramdisk组成的ext4 并且是sparse形式的image, 这里面的sparse是紧凑的意思,即将ext4文件系统中的内容为zero的地方“压缩”起来, 从而减少size。 制作 这种类型的image,使用make_ext4fs, 并使用-s选项制作而成,例如在4418中(其他Android或者文件系统也是类似),命令如下: make_ext4fs -s -l 67108864 -a boot /home/XXX/g4418_linux/out/boot.img /home/hexiongjun/EmbProj/4418_Yu/g4418_linux/out/boot 其中-a为lable,最后的参数是制作到文件系统中的目录,因此,制作完成后,可以看到file工具识别到的是data 数据文件: file boot.img boot.img: data 转化 对此我们可以使用simg2img工具来转换成标准的ext4文件系统的文件:simg2img boot.img boot_ext4.img 此时file工具即可识别: $ file boot_ext4.imgboot_ext4.img: Linux rev 1.0 ext4 filesystem data, UUID=57f8f4bc-abf4-655f-bf67-946fc0f9f25b (extents) (large files) 也可以看到两者的size变化: $ ls -lh boot* -rw-rw-r-- 1 hexiongjun hexiongjun 64M Jul 12 11:21 boot_ext4.img -rwxr--r-- 1 hexiongjun hexiongjun 14M Jul 12 11:15 boot.img sparse型是14M,而其filesystem其实是64M。 boot.img的解压与压缩 我们可以直接mount并查看,以及更改内部的内容,就像disk中的partition with ext4 FS一样,例如下面是命令: $mkdir Test $sudo mount boot_ext4.img Test $ls Test/ battery.bmp logo.bmp lost+found ramdisk-recovery.img root.img.gz uImage update.bmp 可以看到里面有uImage,以及root.img.gz,前者为kernel后者为uramdisk,同样也可以查看其类型: $ file Test/root.img.gz Test/root.img.gz: gzip compressed data, from Unix, last modified: Mon Jul 4 17:32:32 2016 如果我们需要更改uramdisk,那么可以按照如下方式进行: mkdir Temp_root cp Test/root.img.gz Temp_root gzip -d root.img.gz 然后得到一个cpio文件: $file root.img root.img: ASCII cpio archive (SVR4 with no CRC) 使用cpio解压即可: $ cpio -i -F root.img 2364 blocks 可以看到内容如下,包含原来的root.img: $ ls adj_lowmem.sh default.prop fstab.g4418 init.g4418.rc init.recovery.g4418.rc init.zygote32.rc root.img selinux_version sys ueventd.rccharger dev init init.g4418.u***.rc init.trace.rc proc ***in sepolicy systemdata file_contexts init.environ.rc init.rc init.u***.rc property_contexts seapp_contexts service_contexts ueventd.g4418.rc 也可以再次压缩与制作uramdisk: find . | cpio -ov -H newc | gzip > ../root.img.gz 然后拷贝到mount了的ext4文件系统中,然后再umount raw ext4,最后还需要转换成sparse image:mv boot.img boot_ori.img && img2simg boot_ext4.img boot.img |
|
相关推荐
|
|
只有小组成员才能发言,加入小组>>
【盈鹏飞RK3399安卓主板 XPC-3399Pro免费试用】+烧写出厂固件
10276 浏览 0 评论
【盈鹏飞EVB-T335开发板试用体验】debian系统烧写
3296 浏览 1 评论
【盈鹏飞I.MX6UL工控开发板试用体验】linux can 测试
3192 浏览 0 评论
266浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-24 08:10 , Processed in 0.330456 second(s), Total 37, Slave 30 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号