正好手头上有个荔枝派4a,闲来无事就想着试试ruyisdk的一键刷机功能,没想到硬控了我一个多小时。
常规的刷机方法无非是dd和fastboot,一般是去厂商官方查看教程,然后下载镜像,进行刷写。而ruyisdk直接省去了前面两个过程,可以直接使用命令行选择板子型号,然后选择需要的镜像,直接进行下载然后刷写。
我以为会是一个很快的过程,没想到差点翻车。
1.先去官网把二进制ruyisdk wget下来,然后赋权改名移到bin目录。首次使用ruyi命令的时候就令我头晕目眩,一长串英文摸不着头脑,谷歌翻译了一下才明白是开启遥测的告知书。当然选择不发送信息了。consent和optout两个词我不认识,又搜了一下。
2.开始刷机,ruyi device provision,讲道理我觉得这个命令还是很长的,在没有补全的情况下,provision我经常记不住。而且device我能理解,provision这个词有点生了,不如就叫ruyi flash之类的,简单好记。
3.再弹出一长串英文,看的很头大,大概是什么帮助下载刷机,不能root权限运行,需要sudo之类,不管,直接y,默认是n,按了直接退出交互。
4.选择,31个开发板,耐着性子找到了licheepi 4a,序号是18,输入18
5.选择版本,4a有16g和8g的版本,uboot不通用,选择1,16g。
6.弹出三个官方镜像选择,revyos和openEuler,选1
7.提示默认会安装最新版系统,也可以选择别的版本,选y是安装最新版,选n可以自由选择以前的版本
8.告知会有哪些包会下载,直接同意,又提示需要再次同意。这时候有坑,如果你的系统没有预装zstd,会提示你没有依赖zstd,你就前功尽弃,直接退出交互了。你得再手动安装依赖zstd,再从ruyi device provision开始
9.提示需要fastboot devices有输出才能继续。这时候又有个坑,你没装fastboot,又退出交互,你得再次手动安装依赖,再把上面的8步再来一遍。
10.fastboot安装完了。你发现还是不行。因为一般刷机都是用sudo fastboot,ruyi并不运行sudo fastboot命令,而是一直尝试fastboot命令,这会导致一直在waiting for device,遇上了我的盲点,毕竟我以前都是直接sudo或者root模式开刷。找了半个小时资料,说要改什么udev rules,折腾了半天,才解决这个问题。然后刷成功了。去fastboot 方式刷写开发板(以 Licheepi 4A 为例) | RuyiSDK
看到解决方案
Licheepi 4A 使用 USB 线与 PC 连接,通过 fastboot 刷写。如果只希望使用普通用户完成刷写过程,可能需要配置 udev 规则。这里提供示例规则仅供参考:
SUBSYSTEM==“usb”, ATTR{idVendor}=“2345”, ATTR{idProduct}==“7654”, MODE=“0666”, GROUP=“plugdev”
SUBSYSTEM==“usb”, ATTR{idVendor}=“1234”, ATTR{idProduct}==“8888”, MODE=“0666”, GROUP="plugdev”``
看样子是可以用sudo fastboot来跑的,但是这里为什么没使用sudo,一直卡住。然后这个udev规则,该放在哪,放完是否要重启服务,都没说,就简单一句仅供参考。
我觉得这个交互很幽默。我以为很丝滑很简单很省事,没想到给我整红温了。先是一个不太简洁的命令,然后是一长串的y/n选项,全是英文的,对中文用户造成了心智负担。等你以为渡劫成功了,啪的一声告诉你少个依赖,请退出重来。我请问呢,要什么依赖能不能一开始就提示呢,我以为就少一个依赖,重来就重来,然后又跟我说少个依赖,再来一遍……给我搞的都要ptsd了,生怕第三回又少个依赖,谢天谢地没有。为什么要假定用户依赖完全呢,好歹给个提示呢?然后就是fastboot命令了,为什么不能直接使用sudo命令呢,非要我手动去研究udev rules这种东西,等我研究完我已经手动sudo fastboot刷完了。
下面是视频,有加速和删减,但应该可以看出我的无奈。
https://youtu.be/dKwju6CGUcU


