请遵守Github上的协议使用本项目,本项目的分享不得设置任何前置条件,如果您是付费看到本项目的,请退款并投诉,您的钱不是我收的。
锦鲤@Nekolines
起源
这个设备是我托我的小伙伴托他的小伙伴从美国带回来的,本来只有英文而且只能当作一个拍照道具使用,但是有大神在10月底的时候释放了这个设备的破解方法(这里),顿时就有一些技术大佬纷纷下场开始对这个设备进行操作了。
我就在前人的基础(superbird-webapp)上对我的设备进行了一个汉化的操作,这里记录一下具体的方法。
操作前的准备
需要一台运行常见 Linux x64 版本的 PC ,我用的是我的NAS。
- 在 PC 上安装 libusb-dev 、adb 、nodejs 、yarn
- 有些时候还建议安装 Python3(alias设置为python)和 pyamlboot(安装这个版本)
一根能让 Car Thing 和前文所述电脑连接起来的数据线。
胆大,心细,看好了再去操作,一定别边看变搞(有概率真的变成砖头)
从开箱开始,从激活USB burning开始
当你满怀激动的打开外包装拿到你的设备的时候,你设备的固件还处于出厂的状态下,如果你要正常使用这个设备的话,先连接到手机等待约15分钟后重启你的设备,这个时候设备就会自动OTA到最新版本,但是如果你打算做更多操作(修改引导分区,更改设备的语言,跳过电源检测甚至是无需高级会员使用)的话,就必须要对设备的内容进行更改(会导致保修失效,会导致黑砖)。
为了更改这些内容,首先在电脑上clone这个repo:superbird-bulkcmd,这是你修改东西的前提。然后按住 Car Thing 的 1 和 4 键,同时将设备插到电脑上。假设你操作正常的话,此时设备屏幕不会亮起,在电脑上执行dmesg命令会看见一个新的设备链接:
1 2 3 4 |
usb 1-1: New USB device found, idVendor=1b8e, idProduct=c003, bcdDevice= 0.20 usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0 usb 1-1: Product: GX-CHIP usb 1-1: Manufacturer: Amlogic |
在看见上述内容之后,进入刚才clone的姆利内,执行脚本 scripts/burn-mode.sh 来以刻录模式启动 U-Boot,执行完毕后再次使用dmesg会发现一个新设备出现在主机里:
1 2 |
usb 1-1: New USB device found, idVendor=1b8e, idProduct=c003, bcdDevice= 0.07 usb 1-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0 |
现在你已经进入了刻录模式,此时建议执行 scripts/dump.sh 备份一份最原版的镜像。
如果你计划以后每次链接在电脑时都激活刻录模式的话,可以执行这些命令(不太建议执行):
1 2 3 |
./bin/update bulkcmd 'amlmmc env' ./bin/update bulkcmd 'setenv storeargs ${storeargs} run update\;' ./bin/update bulkcmd 'env save' |
如果你执行了上述程序,在连接电脑时想退出的话,请执行 scripts/uboot-continue.sh
激活 ADB 才能在电脑上愉快玩耍
激活ADB有两种方式,一种是临时的不会影响到设备的OTA,另一种是永久的,更方便,但是会导致设备的OTA不可用(设备已经停更了,大概率以后没有OTA更新了)(这一步不一定非要做,看完文档好不好?)
不影响OTA的方法
当设备处于刻录模式时,执行 scripts/upload-kernel.sh ,就可以直接进入到ADB模式,此时修改没有固化到系统里,所以重启就可以OTA更新了。
影响OTA但舒服的方法
打开 scripts/enable-adb.sh.client 文件,按行复制,然后把命令粘贴到已经启动ADB的Shell(所以要先执行第一步)里执行就行。
更新一下系统吧
既然已经能够进入刻录模式,也就没必要使用OTA来更新系统了。这里推荐使用 这里 的 这个固件 来更新系统。只需要把你的设备连接到电脑,进入刻录模式,解压你下载的文件并执行里边的 undump.sh 就可以了。这一步烧录 bootloader.dump 和 data.dump 两个文件时可能会报错,不太影响使用。
更新了这个系统之后,你的设备自然就变成了最新版本的固件并且支持ADB了。
开始汉化
在开始汉化之前先clone我的项目到本地,并且配置好你电脑上的nodejs和yarn。如果只需要在你的设备上运行中文系统的话,只需要下载最新的 Releases ,解压并执行里边的push.sh就可以了,如果需要修改的话,请参考项目的README。
汉化可能遇到的问题和解决方案
系统开机提示错误,不断重启
检查文件是否存在,如果文件存在的话考虑代码写错了或者文件推送不全。尝试重新推送文件。
系统文件推送失败,提示只读文件
如果执行 mount -o remount,rw / 之后还是提示这个内容,在adb shell里执行 fsck.ext4 /dev/root ,所有选项都按Y,之后重启,再推送文件试试。
给系统玩死了
按照刚才 更新一下系统吧 那一步执行,重新刷一个系统。
夜航模式效果不明显
暂且解决不了。
其他BUG
请在这里留言或者去Github上提出issues,提出之前看看有没有别人提出或者是否在已知的无法解决问题列表里。提问题请带上问题如何出现的,如果时有英文的话手机拍照一下。