去年使った際にArmbian_23.02.1_Orangepipc2_jammy_current_5.15.93_xfce_desktop を使ってセットアップしたOrange Pi PC2を久々にapt update; apt upgradeしたら、起動途中で止まるようになった。
plymouth-start.service で止まっているように見えた
とりあえず別のmicro SDに最新の Armbian_community_24.8.0-trunk.139_Orangepipc2_noble_current_6.6.31_gnome_desktop を書き込んで起動してみたところ、同じ場所で止まった
plymouth ということは ロゴ表示関連?と疑って /boot/armbianEnv.txt を編集して「bootlogo=false」設定?と思ってみたら、すでに設定されていました。
試しに「bootlogo=true」に変えてみると、ロゴ自体はちゃんと表示され、そのあとの処理で止まっているようだった。
armbianフォーラム「Armbian 24.2 is broken on Orange PI PC2 」を読んでみると以下のことがわかった
・kernel 6.1以降おかしい ・armbianのシステムで自動生成されつづける最新イメージファイルは Orange Pi PC2で動かない ・昔のdtbファイルを使うと新しいkernelでも起動する
ということなので、まずはmicroSDを他のLinuxでマウントして、関連しそうなdtbファイルを確認
1
osakanataro@ubuntuserver:/mnt$ find . -print|grep dtb|grep orange
2
find: ‘./root’: 許可がありません
3
./usr/lib/linux-image-6.6.31-current-sunxi64/allwinner/sun50i-h618-orangepi-zero2w.dtb
4
./usr/lib/linux-image-6.6.31-current-sunxi64/allwinner/sun50i-h5-orangepi-zero-plus2.dtb
5
./usr/lib/linux-image-6.6.31-current-sunxi64/allwinner/sun50i-h5-orangepi-pc2.dtb
6
./usr/lib/linux-image-6.6.31-current-sunxi64/allwinner/sun50i-h6-orangepi-3.dtb
7
./usr/lib/linux-image-6.6.31-current-sunxi64/allwinner/sun50i-h6-orangepi-lite2.dtb
8
./usr/lib/linux-image-6.6.31-current-sunxi64/allwinner/sun50i-h5-orangepi-zero-plus.dtb
9
./usr/lib/linux-image-6.6.31-current-sunxi64/allwinner/sun50i-h6-orangepi-3-lts.dtb
10
find: ‘./var/spool/rsyslog’: 許可がありません
11
find: ‘./var/spool/cron/crontabs’: 許可がありません
12
find: ‘./var/spool/cups’: 許可がありません
13
find: ‘./var/lib/private’: 許可がありません
14
find: ‘./var/lib/ubuntu-advantage/apt-esm/var/lib/apt/lists/partial’: 許可がありません
15
find: ‘./var/lib/openvpn/chroot’: 許可がありません
16
find: ‘./var/lib/lightdm-data/lightdm’: 許可がありません
17
find: ‘./var/lib/apt/lists/partial’: 許可がありません
18
find: ‘./var/lib/update-notifier/package-data-downloads/partial’: 許可がありません
19
find: ‘./var/lib/udisks2’: 許可がありません
20
find: ‘./var/lib/chrony’: 許可がありません
21
find: ‘./var/lib/NetworkManager’: 許可がありません
22
find: ‘./var/lib/polkit-1’: 許可がありません
23
find: ‘./var/lib/lightdm’: 許可がありません
24
find: ‘./var/log/private’: 許可がありません
25
find: ‘./var/log/chrony’: 許可がありません
26
find: ‘./var/log/speech-dispatcher’: 許可がありません
27
find: ‘./var/cache/private’: 許可がありません
28
find: ‘./var/cache/apt/archives/partial’: 許可がありません
29
find: ‘./var/cache/ldconfig’: 許可がありません
30
find: ‘./var/cache/cups’: 許可がありません
31
find: ‘./var/cache/lightdm/dmrc’: 許可がありません
32
./usr/lib/linux-image-6.6.31-current-sunxi64/allwinner/sun50i-h616-orangepi-zero2.dtb
33
./usr/lib/linux-image-6.6.31-current-sunxi64/allwinner/sun50i-h6-orangepi-one-plus.dtb
34
./usr/lib/linux-image-6.6.31-current-sunxi64/allwinner/sun50i-h5-orangepi-prime.dtb
35
./usr/lib/linux-image-6.6.31-current-sunxi64/allwinner/sun50i-a64-orangepi-win.dtb
36
./usr/lib/linux-image-6.6.31-current-sunxi64/allwinner/sun50i-h618-orangepi-zero3.dtb
37
./boot/dtb-6.6.31-current-sunxi64/allwinner/sun50i-h618-orangepi-zero2w.dtb
38
./boot/dtb-6.6.31-current-sunxi64/allwinner/sun50i-h5-orangepi-zero-plus2.dtb
39
./boot/dtb-6.6.31-current-sunxi64/allwinner/sun50i-h5-orangepi-pc2.dtb
40
./boot/dtb-6.6.31-current-sunxi64/allwinner/sun50i-h6-orangepi-3.dtb
41
./boot/dtb-6.6.31-current-sunxi64/allwinner/sun50i-h6-orangepi-lite2.dtb
42
./boot/dtb-6.6.31-current-sunxi64/allwinner/sun50i-h5-orangepi-zero-plus.dtb
43
./boot/dtb-6.6.31-current-sunxi64/allwinner/sun50i-h6-orangepi-3-lts.dtb
44
./boot/dtb-6.6.31-current-sunxi64/allwinner/sun50i-h616-orangepi-zero2.dtb
45
./boot/dtb-6.6.31-current-sunxi64/allwinner/sun50i-h6-orangepi-one-plus.dtb
46
./boot/dtb-6.6.31-current-sunxi64/allwinner/sun50i-h5-orangepi-prime.dtb
47
find: ‘./etc/vpnc’: 許可がありません
48
find: ‘./etc/ssl/private’: 許可がありません
49
find: ‘./etc/polkit-1/localauthority’: 許可がありません
50
find: ‘./etc/cups/ssl’: 許可がありません
51
find: ‘./lost+found’: 許可がありません
52
./boot/dtb-6.6.31-current-sunxi64/allwinner/sun50i-a64-orangepi-win.dtb
53
./boot/dtb-6.6.31-current-sunxi64/allwinner/sun50i-h618-orangepi-zero3.dtb
54
osakanataro@ubuntuserver:/mnt$
“sun50i-h5-orangepi-pc2.dtb”というファイルがそれっぽい。2カ所にあるが、どちらも同じ内容のようだ
1
osakanataro@ubuntuserver:/mnt$ ls -l ./usr/lib/linux-image-6.6.31-current-sunxi64/allwinner/sun50i-h5-orangepi-pc2.dtb ./boot/dtb-6.6.31-current-sunxi64/allwinner/sun50i-h5-orangepi-pc2.dtb
2
-rwxr-xr-x 1 root root 34856 5月 22 03:57 ./boot/dtb-6.6.31-current-sunxi64/allwinner/sun50i-h5-orangepi-pc2.dtb
3
-rwxr-xr-x 1 root root 34856 5月 22 03:57 ./usr/lib/linux-image-6.6.31-current-sunxi64/allwinner/sun50i-h5-orangepi-pc2.dtb
4
osakanataro@ubuntuserver:/mnt$
Armbian_23.02.1_Orangepipc2_jammy_current_5.15.93_xfce_desktop.img を展開して、 kernel 5.15.93時代の sun50i-h5-orangepi-pc2.dtb に置き換えた
1
osakanataro@ubuntuserver:/mnt$ ls -l /tmp/sun50i-h5-orangepi-pc2.dtb
2
-rw-r--r-- 1 osakanataro osakanataro 32052 2月 23 2023 /tmp/sun50i-h5-orangepi-pc2.dtb
3
osakanataro@ubuntuserver:/mnt$ ls -l ./usr/lib/linux-image-6.6.31-current-sunxi64/allwinner/sun50i-h5-orangepi-pc2.dtb ./boot/dtb-6.6.31-current-sunxi64/allwinner/sun50i-h5-orangepi-pc2.dtb
4
-rwxr-xr-x 1 root root 34856 5月 22 03:57 ./boot/dtb-6.6.31-current-sunxi64/allwinner/sun50i-h5-orangepi-pc2.dtb
5
-rwxr-xr-x 1 root root 34856 5月 22 03:57 ./usr/lib/linux-image-6.6.31-current-sunxi64/allwinner/sun50i-h5-orangepi-pc2.dtb
6
osakanataro@ubuntuserver:/mnt$ sudo mv ./boot/dtb-6.6.31-current-sunxi64/allwinner/sun50i-h5-orangepi-pc2.dtb ./boot/dtb-6.6.31-current-sunxi64/allwinner/sun50i-h5-orangepi-pc2.dtb.org
7
osakanataro@ubuntuserver:/mnt$ sudo cp /tmp/sun50i-h5-orangepi-pc2.dtb ./boot/dtb-6.6.31-current-sunxi64/allwinner/sun50i-h5-orangepi-pc2.dtb
8
osakanataro@ubuntuserver:/mnt$ sudo mv ./usr/lib/linux-image-6.6.31-current-sunxi64/allwinner/sun50i-h5-orangepi-pc2.dtb ./usr/lib/linux-image-6.6.31-current-sunxi64/allwinner/sun50i-h5-orangepi-pc2.dtb.org
9
osakanataro@ubuntuserver:/mnt$ sudo cp /tmp/sun50i-h5-orangepi-pc2.dtb ./usr/lib/linux-image-6.6.31-current-sunxi64/allwinner/sun50i-h5-orangepi-pc2.dtb
10
osakanataro@ubuntuserver:/mnt$ ls -l ./usr/lib/linux-image-6.6.31-current-sunxi64/allwinner/sun50i-h5-orangepi-pc2.dtb ./boot/dtb-6.6.31-current-sunxi64/allwinner/sun50i-h5-orangepi-pc2.dtb
11
-rw-r--r-- 1 root root 32052 6月 19 11:05 ./boot/dtb-6.6.31-current-sunxi64/allwinner/sun50i-h5-orangepi-pc2.dtb
12
-rw-r--r-- 1 root root 32052 6月 19 11:05 ./usr/lib/linux-image-6.6.31-current-sunxi64/allwinner/sun50i-h5-orangepi-pc2.dtb
13
osakanataro@ubuntuserver:/mnt$
これで起動を行ったところ、問題なく起動してきました。
dtbファイルを古いまま使う方法ってあるのかな・・・
kernelをアップデート対象から外ししかない??