You are not logged in.

#1 2016-07-20 14:44:24

Noah-Huppert
Guest

[SOLVED] dm-cypt luks container, "Waiting 10 seconds" boot error

I just recently completed an install of Arch with a dm-crypt luks container, following the beginners guide and some addition instructions from the dm-crypt encrypting root fs guide.

The issue arose when I went to boot. I am using rEFInd, so here is my `refind.conf`:

menuentry Arch {
	loader /mvlinuz-linux
	initrd /initramfs-linux.img
	volume 7a5d13fb-044c-4853-a1e3-d69b68cdf8ea
	options "cryptdevice=UUID=7a5d13fb-044c-4853-a1e3-d69b68cdf8ea:cryptroot root=/dev/mapper/cryptroot"
	ostype Linux
}

Here is my boot output:

:: running early hook [udev]
starting version 230
:: running hook [udev]
:: Triggering uevents...
:: running hook [encrypt]
Waiting 10 seconds for device /dev/disk/by-uuid/7a5d13fb-044c-4853-a1e3-d69b68cdf8ea
Waiting 10 seconds for device /dev/mapper/cryptroot ...
ERROR: device '/dev/mapper/cryptroot' not found. Skipping fsck.
ERROR: Unable to find root device '/dev/mapper/cryptroot'.
You are being dropped to a recovery shell
	Type 'exit' to try and continue booting
sh: can't access tty; job control turned off
[rootfs ]#

Here is my `mkinitcpio.conf`:

MODULES=""
BINARIES=""
FILES=""
HOOKS="base udev autodetect modconf block encrypt filesystem keyboard fsck"

Output of me verifying I have the correct PARTUUID:

root@archiso ~ # lsblk --output="NAME,PARTUUID"
NAME        PARTUUID
sda
|-sda1      <Ommited b/c copying output from picture>
|-sda2      <Ommited b/c copying output from picture>
sdb
|-sdb1      <Ommited b/c copying output from picture>
|-sdb2      <Ommited b/c copying output from picture>
|-sdb3      <Ommited b/c copying output from picture>
|-sdb4      <Ommited b/c copying output from picture>
|-sdb5      <Ommited b/c copying output from picture>
|-sdb6      <Ommited b/c copying output from picture>
|-sdb7      7a5d13fb-044c-4853-a1e3-d69b68cdf8ea

root@archiso ~ # cryptsetup open /dev/sdb7 cryptroot
Enter passphrase for /dev/sdb7:
root@archiso ~ # mount /dev/mapper/cryptroot /mnt
root@archiso ~ # ls /mnt
bin boot dev etc home lib lib64 lost+found mnt opt proc root run sbin srv sys tmp usr var

What I have tried so far:
- Confirming that I typed the PART GUID correctly
- Adding the `ext4` extension to `mkinitcpio.conf` and rebuilding
- Removing `encrypt` hook from `mkinitcpio.conf` and rebuilding, then adding back and rebuilding
- Using rEFInd's auto generated entry for Arch (Didn't work, no surprise there)
- Changing the `volume` field in the Arch rEFInd menu entry to use a `PARTLABEL` (After adding a `PARTLABEL` of course)
- A fair ammount of internet searching, some other person had this issue but they solved it by switching to GRUB
- Confirming that the encrypt hook is in the correct place in the `mkcpioinit.conf` file.
    - I think it is, I just put `encrypt` right before the `filesystem` hook in the default file

If you need any more information don't hesitate to ask.

Last edited by Noah-Huppert (2016-07-20 15:28:56)

#2 2016-07-20 14:50:58

frostschutz
Member
Registered: 2013-11-15
Posts: 1,573

Re: [SOLVED] dm-cypt luks container, "Waiting 10 seconds" boot error

[rootfs ]#

Try `ls -l /dev/disk/by-uuid/` here what is the output? If nothing then also `cat /proc/partitions` something missing there?

It looks like it does not even find your LUKS container UUID. Triple check for typos.

Is it a custom kernel?

Last edited by frostschutz (2016-07-20 14:51:47)

Offline

#3 2016-07-20 15:27:43

Noah-Huppert
Guest

