在ubuntu上解包RK3288固件 |
您所在的位置:网站首页 › 瑞芯微3229通用固件 › 在ubuntu上解包RK3288固件 |
文章目录
前言工具准备解包固件解包update.img挂载稀疏镜像回包稀疏镜像回包系统镜像
前言
在Windows瑞芯微有官方解包工具FwFactoryTool可用,修改固件比较方便,但为了更好的了解固件的组成,手动来操作一次这个过程还是很有必要的。 下面试试先在ubuntu上尝试该过程,windows下也应该是可以的。 工具准备要完成该过程需要这些工具:afptool, img_unpack, img_maker, mkkrnlimg, simg2img, make_ext4fs 其中前4个需要自己编译,可从github仓库克隆代码并编译: git clone https://github.com/TeeFirefly/rk2918_tools.git cd rk2918_tools make为了方便使用,编译后可执行文件放入/usr/local/bin下: sudo cp afptool img_unpack img_maker mkkrnlimg /usr/local/bin而后两个工具可以通过包管理器安装: sudo apt-get install android-tools-fsutils上面步骤全部完成后就做好准备了 解包固件使用img_unpack将固件解包: img_unpack rk3288-firmware.img img执行完毕后会输出固件基本信息,并在当前目录下应当为出现img文件夹,cd进去查看即可发现固件解包后得到的两个文件:loader.img, update.img 可知,第一个是loader,而其他部分在undate.img下,所以仍然需要继续解包。 解包update.img解包update.img要使用afptool: afptool -unpack update.img update命令执行完毕后,会出现一个update文件夹,里面存放着各个分区的镜像。 这些镜像一般都是 安卓稀疏镜像(android sparse image) ,这些镜像无法被直接挂载修改,因此需要转换。 也可以通过file工具来查看镜像格式。 挂载稀疏镜像由于稀疏镜像无法挂载,因此要使用simg2img工具将从update.img取得的分区转换为普通的ext4镜像: #将system.img转为ext4镜像 simg2img system.img system.img.ext4然后挂载镜像即可修改 #挂载到/mnt/androidsystem/下 sudo mount system.img.ext4 /mnt/androidsystem/ 回包稀疏镜像在修改完毕后,就可以使用make_ext4fs工具来回包镜像了: #将/mnt/androidsystem/打包成system.img make_ext4fs -s -l 1536M system.img /mnt/androidsystem/其中-s代表稀疏镜像, -l指定分区大小,分区大小需要根据parameter表来,若不修改则应维持与原本一致。 可以通过解包update.img后得到的parameter.txt计算出分区大小,因为该文件描述的是扇区,可通过下面方法快速计算: #利用shell可快速计算,如system分区大小为0x00200000 echo $((0x00200000 * 512 / 1024 / 1024)M)如果修改过后的镜像超出原本parameter.txt文件描述的分区大小,则必须对应的修改该文件,修改时注意分区均需4M对齐。 回包系统镜像首先要回包成update.img,这里需要先将parameter.txt复制为parameter文件,然后再依次使用afptool与img_maker回包: #回到img目录下,将update中解包的parameter.txt复制到本目录 cp update/parameter.txt parameter #将update回包 afptool -pack . ../newUpdate.img #与loader.img一起打包成最终的系统固件, -rk33是平台参数,解包时可见该参数 img_maker -rk33 loader.img newUpdate.img rk3288_firmware.img一切顺利的话,现在就应该得到一个rk3288_firmware.img的固件啦。 |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |