-
Notifications
You must be signed in to change notification settings - Fork 119
Description
Description:
On Apple Silicon M1 (Asahi Linux), booting with kernel 6.18.10 breaks USB in early boot.
When the root filesystem is on a USB SSD, the system drops into the initramfs/emergency shell because the root device is not found. The USB bus is not enumerated at all in early boot.
This works reliably with 6.17.12, but fails with 6.18.10.
Observed behavior (6.18.10):
Kernel: 6.18.10-1-1-ARCH (aarch64, Asahi)
In early boot / initramfs:
/sys/bus/usb/devices is empty
/sys/class/scsi_host is empty
No /dev/sdX devices appear
dmesg shows:
usbcore, usb-storage, and uas drivers are registered
xhci_hcd and xhci_plat_hcd initcalls run
But no USB root hub / host is actually registered and no devices are enumerated
Result: root=UUID=… on USB cannot be found, boot drops to emergency shell.
Expected behavior:
USB host controller should be initialized in early boot
USB bus should appear in /sys/bus/usb/devices
USB storage should be enumerated and /dev/sdX should appear
Booting with root on USB should work (as it does on 6.17.12)
Regression:
6.17.12: USB root works, USB is enumerated normally in early boot
6.18.10: USB host not enumerated in early boot, USB root impossible
Additional notes:
The same USB SSD works fine with 6.18.10 when booting from internal NVMe and mounting the device later (i.e. USB works in the fully booted system).
This appears to be specific to early boot / initramfs / host controller bring-up.
Boot bundle (m1n1/DTBs) was updated and verified; the correct ESP is used.
The kernel version actually booted is confirmed via uname -a.
dmesg (early boot) shows xhci_hcd init but no actual host/bus registration.
Hardware:
Apple Silicon MacBook Pro M1 (Asahi Linux)
USB SSD: Silicon Motion / Feiya bridge (VID:PID 090c:2320)
(But the issue seems to be at host controller level, not storage/UAS.)
Steps to reproduce:
Install Asahi Linux with root filesystem on a USB SSD.
Boot with kernel 6.18.10. → System drops to emergency shell: root device not found.
Check:
/sys/bus/usb/devices → empty
/sys/class/scsi_host → empty
Boot same setup with kernel 6.17.12 → USB root works.