红米k50联发科卡刷包线刷笔记

前提

承接:有大佬整理了红米k50刷机资料吗
大佬们讲了很多,但是无奈个人领悟能力差,还是不太懂,现在整出来,记一下吧。
(声明:联发科搞机容易变砖,按照这个教程来我是没有问题,不保证所有人都没有问题)

解锁

  1. 买入出厂是miui的k50
  2. 开发者模式绑定账户
  3. 7天后,手机进入fastboot模式,电脑使用小米解锁工具解锁
  4. 重启手机

线刷卡刷包

ROM:PixelOS https://www.coolapk.com/feed/59694434?shareKey=MDQ5NTFhNDI5YTFjNjczOTlmZjM

底包

不知道这个要不要底包,我解锁了后,用MiFlash线刷了一个底包,稳一手
rubens_images_OS1.0.10.0.ULNCNXM_20240806.0000.00_14.0_cn_b333e775f4.tgz

解包

  1. 解压卡刷包,结果是:
  2. 使用payload-dumper-go解压payload.bin,放到images文件夹,payload.bin结构是

参考线刷脚本

参考已有的k50线刷包lineage-21.0-20240716-UNOFFICIAL-rubens


发现和PixelOS的差不多,那么其实可以照抄了。

  1. 第一部分是bin,打开看里面其实就是一些刷机工具,主要是adb和fastboot
  2. 第二部分则是一些img文件
  3. 查看线刷脚本,其实也就是三部分

    第一部分是刷preloader、vbmeta,这个看了下PixelOS也有,照抄就是,除了preloader不太一样,根据之前的认知,这玩意有免授权救砖作用,找一个放进去就好,现有的不用刷。
    第二部分是刷boot,看了下是hyperos的,说目的是为了进fastbootd,感觉和rom也没关系,这个也从lineage那边复制过来照抄就是
    第三部分是刷各种分区了,根据其他佬的说明,解包payload.bin后,刷入所有分区就行,对比了下两个img有点差异,那么这里把PixelOS的多出来的也加进去就好了。

自己的线刷脚本

  1. 所以可以用powershell命令,把所有的img文件名列出来
  2. 然后再把这些文件名和lineage的线刷脚本发给gpt,叫他帮忙看下缺哪些分区,或者是哪些不存在,然后照着葫芦画瓢加到里面就好
  3. 不过这些分区的刷入顺序可能会有依赖,所以叫gpt把新加的代码放到原有的下面。

那么最终的脚本就是这样了,前面的部分不用变,后面的把一些分区加进去就好了。


