终端模拟器提取的boot.img.recovery.img.system.img怎么做成刷机包

终端模拟器提取的boot.img.recovery.img.system.img怎么做成刷机包,第1张

先把systemimg传到手机上,用unyaffs解到相应的目录上,再把bootimg用fastboot刷好,很麻烦的。既然可以用fastboot,刷个recovery又不费事。

如何制作ROM

有点玩机兴趣的android爱好者,应该对custom ROM这种东西都不陌生。我介绍root权限获取的时候,就直接用的MoDaCo Custom ROM作为例子。适用于Hero比较好的ROM还有不少,比如Drizzy’s Custom Hero ROM等等,都可以在XDA上找到。肯定有不少朋友感到很好奇,这些ROM都是怎么做的。考虑到中文社区相关资料比较少,在这里抛砖引玉,大概原理介绍一下。

对于第三方ROM来讲,通常都包括两部分,一个recovery image,一个updatezip。而大多数的第三方ROM的特色,就是加入了很多东西,比如superuser程序来获得root权限,busybox来扩充命令行下的功能,各种各样的配置文件或者小工具,比如默认打开中文locale,等等。这些看似神奇的改动,都是在 updatezip里面搞的,custom recovery image的主要作用就是引导用户的操作,比如让你先备份,再应用updatezip,再重启之类的操作。由于custom recovery image和updatezip的耦合性很小,所以不少custom ROM直接都用同一个custom recovery image,这个好像是出自MoDaCo作者之手。再然后,我之前的文章已经有对 recovery image的简单讲解,所以这里,我主要介绍一下updatezip的制作。

如果我们直接把MoDaCo ROM中的updatezip解包,我们会发现有一个bootimg,一个data文件夹,一个system文件夹,一个META-INF文件夹。这个data文件夹放的是initrc,而本来在系统中,initrc就是在data目录下的。当然,两者的作用不一样,这里的initrc主要作用是开机执行你希望执行的命令,比如MoDaCo的initrc就是install busybox。

而值得详细说明的,就是system文件夹。MoDaCo ROM版本的system下有一系列作者希望放到系统中的工具,对于apk文件,就放到app下,工具就放到bin和xbin下,依此类推。换句话说,system或者data这个目录层次结构是取决于你自己的,你希望放的东西属于什么,应该运行在online系统的什么目录下,updatezip里面就应该是有相应的目录路径,然后东西就放在里面。

具体点,我们现在要依样画葫芦,搞一个新的updatezip,那么第一步就是首先建立一个文件夹

mkdir new-update

好,假设我新updatezip的作用就是预装我自己的一个程序,myapk,那么,我建立对应的子目录

mkdir -p new-update/system/app

cp myapk

这样,system目录就完成了。但是这时,updatezip的目录层次还没完,我们看MoDaCo ROM中的updatezip中有文件夹叫META-INF,这个文件夹很关键,除了根目录下的三个文件外,里面层层目录,就包括了一个文件,叫 update-script,内容如下

show_progress 01 0

copy_dir PACKAGE:system SYSTEM:

set_perm_recursive 0 0 0755 0644 SYSTEM:xbin

set_perm_recursive 0 0 0755 0644 SYSTEM:sd

set_perm 0 0 04755 SYSTEM:bin/su

set_perm 0 0 04755 SYSTEM:bin/a2sd

set_perm 0 0 04755 SYSTEM:xbin/busybox

copy_dir PACKAGE:data DATA

show_progress 02 0

format BOOT:

write_raw_image PACKAGE:bootimg BOOT:

show_progress 02 100

这里面的内容,大部分是针对你要做的修改设置的。比如

copy_dir PACKAGE:system SYSTEM:

就是把system中新增的工具拷贝到手机上,然后

set_perm_recursive 0 0 0755 0644 SYSTEM:xbin

set_perm_recursive 0 0 0755 0644 SYSTEM:sd

set_perm 0 0 04755 SYSTEM:bin/su

set_perm 0 0 04755 SYSTEM:bin/a2sd

set_perm 0 0 04755 SYSTEM:xbin/busybox

就是设置MoDaCo ROM中新增程序的权限,然后

copy_dir PACKAGE:data DATA:

把data下的内容(就是那个initrc)复制到手机上,然后

format BOOT:

write_raw_image PACKAGE:bootimg BOOT:

刷boot分区。

那我们这里没有这么多新增的东西,应该怎么写呢?

