标签归档:locked bootloader

小米MAX(标准版/高配版)免解锁Bootloader刷入LineageOS

nijel8 于2018年9月15日发布更新后,宣布终止对小米MAX 1代的LineagOS更新支持: Updated… EOL… R.I.P. 如果还想继续用他的ROM,可以考虑购买小米MAX3。

感谢@nijel8不断的努力。

两个疑问:

  1. 为什么nijel8不将LineageOS升级到15?
    nijel8认为LineageOS 15与14.1相去甚远,很多特性缺失,不少问题未得到修正。所以在可预见的未来他不会更新LineageOS 15。
  2. 为什么小米的固件已升级了很多版本,但是nijel8提供的firmware仍停留在9.2.1.0?
    nijel8认为自9.2.1.0后未提供什么更新,所以没有升级的必要。

刷机会清空手机所有内容,所以在刷机前务必备份重要数据,如联系人、图片等数据。


对已安装该版本的LineageOS进行升级时,可以首先尝试dirty flash新版本的刷机包,即进入recovery直接安装新包,比如直接刷入lineage-14.1-20180101-UNOFFICIAL-helium.zip即可,而对于固件升级包(firmware update),如无问题可刷可不刷。

更新日志

20180916
nijel8于20180915放出了lineage-14.1-20180915版,被标记为最终版本(FINAL RELEASE!),同步了最新的lineageos源码,估计没有大的问题,不会再进行更新了。
nijel8于20180802更新了TWRP,通过设置可以阻止在刷官方ROM时TWRP被替换。
20180608
nijel8于20180530更新了lineage-14.1-20180530版,增加了来电自动勿扰模式的开关。
2018507
nijel8于20180506更新了lineage-14.1-20180506版,调整修正了拨号界面的显示布局。
2018408
nijel8于20180408更新了lineage-14.1-20180408版,修正部分调度策略和休眠相关问题;
nijel8于20180302更新了TWRP。
20180218
nijel8于20180216更新了lineage-14.1-20180216版,升级内核到3.10.108,支持ext4和f2fs的存储卡;
同时将固件升级包适配了MIUI 9 国际稳定版 ROM 9.2.1.0;
nijel8于20180129更新了TWRP。
20180119
nijel8于20180117更新了lineage-14.1-20180117版,修复了SIM卡联系人导入和导出功能;
nijel8于20180114更新了TWRP,nijel8精益求精,实际用户更不更新无所谓。
20180103
nijel8于20180101放出周年纪念版lineage-14.1-20180101版,主要增加了关机闹钟功能。
20171221
nijel8于20171220更新了 lineage-14.1-20171220版,仍为7.1.2版本;
同时将固件升级包适配了MIUI 9 Global ROM 9.1.1.0/9.1.2.0。
20171218
nijel8于20171217更新了TWRP,有趣的地方在于该版本基于Android 8.1 TWRP v.3.2.1 分支,这或者意味着Android 8.1不远了;
nijel8于20171124更新了lineage-14.1-20171124版;
同时将固件升级包适配了MIUI 9 Global Dev ROM 7.11.16。
20171023
nijel8于20171014更新了lineage-14.1-20171014版;
同时将固件升级包适配了MIUI 9 Global Dev ROM 7.10.12。
20171004
nijel8于20170930更新了lineage-14.1-20170930版;
同时将固件升级包适配了MIUI 9 Global Beta ROM 7.9.22;
小米刷机工具升级为官方最新版 MiFlash 7.4.25。
20170807
nijel8于20170807更新了lineage-14.1-20170807版;
同时将固件升级包(MGD,MIUI 国际开发版)更新为8.5.10(MG,MIUI国际稳定版)。
20170724
nijel8于20170723更新了lineage-14.1-20170723版。
20170710
nijel8于20170708更新了lineage-14.1-20170708版;
nijel8于20170707更新了TWRP。
20170624
nijel8放出了lineage-14.1-20170624版。
20170612
nijel8于20170612适配MIUI国际开发版7.6.8;
更新TWRP MOD 3.1.1-1。

