Skip to content

ymdzq/OFRP-device_xiaomi_elish

Repository files navigation

橙 狐 (OFRP) for Xiaomi Pad 5 Pro (elish)

使用小米平板 5 Pro,MIUI 14(安卓13)制作,适用于橙狐安卓12分支

OFRP

目前进度

屏幕画面可以显示,但是有条纹闪烁、花屏现象
锁屏后再点亮触屏生效,条纹闪烁、花屏现象消失
为了保证ui正常不错位,屏幕右半边留空
recovery基本功能都可以正常使用
目前看来是由于twrp不支持屏幕dfps功能的问题,使用原装内核无法点亮屏幕,
修改内核才能点亮屏幕,但由于内核变了,无法永久刷入机器,只支持临时启动
刷入HyperOS(安卓14)之后,如果出现/data解密失败的问题,开机后设置一个锁屏密码,然后就好了

如何使用

进入Release中,点开Assets选项,点击7z压缩包文件名下载
解压所有文件后,打开解压出的文件夹,运行recovery-twrp一键刷入工具.bat根据提示刷入,如果adb连接设备成功会自动重启进入recovery
刷入工具脚本,感谢wzsx150大佬

因为内核是魔改过的版本,临时启动用的是改好的内核,固化会丢掉临时内核,就又会用回miui官方内核然后就点不亮
第三方内核需要刷入配套的vendor_boot.img镜像至vendor_boot分区,否则可能假砖无法开机,只能长按10秒电源键重启
而刷入橙狐后如果后续没有刷rom替换掉vendor_boot就重启进入系统,可能会影响当前系统稳定性
小米平板5Pro目前没有MIUI 14可以正常使用的开源内核,所以做不到两全其美
(小米能不能放出一个靠谱的最新系统的内核源码?开源的还是安卓11)
建议在刷入之前最好利用root权限想办法在系统中备份vendor_boot分区,或者提取你原来的rom包里的vendor_boot镜像,以便在需要的时侯还原

温馨提示:
vab设备刷入rom之后会设置下次启动另一个槽位,需要重启生效,
比如你当前系统在a槽,rom会刷入b槽,之后需要先重启手机,启动b槽
如果未重启直接在rec里刷入面具,会直接刷进a槽,b槽开机后仍无root权限

偷懒可以试试用搞机助手电脑版、FastbootEnhance这种软件配合刷机

如何构建

下载OFRP源代码,克隆这个仓库放到相应的位置
例如OFRP源代码根目录为~/fox_12.1,则保存为~/fox_12.1/device/xiaomi/elish/:

cd ~/fox_12.1
mkdir -p device/xiaomi
cd device/xiaomi
git clone https://github.com/ymdzq/OFRP-device_xiaomi_elish.git elish

打开源代码根目录运行:

. build/envsetup.sh && lunch twrp_elish-eng && mka bootimage

云编译

利用Github Action在线编译橙狐
例如你的 Github 用户名是 "JohnSmith"

  1. 打开橙狐Action编译器仓库,然后在新页面点击右上角的Fork按钮
    image
  2. 等待网页自动重定向后,你将会看到你的用户名下的新仓库
    image
  3. 网页上方进入 Actions 页面 > All workflows > OrangeFox - Build > Run workflow
    image
  4. 按照以下内容填写参数
    OrangeFox Branch
    12.1
    Custom Recovery Tree
    https://github.com/ymdzq/OFRP-device_xiaomi_elish
    Custom Recovery Tree Branch
    fox_12.1-a14
    Specify your device path.
    device/xiaomi/elish
    Specify your Device Codename.
    elish
    Specify your Build Target
    boot
    image
  5. 填写完毕后, 点击 "Run workflow" 开始运行
  6. 编译结果可以在你Fork后的新仓库的Release页面下载

关于内核

由于目前小米平板5Pro没有其他可用的开源内核,我使用的是eva内核修改编译
以下内容仅供学习交流,构建橙狐使用预先编译好的内核,所以无需重复编译内核
修改内容来自这个commit
原理:禁用动态fps和设置刷新率为104,修复drm渲染问题

具体内核编译过程如下:

新建eva-kernel文件夹用于下载eva内核源代码,
例如在用户目录新建一个eva-kernel文件夹,初始化仓库

mkdir -p ~/eva-kernel
cd ~/eva-kernel
repo init -u https://github.com/mvaisakh/android_kernel_manifest.git -b eva-xiaomi-4.19

同步源码

repo sync --force-sync --no-clone-bundle --current-branch --no-tags -j$(nproc --all)

手动下载编译脚本放进eva-kernel文件夹
手动下载修改补丁放进eva-kernel/kernel/msm-4.19文件文件夹
git apply命令打补丁

cd ~/eva-kernel/kernel/msm-4.19/
git apply 0001-HACK-Disable-dynamic-fps-and-set-refresh-rate-104.patch

开始编译

cd ~/eva-kernel
./elish.sh

编译完成后内核文件在~/eva-kernel/ak3文件夹中

最后提一句,这里还有另一个commit:检测到进入recovery环境则修复画面显示
修改补丁版
这个是用在可以启动系统的第三方内核上的,如果集成了这段的代码,可以使这一个内核既正常启动系统又可以启动recovery,就可以在刷了内核后实现固化twrp/橙狐了
所以如果有其他能制作平板内核的大佬建议可以apply一下这个patch