You are not logged in.

#1 2015-12-31 00:01:07

piemonkey
Member
Registered: 2015-12-28
Posts: 14

[Solved] Failing to ask for encrypted root password on fresh install

I'm trying to get Arch up and running on my shiny new laptop, but I'm stuck when trying to boot my new install.

I've put my root on an LVM volume inside a LUKS container, when I try to boot I get a "A start job is running for dev-mapper-storage\x2droot.device" message which times out, and it never asks me to enter the passphrase. Understandably it then times out and fails to start. Unfortunately because it hasn't got a root partition it can't then fall back to a prompt so I just get errors.

I've got /boot set to be the (FAT32) EFI partition and it looks like it's reading this fine. From the liveUSB I can decrypt the LUKS, map the volume correctly to /dev/mapper/storage-root, mount this as /mnt, mount the EFI partition as /mnt/boot, chroot in and everything looks fine.

Any thoughts on what I can do to get to an actual prompt to diagnose this further?

Here's my systemd-boot config file (in /boot/loader/entries/arch.conf):

title Arch
linux /vmlinuz-linux
initrd /initramfs-linux.img
options cryptdevice=UUID=34c0e43d-252f-47fa-9430-827515e835e1:storage root=/dev/mapper/storage-root rw

Here's my /etc/mkinitcpio.conf:

MODULES=""
BINARIES=""
FILES=""
HOOKS="base systemd sd-vconsole keymap keyboard sd-encrypt sd-lvm2 fsck resume filesystems"

