You are not logged in.

#1 2018-03-11 17:24:49

boojum
Member
From: /dev/null
Registered: 2013-09-23
Posts: 44
Website

[SOLVED] Encrypted boot (usb) and root(hdd), root not being mounted

It's a simple setup with encrypted root on /dev/sda1 and encrypted boot on /dev/sdc1. GRUB is installed to /dev/sdc. Booting and initramfs works fine, but root just hangs there. Not even a password prompt. Here are the steps to replicate:

# sda=hdd, sdc=usb
parted -s /dev/sda mklabel msdos
parted -s /dev/sda mkpart primary ext4 1MB 100%
parted -s /dev/sdc mklabel msdos
parted -s /dev/sdc mkpart primary ext2 1M 200M

cryptsetup luksFormat /dev/sda1
cryptsetup luksFormat /dev/sdc1
cryptsetup open /dev/sda1 toor
cryptsetup open /dev/sdc1 toob

mkfs.ext4 /dev/mapper/toor
mkfs.ext2 /dev/mapper/toob
mount /dev/mapper/toor /mnt
mkdir /mnt/boot
mount /dev/mapper/toob /mnt/boot

pacstarp /mnt base grub
genfstab -Up /mnt >> /mnt/etc/fstab
arch-chroot /mnt

sed -i "s#^HOOKS=.*#HOOKS=(base systemd autodetect keyboard modconf block sd-encrypt filesystems btrfs)#g"
mkinitcpio -p linux

echo "GRUB_ENABLE_CRYPTODISK=y" >> /etc/default/grub
sed -i "s#^GRUB_CMDLINE_LINUX=.*#GRUB_CMDLINE_LINUX=\"luks.uuid=$(blkid /dev/sda1 -s UUID -o value)\"#g" /etc/default/grub
grub-install --target=i386-pc --recheck /dev/sdc
grub-mkconfig -o /boot/grub/grub.cfg

After inputting the password for boot systemd is trying to open something...

A start job is running for dev-disk-by\x2duuid-20a9e1dt\x2dccbd\x2d4b16\x2da2f2\x2d31653a7f45c6.device

... but it times out, and then just hangs. The UUID from the above message is that of /dev/mapper/toor, as opposed to /dev/sda1 UUID used in mkinitcpio.conf. This (my foolish assumption) is the problem. Any idea how to correct this?

Solution was trivial: use rd.luks.uuid instead of luks.uuid in mkinitcpio.conf...

edit: added note about systemd timing out and discrepancy with UUIDs.
edit2: solution!

Last edited by boojum (2018-03-11 19:25:00)

Offline

Board footer

Powered by FluxBB