目次
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
参考サイト
Armbianにデスクトップ環境を入れてWindows10で操作する
https://www.sekokusa.com/2020/12/07/armbian%E3%81%AB%E3%83%87%E3%82%B9%E3%82%AF%E3%83%88%E3%83%83%E3%83%97%E7%92%B0%E5%A2%83%E3%82%92%E5%85%A5%E3%82%8C%E3%81%A6windows10%E3%81%A7%E6%93%8D%E4%BD%9C%E3%81%99%E3%82%8B/
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すると、立ち上がる(はず)