美文网首页
双系统普及帖,详细介绍改包的方法,刷双系统必看

双系统普及帖,详细介绍改包的方法,刷双系统必看

作者: 水云间顶 | 来源:发表于2016-09-27 19:13 被阅读0次

    在这里我说一说35内核的双系统,32系统也可参照。

    没刷双系统的可以照做,刷了双系统的可以学着改包修改双系统包的那部分,不感兴趣的可以跳过由于安智问题,下载的附件可能没有后缀名,请自己添加,zip

    小白跳过重口味部分按照这个办法:

    破解粉屏>分区>刷入两个recovery>刷第一系统>手动切换到第二系统recovery下>刷第二系统>完毕

    前言:在日渐增多的rom面前,尤其今晚rom大赛开始,你是不是感觉手足无措呢,想刷这个,又想刷那个,双系统就可以满足你的愿望.

    我建议第一系统用作刷机测试,第二系统就作日常使用.

    还有优点就自己去试了,谁用谁知道啊

    1.首先你必须破解粉屏,这是必须的,因为双系统分区和刷系统时有可能导致无法开机,出现卡第一屏,或者蓝屏。

    (在这里说一下,如果粉屏下没有boot.img或者recovery.img,开机或者进入recovery时就会蓝屏,蓝屏不可怕)

    只要粉屏能够挂载,就无压力了,破解粉屏以防万一。

    破解粉屏文件,recovery下直接刷入:

    update-B518-bootloader.zip 访问密码 5635

    2.破解了粉屏就开始刷分区包了,这里提供两种分区大小大家自己选择,对此分区容量不满意的同学参照:u8800自定义双系统各分区大小

    A方案:第一系统分区大小200M,第一DATA分区大小1050M,内置卡分区大小500M,第二系统分区大小200M,第二DATA分区大小1055M

    twosys-partition-a.zip 访问密码 a094

    B方案:第一系统分区大小220M,第一DATA分区大小1180M,内置卡分区大小200M,第二系统分区大小220M,第二DATA分区大小1185M

    twosys-partition-b.zip 访问密码 dc96

    恢复单系统:
    offical-partition.zip 访问密码 5672

    分区包要刷两遍,以防分区不成功,刷了第一遍,选择Advance(高级)→Reboot Recovery(重启到recovery),再刷一次。

    刷完分区包就不要想着开机了,因为原来的system已经被格式化了,开机就要卡第一屏,请老老实实的待在recovery 界面。

    屏分区包顾名思义,就是要重新分区。这个分区类似硬盘分区,把手机上的空间多分两个区出来。

    多出来的两个区名字叫mmcblk0p15和mmcblk0p16,将作为第二系统的system区和data区。

    分了两个区出来,这部分容量是从内置2G空间分出来的,自然2G内置空间会减少。

    3.关于双系统的基本原理

    要点1.内核(准确的说应该是boot.img),正常开机时,手机会读取粉屏下的image/boot.img,然后boot.img启动,boot.img内包含了一个叫init.rc的文件(其实是个文本文件,可用记事本打开,但要用专用工具EmEditor修改)

    最关键的内容就是把哪两个分区当做system和data

    普通的系统读取的是mmcblk0p12和mmcblk0p13分区当做system和data

    我们已经分出mmcblk0p15和mmcblk0p16分区当做system和data

    由上面的启动原理知道,关键在于init.rc这个文件了,只许将里面的mmcblk0p12和mmcblk0p13分别改成mmcblk0p15和mmcblk0p16就好了。

    怎么得到init.rc并且修改它呢?

    当然是解包boot.img

    以下是重口味,小白跳过

    下载解包工具:https://yunpan.cn/Ock9YFTn2tBwQ9  访问密码 2839

    修改工具EmEditor: https://yunpan.cn/Ock9YrPQg4WJX6  访问密码 3319

    加压到任意地方

    请关闭杀毒软件

    看到如下界面

    选择2

    把要修改的boot.img放到boot文件夹里面

    然后继续解包,直到这一步

    好了,init.rc就在boot/initrd

    打开EmEditor

    然后用EmEditor打开init.rc

    查找替换

    把mmcblk0p12改成mmcblk0p15,mmcblk0p13改成mmcblk0p16

    点程序的搜索按钮

    下拉菜单中选择替换

    mmcblk0p12改成mmcblk0p15

    mmcblk0p13改成mmcblk0p16

    当然你也可以一行一行的看,手动慢慢改

    修改前

    修改后

    然后保存,继续下一步

    一直到最后打包完毕,修改就完成了

    把boot.img复制出来

    替换刷机包的文件,下面会详细说道

    建议做完后清除boot文件夹中除了bootimg.exe以外的所有文件,保持良好习惯

    要点2.刷入指定分区,这个就通过刷机脚本(updater-script)来实现,位置是刷机包\META-INF\com\google\android\updater-script.

    刷机脚本就不详解了,直接提供.

    如果你要做双系统包,替换原刷机包的就可以了。这里提供两种.

    #一种是判断式的,也是birdyi常采用的。

    判断式(内有updater-script和checksys两个文件):https://yunpan.cn/Ock9YRaWsduLz4  访问密码 9d3b

    下载后把updater-script放到\META-INF\com\google\android

    checksys放到包的根目录

    原包的boot.img重命名为boot-sys1.img

    改过的boot.img重命名为boot-sys2.img

    放到包里即可(可能需要重新签名,否者会刷机失败)

    特点是包含了第一和第二系统的boot.img,刷机时会自动判断你的系统

    需要的文件有刷机脚本(updater-script),checksys文件,然后是两个系统的boot.img,所以可以在任何系统下刷入,建议以后romer就用这种。

    #还有一种是仅支持刷到第二系统的脚本,不能在第一系统刷入

    仅支持刷到第二系统脚本(内含updater-script文件):

    https://yunpan.cn/Ock9YvgDTcePQX  访问密码 b70e

    直接替换原包中\META-INF\com\google\android\updater-script

    然后把改过的boot.img复制替换(可能需要重新签名,否者会刷机失败)

    这种包外观和普通包没有区别,但是只能刷入第二系统

    我建议你改完这种包后在文件尾部加上"Olny_Sys2"的字样以便区分

    要点3.第二系统的recovery是修改过的(第一系统是普通recovery),这个你看一下就是了,我下面会提供改过的recovery.

    其实recovery.img和boot.img是有一定程度的相似的

    下面介绍如何修改支持第二系统的recovery

    还是要用到解包boot.img的工具

    重口味又来了,小白跳过

    选择4

    接下来把recovery放到boot文件夹下,保持该文件夹仅有bootimg.exe和recovery.img两个文件,免得搞混了

    然后就一和解包boot.img一样了

    就连解包出来的文件都类似,都是这种

    然后就是修改recovery了,但recovery就不是修改init.rc了,虽然recovery也包含init.rc

    要修改的地方是initd/etc/recovery.fstab

    同样用EmEditor打开recovery.fstab,把mmcblk0p12改成mmcblk0p15,mmcblk0p13改成mmcblk0p16

    如果你要修改recovery里面的图片请打开boot/initrd/res/images

    改完就打包,然后ok

    记得清理现场

    4.刷第一和第二系统的recovery

    我已经做好了,直接在分区后刷入两个recovery:   https://yunpan.cn/Ock9YebRycqgMp  访问密码 c21a

    为了区别这两个recovery,我在背景中加入了1或者2的字样

    呃。。。随手一涂的,美工不咋的,将就看了。.{:236:}

    美工好的同学可以解包recovery然后美化一下图片。

    注意里面的电池图标是关机充电显示的图标,也可以加入1或者2的字样,以便充电时区分哪个系统。

    弄好了记得共享哦。

    还有问题这两个recovery 是英文的,有些同学可能感觉陌生,也可以用中文版修改。

    存在有可能读取不到sd卡的问题,只许拔出内存卡,过一两秒钟再插回去就可以啦。

    5.刷好了recovery,你最好选择Advance(高级)→Reboot Recovery(重启到Recovery),然后就会进入刚刚刷入的我的Recovery,背景有个明显的1字样。

    接下来刷第一系统,第一系统就随便你刷了,记得还是要双wipe一下。刷完直接Reboot System Now(立即重启),然后就进入系统啦。

    6.有的同学到这一步就开始执行第八脚本切换系统了,然后神奇的一幕出现了,再怎么执行脚本重启了还是第一统!!

    好多同学就在这一步放弃了。

    原因是什么呢,第八脚本的内容是,稍微懂点英文的同学就看得懂.

    如果同时存在boot2.img和recovery2.img才会把这两个文件文件重命名为boot.img和recovery.img。原来的boot.img和recovery.img重命名为boot1.img和recovery1.img,于是就切换到第二系统了。

    但是我们现在仅有一个recovery2.img,没有boot2.img所以脚本不会起作用的嘛

    所以无论怎么执行脚本,重启都是第一系统。

    那么这一步就最好手工操作了

    关机,同时按音量上下,前后按开机键,进入粉屏,连接电脑。把boot.img改成boot1.img,recovery.img改成recovery1.img,最后把recovery2.img改成recovery.img(也可以用RE管理器改)

    改完了,扣电池关机,接着进入recovery(不要直接开机,因为缺少boot.img所以会蓝屏哦,反正进入recovery就是了)

    此时的recovery背景有2的字样

    那么就可以开始刷第二系统了,保险起见还是双wipe一下。

    要刷的第二系统可以自己改,比如你可改dzo的4.0,或者改好了发到论坛分享

    或者下载birdyi的包都支持双系统。【Birdyi】【3.16更新】MIUI开发版2.3.16【35内核】【移植DHD】

    刷完第二系统直接重启就进入第二系统了。

    7.另外我提倡把第八脚本放在粉屏下(.cust_backup)

    这样有以下优势:

    1.不用拷贝第八脚本到system/etc

    2.不用改权限!!

    3.有些包拷贝到System/etc无法执行,粉屏就没有这样的问题。

    4.刷机不会被清除,它会一直待在粉屏下。如果放在System/etc下,刷另外一个包时,恰巧这个包没有内置第八脚本,你还要复制第八脚本到System/etc,改权限,麻烦死了。

    修改了的系统切换工具:   https://yunpan.cn/Ock9YDiCP7CkJy  访问密码 5846

    8.有同学担心那个系统切换工具是不是没法用了?

    所以我请骑士king帮忙反编译了那个系统切换工具,把位置从System/etc改到了.cust_backup

    为了区别原来那个系统切换工具,我把图标稍微改了一下,加了个性感的嘴巴。。。

    呃,再次声明,拙劣的美工技术。。。{:236:}

    有需要的同学,可以自己改。..

    9.我已经在刷两个recovery的包里内置了第八脚本,刷recovery时顺带刷入了。你就不用复制到粉屏.cust_backup下了。

    但还是单独提供一下第八脚本:https://yunpan.cn/Ock9YIdcGEmH6z  访问密码 9aa8

    10.至此双系统完工。

    总结如下:

    破解粉屏>分区>刷入两个recovery>刷第一系统>手动切换到第二系统recovery下>刷第二系统>完毕

    我想说的是你不必按照我的步骤来,只要你理解到原理随便怎么折腾都可以。

    有什么不足请指出哦

    相关文章

      网友评论

          本文标题:双系统普及帖,详细介绍改包的方法,刷双系统必看

          本文链接:https://www.haomeiwen.com/subject/wfxhyttx.html