LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Slackware (http://www.linuxquestions.org/questions/slackware-14/)
-   -   Trouble shooting boot failure with uefi+lvm on luks (http://www.linuxquestions.org/questions/slackware-14/trouble-shooting-boot-failure-with-uefi-lvm-on-luks-4175486438/)

Phorize 12-01-2013 05:48 AM

Trouble shooting boot failure with uefi+lvm on luks
 
Hi all. I have a machine with the following configuration:

/dev/sda1 EFI partition
/dev/sda2 ext2 partition mounting /boot
/dev/sda3 luks partioning containing lv group with separate swap, home and root partitions.

The boot currently fails when elilo starts-it's expecting to find /dev/crypt/root but that's not mounted.

I built an initrd.gz (using output from mkinitrd_command_generator.sh)-it installed to /boot

In the absence of documentation that sets out exactly how elilo expects to handle invoking the initrd.gz I assumed that I needed to ensure that /boot was unencrypted so that the initrd could handle the fully encrypted /dev/sda3.

elilo.conf in /boot/efi/EFI/slackware has the initrd set to /boot/initrd.gz and the kernel set to /boot/vmlinuz-generic-3.10.17

This is probably obvious to those of you who have played around with elilo and encrypted partitions, but having looked at the elili documentation, the rest of the stuff on rodsbooks and the uefi/dmcrypt docs on in the slackware tree I am well and truly stumped.

What do we think?

tux_dude 12-01-2013 09:51 AM

What was the mkinitrd command used and the content of /etc/crypttab?

mostlyharmless 12-02-2013 03:56 PM

Quote:

I built an initrd.gz (using output from mkinitrd_command_generator.sh)-it installed to /boot
Yes, I had the same problem; I had to manually modify the mkinitrd command. You can see what I did in my blog, hope it's helpful: http://www.linuxquestions.org/questi...rmless-386558/

metageek 12-02-2013 04:52 PM

Quote:

Originally Posted by Phorize (Post 5073320)
I built an initrd.gz (using output from mkinitrd_command_generator.sh)-it installed to /boot

Most likely you will have to add -L to the command line suggested by mkinitrd_command_generator.sh . This has been a problem that has affected many.

natharran 12-02-2013 07:35 PM

Quote:

Originally Posted by Phorize (Post 5073320)
I built an initrd.gz (using output from mkinitrd_command_generator.sh)-it installed to /boot

In my experience, mkinitrd_command_generator.sh doesn't usually give very good advice (well, it probably does on very standard installations, but I have always had to modify the suggested command due to encryption and other funny things).

Based on your post I would guess that the correct command could be
Code:

mkinitrd -c -k <your kernel> -m <all colon separated modules you need, especially your root filesystem> -f <your root filesystem> -r /dev/crypt/root -C /dev/sda3 -L -u
You may also try to move your kernel and initrd.gz to the EFI partition and adjust the elilo.conf accordingly (perhaps it's not necessary, I don't know whether elilo can look to other partitions with different filesystems directly but it's where I have my boot data and all works well).

Hope some of this helps you :).

Phorize 12-04-2013 03:33 PM

OK, this one was strange. There was nothing wrong with the mkinitrd options-it was correct for all the necessary modules, the relevant partitions and encryption. The elilo.conf gave the correct location for the kernel and the initrd.gz. I don't see anything wrong with the partitioning-you can't mount the the efi partition unless /boot is accessible, so that's OK. I've never played around with elilo before so it might be that I'm missing something obvious, i just can't see that though. I decided to call it a day and revert to lilo/mbr-perhaps I'll revisit this when 14.2 comes out:)

Thank you all for your offers of help. It's always good to know that the LQ Slackware community has got your back.


All times are GMT -5. The time now is 08:37 AM.