copy_dir PACKAGE:system SYSTEM:

set_perm_recursive 0 0 04755 SYSTEM:app/myapk

就可以了。你当然还可以做一些别的事情,比如加一个FORMAT DATA之类的^_^开个玩笑,千万别这个干,不然你的数据就全没了。

好,那么也就是说,我们要在自己的new-update目录下也建一个/META-INF/com/google/目录,然后把新的update-script扔进去。

完了么?差一点。其实如果你没有别的需求了,那么就完了,可以把下面这一小块跳过。下面这一小块,是关于bootimg的。在如何修改Android系统的Ramdisk以及boot镜像文章中,我们谈到,如果刷boot镜像有问题,就要用别的方法让系统boot我们自己的boot image了,这个别的方法,自然就是用updatezip了。MoDaCo ROM版本的updatezip也包括了一个bootimg,但是如果我们有出于各种需求自己修改的bootimg,自然就可以替换掉原来的了。当然注意,如果加了bootimg,那么update-script里面就不能漏掉

write_raw_image PACKAGE:bootimg BOOT:

这句。

好,到现在,我们的new-update目录下有

/system/app/myapk

/META-INF/com/google/update-script

/META-INF/MANIFESTMF

/META-INF/CERTSF

/META-INF/CERTRSA

bootimg

恩,那么就进入打包阶段。你可能会问,这有什么难的,直接zip一下不就得了。如果要是这么简单就好了,你打包后,必须把你的内容都sign一下,得到相应的cert,才能在fastboot模式中被承认并成功刷机

在sign你的文件之前,先做这么几件事

打包。进入update文件夹,zip updatezip xxx xxxx xxxx xxxx xxxx。什么意思呢,就是只把你需要的文件打包,不要用/作为参数。而且相对路径最好是在update下面,不要在外面用zip updatezip /update/这种命令打包

去sun网站下载最新的

下载这个文件testsign一定要用JRE16016或者更高,我知道这个有点恶心,但是提供下载的testsighjar就是按照这个版本或者更高编译的,你用老版本就运行不了。

好,下下来以后,执行这个命令

~/jre160_16/bin/java -classpath testsign_path/testsignjar testsign updatezip update-signedzip

稍微讲解一下,java程序是最新jre下的,testsign_path是你放testsignjar的地方,建议放到sdk的tool目录下。update是待sign文件,update-signed是指定的生成文件名。

sign执行完后,用unzip -l看,会发现

/META-INF/MANIFESTMF

/META-INF/CERTSF

/META-INF/CERTRSA

android卡刷包可以直接进入recovery模式下刷机了,无法转线刷的,因为架构都不样。

Recovery模式指的是一种可以对安卓机内部的数据或系统进行修改的模式(类似于windows PE或DOS)。在这个模式下可以刷入新的安卓系统,或者对已有的系统进行备份或升级,也可以在此恢复出厂设置。

进入recovery的方法:

1、将手机完全关机后,按住音量键下+电源键,进入bootloader界面;

2、按音量键将光标移动到recovery那一行;

3、按电源键,之后手机会自动重启进入recovery模式。

其中音量键为光标选择键,可以用来移动光标,电源键则是确认键。

recovery模式下,对应的选项如下

1reboot system now(重启手机)。

2apply update from external stroage(从外部sd卡中载入升级包升级)。

3apply update from internall stroage(从内部sd卡中载入升级包升级)。

4apply update from cache (从手机缓存中载入升级包升级)。

5wipe date/factroy reset(清除用户数据并恢复出厂设置)。

6wipe cache partition(清除系统缓存)。

7backup & restroe(备份/还原)。

8mount &storage(挂载sd卡,也就是挂载手机到u盘模式,将换手机变成读卡器)。

你说的是你下载好的刷机包转移到其他地方

还是说把手机里面的刷机包的ROM提取去来。

A-如果是下载好的刷机包提取的话:

1:使用数据线连接电脑,选择数据传输,

2:然后从手机里面复制到电脑即可提取出来。

B-如果是把现在的手机的刷机包ROM提取下来的话,方法如下:

1、 下载bootimgexe 放到任何一个内存盘,例如是E盘,

2、 把要提取的ROM包里的bootimg提取出来 放到bootimg文件夹目录里面,

3、 运行cmd系统命令,进入E: bootimg目录(E盘的话 先e: 然后再cd bootimg),接 着输入bootimg --unpack-bootimg , 揭开bootimg文件,得到kernel和ramdiskgz 两个文件,ramdiskgz文件可以直接删除掉。

