ZOL论坛 > 平板电脑论坛 > 台电平板电脑论坛 > 台电P81HD论坛 > 利用linux定制P81HD固件
返回列表
签到
手机签到经验翻倍!
快来扫一扫!

利用linux定制P81HD固件

2850浏览 / 23回复

zhaozol09

zhaozol09

0
精华
127
帖子

等  级:Lv.2
经  验:470
  • Z金豆: 0

    千万礼品等你来兑哦~快点击这里兑换吧~

  • 城  市:北京
  • 注  册:2009-03-04
  • 登  录:2013-05-23
发表于 2011-11-07 17:35:30
电梯直达 确定
楼主
前言
我入手P81HD三周了,对P81HD的固件进行了比较深入的研究,参考了大牛Wendal的开源工具,以及国外大牛写的RK2818解包工具,终于摸索出了一整套相对完整的Linux固件定制的解决方案。向Wendal大牛学习,相关工具代码也已经开源。新接触android固件定制,在论坛上学到了很多东西,感谢各大论坛上提供教程和工具的大侠,感谢RK28固件**的无私奉献。

说明: 本方法针对台电P81HD,其他平板未经测试,请勿直接采用,同时要求操作者有基本的linux使用经验
1. 准备工作
1.1 操作系统
推荐系统 Ubuntu 11.04 (natty) 
当然其他Linux发行版也可以,以下方法仅供参考

1.2 官方固件
要的就是里面的P81HD.img
2.  固件的打包和解包
说明1:打包解包工具在windows下有完整的方案,这里只谈Linux下的方法(非wine)  
说明2: 这里的打包解包不包括后面的boot.img部分  
瑞芯微新版固件统一了旗下多种产品的固件格式,对于RK2918固件的解包需分两步走,第一步:把统一格式固件分解,提取出旧版的固件,旧版固件格式和RK2818是兼容的,第二步 把解包旧版固件,可以采用RK2818的解包工具来解。 

2.1 获取打包解包工具
打包解包工具已经全部开源  
项目地址

本帖隐藏的内容

https://github.com/jhonxie/rk2918_tools


这里可以直接下载编译完成的工具包

本帖隐藏的内容

 rk2918_tools_binary.tar.gz (12.38 KB, 下载次数: 5)



2.1.1 编译方法(不想编译可以跳过)
开发环境: git, gcc, 开发库libssl-dev(用于md5校验)  
在命令行下的操作
  1. apt-get install  git gcc libssl-dev
复制代码
获取源代码

本帖隐藏的内容

  1. cd ~/
  2. git clone git://github.com/jhonxie/rk2918_tools.git  
  3. cd rk2918_tools  
  4. make
复制代码


评分 收藏 +1

zhaozol09

zhaozol09


精华

帖子

等  级:Lv.2
经  验:470
发表于 2011-11-07 17:35:57 1楼
2.1.2 工具介绍  
编译的完成或者下载的工具包解压之后,将得到3个二进制程序:  
img_unpack        固件新格式转旧格式   
img_maker        固件旧格式打包成新格式  
afptool                旧格式固件打包解包工具  
2.2 打包解包方法 
这里讲的方法是step by step的方式,目的是为了让大家更加清楚每一步是干什么的,有经验的同学可以做个傻瓜包,一键解包,一键打包之类的
首先把之前介绍的三个工具放在~/rk2918_tools文件夹, 把官方固件P81HD.img拷贝到~/rk2918_tools目录里面 
2.2.1 解包方法:  
解包第一步:转换为旧格式
  1. ./img_unpack P81HD.img P81HD2.img
复制代码
成功会生产P81HD2.img文件  
解包第二步:解包旧版固件(P81HD2.img)
  1. ./afptool -unpack P81HD2.img P81HD
复制代码
成功后会生成P81HD文件夹  

2.2.2 解包后生成的文件介绍  
TODO 

2.2.3 打包方法:  
打包第一步: 打包旧版固件
  1. ./afptool -pack P81HD P81HD2_new.img
