[Bug 2042710] Re: Can't enter cryptsetup password on MacBook Pro 2017 (MacBookPro14, 1) due to missing kernel modules in initramfs
Ubuntu Foundations Team Bug Bot
2042710 at bugs.launchpad.net
Wed Nov 15 12:16:02 UTC 2023
** Tags added: patch
--
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/2042710
Title:
Can't enter cryptsetup password on MacBook Pro 2017 (MacBookPro14,1)
due to missing kernel modules in initramfs
Status in initramfs-tools package in Ubuntu:
Fix Committed
Status in initramfs-tools source package in Mantic:
New
Bug description:
[ Impact ]
I have a MacBook Pro 2017 (MacBookPro14,1) with an encrypted root
partition, which I decrypt via passphrase during boot, at the "Please
unlock disk nvme0n1p4_crypt" prompt.
Using 23.04 "Lunar" this worked fine. However after upgrading to 23.10
"Mantic", the built-in keyboard doesn't work for entering the
passphrase.
Quickest workaround: plug in a USB keyboard for entering the
passphrase.
Workaround: add the following modules to "/etc/initramfs-
tools/modules":
spi_pxa2xx_platform
intel_lpss_pci
... then "sudo update-initramfs -u".
I found that both kernel modules were required to get the keyboard
recognised in initramfs.
[ Test Plan ]
The -generic kernel and probably all kernel flavors contain the SPI and PCI driver (on amd64). On mantic systems, you can verify the current initrd doesn't contain these modules by decompressing the initramfs and listing its files:
$ lsinitramfs /boot/initrd.img-6.5.0-10-generic | grep 'spi-pxa2xx-platform\|intel-lpss-pci'
After installing the updated initramfs-tools package, your current initramfs should be automatically rebuilt and pick up the kernel modules:
$ lsinitramfs /boot/initrd.img-6.5.0-10-generic | grep 'spi-pxa2xx-platform\|intel-lpss-pci'
usr/lib/modules/6.5.0-10-generic/kernel/drivers/mfd/intel-lpss-pci.ko.zst
usr/lib/modules/6.5.0-10-generic/kernel/drivers/spi/spi-pxa2xx-platform.ko.zst
Test case on MacBook Pro 2017 laptops: Remove all previous
workarounds. Install the fixed initramfs-tools version. Then the
keyboard should work during boot to enter the passphrase.
[ Where problems could occur ]
This is making the initramfs slightly bigger. In my testing, both
added were 23,852 bytes in total (or 0.02 % on a 102 MB initramfs).
[ Remaining original report ]
I did a bit of digging into what changed for 23.10. It could
potentially (?) be commit 2df78bbb143884b9601a32608e12e43d40ccb0b0 "Do
not install ARM/RISCV specific modules on other architectures".
I had a look into how dracut handles it. Turns out that they
specifically include "spi_pxa2xx_platform" after reporting a similar
bug report in Fedora:
https://bugzilla.redhat.com/show_bug.cgi?id=2166209
I don't know how (if?) they handle the 2nd module, "intel_lpss_pci".
Anyway, I don't need an immediate fix since the workaround works for
me. Just posting this for further investigation, and for any other
MacBook Pro users in the same situation. Thanks for working on Ubuntu,
I think you're all amazing!
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/initramfs-tools/+bug/2042710/+subscriptions
More information about the foundations-bugs
mailing list