Can't enter cryptsetup password on MacBook Pro 2017 (MacBookPro14,1) due to missing kernel modules in initramfs
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
initramfs-tools (Ubuntu) |
Fix Released
|
High
|
Unassigned | ||
Mantic |
Fix Released
|
Undecided
|
Unassigned |
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
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.
After installing the updated initramfs-tools package, your current initramfs should be automatically rebuilt and pick up the kernel modules:
$ lsinitramfs /boot/initrd.
usr/lib/
usr/lib/
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 2df78bbb143884b
I had a look into how dracut handles it. Turns out that they specifically include "spi_pxa2xx_
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!
description: | updated |
tags: | added: patch |
tags: | removed: foundations-todo |
Changed in initramfs-tools (Ubuntu): | |
assignee: | Benjamin Drung (bdrung) → nobody |
Thank you for taking the time to report this bug and helping to make Ubuntu better. You did a great job of investigating it.
Commit 2df78bbb143884b 9601a32608e12e4 3d40ccb0b0 and we should do the same as dracut did.