复制代码
成功会生成P81HD2_new.img文件  
打包第二步:转换为新格式
  1. ./img_maker "P81HD/RK29xxLoader(L)_V2.06.bin" P81HD2_new.img P81HD_new.img
复制代码

zhaozol09

zhaozol09


精华

帖子

等  级:Lv.2
经  验:470
发表于 2011-11-07 17:36:14 2楼
打包完成 生成P81HD_new.img固件  

3. 如何定制固件
解包之后进行的工作就是定制固件,关于这方面的资料论坛上一大把。这里仅仅做一些有限的和必要的讲解。
        
3.1 扩容
什么是扩容?为啥要扩容?怎么扩容?。。。。这写方法我就不废话了,请搜wendal的帖子。  
我只贴一下我的扩容1G后的parameter文件内容,请同学自行对比:
  1. FIRMWARE_VER:0.2.3
  2. MACHINE_MODEL:rk29sdk
  3. MACHINE_ID:007
  4. MANUFACTURER:RK29SDK
  5. MAGIC: 0x5041524B
  6. ATAG: 0x60000800
  7. MACHINE: 2929
  8. CHECK_MASK: 0x80
  9. KERNEL_IMG: 0x60408000
  10. CMDLINE: console=ttyS1,115200n8n androidboot.console=ttyS1 init=/init initrd=0x62000000,0x800000 mtdparts=rk29xxnand:0x00002000@0x00002000(misc),0x00004000@0x00004000(kernel),0x00008000@0x00008000(boot),0x00008000@0x00010000(recovery),0x00078000@0x00018000(backup),0x0003a000@0x00090000(cache),0x00200000@0x000ca000(userdata),0x00002000@0x002ca000(kpanic),0x00080000@0x002cc000(system`),-@0x0034c000(user)
复制代码
3.2 定制system.img
P81HD的system分区是ext3文件系统,这是为什么很难在windows下定制P81HD固件的原因。到了linux下这个问题就显得很轻松了(对于有linux经验的同学)  
步骤: 挂载system.img到文件系统-->裁剪定制固件-->打包system.img  
3.2.1 挂载system.img:
  1. cd ~/rk2918_tools/P81HD/Image
  2. mkdir system
  3. sudo mount system.img system -o loop
复制代码
3.2.2 system.img打包方法  
一般来说直接卸载system文件系统就完成了定制工作,不用打包,但是如果你打算上传到网上分享,那就需要重新打包,因为如果不打包,system.img中会有一些无用的数据,导致你生成的固件压缩包没法瘦身。

安装打包工具:
  1. apt-get install genext2fs
复制代码
打包:
  1. cd ~/rk2918_tools/P81HD/Image

  2. sudo genext2fs -b $(($(stat -c %s system.img)/1024)) -d system new_system.img
  3. sudo tune2fs -j -L system new_system.img
  4. sudo umount system
  5. rm system.img
  6. mv new_system.img system.img
复制代码
4. boot.img 与 recovery.img 的打包和解包
boot.img和recovery.img的打包结构是一样的,采用的是android通用的方式。但是因为不清楚boot.img的校验码是如何生成的,打包方法我始终没研究出来,希望有官方能泄漏一些“天机”,这里先把解包方法放出来

4.1 boot.img解包
在网上可以找到perl脚本的解包工具split_bootimg.pl(请参考 http://android-dls.com/wiki/index.php?title=HOWTO:_Unpack,_Edit,_and_Re-Pack_Boot_Images ),不过如果你用Ubuntu的话,那就方便多了, 在11.04(natty)的源里提供android bootimg制作工具 abootimg,我在第一次发现它的时候挺兴奋的。abootimg项目网址http://gitorious.org/ac100/abootimg
安装解包工具:
  1. apt-get install abootimg
复制代码
解包:
  1. abootimg -x boot.img
复制代码
解包生成三个文件  
bootimg.cfg   
zImage                        // 内核  
initrd.img                // ramdisk  

4.2 ramdisk 解包
  1. mkdir ramdisk
  2. cd ramdisk
  3. zcat initrd.img |cpio -i
复制代码
4.3 ramdisk 打包
  1. find *|sort |cpio -o -H newc | gzip > initrd.img
复制代码
4.3 boot.img 打包
目前无解。abootimg支持boot.img的打包,但是由于RK2918 SDK2.0的boot.img的校验方式不明,而abootimg打的包校验字段为空,Bootloader在启动时会对boot.img的校验字段进行检查,导致abootimg打的包无法引导。

qsdrm5200

qsdrm5200


精华

帖子

等  级:Lv.1
经  验:10
发表于 2011-11-07 18:15:17 3楼
传说中的沙发

qsdrm5200

qsdrm5200


精华

帖子

等  级:Lv.1
经  验:10
发表于 2011-11-07 18:16:50 4楼
太复杂了,麻烦楼主直接弄个完整才固件出来给我们刷得了!

ghttp8896

ghttp8896


精华

帖子

等  级:Lv.1
经  验:40
发表于 2011-11-07 19:34:24 5楼

谢谢楼主!

rongbinglice

rongbinglice


精华

帖子

等  级:Lv.2
经  验:458
发表于 2011-11-09 15:50:00 6楼
学习了,很好的教程。

wyzkbk

wyzkbk


精华

帖子

等  级:Lv.2
经  验:527
发表于 2011-11-09 17:55:45 7楼
很强大的东西啊

yjpengxiang

yjpengxiang


精华

帖子

等  级:Lv.1
经  验:185
发表于 2011-11-29 22:57:52 8楼
真厉害,我就在找这个。

gnzhx

gnzhx


精华

帖子

等  级:Lv.1
经  验:42
发表于 2011-12-16 10:37:52 9楼
学习学习

gnzhx

gnzhx


精华

帖子

等  级:Lv.1
经  验:42
发表于 2011-12-16 10:38:31 10楼
对 楼主 zhaozol09 说:
=========================

很好学习

emmmme

emmmme


精华

帖子

等  级:Lv.1
经  验:25
发表于 2011-12-16 15:53:55 11楼
强帖学习,却无法收藏。

arsokading

arsokading


精华

帖子

等  级:Lv.1
经  验:9
发表于 2011-12-30 09:51:12 12楼
给事个gps 和蓝牙的固件吧

xzjj2007

xzjj2007


精华

帖子

等  级:Lv.1
经  验:91
发表于 2012-01-02 16:44:39 13楼
看看学习下

zgg16

zgg16


精华

帖子

等  级:Lv.1
经  验:22
发表于 2012-01-04 20:51:20 14楼
谢谢分享谢谢分享谢谢分享谢谢分享谢谢分享谢谢分享谢谢分享

yanleiweishu...

yanleiweishuifei


精华

帖子

等  级:Lv.1
经  验:32
发表于 2012-01-05 19:22:07 15楼

谢谢楼主!

metawave

metawave


精华

帖子

等  级:Lv.1
经  验:16
发表于 2012-01-24 13:34:45 16楼
看看学习,支持!!!!!!

neupoineer

neupoineer


精华

帖子

等  级:Lv.1
经  验:4
发表于 2012-03-02 09:38:11 17楼
对 楼主 zhaozol09 说:
=========================

怎么网页有乱码呢?

tpyfz

tpyfz


精华

帖子

等  级:Lv.6
经  验:8843
发表于 2012-03-15 12:16:06 18楼

谢谢楼主!

hshengw

hshengw


精华

帖子

等  级:Lv.1
经  验:4
发表于 2012-03-30 15:42:44 19楼
太复杂了,麻烦楼主直接弄个完整才固件出来给我们刷得了!

daohaomkq

daohaomkq


精华

帖子

等  级:Lv.1
经  验:40
发表于 2012-04-14 11:42:15 20楼

谢谢楼主!

点击查看更多精彩回复>>
去第 确定
支持键盘翻页 ( 左右 ) 
高级模式
论坛精选大家都在看24小时热帖7天热帖大家都在问最新回答

针对ZOL论坛您有任何使用问题和建议 您可以 联系论坛管理员查看帮助  或  给我提意见

快捷回复 APP下载 返回列表