My /etc/fstab (actually from a VM, let me know if you want the real one but it's much the same except /dev/nvme0n1pX instead of sdaX in the comments, generated using genfstab):

# /dev/mapper/storage-root
UUID=dfb9b980-edef-4857-b4b4-909ba67d8cdd	/         	ext4      	rw,relatime,data=ordered	0 1

# /dev/sda1
UUID=B4D6-069E      	/boot     	vfat      	rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro	0 2

Here's a screenshot I got from reproducing the setup in a VM:
https://imgur.com/K7N6ZBi.png

Apologies if I've left anything out, this is my first time outside of the cuddly graphical installer world of Ubuntu and I'm a bit lost without a terminal to look for logs.




--  read the Forum Etiquette and only post thumbnails http://wiki.archlinux.org/index.php/For … s_and_code [jwr] --

Last edited by piemonkey (2016-01-03 16:07:53)

Offline

#2 2015-12-31 00:11:47

jasonwryan
Anarchist
From: .nz
Registered: 2009-05-09
Posts: 30,424
Website

Re: [Solved] Failing to ask for encrypted root password on fresh install

It is probably no longer necessary, but I always explicitly add the necessary modules to my initrd:

MODULES="vfat ext4 dm_mod dm_crypt aes_x86_64 i915"

The real /etc/fstab is necessary as it is your UUID that is of interest.


Arch + dwm   •   Mercurial repos  •   Surfraw

Registered Linux User #482438

Offline

#3 2015-12-31 00:18:17

loqs
Member
Registered: 2014-03-06
Posts: 17,416

Re: [Solved] Failing to ask for encrypted root password on fresh install

I dont think sd-encrypt uses the cryptdevice parameter.  Mkinitcpio#Common_hooks see the installation entry for the sd-encrypt hook
--
edit: grammar

Last edited by loqs (2015-12-31 00:21:15)

Offline

#4 2016-01-01 18:48:47

piemonkey
Member
Registered: 2015-12-28
Posts: 14

Re: [Solved] Failing to ask for encrypted root password on fresh install

Didn't have access to the machine last night, here are the files from the real machine rather than VM.

loqs, you're correct, I've switched it to use what I think is the correct rd.luks.name parameter. I'm now getting 3 start-jobs when I try to boot. See screenshot from VM for the messages. Unfortunately I can't get a screen from the actual machine to have the UUIDs correct.

Real systemd-boot config:

title     Arch Linux
linux     /vmlinuz-linux
initrd    /initramfs-linux.img
options   rd.luks.name=19b46185-ff72-40ee-b92a-c6b4dbc31d01=lvm root=/dev/mapper/storage-root quiet rw

Real /etc/fstab

# /dev/mapper/storage-root                                                                                                                                                                                                                                    
UUID=7106e72e-6dfc-4970-aa97-a0528ae84667       /               ext4            rw,relatime,data=ordered        0 1

# /dev/nvme0n1p1 LABEL=ESP
UUID=2624-57F4          /boot           vfat            rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro    0 2

Also here's the output of lsblk if you want to verify UUIDs (taken from a working Ubuntu install on /dev/nvme0n1p6):

NAME                         FSTYPE      LABEL      UUID                                   MOUNTPOINT
nvme0n1                                                                                    
├─nvme0n1p1                  vfat        ESP        2624-57F4                              /mnt/boot
├─nvme0n1p2                  vfat        EFI        7E53-9AC1                              
├─nvme0n1p3                  ext2                   0e04a77c-086b-4909-958d-7b1db7ef1970   
├─nvme0n1p4                  ntfs        WINRETOOLS A89E29D89E29A034                       
├─nvme0n1p5                  ntfs        Image      36A82A4BA82A0A47                       
├─nvme0n1p6                  ext4                   b9148d1d-9495-43de-b0d9-5fb6a44e9009   /
├─nvme0n1p7                  swap                   71f7ddec-46b3-477d-8293-75495e40f0ef   [SWAP]
└─nvme0n1p8                  crypto_LUKS            19b46185-ff72-40ee-b92a-c6b4dbc31d01   
  └─lvm                      LVM2_member            mq380l-T2e4-sSj7-XTeU-rHe8-0Od1-bOHg0f 
    └─storage-root           ext4                   7106e72e-6dfc-4970-aa97-a0528ae84667   /mnt

Screenshot from VM of new start-job messages:
https://i.imgur.com/isXpceG.png



--  read the Forum Etiquette and only post thumbnails http://wiki.archlinux.org/index.php/For … s_and_code [jwr] --

Offline

#5 2016-01-01 19:35:33

loqs
Member
Registered: 2014-03-06
Posts: 17,416

Re: [Solved] Failing to ask for encrypted root password on fresh install

Not sure I understand fully what you can and can not access so apologies if the following is not viable.
the correct UUID can be found from

#cryptsetup luksUUID /dev/path/to/partition

Have you tried using /etc/crypttab.initramfs instead of the passing options from the bootloader?  It is same format as crypttab so you could specify by path instead of UUID if needed then regenerate the ram disk to have the file included.

Offline

#6 2016-01-01 22:33:58

piemonkey
Member
Registered: 2015-12-28
Posts: 14

Re: [Solved] Failing to ask for encrypted root password on fresh install

I have a working Ubuntu install on another partition or I can use a liveUSB, but have no working console when trying to boot Arch, so can't check for logs.

cryptsetup luksUUID gets me 19b46185-ff72-40ee-b92a-c6b4dbc31d01

I tried using this in /etc/crypttab.initramfs with no luck:

storage-root   UUID=19b46185-ff72-40ee-b92a-c6b4dbc31d01

Is there anything I've missed in order to allow systemd-boot to prompt for my password? The fact that it's not dropping to a shell makes me think that this is where the problem lies.

Offline

#7 2016-01-01 22:56:49

loqs
Member
Registered: 2014-03-06
Posts: 17,416

Re: [Solved] Failing to ask for encrypted root password on fresh install

I can not see why that would not work but can you try instead

storage-root /dev/disk/by-uuid/19b46185-ff72-40ee-b92a-c6b4dbc31d01 none

Last edited by loqs (2016-01-01 22:57:16)

Offline

#8 2016-01-02 19:34:16

piemonkey
Member
Registered: 2015-12-28
Posts: 14

Re: [Solved] Failing to ask for encrypted root password on fresh install

I've managed to figure out a way past this, I think it was down to the order of hooks in mkinitcpio.conf. I've now got the following which results in a working prompt for decryption password:

MODULES=""
BINARIES=""
FILES=""
HOOKS="base keyboard udev systemd sd-vconsole autodetect modconf pcmcia block sd-encrypt sd-lvm2 filesystems fsck"

Frustratingly this works perfectly on my VM but on my real machine it ends up with a blank screen. Trying to boot to rescue shell fails but using emergency shell works. This means I can actually get some logs, given that I've now solved the issue that I named this thread for, should I put the new problem in a new thread?

Offline

#9 2016-01-02 19:49:22

loqs
Member
Registered: 2014-03-06
Posts: 17,416

Re: [Solved] Failing to ask for encrypted root password on fresh install

piemonkey wrote:

I've managed to figure out a way past this, I think it was down to the order of hooks in mkinitcpio.conf. I've now got the following which results in a working prompt for decryption password:

MODULES=""
BINARIES=""
FILES=""
HOOKS="base keyboard udev systemd sd-vconsole autodetect modconf pcmcia block sd-encrypt sd-lvm2 filesystems fsck"

Do not think you need the udev hook with the systemd hook but if it is not doing any harm.

piemonkey wrote:

Frustratingly this works perfectly on my VM but on my real machine it ends up with a blank screen. Trying to boot to rescue shell fails but using emergency shell works. This means I can actually get some logs, given that I've now solved the issue that I named this thread for, should I put the new problem in a new thread?

Yes probably best to start a new thread if a search does not find any existing threads on the same issue.  If it is the 3.3 kernel there seem to be issues with the skylake GPU causing a blank screen and the nvidia 304x series is incompatible.

Offline

#10 2016-01-03 08:29:43

esa
Member
Registered: 2011-12-29
Posts: 143
Website

Re: [Solved] Failing to ask for encrypted root password on fresh install

Have you set the root partition to be encrypted in /etc/default/grub::GRUB_LINUX_CMDLINE?
And have you set the crypted disks/partitions (other than root!!) in /etc/crypttab too?

hth

EDIT:

GRUB_CMDLINE_LINUX="cryptdevice=/dev/sdaXY:arch-root"
## As in:
GRUB_CMDLINE_LINUX="cryptdevice=/dev/sda1:arch"

Last edited by esa (2016-01-03 08:33:11)


Author of: TUI (Text User Interface for scripts), VHS (Video Handler Script, using ffmpeg) and YASSI (Yet Another Simple Script Installer)

Offline

#11 2016-01-03 16:03:22

piemonkey
Member
Registered: 2015-12-28
Posts: 14

Re: [Solved] Failing to ask for encrypted root password on fresh install

loqs wrote:

Do not think you need the udev hook with the systemd hook but if it is not doing any harm.

Cool, I'll try out removing it. I was kinda going for the 'it probably won't do any harm and I'm not sure that I don't need it' approach.

loqs wrote:

If it is the 3.3 kernel there seem to be issues with the skylake GPU causing a blank screen and the nvidia 304x series is incompatible.

Thanks loads for this, it was exactly that problem. For now I've downgraded to 4.2 as I couldn't get the fix to work but this saved me a lot of searching around. I now have a working system smile

esa wrote:

Have you set the root partition to be encrypted in /etc/default/grub::GRUB_LINUX_CMDLINE?

Thanks for the help but I'm just using systemd-boot, not grub. I've got my system working now.

Offline

#12 2016-01-05 02:42:41

charli3
Member
Registered: 2015-06-01
Posts: 45

Re: [Solved] Failing to ask for encrypted root password on fresh install

@piemonkey I've been having the same problem with the Sky Lake gpu.  In addition to downgrading I've found that installing the linux-mainline from the AUR also works.  Relevant thread here: https://bbs.archlinux.org/viewtopic.php?id=206970

Offline

#13 2016-01-26 22:07:53

piemonkey
Member
Registered: 2015-12-28
Posts: 14

Re: [Solved] Failing to ask for encrypted root password on fresh install

piemonkey wrote:
loqs wrote:

Do not think you need the udev hook with the systemd hook but if it is not doing any harm.

Cool, I'll try out removing it. I was kinda going for the 'it probably won't do any harm and I'm not sure that I don't need it' approach.

Forgot to mention this was actually causing a problem, about 50% of the time I got a blank screen when booting. I think this was partly why it took so long to figure out how to get things working.

Offline

Board footer

Powered by FluxBB