给海美迪 H7 四代刷第三方固件
前几天给盒子清数据,连上网就被自动装了 CIBN聚精彩 、CIBN聚体育。加上之前这系统用着各种不爽,像是没有多任务界面、UI 太丑、Android 版本太低、Kodi 花屏之类的,所以干脆刷成别的好了。找找发现 S912 有好多包,还有 LibreELEC、Lakka 之类的。
后来我发现这玩意儿还能装 Linux ,真是神奇,不过 Linux 的话还是等盒子退休再说吧。
备份
刷什么之前都应该先做好备份,因为官方根本就没提供固件,只有卡刷包。
为了保险起见,推荐备份之前刷入这个下面的 TWRP 。(因为官方的 rec 进去就是格式化 data 并重启,如果恢复失败有可能会出现问题。
备份到 SD 卡或 U 盘
- 盒子执行(需要root)
busybox dd if=/dev/block/mmcblk0 of=/storage/SD卡UUID/mmcblk0nodata bs=4M count=643
SD卡UUID
可以在/storage
里面看,是一串字母和数字。
或者备份到电脑
- 盒子执行(需要root)
busybox nc -l -p 5000 -e busybox dd if=/dev/block/mmcblk0nodata bs=4M count=643
- 电脑执行
nc -v 盒子IP 5000 > mmcblk0nodata
PS. 上面两种方法都没有备份盒子 data 分区,如果要全部备份需要重启到第三方 Recovery 或像 LibreELEC 之类的在 U盘 中运行的系统并执行dd if=/dev/block/mmcblk0 of=/storage/SD卡UUID/mmcblk0
,这样备份的时间会非常长,而且要求 U盘 剩余空间大于 16G 。
备份这段时间我们可以去下载刷机包。
Android
## 蓝牙遥控器键值 |
如果备份的 remote.conf
不能用,也可以试试这个。
刷机方法
- 线刷:打开 USB Burning Tool 导入固件,导入后点开始,用双公头 USB 线连接电脑和盒子靠后面的 USB 口,然后插上盒子的电源。
- U盘:用 BootcardMaker 制作刷机 U 盘。然后插进盒子靠后面的 USB 口,adb 执行
reboot update
,盒子会重启升级。
Android (TV) 9 (slimBOXtv)
目前在用,这个其实就是之前很流行的 slimbox,但是一直没有合适的包,就没有尝试。有次逛 4pda 的时候偶然看到有个人的 GT1 AP6255 刷了 Mecool BB2 and Pro 的 slimboxtv 用起来很好,H7四代和 GT1 配置相似,就刷了看看。
这个固件有提供 AOSP 和 ATV 界面的包,自带 root、samba、AFR、色彩调节balabala一大堆东西。感觉就像是 Android 9 版的 superceleron 固件,但是功能还要多一些。比 Aidan 的包差的就是安全补丁旧一点,play 认证没了,不过也不太重要了。对了,他的 ATV launcher 是魔改版,没有广告。
这个包的 kernel 也是 32 位的。有线网卡也要修改 dtb 才能用,我这有个改好的,刷好 slimboxtv 后再用 USB_Burning_Tool
刷 sbx_dtbonly_100M.img 就好,刷这个的时候所有擦除选项都不勾选。
修改的部分:
ethernet@0xc9410000 { |
感觉刷了这个包之后就可以养老了,现在 S912 也没有新的 Android 包了,LibreELEC 新版各种问题,CoreELEC 也不给更新了,装 Linux 又只能当服务器用。这个盒子从16年10月上市到现在(2024年5月),已经用了八年了,emmc 掉速装软件会很慢,但看电视插硬盘挂BT追剧看动画片还是够用的。其中不满意的也就是网口是百兆,卖的还很贵,当时的价格买外贸盒子都可以买3G内存+千兆网口的了。这个盒子可能还能再用一两年吧,到时候又要选新的盒子了。
Android TV 9 (Aidan’s ROM)
下载 DDR3
LAN100
的版本。有线网卡可以用,可以用 afrd 设置自动帧率。但因为这个 ROM 的 /system/build.prop
中 ro.product.model
和 ro.product.name
的值含有'
号,会导致 afrd 启动失败,所以要修改成没有特殊字符的值后才能使用。
root 的话要提取出 Recovery 并在盒子上用 Magisk 修补后再用AMLogicTools_V7.1.0_Donate
打包刷入,开机后 adb 执行 reboot recovery
。他的 kernel 也是 32 位的,所以装 entware 的话也要装 32 位的。
不过最近 Google 更新启动器后广告变太多了,而且盒子没流媒体认证,他推的那些片子就算花钱也看不了。广告的话可以卸载新版本启动器然后关闭 Play 的自动更新,还可以屏蔽 androidtvwatsonfe-pa.googleapis.com
androidtvchannels-pa.googleapis.com
这两个域名;或者就干脆换第三方 Launcher 。
Android TV 7.1.2 (tillaz87)
预装只有 Play 服务、商店和 YouTube 。不过精简的有点多,DocumentsUI 都没,我放到网盘里了,可以自己添加。有自动帧率模式。
有线网卡要修改 dtb 中的 ethernet@0xc9410000
和 eth_pins
才能用。可以用 AMLogicTools_V7.1.0_Donate 解包系统固件,Unpack level 2 ,之后可以在 AMLogicTools_V7.1.0_Donate\tmp\level2\dtb
找到 dtb 文件并修改,修改后打包刷入就好了。
我这里有一个改好的,红外和蓝牙遥控应该也可以直接用。
修改的部分:
ethernet@0xc9410000 { |
Android 6.1 (superceleron)
有线网卡可以用。自带 Samba ,启动器带通知显示。不知道为什么 superceleron 的原帖消失了,我把固件上传到了网盘。先刷 SCV10A-GT1.img ,再进 Recovery 刷 OTA-SCV11-GT1.zip 和 SCV11-A912-AP6255-Support.zip 。
一些问题和解决办法
- 内存占用太多导致卡顿:换用第三方 launcher 并禁用所有 Google 服务后会有改善,Google 服务在后台会有 600 多 mb 的内存占用。
- 蓝牙遥控器延迟:不管用什么固件和系统,蓝牙遥控器都会有延迟,应该是硬件问题。换用红外或2.4G遥控器会好很多。
- 蓝牙遥控器开关机:按钮改成休眠后可休眠唤醒。不过盒子24小时挂着 BT 下动画片,用不着关机功能问题也不大。
- 红蓝按钮:修改
HIMEDIA.kl
,把红蓝键改成别的功能(按键参考)。我这有一个改好的,红色是静音,蓝色是截图。 - 最近任务界面:安装 tvQuickActions Pro,把遥控的按钮映射成
Recent Apps
。 - 鼠标模式:安装 tvQuickActions Pro 或 Mouse Toggle for Android TV ,在无障碍中启用。
- 语音:换个支持 Android TV 语音的遥控器。或者在手机上装个 Android TV Remote Control 。
- 刷了第三方固件后盒子后面的 reset 键会失效,这个没有办法。
LibreELEC
LibreELEC 其实就是个 Linux + kodi ,扩展比 kodi 多点。跟 Android 版的 kodi 比起来就是多了些程序,放 H265 不会花屏了。可以在这里下载,安装说明可以看这个。
CoreELEC 新版已经不支持 S912 了,可以用旧版。用 rufus 写入优盘,把 device_trees/gxm_q201_2g.dtb
复制为 dtb.img
到优盘根目录,然后插进盒子,执行 reboot update
。
EmuELEC 模拟器系统,新版不支持 S912 了,可以用旧版。也可以试试一些论坛魔改的镜像。
LibreELEC 系的大多都不支持 S912 了,新版 LibreELEC 也是有各种问题,比如 WiFi 网线连不上网,界面卡顿之类的。如果非要用的话推荐旧版的 CoreELEC ,可以装 64 位的 entware 和 32 位的 docker ,能用的软件会多一点。甚至还可以把 Android 的 system 和 data 挂载上去跑 Termux 。
另外这些用蓝牙遥控器也是只能关机不能开机,按钮改成休眠后可休眠唤醒。
Linux
镜像可以用这个,安装说明可以看这个。也可以用这个装其他发行版,不过驱动可能不全,可以从前面的镜像里面提取。
用 dd
或 rufus
把镜像写到优盘,修改 uEnv.txt
第三行为 FDT=/dtb/amlogic/meson-gxm-q201.dtb
。将 u-boot-s905x-s912.bin
复制为 u-boot.ext
。然后插上盒子上执行 reboot update
。
如果重启后进入了 recovery
,可能是因为之前启动过 类LibreELEC 系统,修改了 uboot 的启动参数,需要修改优盘中的启动脚本。
在 aml_autoscript.cmd
最上添加 setenv bootfromsd
,然后用 uboot-tools
生成启动文件。mkimage -A arm -O linux -T script -C none -d aml_autoscript.cmd aml_autoscript
再将生成好的 aml_autoscript
复制到启动优盘覆盖原文件,我这有一个改好的。
刷回官方(恢复备份)
把备份的文件放到 SD 卡 或 U 盘,重启到 TWRP 或像 LibreELEC 之类的在 U盘 中运行的系统。
重启到 TWRP :
reboot recovery
重启到 U盘系统 :
reboot update
如果 SD 卡 或 U 盘 没有自动挂载的话,需要手动挂载。
mount /dev/block/mmcblk1 /usb-otg/
上面是 SD 卡 的路径,U 盘 的话可能是
/dev/block/sda1
,具体可以在/dev/block/
下面看。恢复备份。
dd if=/usb-otg/mmcblk0nodata of=/dev/block/mmcblk0
恢复完成后重启到 Recovery。
reboot recovery
如果之前的系统是原厂 Recovery 的话会自动格式化 data 分区并重启。
如果是 TWRP 的话要手动格式化一下。
官方固件一些问题的解决方法
- 没有通知栏:装 Snowball Smart Notifications 显示通知。
- 没有最近任务界面:插个飞鼠或者键盘 Alt + Tab 。
- 官方固件偷偷给用户安装软件:
- 后台偷偷安装软件的是系统自带的启动器,可以换用第三方启动器然后直接删掉或禁用自带的启动器。
- 后来通过抓包找到推送列表地址,也可以在 hosts 里面加上一句
127.0.0.1 apkhome.hinavi.cp81.ott.cibntv.net
屏蔽。
还有一些有的没的。