Re: [SOLVED] dm-cypt luks container, "Waiting 10 seconds" boot error

frostschutz wrote:

Try `ls -l /dev/disk/by-uuid/`

[rootfs ]#  ls -l /dev/disk/by-uuid
lrwxrwxrwx    1 0    0    10 Jul 20 15:06 <Omitted b/c from picture> -> ../../sda5
lrwxrwxrwx    1 0    0    10 Jul 20 15:06 <Omitted b/c from picture> -> ../../sda1
lrwxrwxrwx    1 0    0    10 Jul 20 15:06 21816777-4e56-4f5f-bef7-956b6dbdba9c -> ../../sda7
lrwxrwxrwx    1 0    0    10 Jul 20 15:06 <Omitted b/c from picture> -> ../../sd6
lrwxrwxrwx    1 0    0    10 Jul 20 15:06 <Omitted b/c from picture> -> ../../sda3
lrwxrwxrwx    1 0    0    10 Jul 20 15:06 <Omitted b/c from picture> -> ../../sda4
frostschutz wrote:

also `cat /proc/partitions`

Output as expected, showed sda1-7

frostschutz wrote:

custom kernel?

no.

Upon viewing the output of `ls -l /dev/disk/by-uuid` I noted that the UUID I have been using in the `refind.conf` file was not present. Instead a new UUID(21816777-4e56-4f5f-bef7-956b6dbdba9c) was shown for the `sda7` partition. I booted up and switched around the refind file to use the new UUID. I have successfully logged in to my new arch install.

Just out of curiosity, why does the `lsblk --output="NAME,PARTUUID" not show the correct UUID? Do I need to look at the output of another command? Or am I looking at the wrong field?

#4 2016-07-20 16:05:07

loqs
Member
Registered: 2014-03-06
Posts: 18,628

Re: [SOLVED] dm-cypt luks container, "Waiting 10 seconds" boot error

Noah-Huppert wrote:

Just out of curiosity, why does the `lsblk --output="NAME,PARTUUID" not show the correct UUID? Do I need to look at the output of another command? Or am I looking at the wrong field?

See

$ lsblk --help
Usage:
 lsblk [options] [<device> ...]

List information about block devices.

Options:
 -a, --all            print all devices
 -b, --bytes          print SIZE in bytes rather than in human readable format
 -d, --nodeps         don't print slaves or holders
 -D, --discard        print discard capabilities
 -e, --exclude <list> exclude devices by major number (default: RAM disks)
 -f, --fs             output info about filesystems
 -i, --ascii          use ascii characters only
 -I, --include <list> show only devices with specified major numbers
 -J, --json           use JSON output format
 -l, --list           use list format output
 -m, --perms          output info about permissions
 -n, --noheadings     don't print headings
 -o, --output <list>  output columns
 -O, --output-all     output all columns
 -p, --paths          print complete device path
 -P, --pairs          use key="value" output format
 -r, --raw            use raw output format
 -s, --inverse        inverse dependencies
 -S, --scsi           output info about SCSI devices
 -t, --topology       output info about topology
 -x, --sort <column>  sort output by <column>

 -h, --help     display this help and exit
 -V, --version  output version information and exit

Available columns (for --output):
        NAME  device name
       KNAME  internal kernel device name
     MAJ:MIN  major:minor device number
      FSTYPE  filesystem type
  MOUNTPOINT  where the device is mounted
       LABEL  filesystem LABEL
        UUID  filesystem UUID
    PARTTYPE  partition type UUID
   PARTLABEL  partition LABEL
    PARTUUID  partition UUID
   PARTFLAGS  partition flags
          RA  read-ahead of the device
          RO  read-only device
          RM  removable device
     HOTPLUG  removable or hotplug device (usb, pcmcia, ...)
       MODEL  device identifier
      SERIAL  disk serial number
        SIZE  size of the device
       STATE  state of the device
       OWNER  user name
       GROUP  group name
        MODE  device node permissions
   ALIGNMENT  alignment offset
      MIN-IO  minimum I/O size
      OPT-IO  optimal I/O size
     PHY-SEC  physical sector size
     LOG-SEC  logical sector size
        ROTA  rotational device
       SCHED  I/O scheduler name
     RQ-SIZE  request queue size
        TYPE  device type
    DISC-ALN  discard alignment offset
   DISC-GRAN  discard granularity
    DISC-MAX  discard max bytes
   DISC-ZERO  discard zeroes data
       WSAME  write same max bytes
         WWN  unique storage identifier
        RAND  adds randomness
      PKNAME  internal parent kernel device name
        HCTL  Host:Channel:Target:Lun for SCSI
        TRAN  device transport type
  SUBSYSTEMS  de-duplicated chain of subsystems
         REV  device revision
      VENDOR  device vendor

