User:Narical

From ArchWiki

Booting from USB 3 media

If Linux is refusing to boot from USB3-drive, this usually caused by the lack of USB3 (XHCI) drivers in the Linux' initrd image.

  • First you have to configure a USB3-enabled initrd
/etc/mkinitcpio.conf
...
# MODULES
# The following modules are loaded before any boot hooks are run. 
MODULES="ext2 xfs dm_mod xhci-hcd"
...
  • Create new initrd image
$ mkinitcpio -p linux
Warning: You need to call this on a PC with a USB3 interface - otherwise mkinitcpio might remove the "unnecessary" driver when crating the initrd.
  • Explicitly tell the kernel to load and use USB3-modules
Note: Following example is for systemd-boot - please adapt accordingly for Grub and other bootloaders
/boot/loader/entries/arch.conf
title           Archlinux Live USB
linux           /vmlinuz-linux
initrd          /initramfs-linux.img
options         root=PARTLABEL=root rw earlymodules=xhci_hcd modules-load=xhci_hcd

Source: [1].