[Bug 2081700] Re: Can't boot from encrypted volume after initramfs-tools=0.142ubuntu25.3 update
Pavel Safronov
2081700 at bugs.launchpad.net
Mon Sep 23 12:07:15 UTC 2024
Ok, did the following:
```
sudo apt-get install initramfs-tools=0.142ubuntu25.2 initramfs-tools-core=0.142ubuntu25.2 initramfs-tools-bin=0.142ubuntu25.2
sudo update-initramfs -k all -u
cp /boot/initrd.img-6.8.0-45-generic initrd.img-6.8.0-45-generic.working
sudo apt-get install initramfs-tools=0.142ubuntu25.3 initramfs-tools-core=0.142ubuntu25.3 initramfs-tools-bin=0.142ubuntu25.3
sudo update-initramfs -k all -u
cp /boot/initrd.img-6.8.0-45-generic initrd.img-6.8.0-45-generic.faulty
lsinitramfs initrd.img-6.8.0-45-generic.working > working
lsinitramfs initrd.img-6.8.0-45-generic.faulty > faulty
diff working faulty > files.diff
unmkinitramfs initrd.img-6.8.0-45-generic.working initrd.img-6.8.0-45-generic.working_extracted
unmkinitramfs initrd.img-6.8.0-45-generic.faulty initrd.img-6.8.0-45-generic.faulty_extracted
diffoscope --exclude-directory-metadata=yes initrd.img-6.8.0-45-generic.working_extracted initrd.img-6.8.0-45-generic.faulty_extracted > diffoscope_working_faulty_diff.txt
```
Resulting files.diff looks like this
```
203,214d202
< usr/lib/modules/6.8.0-45-generic/kernel/arch/x86/crypto/aegis128-aesni.ko.zst
< usr/lib/modules/6.8.0-45-generic/kernel/arch/x86/crypto/aesni-intel.ko.zst
< usr/lib/modules/6.8.0-45-generic/kernel/arch/x86/crypto/aria-aesni-avx-x86_64.ko.zst
< usr/lib/modules/6.8.0-45-generic/kernel/arch/x86/crypto/aria-aesni-avx2-x86_64.ko.zst
< usr/lib/modules/6.8.0-45-generic/kernel/arch/x86/crypto/aria-gfni-avx512-x86_64.ko.zst
< usr/lib/modules/6.8.0-45-generic/kernel/arch/x86/crypto/blowfish-x86_64.ko.zst
< usr/lib/modules/6.8.0-45-generic/kernel/arch/x86/crypto/camellia-aesni-avx-x86_64.ko.zst
< usr/lib/modules/6.8.0-45-generic/kernel/arch/x86/crypto/camellia-aesni-avx2.ko.zst
< usr/lib/modules/6.8.0-45-generic/kernel/arch/x86/crypto/camellia-x86_64.ko.zst
< usr/lib/modules/6.8.0-45-generic/kernel/arch/x86/crypto/cast5-avx-x86_64.ko.zst
< usr/lib/modules/6.8.0-45-generic/kernel/arch/x86/crypto/cast6-avx-x86_64.ko.zst
< usr/lib/modules/6.8.0-45-generic/kernel/arch/x86/crypto/chacha-x86_64.ko.zst
216,234d203
< usr/lib/modules/6.8.0-45-generic/kernel/arch/x86/crypto/crct10dif-pclmul.ko.zst
< usr/lib/modules/6.8.0-45-generic/kernel/arch/x86/crypto/curve25519-x86_64.ko.zst
< usr/lib/modules/6.8.0-45-generic/kernel/arch/x86/crypto/des3_ede-x86_64.ko.zst
< usr/lib/modules/6.8.0-45-generic/kernel/arch/x86/crypto/ghash-clmulni-intel.ko.zst
< usr/lib/modules/6.8.0-45-generic/kernel/arch/x86/crypto/nhpoly1305-avx2.ko.zst
< usr/lib/modules/6.8.0-45-generic/kernel/arch/x86/crypto/nhpoly1305-sse2.ko.zst
< usr/lib/modules/6.8.0-45-generic/kernel/arch/x86/crypto/poly1305-x86_64.ko.zst
< usr/lib/modules/6.8.0-45-generic/kernel/arch/x86/crypto/polyval-clmulni.ko.zst
< usr/lib/modules/6.8.0-45-generic/kernel/arch/x86/crypto/serpent-avx-x86_64.ko.zst
< usr/lib/modules/6.8.0-45-generic/kernel/arch/x86/crypto/serpent-avx2.ko.zst
< usr/lib/modules/6.8.0-45-generic/kernel/arch/x86/crypto/serpent-sse2-x86_64.ko.zst
< usr/lib/modules/6.8.0-45-generic/kernel/arch/x86/crypto/sha1-ssse3.ko.zst
< usr/lib/modules/6.8.0-45-generic/kernel/arch/x86/crypto/sha256-ssse3.ko.zst
< usr/lib/modules/6.8.0-45-generic/kernel/arch/x86/crypto/sm3-avx-x86_64.ko.zst
< usr/lib/modules/6.8.0-45-generic/kernel/arch/x86/crypto/sm4-aesni-avx-x86_64.ko.zst
< usr/lib/modules/6.8.0-45-generic/kernel/arch/x86/crypto/sm4-aesni-avx2-x86_64.ko.zst
< usr/lib/modules/6.8.0-45-generic/kernel/arch/x86/crypto/twofish-avx-x86_64.ko.zst
< usr/lib/modules/6.8.0-45-generic/kernel/arch/x86/crypto/twofish-x86_64-3way.ko.zst
< usr/lib/modules/6.8.0-45-generic/kernel/arch/x86/crypto/twofish-x86_64.ko.zst
236,257d204
< usr/lib/modules/6.8.0-45-generic/kernel/crypto/842.ko.zst
< usr/lib/modules/6.8.0-45-generic/kernel/crypto/adiantum.ko.zst
< usr/lib/modules/6.8.0-45-generic/kernel/crypto/aegis128.ko.zst
< usr/lib/modules/6.8.0-45-generic/kernel/crypto/aes_ti.ko.zst
< usr/lib/modules/6.8.0-45-generic/kernel/crypto/af_alg.ko.zst
< usr/lib/modules/6.8.0-45-generic/kernel/crypto/algif_aead.ko.zst
< usr/lib/modules/6.8.0-45-generic/kernel/crypto/algif_hash.ko.zst
< usr/lib/modules/6.8.0-45-generic/kernel/crypto/algif_rng.ko.zst
< usr/lib/modules/6.8.0-45-generic/kernel/crypto/algif_skcipher.ko.zst
< usr/lib/modules/6.8.0-45-generic/kernel/crypto/ansi_cprng.ko.zst
< usr/lib/modules/6.8.0-45-generic/kernel/crypto/aria_generic.ko.zst
< usr/lib/modules/6.8.0-45-generic/kernel/crypto/asymmetric_keys
< usr/lib/modules/6.8.0-45-generic/kernel/crypto/asymmetric_keys/pkcs7_test_key.ko.zst
< usr/lib/modules/6.8.0-45-generic/kernel/crypto/asymmetric_keys/pkcs8_key_parser.ko.zst
< usr/lib/modules/6.8.0-45-generic/kernel/crypto/async_tx
< usr/lib/modules/6.8.0-45-generic/kernel/crypto/async_tx/async_memcpy.ko.zst
< usr/lib/modules/6.8.0-45-generic/kernel/crypto/async_tx/async_pq.ko.zst
< usr/lib/modules/6.8.0-45-generic/kernel/crypto/async_tx/async_raid6_recov.ko.zst
< usr/lib/modules/6.8.0-45-generic/kernel/crypto/async_tx/async_tx.ko.zst
< usr/lib/modules/6.8.0-45-generic/kernel/crypto/async_tx/async_xor.ko.zst
< usr/lib/modules/6.8.0-45-generic/kernel/crypto/authenc.ko.zst
< usr/lib/modules/6.8.0-45-generic/kernel/crypto/authencesn.ko.zst
259,268d205
< usr/lib/modules/6.8.0-45-generic/kernel/crypto/blowfish_common.ko.zst
< usr/lib/modules/6.8.0-45-generic/kernel/crypto/blowfish_generic.ko.zst
< usr/lib/modules/6.8.0-45-generic/kernel/crypto/camellia_generic.ko.zst
< usr/lib/modules/6.8.0-45-generic/kernel/crypto/cast5_generic.ko.zst
< usr/lib/modules/6.8.0-45-generic/kernel/crypto/cast6_generic.ko.zst
< usr/lib/modules/6.8.0-45-generic/kernel/crypto/cast_common.ko.zst
< usr/lib/modules/6.8.0-45-generic/kernel/crypto/ccm.ko.zst
< usr/lib/modules/6.8.0-45-generic/kernel/crypto/chacha20poly1305.ko.zst
< usr/lib/modules/6.8.0-45-generic/kernel/crypto/chacha_generic.ko.zst
< usr/lib/modules/6.8.0-45-generic/kernel/crypto/cmac.ko.zst
270,309d206
< usr/lib/modules/6.8.0-45-generic/kernel/crypto/cryptd.ko.zst
< usr/lib/modules/6.8.0-45-generic/kernel/crypto/crypto_engine.ko.zst
< usr/lib/modules/6.8.0-45-generic/kernel/crypto/crypto_simd.ko.zst
< usr/lib/modules/6.8.0-45-generic/kernel/crypto/crypto_user.ko.zst
< usr/lib/modules/6.8.0-45-generic/kernel/crypto/curve25519-generic.ko.zst
< usr/lib/modules/6.8.0-45-generic/kernel/crypto/des_generic.ko.zst
< usr/lib/modules/6.8.0-45-generic/kernel/crypto/ecc.ko.zst
< usr/lib/modules/6.8.0-45-generic/kernel/crypto/ecdh_generic.ko.zst
< usr/lib/modules/6.8.0-45-generic/kernel/crypto/ecdsa_generic.ko.zst
< usr/lib/modules/6.8.0-45-generic/kernel/crypto/echainiv.ko.zst
< usr/lib/modules/6.8.0-45-generic/kernel/crypto/ecrdsa_generic.ko.zst
< usr/lib/modules/6.8.0-45-generic/kernel/crypto/essiv.ko.zst
< usr/lib/modules/6.8.0-45-generic/kernel/crypto/fcrypt.ko.zst
< usr/lib/modules/6.8.0-45-generic/kernel/crypto/hctr2.ko.zst
< usr/lib/modules/6.8.0-45-generic/kernel/crypto/keywrap.ko.zst
< usr/lib/modules/6.8.0-45-generic/kernel/crypto/lrw.ko.zst
< usr/lib/modules/6.8.0-45-generic/kernel/crypto/lz4.ko.zst
< usr/lib/modules/6.8.0-45-generic/kernel/crypto/lz4hc.ko.zst
< usr/lib/modules/6.8.0-45-generic/kernel/crypto/md4.ko.zst
< usr/lib/modules/6.8.0-45-generic/kernel/crypto/michael_mic.ko.zst
< usr/lib/modules/6.8.0-45-generic/kernel/crypto/nhpoly1305.ko.zst
< usr/lib/modules/6.8.0-45-generic/kernel/crypto/pcbc.ko.zst
< usr/lib/modules/6.8.0-45-generic/kernel/crypto/pcrypt.ko.zst
< usr/lib/modules/6.8.0-45-generic/kernel/crypto/poly1305_generic.ko.zst
< usr/lib/modules/6.8.0-45-generic/kernel/crypto/polyval-generic.ko.zst
< usr/lib/modules/6.8.0-45-generic/kernel/crypto/rmd160.ko.zst
< usr/lib/modules/6.8.0-45-generic/kernel/crypto/serpent_generic.ko.zst
< usr/lib/modules/6.8.0-45-generic/kernel/crypto/sm2_generic.ko.zst
< usr/lib/modules/6.8.0-45-generic/kernel/crypto/sm3.ko.zst
< usr/lib/modules/6.8.0-45-generic/kernel/crypto/sm3_generic.ko.zst
< usr/lib/modules/6.8.0-45-generic/kernel/crypto/sm4.ko.zst
< usr/lib/modules/6.8.0-45-generic/kernel/crypto/sm4_generic.ko.zst
< usr/lib/modules/6.8.0-45-generic/kernel/crypto/streebog_generic.ko.zst
< usr/lib/modules/6.8.0-45-generic/kernel/crypto/tcrypt.ko.zst
< usr/lib/modules/6.8.0-45-generic/kernel/crypto/twofish_common.ko.zst
< usr/lib/modules/6.8.0-45-generic/kernel/crypto/twofish_generic.ko.zst
< usr/lib/modules/6.8.0-45-generic/kernel/crypto/vmac.ko.zst
< usr/lib/modules/6.8.0-45-generic/kernel/crypto/wp512.ko.zst
< usr/lib/modules/6.8.0-45-generic/kernel/crypto/xcbc.ko.zst
< usr/lib/modules/6.8.0-45-generic/kernel/crypto/xctr.ko.zst
311,312d207
< usr/lib/modules/6.8.0-45-generic/kernel/crypto/xxhash_generic.ko.zst
< usr/lib/modules/6.8.0-45-generic/kernel/crypto/zstd.ko.zst
411d305
< usr/lib/modules/6.8.0-45-generic/kernel/drivers/char/nvram.ko.zst
435,460d328
< usr/lib/modules/6.8.0-45-generic/kernel/drivers/gpu
< usr/lib/modules/6.8.0-45-generic/kernel/drivers/gpu/drm
< usr/lib/modules/6.8.0-45-generic/kernel/drivers/gpu/drm/drm_dma_helper.ko.zst
< usr/lib/modules/6.8.0-45-generic/kernel/drivers/gpu/drm/drm_mipi_dbi.ko.zst
< usr/lib/modules/6.8.0-45-generic/kernel/drivers/gpu/drm/drm_ttm_helper.ko.zst
< usr/lib/modules/6.8.0-45-generic/kernel/drivers/gpu/drm/drm_vram_helper.ko.zst
< usr/lib/modules/6.8.0-45-generic/kernel/drivers/gpu/drm/tiny
< usr/lib/modules/6.8.0-45-generic/kernel/drivers/gpu/drm/tiny/bochs.ko.zst
< usr/lib/modules/6.8.0-45-generic/kernel/drivers/gpu/drm/tiny/cirrus.ko.zst
< usr/lib/modules/6.8.0-45-generic/kernel/drivers/gpu/drm/tiny/gm12u320.ko.zst
< usr/lib/modules/6.8.0-45-generic/kernel/drivers/gpu/drm/tiny/hx8357d.ko.zst
< usr/lib/modules/6.8.0-45-generic/kernel/drivers/gpu/drm/tiny/ili9163.ko.zst
< usr/lib/modules/6.8.0-45-generic/kernel/drivers/gpu/drm/tiny/ili9225.ko.zst
< usr/lib/modules/6.8.0-45-generic/kernel/drivers/gpu/drm/tiny/ili9341.ko.zst
< usr/lib/modules/6.8.0-45-generic/kernel/drivers/gpu/drm/tiny/ili9486.ko.zst
< usr/lib/modules/6.8.0-45-generic/kernel/drivers/gpu/drm/tiny/mi0283qt.ko.zst
< usr/lib/modules/6.8.0-45-generic/kernel/drivers/gpu/drm/tiny/panel-mipi-dbi.ko.zst
< usr/lib/modules/6.8.0-45-generic/kernel/drivers/gpu/drm/tiny/repaper.ko.zst
< usr/lib/modules/6.8.0-45-generic/kernel/drivers/gpu/drm/tiny/st7586.ko.zst
< usr/lib/modules/6.8.0-45-generic/kernel/drivers/gpu/drm/tiny/st7735r.ko.zst
< usr/lib/modules/6.8.0-45-generic/kernel/drivers/gpu/drm/ttm
< usr/lib/modules/6.8.0-45-generic/kernel/drivers/gpu/drm/ttm/ttm.ko.zst
< usr/lib/modules/6.8.0-45-generic/kernel/drivers/gpu/drm/vboxvideo
< usr/lib/modules/6.8.0-45-generic/kernel/drivers/gpu/drm/vboxvideo/vboxvideo.ko.zst
< usr/lib/modules/6.8.0-45-generic/kernel/drivers/gpu/drm/virtio
< usr/lib/modules/6.8.0-45-generic/kernel/drivers/gpu/drm/virtio/virtio-gpu.ko.zst
654,671d521
< usr/lib/modules/6.8.0-45-generic/kernel/drivers/md
< usr/lib/modules/6.8.0-45-generic/kernel/drivers/md/dm-bio-prison.ko.zst
< usr/lib/modules/6.8.0-45-generic/kernel/drivers/md/dm-bufio.ko.zst
< usr/lib/modules/6.8.0-45-generic/kernel/drivers/md/dm-cache-smq.ko.zst
< usr/lib/modules/6.8.0-45-generic/kernel/drivers/md/dm-cache.ko.zst
< usr/lib/modules/6.8.0-45-generic/kernel/drivers/md/dm-crypt.ko.zst
< usr/lib/modules/6.8.0-45-generic/kernel/drivers/md/dm-log.ko.zst
< usr/lib/modules/6.8.0-45-generic/kernel/drivers/md/dm-mirror.ko.zst
< usr/lib/modules/6.8.0-45-generic/kernel/drivers/md/dm-raid.ko.zst
< usr/lib/modules/6.8.0-45-generic/kernel/drivers/md/dm-region-hash.ko.zst
< usr/lib/modules/6.8.0-45-generic/kernel/drivers/md/dm-snapshot.ko.zst
< usr/lib/modules/6.8.0-45-generic/kernel/drivers/md/dm-thin-pool.ko.zst
< usr/lib/modules/6.8.0-45-generic/kernel/drivers/md/persistent-data
< usr/lib/modules/6.8.0-45-generic/kernel/drivers/md/persistent-data/dm-persistent-data.ko.zst
< usr/lib/modules/6.8.0-45-generic/kernel/drivers/md/raid0.ko.zst
< usr/lib/modules/6.8.0-45-generic/kernel/drivers/md/raid1.ko.zst
< usr/lib/modules/6.8.0-45-generic/kernel/drivers/md/raid10.ko.zst
< usr/lib/modules/6.8.0-45-generic/kernel/drivers/md/raid456.ko.zst
1219d1068
< usr/lib/modules/6.8.0-45-generic/kernel/drivers/platform/x86/thinkpad_acpi.ko.zst
1379a1229,1235
> usr/lib/modules/6.8.0-45-generic/kernel/drivers/ufs/host
> usr/lib/modules/6.8.0-45-generic/kernel/drivers/ufs/host/cdns-pltfrm.ko.zst
> usr/lib/modules/6.8.0-45-generic/kernel/drivers/ufs/host/tc-dwc-g210-pci.ko.zst
> usr/lib/modules/6.8.0-45-generic/kernel/drivers/ufs/host/tc-dwc-g210.ko.zst
> usr/lib/modules/6.8.0-45-generic/kernel/drivers/ufs/host/ufshcd-dwc.ko.zst
> usr/lib/modules/6.8.0-45-generic/kernel/drivers/ufs/host/ufshcd-pci.ko.zst
> usr/lib/modules/6.8.0-45-generic/kernel/drivers/ufs/host/ufshcd-pltfrm.ko.zst
1442,1446d1297
< usr/lib/modules/6.8.0-45-generic/kernel/drivers/video/fbdev
< usr/lib/modules/6.8.0-45-generic/kernel/drivers/video/fbdev/vga16fb.ko.zst
< usr/lib/modules/6.8.0-45-generic/kernel/drivers/video/vgastate.ko.zst
< usr/lib/modules/6.8.0-45-generic/kernel/drivers/virtio
< usr/lib/modules/6.8.0-45-generic/kernel/drivers/virtio/virtio_dma_buf.ko.zst
1479d1329
< usr/lib/modules/6.8.0-45-generic/kernel/lib/842/842_compress.ko.zst
1484,1488d1333
< usr/lib/modules/6.8.0-45-generic/kernel/lib/crypto
< usr/lib/modules/6.8.0-45-generic/kernel/lib/crypto/libchacha.ko.zst
< usr/lib/modules/6.8.0-45-generic/kernel/lib/crypto/libcurve25519-generic.ko.zst
< usr/lib/modules/6.8.0-45-generic/kernel/lib/crypto/libdes.ko.zst
< usr/lib/modules/6.8.0-45-generic/kernel/lib/crypto/libpoly1305.ko.zst
```
Additionally, will attach a content of
diffoscope_working_faulty_diff.txt to the ticket, because it is too
large
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to initramfs-tools in Ubuntu.
https://bugs.launchpad.net/bugs/2081700
Title:
Can't boot from encrypted volume after initramfs-tools=0.142ubuntu25.3
update
Status in initramfs-tools package in Ubuntu:
New
Bug description:
# Expected
After an update to `initramfs-tools` from 0.142ubuntu25.2 to 0.142ubuntu25.3 I can boot my system from an encrypted root volume.
# What happened instead
After an update to `initramfs-tools` from 0.142ubuntu25.2 to 0.142ubuntu25.3, I could no longer boot my system.
The error I was getting is this after entering the correct password:
```
device-mapper: table: 252:0: crypt: unknown target type
device-mapper: ioctl: error adding target to table
device-mapper: reload ioctl on test (252:0) failed: Invalid argument
```
I managed to add set -x to the initramfs scripts, which showed me the
command it uses that leads to this error:
```
/sbin/cryptsetup -T1 --allow-discards '--type=luks' '--key-file=-' open -- /dev/nvme0n1p3 test
```
And my `/etc/crypttab` looks like this:
```
test UUID=9a6218aa-6e36-4f0d-8567-770af1274240 none luks,discard
```
I also tried to add "break" to the kernel line and set up luks
manually via the initramfs shell, which led to the same error.
After quite a significant amount of time randomly trying to load
modules without success, I decided to check what had changed after my
last successful boot in terms of packages. One of the few upgrades was
the one mentioned at the beginning. So I downgraded `initramfs-tools`
back to 0.142ubuntu25.2, it regenerated the image, and the system
booted successfully.
Below you can find additional data about my setup.
I use an LVM setup on top of a luks-encrypted volume. Here is the
overall layout:
```
/dev/nvme0n1p2 on /boot type ext4
/dev/nvme0n1p1 on /boot/efi type vfat
```
Here is the data about my luks setup:
```
# cryptsetup luksDump /dev/nvme0n1p3
<...skipped...>
Data segments:
0: crypt
offset: 16777216 [bytes]
length: (whole device)
cipher: aes-xts-plain64
sector: 512 [bytes]
Keyslots:
0: luks2
Key: 512 bits
Priority: normal
Cipher: aes-xts-plain64
Cipher key: 512 bits
PBKDF: argon2id
<...skipped...>
```
Link to the changes in the broken version of the package:
https://bugs.launchpad.net/ubuntu/+source/initramfs-tools/0.142ubuntu25.3
Kernel versions I tried it with: 6.8.0-44-generic and 6.8.0-45-generic
OS: Ubuntu 24.04.1 LTS
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/initramfs-tools/+bug/2081700/+subscriptions
More information about the foundations-bugs
mailing list