(这样的脚本不一定对,不过我是能开机的 :sweat_smile:

最终点击bat脚本刷入就行

效果

目前没有发现什么的问题,有几个挺难受的点是:

  1. 从王者荣耀切到其它应用或者切回王者荣耀,王者都会很卡,具体为什么也不知道。。。目前这个毛坯房也就整了一半,到时候再看看吧。。。
  2. 没有dc调光,伪dc调光不知道为啥不好用,只能用极暗模式搞一搞
  3. 屏幕色彩看起来没有miui舒服,得慢慢适应



后记

真的是不能半夜搞机,搞了两天凌晨4 5点才睡,因为这些都无脑,各种试,废寝忘食了属于是,主要是开机后的各种软件,好久不弄了,都生疏了。
刷机的时代,或许真的已经过去了。如今,新款手机已经无法解锁,许多ROM和搞机软件也停更了。现在能玩弄的,可能只有旧手机或者新一加了,至少这样可以省去不少繁琐的配置——例如桌面、推送通知、电话、短信等。
想想从安卓2.2时代一路走来,曾经的那些自由与探索,如今也只能成为回忆。虽然心中不免有些怀念,但终究,再也回不去了。

14 Likes

小米, #手机添加

刷机的时代,真的已经过去了

还是td一把梭更简单
你这直抄也是个好办法,不过就是后面加的那些真的全有必要吗,大概看了一眼音频dos,dtbo什么的感觉没意义吧……

请问一下td是啥呢。
因为我不知道哪些有用,哪些没用,看到有啥就刷啥 :bili_001:

佬牛,之前我自己写线刷脚本把机子干黑砖了:joy:

可能我没说清楚对你造成了误导
翻了下文档嗯,Fastbootd 是用户空间守护程序和模式的名称
工具箱的话应该有集成一键重启到fastbootd的了呀

哇!太强了佬

1 Like

要这么麻烦吗,我看之前的线刷包都没有super.img :bili_001:

牛逼大哥,我有空试一试这样搞

大佬,我试一下不用super也行,还没有遇到啥问题。
不过我遵从了你的意见,把fastboot和fastbootd区分开了,叫claude写的代码:

@echo off
setlocal EnableDelayedExpansion

:: 检查设备
echo 正在检查设备...
bin\fastboot.exe getvar product 2>&1 | findstr /i "rubens" || (
    echo 错误:未检测到 Rubens 设备!
    goto END
)

bin\fastboot erase userdata || @echo "erase userdata error" && goto END
bin\fastboot erase metadata || @echo "Erase metadata error" && goto END
bin\fastboot erase expdb || @echo "Erase expdb error" && goto END
ECHO.数据清除完毕...

:: 1. 设置活动分区
bin\fastboot.exe set_active a || @echo "Set active slot error" && goto END

:: 2. 刷入 preloader(特殊处理)
echo 正在刷入 preloader...
for %%i in (1 2) do (
    bin\fastboot.exe flash preloader%%i images\preloader_rubens.img || @echo "Flash preloader%%i error" && goto END
)

:: 3. 刷入物理 A/B 分区
echo 正在刷入物理 A/B 分区...
set "physical_ab_partitions=boot vendor_boot dtbo lk md1img"
for %%i in (%physical_ab_partitions%) do (
    for %%j in (a b) do (
        bin\fastboot.exe flash %%i_%%j images\%%i.img || @echo "Flash %%i_%%j error" && goto END
    )
)

:: 4. 刷入 vbmeta 相关分区(物理 A/B 分区)
echo 正在刷入 vbmeta 分区...
for %%j in (a b) do (
    bin\fastboot.exe flash vbmeta_%%j images\vbmeta.img --disable-verity --disable-verification || @echo "Flash vbmeta_%%j error" && goto END
    bin\fastboot.exe flash vbmeta_system_%%j images\vbmeta_system.img --disable-verity --disable-verification || @echo "Flash vbmeta_system_%%j error" && goto END
    bin\fastboot.exe flash vbmeta_vendor_%%j images\vbmeta_vendor.img --disable-verity --disable-verification || @echo "Flash vbmeta_vendor_%%j error" && goto END
)

:: 5. 刷入固件/系统组件
echo 正在刷入固件和系统组件...
set "firmware_components=apusys audio_dsp ccu dpm gpueb gz logo mcf_ota mcupm mvpu_algo pi_img scp spmfw sspm tee vcp"
:: 需要修改为 A/B 分区形式
for %%i in (%firmware_components%) do (
    for %%j in (a b) do (
        bin\fastboot.exe flash %%i_%%j images\%%i.img || @echo "Flash %%i_%%j error" && goto END
    )
)

:: 6. 刷入临时 boot 和 vendor_boot(为进入 fastbootd 做准备)
echo 刷入临时 boot 和 vendor_boot...
for %%j in (a b) do (
    bin\fastboot.exe flash boot_%%j images\HyperOS\boot.img || @echo "Flash temp boot_%%j error" && goto END
    bin\fastboot.exe flash vendor_boot_%%j images\HyperOS\vendor_boot.img || @echo "Flash temp vendor_boot_%%j error" && goto END
)

:: 7. 重启到 fastbootd 准备处理动态分区
echo 重启到 fastbootd 模式...
bin\fastboot.exe reboot fastboot || @echo "Reboot to fastbootd error" && goto END
timeout /t 8 >nul

:: 8. 处理动态分区(super 分区中的逻辑分区)
echo 处理动态分区...
set "dynamic_partitions=system system_ext vendor vendor_dlkm product odm odm_dlkm"
:: 删除现有动态分区
for %%i in (%dynamic_partitions%) do (
    bin\fastboot.exe delete-logical-partition %%i_a || @echo "Delete %%i_a partition error" && goto END
)
:: 创建并刷入新的动态分区
for %%i in (%dynamic_partitions%) do (
    bin\fastboot.exe create-logical-partition %%i_a 0 || @echo "Create %%i_a partition error" && goto END
    bin\fastboot.exe flash %%i_a images\%%i.img || @echo "Flash %%i_a error" && goto END
)

:: 9. 最后刷入正式的 boot 和 vendor_boot
echo 刷入最终的 boot 和 vendor_boot...
for %%j in (a b) do (
    bin\fastboot.exe flash boot_%%j images\boot.img || @echo "Flash final boot_%%j error" && goto END
    bin\fastboot.exe flash vendor_boot_%%j images\vendor_boot.img || @echo "Flash final vendor_boot_%%j error" && goto END
)

:: 10. 重启设备
bin\fastboot.exe reboot || @echo "Final reboot error" && goto END

echo 刷机完成!
goto SUCCESS

:END
echo 刷机失败!请检查错误信息!
pause
exit /b 1

:SUCCESS
echo 刷机成功完成!设备正在重启...
pause
exit /b 0

我还刷了 MindTheGapps,进入los twrp后,factory reset再使用adb sideload MindTheGapps-14.0.0-arm64-20240925_175633.zip
不过这los真好用,比pixelos那个好用,很丝滑

刷机包还有吗佬

酷安的k50版本搜索原生就有了哈

没有rubens类原生的线刷包,找了很多个地方了

没有的,需要自己找方法刷,所以才有了这个帖子:woozy_face:
我最新刷的rising os是按照帖子里面说的
先刷防砖和两个分区,然后进入rec,adb sideload刷进去,还挺简单