文档库 最新最全的文档下载
当前位置:文档库 › 全志固件扩容方法

全志固件扩容方法

1、将需要修改的固件解包,使用unimg.exe工具,方法是直接将需要修改的img包拖到unimg.exe上即可,解包需要一定时间,请耐心等待。
2、解包之后在同一目录下会生成XXXX.img.dump文件夹,XXXX.img为原始固件名字,可以先将XXXX.img.dump改成AAAA.img.dump(注意后缀不要改), 这样重新打包之后会产生名为AAAA.img的新固件。
3、找到COMMON _SYS_CONFIG000000文件,使用ultraedit打开,就会发现这个是固件下载参数配置文件,需要修改的部分如下:
;------------------------------>nande, user data[partition4]
class_name = DISK
name = data
size_hi = 0
size_lo = 1048576
user_type = 2
ro = 0

size_hi和size_lo分别表示分区大小的高32位和低32位,单位是Kbyte。扩容需要修改的是这两个参数,上面所写的参数代表Data区的大小是1Gbytes。注意不要改太大,貌似好像除内置卡之外的所有分区只能在第一片flash上,所以这些分区的总和不能大于4G(对于8G版本,16G的未知)。
4、修改之后保存,注意清理UltraEdit产生的不需要的文件,然后命令行运行unimg -e AAAA.img,稍等显示出打包成功之后就可以使用AAAA.img进行刷机了。
5、可以自行研究其他分区的大小修改,方法类似,但注意分区大小不能小于需要烧录的镜像大小,Data区默认是没有烧录镜像的,所以理论上可以随便改,其他的分区修改时需要注意。还要注意的是,烧录镜像的实际大小与镜像本身的大小并不相同,这点需要注意。
6、解包工具由于作者加壳,所以杀软会报毒,这里不会分享,请大家自己查找。

用论坛的那个解包工具解包,找到COMMON _SYS_CONFIG000000用记事本编辑(红色部分),你自己看着改吧,改好后再打包刷机。
;-----------------------------------------------------------------------------------------
; 分区配置管理
;-----------------------------------------------------------------------------------------
;****************************************************
; mbr的大小, 以Kbyte为单位
;****************************************************
[mbr]
size = 1024

;********************************************************************************************************
; 分区配置
; 当前分区的个数,默认有rootfs和userfs0两个分区,最大分区个数为7个.
;
; [part_num]
; num = 2 ; //有2个分区
; part0 = partiton0 ; //part0的信息存放在partiton0里
; parti = partitoni ; //parti的信息存放在partitoni里
;
; partition 定义范例:
; [partition2] ; //第2个分区
; class_name = DISK ; //设备类名, 如:"DIS

K"。 可参考"..\ePDK\includes\emod\sys_dev.h"
; name = USERFS2 ; //设备节点名. 可参考"..\ePDK\includes\emod\sys_dev.h"
; size_hi = 0 ; //分区大小的高32位, 单位: Kbyte.
; size_lo = 32 ; //分区大小的低32位, 单位: Kbyte.
;
; 注:1、name唯一, 不允许同名
; 2、最大分区号为6
; 3、class_name和name最大12个字符
; 4、size_hi + size_lo = 0, 表示此分区不存在
;********************************************************************************************************
[part_num]
num = 8

;------------------------------>nanda, known as bootfs before, includes boot.axf u-boot.bin etc...
[partition0]
class_name = DISK
name = bootloader
size_hi = 0
size_lo = 16384
user_type = 0
ro = 0

;------------------------------>nandb, enviroment for u-boot
[partition1]
class_name = DISK
name = env
size_hi = 0
size_lo = 2048
user_type = 0
ro = 0

;------------------------------>nandc, kernel and ramdisk
[partition2]
class_name = DISK
name = boot
size_hi = 0
size_lo =32768
user_type = 0
ro = 0

;------------------------------>nandd, android real rootfs
[partition3]
class_name = DISK
name = system
size_hi = 0
size_lo =524288
user_type = 2
ro = 0

;------------------------------>nande, user data
[partition4]
class_name = DISK
name = data
size_hi = 0
size_lo = 1048576(这是1G大小)
user_type = 2
ro = 0

;------------------------------>nandf, misc
[partition5]
class_name = DISK
name = misc
size_hi = 0
size_lo = 1024
user_type = 2
ro = 0

;------------------------------>nandg, for recovery
[partition6]
class_name = DISK
name = recovery
size_hi = 0
size_lo = 32768
user_type = 2
ro = 0

;------------------------------>nandh, android app cache
[partition7]
class_name = DISK
name = cache
size_hi = 0
size_lo =524288(这里可以改小)
user_type = 2
ro = 0

相关文档