update-initramfs は新しいカーネルの initrd を完全に生成しません。

update-initramfs は新しいカーネルの initrd を完全に生成しません。

新しいカスタムカーネルのインストールに奇妙な問題があるようです。update-initramfs失敗中dpkg -i:

update-initramfs: Generating /boot/initrd.img-5.15.7-hardened1-test1
find: ‘/tmp/user/0/mkinitramfs_gHxWMQ/lib/modules/5.15.7-hardened1-test1/kernel’: No such file or directory
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-5.15.7-hardened1-r7
Found initrd image: /boot/initrd.img-5.15.7-hardened1-r7
Found linux image: /boot/vmlinuz-5.15.7-hardened1-test1
Found initrd image: /boot/initrd.img-5.15.7-hardened1-test1
Found linux image: /boot/vmlinuz-5.10.0-10-amd64
Found initrd image: /boot/initrd.img-5.10.0-10-amd64
done

カーネルはr7完全にビルドされインストールされますが、.dlltest1のインストール中にエラーが発生しますfind: ‘/tmp/user/0/mkinitramfs_gHxWMQ/lib/modules/5.15.7-hardened1-test1/kernel’: No such file or directory。 .configsの唯一の違いは次のとおりです。

29c29
< CONFIG_LOCALVERSION="-r7"
---
> CONFIG_LOCALVERSION="-test1"
39c39
< CONFIG_KERNEL_GZIP=y
---
> # CONFIG_KERNEL_GZIP is not set
45c45
< # CONFIG_KERNEL_ZSTD is not set
---
> CONFIG_KERNEL_ZSTD=y
787c787
< # CONFIG_MODULE_FORCE_UNLOAD is not set
---
> CONFIG_MODULE_FORCE_UNLOAD=y
802,803c802,803
< CONFIG_MODULE_COMPRESS_XZ=y
< # CONFIG_MODULE_COMPRESS_ZSTD is not set
---
> # CONFIG_MODULE_COMPRESS_XZ is not set
> CONFIG_MODULE_COMPRESS_ZSTD=y

少し新しいカーネル(5.15.27)と古いカーネル(5.10.104)を試しましたが、結果は同じでした。initramfsルートLVMが見つからない後にカーネルから起動しようとすると、起動プロンプトが表示されます(USBキーボード機能なし)。

最小の変更では、initrd イメージのサイズも大きく異なります。

9.7M initrd.img-5.15.7-hardened1-r7 (working)
9.1M initrd.img-5.15.7-hardened1-test1 (broke)

2つを比較すると、lsinitrdinitrdに実際に多数のモジュールが欠落していることを示す結果が得られます。

346,399c346
< 5.15.7-hardened1-r7
< kernel
< crypto
< async_tx
< async_memcpy.ko.xz
< async_pq.ko.xz
< async_raid6_recov.ko.xz
< async_tx.ko.xz
< async_xor.ko.xz
< xor.ko.xz
< drivers
< ata
< ahci.ko.xz
< libahci.ko.xz
< hid
< hid-generic.ko.xz
< hid.ko.xz
< usbhid
< usbhid.ko.xz
< usbkbd.ko.xz
< input
< keyboard
< atkbd.ko.xz
< mouse
< psmouse.ko.xz
< serio
< serio_raw.ko.xz
< md
< dm-bufio.ko.xz
< dm-crypt.ko.xz
< dm-log.ko.xz
< dm-mirror.ko.xz
< dm-raid.ko.xz
< dm-region-hash.ko.xz
< dm-snapshot.ko.xz
< linear.ko.xz
< multipath.ko.xz
< raid0.ko.xz
< raid10.ko.xz
< raid1.ko.xz
< raid456.ko.xz
< vfio
< pci
< vfio-pci-core.ko.xz
< vfio-pci.ko.xz
< vfio_iommu_type1.ko.xz
< vfio.ko.xz
< vfio_virqfd.ko.xz
< lib
< raid6
< raid6_pq.ko.xz
< virt
< lib
< irqbypass.ko.xz
---
> 5.15.7-hardened1-test1

前にこれを見た人はいますか? Googleで結果を見つけましたが、解決策を提供できませんでした。

私はDevuan Chimaera(Debian 11ベース)を実行しています:initramfs-tools = 0.140&dpkg = 1.20.9

ベストアンサー1

カーネル5.16.17を使用しているDebianでも同じ問題が発生しました。モジュール圧縮を無効にすると問題が解決します(CONFIG_MODULE_COMPRESS_NONE = yを設定する必要があります)。 ZSTDとは異なる圧縮が機能する可能性がありますが、確認しませんでした。

おすすめ記事