Take the 2-minute tour ×

I recently installed Arch Linux on a USB hard drive with disk encryption via dm_crypt. Everything is working fine on the system I set everything up on (my laptop) but when I try to boot to it from my desktop it does not work properly: it boots up fine, finds GRUB and allows me to make a selection, etc. but after I make my selection and it begins loading the OS the keyboard stops responding (no text entry, cannot toggle lock keys, but the cursor on-screen continues to blink) and thus I am unable to enter the dm_crypt password and finish booting.

How can I make the keyboard work/be detected properly? Is a standard USB keyboard.

share|improve this question
add comment

1 Answer

Your /boot partition is not encrypted, and this partition contains the initramfs your system uses at boot time.

On your laptop, all is well. On your desktop, your keyboard hardware differs from the initial boot environment you have configured for the laptop. So:

  1. Boot your laptop with your USB flash drive.
  2. Edit file /etc/mkinitcpio.conf and add usbinput to the HOOKS section.
  3. Run:

    $ sudo mkinitcpio -p linux

    (Modify the -p linux parameter here, if you are using a non-standard kernel.)

This last step will rebuild your kernel (with no change) and also the boot-time initramfs environment. Building initramfs with this additional hook makes a USB keyboard available when you need it for key entry.

Boot-time behavior of your laptop keyboard will remain unchanged, and now your desktop with it's keyboard will work for you, too.

share|improve this answer
add comment

Your Answer


