ユーザ用ツール

サイト用ツール


mediaplayerとして使わなくなった_h96pro_plus_h96_pro_に_linuxを入れて使い倒す_h96pro_plus_on_linux

MediaPlayerとして使わなくなった、H96Pro Plus (H96 Pro+) に Linuxを入れて使い倒す。

単に捨てるのは勿体ないので


ただ、CPUがS912とこれまたレアもの。

  • ARMベースのLinuxで動作するはずだが、カーネルは912互換のものでないと動かないのでは?
  • インストール際に、USB/SDカードから起動しなくてはならないが、PCでいうところのBIOSが無い?

でも、H96Pro Plusは、USB/SDカードを挿すと、優先的にUSB/SDカードから起動する仕様なのでありがたい

  • LinuxではGrubが標準的だが、どうもUbootを使うみたいで知識0なので、有志の方が作られたOSイメージを利用させていただく事で楽をしよう・・

・・・となると、google先生に全面的に協力して頂く事になるが、情報が少ないので探し出すのに手間がかかる。

再インストールをする時に、「以前にお世話になったサイトが探し出せない」「既にサイトが閉鎖されている」などで、インストール方法が見つからない

となっては面倒になったり、諦めたりするだろうから、とりあえず最低限の情報だけでも残しておこうと思う。

OSイメージの入手先

ophub / amlogic-s9xxx-armbian

Armbian for Amlogic TV Boxes

https://github.com/ophub/amlogic-s9xxx-armbian

https://github.com/ophub/amlogic-s9xxx-armbian/releases

Armbian_22.08.0_Aml_s912_jammy_5.10.123_server_2022.06.19.img.gz

Armbian_22.08.0_Aml_s912_jammy_5.15.48_server_2022.06.19.img.gz は、インストール後に問題あり。たぶん、そのうち作成者が気づいて修正されると思うが。
→ インストール時にtarでファイル展開するが、ファイルオーナー/グループ名のUID/GIDが適切でない。rootユーザーのファイルがUIDが0でない

USB/SD起動後に自動ログインされるので、armbian-installで内部eMMCにインストール。
# USB/SDカードによる起動直後のパスワード root/1234 らしい。上記URL記載あり
実行直後にいくつか設定内容(パスワードとかロケールとか)を対話入力する。

インストール後の諸設定

1. ネットワーク設定

networkingとNetworkManager両方起動しているので注意。

NetworkManagerを使うと、/etc/network/interfaces でもDHCP定義しているので、静的IPと動的IPの2つを持ってしまう。

NetworkManagerを使う場合は、/etc/network/interfaces でeth0定義部分は、コメントアウトする。

(以下、teratermでリモートログイン)

まずは、

$ sudo apt update
$ sudo apt upgrade

2. systemctrl -t service や、systemctl list-unit-files を見て、不要そうなサービスを停止

  • remote-fs系(NFSなど)使わないので、rpcbindと合わせて停止。
  • その他、openvpn使わないので、併せてresolvd系も停止。/etc/resolv.confに直接定義。

後にXwindow を入れるから、dbusでresolvdが必要になってくるかも・・・だが。

  • 無線LAN系のサービス停止(I/F認識していない。有線LANonly)

Xwindow

xfce のインストール

$ sudo apt install task-xfce-desktop

xrdp のインストール

$ sudo apt install xrdp xorgxrdp
$ sudo systemctl enable xrdp

XWindow起動設定ファイル修正

# vi /etc/xrdp/startwm.sh
--- /etc/xrdp/startwm.sh.org
+++ /etc/xrdp/startwm.sh
@@ -10,5 +10,6 @@
       . /etc/profile
fi
 
-test -x /etc/X11/Xsession && exec /etc/X11/Xsession
-exec /bin/sh /etc/X11/Xsession
+#test -x /etc/X11/Xsession && exec /etc/X11/Xsession
+#exec /bin/sh /etc/X11/Xsession
+xfce4-session

日本語環境

$ sudo apt install task-japanese locales-all task-japanese-desktop
$ sudo apt install fonts-noto fonts-takao
$ sudo localectl set-locale ja_JP.UTF-8 (OS再起動後に反映)

Audio関連

$ sudo apt install pulseaudio pavucontrol

背面にAV端子(3.5ピンジャック)があるが、如何せん中華製で機器マニュアルがない。

付属のオーディオケーブルもなし。メディアプレイヤーとして使っていた時は、どうしていたか覚えていない。。。

おそらくHDMI経由で音を鳴らしていたと思う。

AVと書かれているので、(予想だが) コンポジットケーブル(赤/白/黄)だと思うが、現在手元にケーブルがないので、
AV端子から音が出るがどうかは未確認。(alsamixierで見る限りは、サウンドカードとしては認識しているっぽい。GX-P230-Q200)

よく分からないので、USBオーディオI/Fを使おう。

