两台闲置手机改 Linux 服务器:Redmi 14C 与 Pixel 6a 免解锁提权、自动冷启与保活实践

💡 原文中文,约13000字,阅读约需31分钟。
📝

内容提要

作者将两台闲置手机改造成24小时微型Linux服务器。红米14C因美国2G关停无信号且无法官方解锁,改用Ghostlock漏洞免解锁提权,并用Tasker实现开机自动提权与冷启动自愈;Pixel 6a提权不稳定,需多次重试。两机均精简系统、搭建Ubuntu chroot容器,运行SSH、监控与内网穿透,并通过底层节点将电量限制在45%~60%以保护电池。实测待机功耗仅1~2W,整夜掉电不足1%。

🔎

延伸解读

免解锁提权的现实约束

文章显示,红米14C因美国2G关停后无信号,无法满足小米官方解锁工具必须插SIM卡并使用移动数据提交申请的前提,才转向Ghostlock漏洞提权。这说明免解锁方案并非普适首选,而是特定条件下官方通道被堵死后的替代路径。读者需注意,该root为临时性,重启即丢,必须依赖自动化流程重新获取。

双机提权稳定性差异明显

同为未解锁设备,红米14C的MTK平台用Ghostlock默认配置基本一次成功,而Pixel 6a的Tensor平台需多次重试且偶发内核崩溃。作者尝试用脚本自动调参,最终结论是外部调参不如默认配置稳定。这提示读者:底层漏洞利用的成功率高度依赖芯片平台与内存布局,盲目调参可能增加崩溃风险,留足等待时间比追求参数优化更实际。

冷启动自愈依赖时序冗余

红米14C通过Tasker在开机后等待20秒避开高负载,再依次亮屏解锁、打开Ghostlock、强制前台等待59秒,最后由Termux轮询脚本检测root就绪并拉起容器,全程约2分15秒无需人工干预。关键点在于每个环节都预留了充足等待时间,而非追求最快速度。这说明无人值守服务器的自愈能力,更多来自对失败场景的冗余设计,而非单点提权的高成功率。

电池保护需按平台分别处理

文章指出两平台充电控制节点不同:红米14C用input_suspend节点硬件断充,Pixel 6a用charge_start_level和charge_stop_level阈值节点,目标都是将电量限制在45%~60%。作者还建议外接智能插座作为物理双保险。这提醒读者,24小时插电的旧手机若不做底层充放电控制,长期满电高压有鼓包风险,而具体实现必须匹配各自平台的驱动节点,不能照搬。

❓

Q&A

为什么红米14C不能通过官方解锁Bootloader来获取root权限?

因为美国2G网络关停后,这台欧版红米14C插入SIM卡搜不到任何移动网络信号,而小米官方解锁工具要求必须插入SIM卡并使用移动数据网络提交申请,没有信号导致绑定流程无法完成,所以官方解锁通道被堵死。

Ghostlock是什么?它如何在不解锁BL锁的情况下提权?

Ghostlock是一个利用Linux内核漏洞(CVE-2026-43499,futex优先级继承子系统UAF漏洞)配合堆喷等内存布局手段实现特权提升的开源工具。它在未解锁Bootloader的状态下从用户空间触发利用链,动态向运行中的内核加载KernelSU的LKM驱动,从而获得临时的su权限。

红米14C和Pixel 6a在Ghostlock提权过程中有什么差异?

红米14C(联发科MTK平台)用Ghostlock默认配置基本秒提权,一次成功;Pixel 6a(Tensor平台)提权非常不稳定,单次很难命中,通常需要重试多轮,中途还偶发内核崩溃导致死机假死。

如何实现手机重启后自动完成提权并拉起所有服务?

针对红米14C,使用Tasker配合AutoInput插件编排开机时序任务:收到开机广播后等待20秒避开高负载,亮屏500ms自动解锁,打开Ghostlock并等待9秒,上滑后等7秒点击Active KernelSU按钮,然后强制前台等待59秒完成提权,最后打开Termux。Termux启动脚本中通过轮询检测root状态,一旦成功立即挂载并拉起Ubuntu chroot容器内的服务。

如何控制手机电池电量在45%~60%以保护电池?

红米14C通过向/sys/class/power_supply/battery/input_suspend写入1或0来硬件切断或恢复充电;Pixel 6a通过向/sys/devices/platform/google,charger/charge_start_level和charge_stop_level分别写入45和60,由PMIC自动控制充放电区间。同时编写charge_guard.sh守护脚本常驻后台,根据电量自动执行上述操作。

改造后的手机作为Linux服务器,功耗和待机表现如何?

实测两台手机在纯电池供电且常驻后台服务的情况下,待机一整晚消耗的电量不到1%;日常插电运行的待机功率仅1~2W,功耗优势明显。

在Ubuntu chroot容器中需要特别注意哪些配置?

需要注意两点:一是添加Android网络GID权限(aid_inet、aid_net_raw、aid_net_admin)并加给普通用户,否则非root用户连ping都会报权限错误;二是在挂载阶段写入公共DNS(如1.1.1.1、8.8.8.8),因为Android没有传统的/etc/resolv.conf,否则容器内APT和Cloudflare Tunnel无法解析域名。

如何防止Termux或容器中的进程被Android系统杀掉?

需要关闭Android 12+的PhantomProcessKiller:通过device_config设置max_phantom_processes为极大值并关闭监控;在Termux中开启WakeLock防止CPU休眠;对于SmsForwarder等关键应用,通过adb命令加入Doze白名单、允许后台运行并锁定待机分组为Active。

🏷️

标签

➡️

继续阅读