红米4A安装Lineage OS

平台:Windows 10 for x64.

主要流程:先介绍如何刷官方miui,然后,再介绍如何刷Lineage OS,这样出了问题,还可以刷回miui。

1. 搭建环境

首先安装ADB,Fastboot等应用和usb driver驱动,两种常用方法,任选其一:

1. 开发者安装Android Studio,这样adb,fastboot,usb driver等ide都会设置好。

2. 其它情况,先下载android-platform-tools压缩包(含adb,fastboot等工具),解压后,添加解压文件到环境变量,即可正常使用。然后下载google usb driver,之后安装driver即可。

下载地址:

Android platform tools:https://dl.google.com/android/repository/platform-tools-latest-windows.zip?hl=zh-cn

Google usb driver:https://dl.google.com/android/repository/usb_driver_r13-windows.zip

驱动安装方法:

手机fastboot状态(或开机状态,启用开发者模式,启用usb调试),用数据线连接电脑和手机,电脑端打开"设备管理器" → 找到adb设备 → 更新驱动 → 目录定位到下载的google usb driver → 更新驱动,即可完成。

注意:由于新版android的usb vid和pid号码的改变,不使用google usb驱动,windows自带的adb可能找不到手机设备。另外,国内可能无法访问google.com。

2. BL解锁

miflash_unlock.exe,红米4A是一款较旧机型,SoC是高通骁龙425,新版unlock不支持红米4A的bootloader解锁,我使用的是miflash_unlock-5.5.1224.27。

下载地址:https://miuirom.xiaomi.com/rom/u1106245679/5.5.1224.27/miflash_unlock-5.5.1224.27.zip

解锁分为两步:

2.1 手机开通解锁

手机要登录小米账号,miui限制使用SIM卡数据流量联网进行解锁,所以要插SIM卡,解锁步骤:

1. 插入SIM卡 → 开启流量 → 登录小米账号;

2. 设置 → 我的设备 → 全部参数 → 连点5次"miui版本",以开启开发者模式;

3. 设置 → 更多设置 → 开发者选项 → 打开"OEM解锁",再点击"设备解锁状态" → 点击"绑定账号和设备"。

2.2 电脑实际解锁

 下载miflash_unlock后,解压运行,登录和手机一致的小米账号,然后,手机重启进入fastboot模式(关机后按电源键 + 音量下键,或adb命令),插入usb数据线,点击电脑上的miflash_unlock的解锁按钮,进行解锁。

解锁中遇到的问题:miflash_unlock版本太高,不支持旧机型,下载低版本miflash_unlock操作。

miflash_unlock历史版本列表,可参考此链接:https://miuiver.com/miunlock/

我下载的是:https://miuirom.xiaomi.com/rom/u1106245679/5.5.1224.27/miflash_unlock-5.5.1224.27.zip

3. 刷机miui

3.1 下载

红米4A的miui参考网址:https://web.vip.miui.com/page/info/mio/mio/detail?postId=39076331&app_version=dev.20051

miflash参考网址:https://miuiver.com/miflash/

我下载的是:

miui红米4A线刷包:https://bigota.d.miui.com/V10.2.2.0.MCCCNXM/rolex_images_V10.2.2.0.MCCCNXM_20190420.0000.00_6.0_cn_941d1ea496.tgz

miflash:https://cdn.alsgp0.fds.api.mi-img.com/micomm/MiFlash2020-3-14-0.rar

3.2 刷机

3.1中下载的两个压缩包,解压即用,打开miflash,建议点击最大化,否则一些按钮可能显示不全 → 然后选择红米4A线刷包解压文件 → 右下角选择"全部删除"(不要选"全部删除并lock",否则下次刷机还要重新解锁BL) → 手机进入fastboot → 数据线连接电脑和手机 → 点击miflash的刷新按钮,这时刷机列表应该会显示待刷机手机的adb device number → 刷机,大概几百秒 → 手机自动重启,进入全新miui → 完成。

4. 刷机Lineage OS

4.1 下载

Lineage OS官网镜像:https://wiki.lineageos.org/devices/

总共提供了4个文件:boot.img,recovery.img,super_empty.img,还有Lineage OS的系统压缩文件,一般不要下载最新的,可能有bug(我就遇到过),下载次新镜像或者更早一点的版本。

我写这篇教程时,最新的是20241226,我下载的是20241205,链接如下:

1. Lineage OS:https://mirrorbits.lineageos.org/full/Mi8917/20241205/lineage-21.0-20241205-nightly-Mi8917-signed.zip

2. Boot.img:https://mirrorbits.lineageos.org/full/Mi8917/20241205/boot.img

3. Recovery.img:https://mirrorbits.lineageos.org/full/Mi8917/20241205/recovery.img

4. Super_empty.img:https://mirrorbits.lineageos.org/full/Mi8917/20241205/super_empty.img

4.2 刷Recovery

手机进入fastboot,命令行窗口执行如下命令:

fastboot devices
fastboot flash recovery c:\temp\recovery.img

注意:recovery.img为实际路径,如"c:\temp\recovery.img",那么执行就要带上路径。

刷入成功后,进入recovery模式,手机关机状态下按:Power键 + 音量上键,或者通过adb命令行执行:

fastboot boot recovery.img

进入recovery后,执行:

Factory Reset → Format data/factory reset → Format data → 返回recovery主菜单。

Advanced → Enable ADB → 返回recovery主菜单。

Apply update → Apply from ADB → 等待下一步操作。

4.3 刷入Lineage OS

手机在recovery中执行到Apply from ADB后,用数据线连接电脑和手机,电脑端查看手机adb是否在线和被识别成功,命令行执行:

adb devices

如果有adb编号,说明手机被成功识别,接着执行:

adb -d sideload c:\temp\lineage-21.0-20241205-nightly-Mi8917-signed.zip

这样就会进行刷机,刷机完成后,手机会显示"Install completed with status 0.",说明刷入成功,在手机的recovery主菜单点击"Reboot system now",正常情况下,就可以正常使用Lineage OS,首次开发大概十多分钟,耐心等待。

4.4 联网问题

1. 更换captive网址

联网需要网络有效性检查,Lineage OS使用的是AOSP原生google服务器,国内可能无法访问,导致手机连上正常网络也无法上网,我们把google的服务器改成小米或者华为的,做如下操作:

adb shell settings delete global captive_portal_https_url
adb shell settings delete global captive_portal_http_url
adb shell settings put global captive_portal_http_url http://connect.rom.miui.com/generate_204
adb shell settings put global captive_portal_https_url http://connect.rom.miui.com/generate_204

命令行中用的是小米的,备用地址如下:

http://connectivitycheck.platform.hicloud.com/generate_204
http://captive.v2ex.co/generate_204

执行完,手机重启,即可正常Wifi联网使用。

2. 更新时钟同步服务器为国内服务器

adb shell settings put global ntp_server ntp1.aliyun.com

之后,就可以正常使用了。

4.5 Kernel开发

如果要进行内核开发,驱动开发等,则刷入Lineage OS提供的boot.img,方法如下:

设置 → 关于本机 → 连点5次"Build 号",开发开发者模式;

设置 → 系统 → 开发者选项 → 启用"USB 调试";

用数据线连接电脑和手机,点击状态栏的"USB用途",选择"文件传输",或者"PTP",然后手机上会弹出USB授权,选择授权,再执行如下命令进入fastboot模式:

adb reboot bootloader

刷入boot.img

fastboot flash boot c:\temp\boot.img
fastboot reboot

之后,手机会重启,手机加载新boot.img耗时增加,耐心等待进入桌面,进入桌面后,更改"USB用途"为"文件传输",或者"PTP",再执行:

adb shell cat /proc/version

返回结果如下:

Linux version 4.19.318-perf-gbb0c35b82814 (root@411613bb5105) (Android (10087095, +pgo, +bolt, +lto, -mlgo, based on r487747c) clang version 17.0.2 (https://android.googlesource.com/toolchain/llvm-project d9f89f4d16663d5012e5c09495f3b30ece3d2362), LLD 17.0.2) #1 SMP PREEMPT Thu Dec 5 16:57:15 UTC 2024

看返回结果的最后一句:

Thu Dec 5 16:57:15 UTC 2024

2024年12月5号,星期四,与我们下载的20241205版本对应,可知刷入成功。

后续,就可以刷入自己修改后的boot.img,或者推送一些".ko","ELF"等文件,进行开发了。

另外,可以刷一些google的服务套件Gapps,还可以使用如Magisk的应用,开启root权限。

posted @ 2025-01-02 20:06  this毛豆  阅读(1101)  评论(0)    收藏  举报