小米MAX是个不错的大屏手机,而LineageOS(曾经的CyanogenMod,CM)是个深受喜爱的定制ROM。小米MAX标准版(hydrogen,32G)已经被LineageOS官方所支持,但是LineageOS官方迟迟未适配小米MAX高配版(helium,64G\128G)。幸运的是有一个天才程序员@nijel8,在LineageOS的基础上,可以说是以一己之力完成了高配版的适配工作,他还为其他ROM(包括官方版LineageOS)提供修改建议。他适配的ROM,稳定、流畅,bug少且修复快,目前约每半月左右更新一次,每次更新都同步更新了LineageOS的最新源码,安卓版本已同步更新为Android 7.1.2。他分别提供了hydrogen和helium的固件,相对于LineageOS官方版,他称它们为UNOFFICIAL。由于高通提供了救援模式(Emergency Download Mode,EDL模式),亦被国人称为9008模式,所以可以免解锁bootloader直接刷入TWRP,并进一步刷入LineageOS。因小米MAX标准版有LineageOS官方版固件,故本文主要以helium版为例进行尽可能详尽的记录。

注:正是因为EDL模式的存在,在“二 线刷fastboot包”步骤中,如不替换recovery.img,直接刷入下载回来的fastboot包,即可无需解锁bootloader就能实现救砖、更新、降级、国行与国际版互刷、稳定版与开发版互刷等刷机操作。


主要参考

https://forum.xda-developers.com/mi-max/development/rom-lineageos-14-1-t3529851

https://forum.xda-developers.com/mi-max/how-to/guide-installing-miui-v8-2-1-twrp-root-t3573550

http://en.miui.com/thread-307139-1-1.html

一 准备所需软件和固件

1.1 下载并安装小米官方最新的刷机程序MiFlash

MiFlashSetup_eng.msi

Size: 48863232 bytes
MD5: B550CF87B618D298CE9600612F6D2773
SHA1: 709A0506CCE3775157D7ADEFAACB4901E4D068DC
CRC32: C2C9359A

该版本的驱动经过了微软签名,在Win X系统中安装时不会再跳出需要同意“始终安装此驱动程序软件”的提示,但xp系统下仍会出现该提示。

1.2 下载nijel8修改版TWRP(标准版hydrogen、高配版helium通用)

(08-02-2018)twrp_v323-4_hydrogen-helium_nijel8-MOD.img

1.3 下载nijel8修改版rom所能支持的最新的小米官方国际版fastboot刷机包

  • 标准版hydrogen:

hydrogen_global_images_V9.2.1.0.NBCMIEK_20171219.0000.00_7.0_global_13c49bb1fb.tgz

  • 高配版helium:

helium_global_images_V9.2.1.0.NBDMIEK_20171219.0000.00_7.0_global_18678acae5.tgz

1.4 下载nijel8的LineageOS固件

  • 标准版hydrogen:

lineage-14.1-20180915-UNOFFICIAL-hydrogen.zip

  • 高配版helium:

lineage-14.1-20180915-UNOFFICIAL-helium.zip

1.5 下载对应的固件升级包(MG, MIUI Global)

  • 标准版hydrogen:

firmware-HYDROGEN_MG-9.2.1.0.zip

  • 高配版helium:

firmware-HELIUM_MG-9.2.1.0.zip

1.6 下载最新版的谷歌包opengapps(可选)

依次选择“ARM64” > “7.1” > “nano”,并点击红色下载按钮,20180916得到:open_gapps-arm64-7.1-nano-20180916.zip

推荐nano的原因是: pico是仅包括保证google play运行的最小安装, nano则在pico的基础上还包括了不能从play下载到的功能组件, 谷歌的其他软件都可以通过play下载到,因此推荐安装nano包。

二 免解锁bootloader线刷fastboot包

简单来说,该步骤的目的就是免解锁bootloader刷入TWRP。

2.1 解压小米官方fastboot包

这里注意解压得到的目录,后面线刷时不要选择错了
推荐使用7zip解压,需要先将tgz包“提取到当前位置”解压为tar包,再通过“提取到当前位置”解压tar包为文件夹。
例如高配版fastboot包放在D盘根目录:

