APTを使用してカーネルパッケージ (linux-image-*+rp4-rpi-v8) を更新後、パッチ済みカーネルが再生成されず、更新後も古いカーネルが起動する。
症状
- 新しいカーネル向けのカーネルモジュールがロードできず、外部デバイスが動作しない。未確認
原因
SOLID-RPi4B-1.3.0ではベースOSであるRaspberry Pi OSの更新により、カーネルパッケージのインストール方法が変化しました。従来は raspberrypi-kernel パッケージが kernel8.img を直接インストールしていましたが、最新版では linux-image-*+rp4-rpi-v8 パッケージが /boot/vmlinuz-*+rpt-rpi-v8 をインストール後、/etc/kernel/postinst.d/z50-raspi-firmware (raspi-firmware パッケージ由来) がこれを元に kernel8.img を生成するようになりました。このため、/etc/kernel/postinst.d/ghost-rpi4 にはこれまでとは異なるパス /boot/vmlinuz-*+rpt-rpi-v8 が渡るようになり、ghost-rebuild を呼び出す処理が発動しなくなりました。
ワークアラウンド
この問題は以下のいずれかの方法で回避できます。
ghost-rebuild は冪等な操作なので、更新後でなくても実行して問題ありません。
APTを使用してカーネルパッケージ (
linux-image-*+rp4-rpi-v8) を更新後、パッチ済みカーネルが再生成されず、更新後も古いカーネルが起動する。症状
原因
SOLID-RPi4B-1.3.0ではベースOSであるRaspberry Pi OSの更新により、カーネルパッケージのインストール方法が変化しました。従来は
raspberrypi-kernelパッケージがkernel8.imgを直接インストールしていましたが、最新版ではlinux-image-*+rp4-rpi-v8パッケージが/boot/vmlinuz-*+rpt-rpi-v8をインストール後、/etc/kernel/postinst.d/z50-raspi-firmware(raspi-firmwareパッケージ由来) がこれを元にkernel8.imgを生成するようになりました。このため、/etc/kernel/postinst.d/ghost-rpi4にはこれまでとは異なるパス/boot/vmlinuz-*+rpt-rpi-v8が渡るようになり、ghost-rebuildを呼び出す処理が発動しなくなりました。ワークアラウンド
この問題は以下のいずれかの方法で回避できます。
カーネルパッケージの更新を避ける。
カーネルパッケージを更新後、手動で
sudo ghost-rebuildを実行する。