Subject: bug#19190: Cannot boot with encrypted root

From: [email-masked] (Ludovic Courtès)
Date: Wed, 26 Nov 2014 10:55:03 +0100

Thanks for the report.  Let’s address the initrd/boot issue first.

Nikita Karetnikov <[email-masked]> skribis:

> After pressing the ‘F10’ key, I get a password prompt.

Any message after entering the password prompt?

> And after that, a bunch of warnings about ‘/dev/mapper/main’:
>
> ext2fs_check_if_mount: Can’t check if filesystem is mounted due to
> missing mtab file while determining whether /dev/mapper/main is mounted.
> fsck.ext3: No such file or directory while trying to open
> /dev/mapper/main
> Possibly non-existent device?
> ‘fsck.ext3’ exited with code 8 on /dev/mapper/main; spawning REPL

It looks like ‘cryptsetup open’ simply failed, and ‘boot-system’
currently ignores that error, so it goes up to the file system check as
shown above, which in turn fails and gets us to the debugger.

Perhaps you could try running ‘cryptsetup’ by hand from the REPL.
That’s going to be a bit tedious; something like:

  (use-modules (srfi srfi-1) (ice-9 ftw))
  (define cs (find (lambda (file)
                     (string-contains file "cryptsetup"))
                   (scandir "/gnu/store")))
  (system* (string-append "/gnu/store/" cs "/bin/cryptsetup")
           "open" "--type" "luks" "/dev/whatever" "main")

Then, please report the return value of ‘system*’, and check

  (file-exists? "/dev/mapper/main")

Please also report any messages.

Thanks in advance!

Ludo’.