去年使った際に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をアップデート対象から外ししかない??