最近のarmbianでOrange Pi PC2が起動しない件の対処


去年使った際に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ファイルを確認

osakanataro@ubuntuserver:/mnt$ find . -print|grep dtb|grep orange
find: ‘./root’: 許可がありません
./usr/lib/linux-image-6.6.31-current-sunxi64/allwinner/sun50i-h618-orangepi-zero2w.dtb
./usr/lib/linux-image-6.6.31-current-sunxi64/allwinner/sun50i-h5-orangepi-zero-plus2.dtb
./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-h6-orangepi-3.dtb
./usr/lib/linux-image-6.6.31-current-sunxi64/allwinner/sun50i-h6-orangepi-lite2.dtb
./usr/lib/linux-image-6.6.31-current-sunxi64/allwinner/sun50i-h5-orangepi-zero-plus.dtb
./usr/lib/linux-image-6.6.31-current-sunxi64/allwinner/sun50i-h6-orangepi-3-lts.dtb
find: ‘./var/spool/rsyslog’: 許可がありません
find: ‘./var/spool/cron/crontabs’: 許可がありません
find: ‘./var/spool/cups’: 許可がありません
find: ‘./var/lib/private’: 許可がありません
find: ‘./var/lib/ubuntu-advantage/apt-esm/var/lib/apt/lists/partial’: 許可がありません
find: ‘./var/lib/openvpn/chroot’: 許可がありません
find: ‘./var/lib/lightdm-data/lightdm’: 許可がありません
find: ‘./var/lib/apt/lists/partial’: 許可がありません
find: ‘./var/lib/update-notifier/package-data-downloads/partial’: 許可がありません
find: ‘./var/lib/udisks2’: 許可がありません
find: ‘./var/lib/chrony’: 許可がありません
find: ‘./var/lib/NetworkManager’: 許可がありません
find: ‘./var/lib/polkit-1’: 許可がありません
find: ‘./var/lib/lightdm’: 許可がありません
find: ‘./var/log/private’: 許可がありません
find: ‘./var/log/chrony’: 許可がありません
find: ‘./var/log/speech-dispatcher’: 許可がありません
find: ‘./var/cache/private’: 許可がありません
find: ‘./var/cache/apt/archives/partial’: 許可がありません
find: ‘./var/cache/ldconfig’: 許可がありません
find: ‘./var/cache/cups’: 許可がありません
find: ‘./var/cache/lightdm/dmrc’: 許可がありません
./usr/lib/linux-image-6.6.31-current-sunxi64/allwinner/sun50i-h616-orangepi-zero2.dtb
./usr/lib/linux-image-6.6.31-current-sunxi64/allwinner/sun50i-h6-orangepi-one-plus.dtb
./usr/lib/linux-image-6.6.31-current-sunxi64/allwinner/sun50i-h5-orangepi-prime.dtb
./usr/lib/linux-image-6.6.31-current-sunxi64/allwinner/sun50i-a64-orangepi-win.dtb
./usr/lib/linux-image-6.6.31-current-sunxi64/allwinner/sun50i-h618-orangepi-zero3.dtb
./boot/dtb-6.6.31-current-sunxi64/allwinner/sun50i-h618-orangepi-zero2w.dtb
./boot/dtb-6.6.31-current-sunxi64/allwinner/sun50i-h5-orangepi-zero-plus2.dtb
./boot/dtb-6.6.31-current-sunxi64/allwinner/sun50i-h5-orangepi-pc2.dtb
./boot/dtb-6.6.31-current-sunxi64/allwinner/sun50i-h6-orangepi-3.dtb
./boot/dtb-6.6.31-current-sunxi64/allwinner/sun50i-h6-orangepi-lite2.dtb
./boot/dtb-6.6.31-current-sunxi64/allwinner/sun50i-h5-orangepi-zero-plus.dtb
./boot/dtb-6.6.31-current-sunxi64/allwinner/sun50i-h6-orangepi-3-lts.dtb
./boot/dtb-6.6.31-current-sunxi64/allwinner/sun50i-h616-orangepi-zero2.dtb
./boot/dtb-6.6.31-current-sunxi64/allwinner/sun50i-h6-orangepi-one-plus.dtb
./boot/dtb-6.6.31-current-sunxi64/allwinner/sun50i-h5-orangepi-prime.dtb
find: ‘./etc/vpnc’: 許可がありません
find: ‘./etc/ssl/private’: 許可がありません
find: ‘./etc/polkit-1/localauthority’: 許可がありません
find: ‘./etc/cups/ssl’: 許可がありません
find: ‘./lost+found’: 許可がありません
./boot/dtb-6.6.31-current-sunxi64/allwinner/sun50i-a64-orangepi-win.dtb
./boot/dtb-6.6.31-current-sunxi64/allwinner/sun50i-h618-orangepi-zero3.dtb
osakanataro@ubuntuserver:/mnt$ 

“sun50i-h5-orangepi-pc2.dtb”というファイルがそれっぽい。2カ所にあるが、どちらも同じ内容のようだ

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
-rwxr-xr-x 1 root root 34856  5月 22 03:57 ./boot/dtb-6.6.31-current-sunxi64/allwinner/sun50i-h5-orangepi-pc2.dtb
-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
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 に置き換えた

osakanataro@ubuntuserver:/mnt$ ls -l /tmp/sun50i-h5-orangepi-pc2.dtb
-rw-r--r-- 1 osakanataro osakanataro 32052  2月 23  2023 /tmp/sun50i-h5-orangepi-pc2.dtb
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
-rwxr-xr-x 1 root root 34856  5月 22 03:57 ./boot/dtb-6.6.31-current-sunxi64/allwinner/sun50i-h5-orangepi-pc2.dtb
-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
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
osakanataro@ubuntuserver:/mnt$ sudo cp /tmp/sun50i-h5-orangepi-pc2.dtb ./boot/dtb-6.6.31-current-sunxi64/allwinner/sun50i-h5-orangepi-pc2.dtb
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
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
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
-rw-r--r-- 1 root root 32052  6月 19 11:05 ./boot/dtb-6.6.31-current-sunxi64/allwinner/sun50i-h5-orangepi-pc2.dtb
-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
osakanataro@ubuntuserver:/mnt$

これで起動を行ったところ、問題なく起動してきました。

dtbファイルを古いまま使う方法ってあるのかな・・・

kernelをアップデート対象から外ししかない??

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください