前言/动机
小米多看电纸书是一款性价比不错的设备,其本身并没有在软件上限制太多,第三方软件可以自由安装,实话说,root 该设备的意义不大,暗雨冥做出这一决定的主要动机纯粹是因为手痒
刷机有风险,操作需谨慎,暗雨冥不对此行为造成的任何后果负责,但如果因为种种原因有需要刷机的需求,请继续往下看
本文内容部分参考小米多看电纸书系列 root 及息屏内容修改和inkPalm-5-EPD105-root ,但由于系统版本更新,其所述操作需要进行一定程度的修改
暗雨冥目前使用的系统版本为 MiReader 1.1.17.231122,方法通用,但如需直接使用暗雨冥提供的 boot.img,请注意核对版本
由于小米多看电纸书使用了 32 位处理器,可以方便使用的 root 方案目前(2024/12)几乎只剩 Magisk,本文不讨论其他方案
小米电纸书系统使用 testkey 签名,所以相当于开放了系统权限,但由于系统内/sbin/sh
的缺失(可能还有其他原因),无法直接将 magisk.apk 签名后刷入,故需要采取一定迂回方式
设备/环境要求
- 一台小米多看电纸书
- 另一个可以用于刷机的设备
- SDK Platform Tools需要(adb),如果需要在手机上操作请参考termux-adb
- Java 8(用于签名)(如果使用 Plan A 可以忽略)
- git(用于克隆存储库)(可选)
开刷!
- 进入设置-关于本机,连续点击版本号 5 次进入开发者模式
- 返回上一级设置,进入 设备设置-开发者选项,勾选 OEM 解锁(保险起见)和 USB 调试
- 退出设置
Plan A:直接使用暗雨冥提供的 boot.img
理论上这是最方便的方法,但请注意核对系统版本(MiReader 1.1.17.231122),当前使用的 Magisk 版本为 28.1
用 USB 线将电纸书连接的用于刷机的设备上,执行
adb reboot recovery
重启进入 recovery 模式,如果电纸书上出现授权弹窗,请点击允许双击电纸书上的“Apply update from ADB”,进入 sideload 模式
执行
adb sideload flashing_boot_magisk_v28.1_patched_signed.zip
(如果文件名有误,请自行将文件名修改为对应路径)双击电纸书上的“Reboot system now”,重启电纸书
自行安装 Magisk 应用,在应用内安装可能的更新,root 完成
Plan B:自行提取并 Patch boot.img
*注:MiReader 1.1.17.231122 的 boot.img 可以在这里下载
- 执行
git clone https://github.com/mdkrain/Xiaomi-DuoKan-root.git
在适当的位置克隆存储库或下载压缩包并解压 - 用 USB 线将电纸书连接的用于刷机的设备上,执行
adb shell df -h
检查 system 分区剩余空间,如果电纸书上出现授权弹窗,请点击允许
如果 system 分区可用空间大于 32MB
- 执行
adb reboot recovery
重启进入 recovery 模式 - 双击电纸书上的“Apply update from ADB”,进入 sideload 模式
- 执行
adb sideload dump_kernel_to_system_signed.zip
(如果文件名有误,请自行将文件名修改为对应路径) - 在电纸书上双击“Reboot system now”,将电纸书重启至系统,并自行安装 Magisk
- 执行
adb shell cp /system/bimg.img /sdcard/Download/
将 bimg.img 拷贝到下载目录以便访问 - 进入 Magisk 应用,点击“安装”-“下一步”-“选择并修补一个文件”-侧边栏选择“下载”-选择 bimg.img-点击“开始”
- 完成后执行
adb pull /sdcard/Download/magisk_patched-*****_*****.img boot.img
拉取文件,文件名以 Magisk 提示为准 - 将 boot.img 添加至 kernel_flashing_template.zip 内
- 执行
java -jar signapk-1.0.jar -w testkey.x509.pem testkey.pk8 kernel_flashing_template.zip kernel_flashing_template_signed.zip
为压缩包签名 - 再次执行
adb reboot recovery
重启进入 recovery 模式 - 双击电纸书上的“Apply update from ADB”,进入 sideload 模式
- 执行
adb sideload kernel_flashing_template_signed.zip
刷入 - 双击电纸书上的“Reboot system now”,重启电纸书
- 运行以下指令清理 system 分区下的 bimg.img
adb shell
su
mount -o rw,remount /system
rm /system/bimg.img
如果 system 分区可用空间小于 32MB
暗雨冥尝试了 vendor 和 userdata 分区无果,最终选择临时替换的京东读书 apk,选择其他 apk 同理,但需要自行修改压缩包内脚本并重新签名(注:如果需要修改脚本,请务必以 LF 作为行尾序列)
- 执行
adb pull /system/app/JDReader/JDReader.apk
备份京东读书 apk,(可以考虑在系统内停用京东读书并清空其数据) - 执行
adb reboot recovery
重启进入 recovery 模式 - 双击电纸书上的“Apply update from ADB”,进入 sideload 模式
- 执行
adb sideload dump_kernel_to_JDReader_apk_signed.zip
(如果文件名有误,请自行将文件名修改为对应路径) - 在电纸书上双击“Reboot system now”,将电纸书重启至系统,并自行安装 Magisk
- 执行
adb shell cp /system/app/JDReader/JDReader.apk /sdcard/Download/bimg.img
将 bimg.img 拷贝到下载目录以便访问 - 进入 Magisk 应用,点击“安装”-“下一步”-“选择并修补一个文件”-侧边栏选择“下载”-选择 bimg.img-点击“开始”
- 完成后执行
adb pull /sdcard/Download/magisk_patched-*****_*****.img boot.img
拉取文件,文件名以 Magisk 提示为准 - 将 boot.img 添加至 kernel_flashing_template.zip 内
- 执行
java -jar signapk-1.0.jar -w testkey.x509.pem testkey.pk8 kernel_flashing_template.zip kernel_flashing_template_signed.zip
为压缩包签名 - 再次执行
adb reboot recovery
重启进入 recovery 模式 - 双击电纸书上的“Apply update from ADB”,进入 sideload 模式
- 执行
adb sideload kernel_flashing_template_signed.zip
刷入 - 双击电纸书上的“Reboot system now”,重启电纸书
- 运行以下指令恢复 system 分区下的 JDReader.apk,如果没有备份,也可以在这里下载
adb push JDReader.apk /sdcard/JDReader.apk
adb shell
su
mount -o rw,remount /system
cp /sdcard/JDReader.apk /system/app/JDReader/JDReader.apk
rm /sdcard/JDReader.apk
后记
如果一切顺利,到这里,小米多看电纸书的 root 就已完成,打开 Zygisk 之后可以正常使用 LSPosed,Shamiko 等常用模块,虽然可能并没有太多的实际意义
但暗雨冥也算达成了“root 所持有的所有小米 Android 设备的成就”,毕竟折腾本身也是乐趣
那么就这样,回见~