4、把kernel文件改名为zImage。

5、找一个老版本的内核包,然后用zImage、bcm4329ko分别替换老版本内核文件包中 的同名文件, 路径是: kernel/zImage 和system/lib/modules,路径千万不能错。

6、老内核随便改什么名字。刷机包里面的META-INF里面是签名和刷机用的脚本什么的。 com/google/android/ updater-script文件是刷机时显示的文字,用notepad打开, ui_print(" ")括号里面可以改成随意文字,然后关闭保存,成功提取出刷机包里面的ROM

一般在/dev/mtd/目录下, PC端运行adb shell,进入命令行模式,输入cat /proc/mtd查看你的分区表,boot分区一般是mtd2, 那么输入cat /dev/mtd/mtd2 > /sdcard/mtd2img即可备份boot

欢迎分享,转载请注明来源:品搜搜测评网

原文地址:https://pinsoso.cn/shuma/860143.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-08-12
下一篇2023-08-12

随机推荐

  • 现在黄金卖出去多少钱一克

    2018年国际金融市场波动较往年大,2018年以来黄金原料价格基本在269到275元克之间徘徊。黄金回收价格需要在此基础上减去对应费用,一般是10元每克左右,经济欠发达的地区可能会相对低一些,如果当地回收价格确实太低的话,可以看看贵金属网

    2024-04-15
    43300
  • 妮维雅和欧莱雅哪个好?妮维雅是哪国的品牌?

    妮维雅这个品牌大家都比较熟悉,很多人都会想到它们家的洗面奶,还经常被拿来和其他的护肤品牌做比较,比如说欧莱雅这个品牌,因为欧莱雅的护肤产和妮维雅一样也是有男士和女士的,那妮维雅和欧莱雅哪个好?妮维雅是哪国的品牌?1、妮维雅和欧莱雅哪个好妮维

    2024-04-15
    53700
  • 完美玛丽艳的美白精华露用过的人说下效果如何…谢谢

    使用完美玛丽艳的美白精华露的人对其效果的反馈是正面的。有人认为使用后皮肤变得更加明亮透亮,斑点有所减轻,同时肌肤补水和滋润的效果也很好,皮肤变得更加柔软细嫩。另外,这款产品的质地轻盈易吸收,味道好闻,使用时感觉很愉悦。在价格方面,相比其他品

    2024-04-15
    55500
  • 冬天超好用的平价润唇膏推荐,爱起皮沙漠唇必入好物

    寒冷的冬天会加速嘴唇水分的流失,如果没有油脂滋润,唇部肌肤不仅会觉得干痒,还非常容易脱皮开裂。下面,我整理了5款个人经常回购的唇膏,每支都很评价哦~Blistex小蓝罐修护唇膏这个唇膏应该是大家冬天必备的一个产品,加上的包装设计独特,价格也

    2024-04-15
    43400
  • 腊梅的精华油好用吗

    Lamer这个牌子已经是家喻户晓了。明星产品是神奇面霜和浓缩精华。腊梅一直以强大的修复和滋养功效著称,核心功效就是修复,从最开始的面霜,浓缩精华,到后来推出的新生、塑性、和亮白精华。有些人说腊梅这种牌子要40岁在用,可是如果等到40岁,皱纹

    2024-04-15
    49700
  • 妮维雅的产品简介

    唇部护理系列脸部保养系列男士护肤系列专业防晒系列身体护理系列爽身香体系列润肤霜系列 精华爽身系列精华爽身系列整天干爽,修护脱毛损伤腋下频繁脱毛会损伤表层肌肤,使原本脆弱的腋下肌肤变得毛孔粗大、干燥、不平滑,有时甚至会伴随发痒、泛红等不适症

    2024-04-15
    39400
  • 护肤品中啫喱 凝露 精华露是什么意思 分别是什么作用 它们的使用步骤是怎么样?

    1、啫喱都是渗透性非常好的产品,它可以有效打开肌肤毛孔通道促进后续护肤产品的吸收,同时啫喱成分本身也能帮助皮肤增加含氧量和含水量,通常啫喱产品都可以直达皮肤的深层,帮助皮肤捕捉氧气,锁住水分。有些含有特殊成分的啫喱,能有效去除表皮老化角质,

    2024-04-15
    44600

发表评论

登录后才能评论
保存