Ubuntu Version:
26.04 LTS
Problem Description:
ChatGPTを使って、犬検出のpythonスクリプトを作成していたところ、find_vma警告が出gていることに気が付いた。できるだけ警告がでないように修正し、動作することができた。直後アップデートが起こったので、慎重にカーネル等の確認した。そこで、Hailo-8用DKMSドライバが生成されなかった事をChatGptが気が付いたので、投稿する。起動に関する知識ないので、ChatGptにスクリプトやドキュメントを作らせながらの確認した。Geminiでも起動の手順の認識は間違っていない確認され、間違っていないと思われる。ubuntuに報告すべき内容をChatGptに作成させたので、確認してほしいです。
-ここから-
Ubuntuへ報告する内容
Ubuntu側へは、次の点が対象です。
-
自動更新で
linux-image-7.0.0-1014-raspiとlinux-modules-...は入った -
対応する
linux-headers-7.0.0-1014-raspiは入らなかった -
そのため、外部DKMSモジュールである
hailo_pciが1014向けに生成されなかった -
A/Bブートで新しい環境が
badとなり、旧カーネルへ戻った -
ヘッダーを手動導入後、DKMS生成・initramfs更新・再起動で正常復旧した
-
flash-kernel実行時に次の警告も出た
cannot open /etc/default/flash-kernel
find: ‘/etc/flash-kernel/dtbs’: No such file or directory
特に、Ubuntu Raspberry Pi環境で、カーネル更新後にDKMS利用環境が起動不能またはロールバックする可能性がある点は、Ubuntu側にとって有用な情報です。
ただし、Ubuntuのカーネルパッケージが必ず個別バージョンのヘッダーを自動導入すべき設計かどうかは、パッケージ依存関係やインストール履歴によります。そのため、報告文では「Ubuntuのバグである」と断定せず、再現した事実と復旧手順を提示して調査を依頼する形がよいです。
-ここまで-
以下はChatGPTに作成された投稿内容です。
-ここから-
Environment
- Ubuntu 26.04 LTS
- Raspberry Pi 5, arm64
- Previous kernel: 7.0.0-1011-raspi
- New kernel: 7.0.0-1014-raspi
- External DKMS module: hailo_pci 4.23.0
- Raspberry Pi A/B boot
Observed behavior
An automatic update installed:
- linux-image-7.0.0-1014-raspi
- linux-modules-7.0.0-1014-raspi
- linux-image-raspi 7.0.0-1014.14
However, linux-headers-7.0.0-1014-raspi was not installed.
As a result:
- no hailo_pci DKMS entry existed for 7.0.0-1014-raspi
- /lib/modules/7.0.0-1014-raspi/updates/dkms did not exist
- the new A/B boot environment became bad
- the system remained on kernel 7.0.0-1011-raspi
Recovery
- Installed linux-headers-7.0.0-1014-raspi
- DKMS built hailo_pci for 7.0.0-1014-raspi
- Ran:
sudo update-initramfs -u -k 7.0.0-1014-raspi - Verified hailo_pci.ko.zst and hailo8_fw.bin in initramfs
- Rebooted
- Kernel 7.0.0-1014-raspi booted successfully
- /boot/firmware/current/state became good
Expected behavior
The matching Raspberry Pi kernel headers should be installed, or the system should avoid promoting an incomplete A/B boot environment when required DKMS modules cannot be built.
-ここまで-