Android TV Box H96Pro Plus (H96 Pro+) 構築メモ
今回は、debian11(Bullseye)からdebian12(Bookworm)への再構築を行った。
きっかけは年に2~3回程度カーネルパニックが起こっているのか、無応答状態となって電源OFF/ONを行っていた。
内部用管理サーバーであった為Packageのアップデートは行っていたが、Kernelはアップデートを行っておらず、
Armbian 5.15.60 (debian 11.11)の状態で、Armbian-updateを実行するもエラーを吐いてアップデート出来ず、再構築を行った。
少々手間取った点がある為、情報を残す。
環境
筐体: Android TV Box H96 Pro+
CPU : Amlogic S912 (8 core)
MEM : 3GB
eMMC : 32GB
有線LAN: 1Gbps
再構築前
Armbian 22.08.0-trunk 5.15.60-flippy-75+o (Debian 11.11)
FDT=/dtb/amlogic/meson-gxm-octopus-planet.dtb UBOOT_OVERLOAD='u-boot-zyxq.bin'
再構築後 (最終的に)
Armbian 25.11.0 6.1.157-ophub
FDT=/dtb/amlogic/meson-gxm-q200-mod.dtb UBOOT_OVERLOAD='u-boot-s905x-s912.bin'
構築手順
(1) OSイメージの入手
Armbian_25.11.0_amlogic_s912_bookworm_6.1.157_server_2025.10.20.img.gz
https://github.com/ophub/amlogic-s9xxx-armbian/releases/download/Armbian_bookworm_save_2025.10/
(2) 解凍して、SDカードへ書き込み
(3) H96Pro+ へSDカードを挿入して電源ON (つまようじ作戦は不要)
SDカードよりOSが起動した。特に設定変更しなくてもデフォのまま起動した。
初期設定を完了させる。
(4) 念のため、eMMCに保存されているデータをバックアップ
- SDスロット SDカードでOS起動中
- USB2.0スロット USBメモリー 32GBをマウント
eMMC上のデータをddによるイメージレベルとrsync/dumpコマンドでファイルレベルでバックアップを実施する。
しかし作業中に問題発生。
dumpコマンドによりeMMC内のデータをUSBメモリーへバックアップ中に電源が落ちる。(筐体 電源ランプ消灯)
再起動してOS立ち上げるもログには情報が残っていない。eMMC領域を弄らなければ、問題なく動作している。
(5) 情報収集
この辺りの情報(https://forum.armbian.com/topic/25335-h96-pro-plus-deafult-dtb-file/)を見て、
/boot 領域を見てみるが「A95X F3 Air」構築時と微妙に変わっているので、色々と変更してみた。
(5-1) まずはセオリーから
# cd /boot
# cp u-boot-s905x-s912.bin u-boot.ext
# cd extlinux
# cp extlinux.conf.bak extlinux.conf
# vi extlinux.conf
fdt の行 dtbファイルを変更する。
- fdt /dtb/amlogic/meson-gxm-octopus-planet.dtb
+ fdt /dtb/amlogic/meson-gxm-q200-mod.dtb
(5-2) uEnv.txt の変更
こちらもFDTの行があるので変更
# cd /boot # cp uEnv.txt uEnv.txt.org # vi uEnv.txt fdt の行 dtbファイルを変更する。 - FDT=/dtb/amlogic/meson-gxm-octopus-planet.dtb + FDT=/dtb/amlogic/meson-gxm-q200-mod.dtb
以上の設定変更をして再起動。
OSが立ち上がったら、再度eMMC領域のバックアップを実行。dumpコマンドによるバックアップは正常終了。
また、これまで認識していなかったWiFiデバイスも認識していた。(当初よりWiFiは利用しない予定)
(6) バックアップが完了したので、SDカードのデータをeMMC領域にインストール
# armbian-install
対話形式で入力していけば、eMMC領域へインストールは完了する。
しかしながらdtbファイルをの指定で、選択肢に「meson-gxm-q200-mod.dtb」が存在しなかった。
画面上ではH96Pro+ は、「meson-gxm-octopus-planet.dtb」だったので、meson-gxm-octopus-planet.dtbを指定。
インストール完了後、shutdownを実行。SDカードを抜いてeMMC領域で起動。
しかしu-bootからArmbianの起動に進んで、ログインプロプントが表示するまでに画面がブラックアウト。
筐体を見たら、見事に電源OFF状態となっていた。(やはり再発)
という訳で、再度SDカードから起動して、eMMC領域の第1パテーション(/boot) をマウントして、
- /boot/extlinux/extlinux.conf
- /boot/uEnv.txt
の、fdt行を「meson-gxm-q200-mod.dtb」に変更。
※ u-boot.extはSDカードからコピーされているので、上記2ファイルの修正のみ実施。
再度、shutdownを実行し電源OFF。SDカードを抜いて電源ON。
eMMC領域で無事に起動が完了した。
まとめ
android TV BOXは模倣品が多く存在する。
今回は情報収集にて、私が所持しているTV Boxの再活用が出来で喜ばしい事ではあるが、
ネットの情報(私が意図した情報)が、
- いつまで情報が残っているのか
- 情報が溢れかえっているため、googleなどのサーチエンジンに頼りきりになっている。
- サーチエンジンの検索キーワード次第で、欲しい情報に辿れ付けるが決まる。
→ 検索結果件数が多すぎると上位数十件程度ぐらいしか見ない。
- ネット探せば情報が(すぐに)表示されるから・・・と、メモを残さない、覚えようとしなくなってきている。
という訳で、今後も自分用の備忘として情報を残しておこうと思う。