D:\helium_global_images_V9.2.1.0.NBDMIEK_20171219.0000.00_7.0_global_18678acae5.tgz

通过两次“提取到当前位置”,最后解压为:

D:\helium_global_images_V9.2.1.0.NBDMIEK_20171219.0000.00_7.0_global

2.2 替换recovery.img

将下载的nijel8修改版TWRP,改名为recovery.img,复制到固件所在文件夹下的images文件夹内,替换原名文件,即

D:\helium_global_images_V9.2.1.0.NBDMIEK_20171219.0000.00_7.0_global\images

2.3 进入EDL(9008)模式

关机,同时按住(音量+)(音量-)按钮不要松手,数据线连接电脑,手机振动,电脑听到新硬件插入的提示音,随后会出现安装驱动的提示,即可松手。
正确进入EDL模式的话,屏幕为黑色的关闭状态,可以在“设备管理器”中见到类似如下的字样(COM端口可能会有不同):

端口(COM和LPT)
     Qualcomm HS-USB QDLoader 9008(COM20)

注:经过多次尝试,这个步骤推荐的做法是:在手机处于任何状态下,用数据线连接电脑,同时按住(音量+)和(音量-)按钮不要松手,按住电源键6秒左右,手机第一次震动,此时松开电源键,再过数秒(长短不等)左右手机第二次震动,此时在硬件管理器中应该就可以可见9008模式的驱动了,说明正确进入了EDL模式,可以松开(音量+)和(音量-)按钮。 第一次震动到第二次震动之间的时间不太固定,可长可短。

2.4 刷机

在桌面打开刷机程序(XiaoMiFlash.exe), 点击“刷新”按钮,在列表中,会见到如下类似内容:

编号	设备	进度	时间	状态	结果
1	COM20		0s

点击“选择”按钮,定位到刷机包文件夹:

D:\helium_global_images_V9.2.1.0.NBDMIEK_20171219.0000.00_7.0_global\

注意是images文件夹的上一级文件夹。
选择“全部删除”,而后点击“刷机”。静静等待3分钟左右,提示成功(success)。

不要开机,不要开机,不要开机。

三 卡刷LineageOS包

3.1 将LineageOS固件包、固件升级包、谷歌包复制到到SD卡内或者放到u盘(需要otg线)内,并在开机前插入手机中:

  • lineage-14.1-20180915-UNOFFICIAL-helium.zip
  • firmware-HELIUM_MG-9.2.1.0.zip
  • open_gapps-arm64-7.1-nano-20180916.zip

3.2 进入TWRP

断开手机和电脑的连接,按住(音量+)(电源键),出现MI图标,即可松手,稍等片刻,即可进入TWRP。
直接点击保持只读(Keep Read Only)即可,也可以选择语言(Select Language),这里我直接点击保持只读(Keep Read Only)进入。

3.3 格式化数据区

点击清除(Wipe),格式化Data(Format Data)。
第一次安装LineageOS时忽略此步骤,可能导致手机存储容量不能被正确识别。

3.4 四清

返回(back)Wipe界面,点击高级清除(Advanced Wipe),选择“Dalvik/ART Cache”、“System”、“Data”、“Cache”,滑动清除(Swipe to Wipe)。

3.5 安装LineageOS

返回主界面,点击安装(Install),定位到刷机包所在的“/sdcard1”或者“/usb-otg”目录,选择lineage-14.1-20180915-UNOFFICIAL-helium.zip,添加更多压缩包(Add more Zips)添加固件升级包和谷歌包,然后滑动刷机(Swip to confirm Flash)。安装好后清除缓存(Wipe cache/dalvik)后重启手机(Reboot System)。
等待一段时间,即会进入LineageOS的设置向导界面。

如需刷入谷歌包,请在重启前就刷入,手机重启后想刷的话,需要将手机重置后在刷入,否则可能出现崩溃情况; 当刷入谷歌包时,如果没有国际互联网接入,可以在设置向导界面顺时针方向连续按屏幕四角几圈来跳过。