For more details see lsblk(8).

From the above PARTUUID = partition UUID,  UUID = filesystem UUID
Edit:
Added additional UUID to make last sentence more parseable.

Last edited by loqs (2016-07-20 16:06:48)

Offline

#5 2016-07-20 16:30:14

Noah-Huppert
Guest

Re: [SOLVED] dm-cypt luks container, "Waiting 10 seconds" boot error

loqs wrote:
Noah-Huppert wrote:

Just out of curiosity, why does the `lsblk --output="NAME,PARTUUID" not show the correct UUID? Do I need to look at the output of another command? Or am I looking at the wrong field?

See

$ lsblk --help
Usage:
 lsblk [options] [<device> ...]

List information about block devices.

Options:
 -a, --all            print all devices
 -b, --bytes          print SIZE in bytes rather than in human readable format
 -d, --nodeps         don't print slaves or holders
 -D, --discard        print discard capabilities
 -e, --exclude <list> exclude devices by major number (default: RAM disks)
 -f, --fs             output info about filesystems
 -i, --ascii          use ascii characters only
 -I, --include <list> show only devices with specified major numbers
 -J, --json           use JSON output format
 -l, --list           use list format output
 -m, --perms          output info about permissions
 -n, --noheadings     don't print headings
 -o, --output <list>  output columns
 -O, --output-all     output all columns
 -p, --paths          print complete device path
 -P, --pairs          use key="value" output format
 -r, --raw            use raw output format
 -s, --inverse        inverse dependencies
 -S, --scsi           output info about SCSI devices
 -t, --topology       output info about topology
 -x, --sort <column>  sort output by <column>

 -h, --help     display this help and exit
 -V, --version  output version information and exit

Available columns (for --output):
        NAME  device name
       KNAME  internal kernel device name
     MAJ:MIN  major:minor device number
      FSTYPE  filesystem type
  MOUNTPOINT  where the device is mounted
       LABEL  filesystem LABEL
        UUID  filesystem UUID
    PARTTYPE  partition type UUID
   PARTLABEL  partition LABEL
    PARTUUID  partition UUID
   PARTFLAGS  partition flags
          RA  read-ahead of the device
          RO  read-only device
          RM  removable device
     HOTPLUG  removable or hotplug device (usb, pcmcia, ...)
       MODEL  device identifier
      SERIAL  disk serial number
        SIZE  size of the device
       STATE  state of the device
       OWNER  user name
       GROUP  group name
        MODE  device node permissions
   ALIGNMENT  alignment offset
      MIN-IO  minimum I/O size
      OPT-IO  optimal I/O size
     PHY-SEC  physical sector size
     LOG-SEC  logical sector size
        ROTA  rotational device
       SCHED  I/O scheduler name
     RQ-SIZE  request queue size
        TYPE  device type
    DISC-ALN  discard alignment offset
   DISC-GRAN  discard granularity
    DISC-MAX  discard max bytes
   DISC-ZERO  discard zeroes data
       WSAME  write same max bytes
         WWN  unique storage identifier
        RAND  adds randomness
      PKNAME  internal parent kernel device name
        HCTL  Host:Channel:Target:Lun for SCSI
        TRAN  device transport type
  SUBSYSTEMS  de-duplicated chain of subsystems
         REV  device revision
      VENDOR  device vendor

For more details see lsblk(8).

From the above PARTUUID = partition UUID,  UUID = filesystem UUID
Edit:
Added additional UUID to make last sentence more parseable.

Thank you very much. Guess I just jumped the gun and used the first parameter with `UUID` I saw.

Board footer

Powered by FluxBB