You are not logged in.
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
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.
Offline
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
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
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
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
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
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
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.
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
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)
Offline
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.
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
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
@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
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