Da hat man nun einen neuen, schnellen USB3-Stick - und das Linux will davon nicht booten. Erst wenn man den in einen USB2-Port steckt funktioniert's.
Das liegt dann meistens daran, dass die USB3 (XHCI) Treiber in der INITRD fehlen. Diese muss man zuerst einmal mit in die INITRD einkonfigurieren |
You finally have acquired a shiny new USB3 stick - and Linux is mulishly refusing to boot from it - until you start it in a (slower) USB2 port.
This usually is caused by the lack of USB3 (XHCI) drivsers in the Linux' INITRD. You first have to configure a USB3-enabled XINITRD |
# /etc/mkinitcpio.conf [...] # MODULES # The following modules are loaded before any boot hooks are run. MODULES="ext2 xfs dm_mod xhci-hcd" [...] |
und dann eine INITRD erzeugen mit
mkinitcpio -p linux" Dieser Aufruf miss auf einem PC mit USB3-Interface stattfinden - sonst optimiert mkintcpio den USB3-Treiber schnell aus der Initrd weg. Damit die dann auch beim Booten mit gezogen werden, müssen die entsprechende Treiber auch in der Kernel-Commandline des Bootloaders mitgestartet werden - hier am Beispiel von Syslinux. Für Grub u.ä. muss das entsprechend analog in die Konfiguration eingetragen werden. |
...and the create the INITRD with the command
mkinitcpio -p linux" You need to call this on a PC with a USB3 interface - otherwise mkinitcpio might remove the "unnecessary" driver when crating the initrd. Just creating the XINITRD unfortunately is not enough - you have to explicitly tell the Linux kernel to load and use those XHCI modules. The following example is for Syslinux - please adapt accordingly for Grub and other bootloaders. |
# /noot/syslinux/syslinux.cfg [...] LABEL arch MENU LABEL Arch Linux LINUX ../vmlinuz-linux APPEND root=/dev/sda2 rw earlymodules=xhci_hcd modules-load=xhci_hcd INITRD ../intel-ucode.img,../initramfs-linux.img [...] |