之前本猫收了两台灵车 Chromebook,一台是Acer Chromebook 14 for work, 另一台则是 RK3399 (aka. OP1) 的电子垃圾,Acer Chromebook tablet 10. 于是在这里记录一下折腾 RK3399 电子垃圾的过程。
由于我 Scarlet 是 260 CNY 买的二手鱼上的灵车早期工程机,原先的系统会有自动重启(Powerd 定期去世)的问题。而且因为Bootloader签名和市面版不一样,无法使用官方恢复镜像恢复,因此我做了一些灵车操作来修复它。
修复系统
首先,我们要知道一个事实:Chrome OS 的恢复镜像本质上是一个自动执行 chromeos-install
的带有 Chrome OS 签名等一大堆东西的一般启动盘,而系统恢复就是验证完签名之后启动进这个盘去重装系统。这样,我们就有了一个绕过出问题的签名机制的恢复方法:手动启动进恢复盘恢复系统。
以下操作都是在开启开发者模式后操作的,在 Chrome OS 平板上进入开发者模式的操作是按住电源和音量上键直到重启,在进入恢复模式后同时按住两个音量键就进入了开启开发者模式的菜单。
先进入 crosh : 按 Ctrl
+ Alt
+ t
,之后输入 shell 来访问真正的 shell.
- 首先,我们在原系统里把出问题的 Powerd 杀掉:执行
initctl stop powered
先干掉这个小朋友,避免它在操作过程中把我们的东西给杀了。 - 然后,开启 USB 启动和传统方式启动:
sudo crossystem dev_boot_usb=1 dev_boot_legacy=1
- 最后,在启动时的开发者菜单里选择从 SD 或 USB 外部设备启动,强行进入恢复模式。之后就能看见恢复模式读条了。读完条之后,它的系统就会变成市场版 Chromebook 的系统。
换 emmmmmmc
由于我的工程版 Scarlet 只有 16G 的 emmmmmmc,所以我去找了个手机维修店把 emmmmmmc 更换成了同型号但 128G 容量的,因为 Scarlet 的启动器不在 emmmmmmc 上,所以直接使用 SD 卡恢复系统就能把 Chrome OS 灌回新的空白记忆体。
刷写固件
老实说这部分我还没实践,但是还是姑且写出来让大家看看。
Scarlet 作为一款比较新的 Chrome OS 设备,它的控制器采用了 Cr50,因此并不需要像较老的设备那样拧螺丝来写入固件,而是需要一根 Suzyqable 作为贫穷猫猫头,本猫显然是买不起 Sparkfun 那根 15 USD 的高贵线材,走上了利用 Type-C 焊接板自己做线的道路。做线过程在上面的链接里有,我就不在这赘述了。
Chrome OS 的恢复镜像里是有 Embedded Controller 和启动固件的备份的,在设备上开启了 Close Case Debugging (CCD) 的情况下,可以通过 Suzyqable 直接刷写 EC 和启动固件,甚至可以在刷坏了之后启动不能的情况下操作。
通过这一操作之后,这个灵车工程机就变成基本和市售机型一样的设备了。
附注
虽然一般来说正式版固件里会含有工程设备某些硬件问题的 Workaround,但并不是一定的,所以在这么操作之前,做好设备变砖的心理建设。