Saturday, January 18, 2014

LUKS not Mounting


I've had my share of problem with linux installations before, but the worst are always on my laptop. I did an update using Fedora's new updating tool dnf, and I kept getting scriptlet failures. This was ok after a couple of man pages and rebuilding the rpm data base all was good, at least I thought. I didn't realize anything was a miss until my GUI stopped functioning. So, after a little frustration with no keyboard or mouse, I got to the laptop reboot.
As the laptop came backup, it got stuck on mounting the LUKS partitions. See all my partitions are encrypted besides /boot and /boot/efi. So, no /, no /home, no /var and no swap, nothing was mounting. I pulled out my cell phone and started searching the net for possible solutions. The updates with the scriptlets not running was cause by a miss configured SELinux I found. I found nothing that related to my problem, but I did find a similar description of the situation dealing with thin LVM installations. The work around was to boot the machine with a cd mount the file system and chroot it.

chroot /mnt/sysimage/ /bin/bash, then run dracut -f, exit and reboot. SELinux would have to relabel the partitions and all would be as good as new. Not!
The reason this problem existed was because dracut was never able to update the initramfs with the scriptlet that never ran. Second, dracut if you don't specify the kernel you want the initramfs build for, dracut will build it for the running one.

 Yes, you guessed it first time around, the initramfs was built for the kernel on the install dvd for Fedora 20. After more man pages, and pulling what little hair I have left out, I found the answer. It is “dracut –kver (kernel version) –force”. The command will build the correct initramfs and since it's forced, you will not get any warnings about over writing the old one.