リモートデスクトップログイン後

Xターミナルエミュレータ

普段は、teratermで事足りるのだが、CUI非対応のGUIアプリがある。

兎にも角にも、Xターミナルエミュレータがデフォルトの「gnome-terminal」が起動してこないので、xtermを入れる。

$ sudo apt install xterm

xtermインストール後に、gnome-terminalをxtermからコマンド実行したら、dbus系のエラーが出た。

googleeったら、ubuntuで「gnome-terminal won't start」のバグ報告がされているが、関連性は不明。

https://bugs.launchpad.net/ubuntu/+source/gnome-terminal/+bug/1772259

straceでログを確認したが、日本語化に必要なファイルが足りていない(No such file or directoryが多数)ように思える。
$ export LANG=C
$ dbus-update-activation-environment --systemd --all
$ gnome-terminal
でエラーは吐くが、英語メニューのgnome-terminal が起動した。

まあ、これらを確認する上でもxtermが無いと始まらないし、gnome-terminal でないとイヤという訳でもないので、

xtermをデフォルトにしてしまおう。

バックアップ/リストア

あらかたインストールと設定が終わったら、バックアップを取っておく。

テスト的に色々なアプリをインストールして、1回きれいにしたい・・・と思う事もあるだろう。

だが1からインストールするには面倒なので、バックアップを取っておく事にする。

いつか役に立つ日が来ると思う。たぶん。

バックアップ

OSイメージをUSBメモリに展開した訳だが、8GB中3GBを使用している。パーテーションは1と2を使用。

残り約4GBが使用可能なので、パテーション3を領域確保&フォーマットして使用可能にする。

Disk /dev/sda: 7.21 GiB, 7743995904 bytes, 15124992 sectors
Disk model: Silicon-Power8G
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xbae5bf69

Device     Boot   Start      End Sectors  Size Id Type
/dev/sda1        139264   661503  522240  255M  c W95 FAT32 (LBA)
/dev/sda2        663552  6291455 5627904  2.7G 83 Linux
/dev/sda3       6291456 15124991 8833536  4.2G 83 Linux

取得しておくデータは、

  • 本体EMMMCのfdisk -l (txtとして保存)
  • /et/fstab (txtとして保存)
  • mmcblk2p1(vfat) tar(mmcblk2p1.fat.tar.gz)
  • mmcblk2p2(ext4)
    • dump(mmcblk2p2.dump)
    • tar(mmcblk2p2.ext.tar.gz)
  • MBR領域

先頭512byteで良いはずだが、私的慣例でfdisk の1番目パテーションのStart領域まで取ってしまう。

今回、Startが139264となっているので、

# dd if=/dev/mmcblk2 of=bootloader.img bs=512 count=139264

以上を、USBメモリーのパテーション3へ保存しておこう。

リストア

USBメモリーから起動。persistentが効いているので、初回起動時に設定したパスワードになっているので注意

(デフォルトパスワード1234ではない)

せっかく「fdisk -l」や/etc/fstabをtxtで保存していたが、ちょっと横着して、

1. armbian-install で再インストール

2. フォーマット

# mkfs.vfat /dev/mmcblk2p1
# fatlabel /dev/mmcblk2p1 BOOT_EMMC
# mkfs.ext4 /dev/mmcblk2p2 -L ROOTFS_EMMC

3. リストア

# mkdir /mnt/USB
# mount /dev/sda3 /mnt/USB
# mkdir /mnt/temp
# mount /dev/mmcblk2p1 /mnt/temp
# cd /mnt/temp
# tar zxfv /mnt/USB/mmcblk2p1.fat.tar.gz
# umount /mnt/temp
# mount /dev/mmcblk2p2 /mnt/temp
# cd /mnt/temp
# restore -rf /mnt/USB/mmcblk2p2.dump
# rm restoresymtable

4. UUIDの変更
ext4領域のUUIDが設定ファイルに書かれているので変更する。これを変更しておかないと、最後まで起動しない。(途中でinitramfsに落ちる)

UUID確認(UUIDを控えておく)
# blkid /dev/mmcblk2p2

(前回の流れで、mmcblk2p2 -> /mnt/tempにマウントしているはず)
# vi /mnt/temp/etc/fstab
1 行目の /領域のUUIDを変更

# cd /
# umount /mnt/temp
# mount /dev/mmcblk2p1 /mnt/temp
# vi /mnt/temp/uEnv.txt
4行目の APPEND=root=UUID= のUUIDを変更

# umount /mnt/temp
# umount /mnt/USB

以上で、shutdown -h now で終了。USBメモリーを抜き、電源OFF/ONすると、立ち上がる(はず)

mediaplayerとして使わなくなった_h96pro_plus_h96_pro_に_linuxを入れて使い倒す_h96pro_plus_on_linux.txt · 最終更新: by admin