amlogic S905X udpate imge的压缩和解压

使用的板子是khadas VIM

amlogic的升级和烧写有多种方式, 常见的是USB烧写和SD卡烧写. USB烧写的流程其实是解压update.img中的文件,然后push到RAM中运行. 然后再push文件到ram中烧写. 这个和Freescale的MFGTools类似.

update.img的生成

生成update.img的命令如下,可以看到不同文件在update.img中被包含, 中括号里面是文件名字和分区名字, 这个信息在后面的解压中会被用到.

 

Update.img的解压

参考下面这个地址中的.c文件

http://freaktab.com/forum/tv-player-support/amlogic-based-tv-players/s912/others-aml-s912/knowledge-tutorials-av/608116-how-to-recover-so-you-bricked-your-box

因为他的这个是为S912S为处理的, 对于S905X而言也是类似的, 同时因为他默认指定了一个打开的文件, 因此我改了一下:

将这个代码保存, 使用gcc直接编译, 然后就可以带一个update.img为参数运行了, 即可得到对应的解压文件.

解压后各个文件的意义

因为解压后的名字都是NAME.PARTITION这样的命名, 这个需要看前面提到的update.img的生成log中对应

使用SD卡烧写

SD卡的烧写一样可以参考下面文章中的dd:

http://freaktab.com/forum/tv-player-support/amlogic-based-tv-players/s912/others-aml-s912/knowledge-tutorials-av/608116-how-to-recover-so-you-bricked-your-box

具体而言就是将uboot.bin.sdcard dd到第二个sector, 然后拷贝各种配置文件.

Leave a Reply

Your email address will not be published. Required fields are marked *