* Unable to boot with encrypted swap
@ 2013-05-14 2:43 Michael Chapman
[not found] ` <alpine.LFD.2.03.1305141241010.30473-N07bVqg5a7VBDLzU/O5InQ@public.gmane.org>
0 siblings, 1 reply; 10+ messages in thread
From: Michael Chapman @ 2013-05-14 2:43 UTC (permalink / raw)
To: initramfs-u79uwXL29TY76Z2rM5mHXA
Hello,
I am using Fedora 19's dracut-027-45.git20130430.
I have what is possibly an unusual configuration: my swap and /home are
encrypted, however my root filesystem is not. In /etc/crypttab I have
configured LUKS to take the swap volume's password from /dev/urandom; it
also has the "swap" flag so that it is mkswap'ed during boot.
The problem I am experiencing is that my initramfs hangs waiting for the
swap device to appear.
As of commit dd5875499ece9dbc90e10eafd0073ee15d0c86a4, it looks like
Dracut adds discovered swap partitions to the list of devices to wait for.
However since my root filesystem itself is not encrypted, no crypto
components are actually installed into the initramfs. The end result is
that this volume never appears, and so the initramfs never continues on.
I am not sure of the background behind this commit. Is there a real need
to wait for swap during initramfs? Won't this just be picked up later by
systemd?
Should Dracut just skip swap partitions that are encrypted? Or should it
detect the existence of an encrypted swap partition and treat it as it
would an encrypted root?
For now, I've had to revert that commit on my system for it to be able to
boot.
Regards,
Michael
^ permalink raw reply [flat|nested] 10+ messages in thread[parent not found: <alpine.LFD.2.03.1305141241010.30473-N07bVqg5a7VBDLzU/O5InQ@public.gmane.org>]
* Re: Unable to boot with encrypted swap [not found] ` <alpine.LFD.2.03.1305141241010.30473-N07bVqg5a7VBDLzU/O5InQ@public.gmane.org> @ 2013-05-14 3:06 ` Joseph D. Wagner [not found] ` <5191AA29.3010107-d25e1lPyJDacX41WfeyM6aHonnlKzd3f@public.gmane.org> 0 siblings, 1 reply; 10+ messages in thread From: Joseph D. Wagner @ 2013-05-14 3:06 UTC (permalink / raw) To: Michael Chapman; +Cc: initramfs-u79uwXL29TY76Z2rM5mHXA On 05/13/2013 07:43 PM, Michael Chapman wrote: > Hello, > > I am using Fedora 19's dracut-027-45.git20130430. > > I have what is possibly an unusual configuration: my swap and /home > are encrypted, however my root filesystem is not. In /etc/crypttab I > have configured LUKS to take the swap volume's password from > /dev/urandom; it also has the "swap" flag so that it is mkswap'ed > during boot. > > The problem I am experiencing is that my initramfs hangs waiting for > the swap device to appear. > > As of commit dd5875499ece9dbc90e10eafd0073ee15d0c86a4, it looks like > Dracut adds discovered swap partitions to the list of devices to wait > for. However since my root filesystem itself is not encrypted, no > crypto components are actually installed into the initramfs. The end > result is that this volume never appears, and so the initramfs never > continues on. > > I am not sure of the background behind this commit. Is there a real > need to wait for swap during initramfs? Won't this just be picked up > later by systemd? > > Should Dracut just skip swap partitions that are encrypted? Or should > it detect the existence of an encrypted swap partition and treat it as > it would an encrypted root? > > For now, I've had to revert that commit on my system for it to be able > to boot. > > Regards, > Michael > I'm pretty sure this is needed for resume-from-suspend. My money is on a configuration problem. I'd be happy to take a look. Please post: /etc/crypttab /etc/fstab /proc/partitions /proc/cmdline output from `blkid' ^ permalink raw reply [flat|nested] 10+ messages in thread
[parent not found: <5191AA29.3010107-d25e1lPyJDacX41WfeyM6aHonnlKzd3f@public.gmane.org>]
* Re: Unable to boot with encrypted swap [not found] ` <5191AA29.3010107-d25e1lPyJDacX41WfeyM6aHonnlKzd3f@public.gmane.org> @ 2013-05-14 3:22 ` Michael Chapman [not found] ` <alpine.LFD.2.03.1305141317480.30473-N07bVqg5a7VBDLzU/O5InQ@public.gmane.org> 2013-05-14 3:27 ` Michael Chapman 2013-05-16 8:17 ` Colin Guthrie 2 siblings, 1 reply; 10+ messages in thread From: Michael Chapman @ 2013-05-14 3:22 UTC (permalink / raw) To: Joseph D. Wagner; +Cc: initramfs-u79uwXL29TY76Z2rM5mHXA On Mon, 13 May 2013, Joseph D. Wagner wrote: > I'm pretty sure this is needed for resume-from-suspend. My money is on a > configuration problem. I'd be happy to take a look. Wonderful! First, I should point out I've also got LVM: LV VG Attr LSize Pool Origin Data% Move Log Copy% Convert home ogopogo -wi-ao--- 31.46g root ogopogo -wi-ao--- 31.46g swap ogopogo -wi-ao--- 8.39g So /etc/crypttab references these LVs: luks-home /dev/ogopogo/home none luks-swap /dev/ogopogo/swap /dev/urandom swap And /etc/fstab references the swap volume by device mapper name (can't use UUID, of course, since that changes on each mkswap): UUID=c73aa277-ff32-42d0-a6f1-681694ba7b36 / ext4 defaults 1 1 UUID=009ef157-66a8-42cb-869e-436244f39ca2 /boot ext4 defaults 1 2 UUID=1400-EDC0 /boot/efi vfat defaults,umask=0077,shortname=winnt 0 0 UUID=50c2abf5-84b0-4752-b527-e94b82b208f8 /home ext4 defaults 1 2 /dev/mapper/luks-swap swap swap defaults 0 0 /proc/partitions: major minor #blocks name 8 0 175825944 sda 8 1 204800 sda1 8 2 512000 sda2 8 3 74768384 sda3 11 0 1048575 sr0 253 0 32985088 dm-0 253 1 32985088 dm-1 253 2 8794112 dm-2 253 3 8794112 dm-3 253 4 32983040 dm-4 /proc/cmdline: BOOT_IMAGE=/vmlinuz-3.9.1-301.fc19.x86_64 root=/dev/mapper/ogopogo-root ro rhgb quiet ^ permalink raw reply [flat|nested] 10+ messages in thread
[parent not found: <alpine.LFD.2.03.1305141317480.30473-N07bVqg5a7VBDLzU/O5InQ@public.gmane.org>]
* Re: Unable to boot with encrypted swap [not found] ` <alpine.LFD.2.03.1305141317480.30473-N07bVqg5a7VBDLzU/O5InQ@public.gmane.org> @ 2013-05-14 3:53 ` Joseph D. Wagner [not found] ` <5191B539.9000705-d25e1lPyJDacX41WfeyM6aHonnlKzd3f@public.gmane.org> 0 siblings, 1 reply; 10+ messages in thread From: Joseph D. Wagner @ 2013-05-14 3:53 UTC (permalink / raw) To: Michael Chapman; +Cc: initramfs-u79uwXL29TY76Z2rM5mHXA On 05/13/2013 08:22 PM, Michael Chapman wrote: > On Mon, 13 May 2013, Joseph D. Wagner wrote: >> I'm pretty sure this is needed for resume-from-suspend. My money is >> on a configuration problem. I'd be happy to take a look. > > Wonderful! First, I should point out I've also got LVM: > > LV VG Attr LSize Pool Origin Data% Move Log Copy% > Convert > home ogopogo -wi-ao--- 31.46g > root ogopogo -wi-ao--- 31.46g > swap ogopogo -wi-ao--- 8.39g > > So /etc/crypttab references these LVs: > > luks-home /dev/ogopogo/home none > luks-swap /dev/ogopogo/swap /dev/urandom swap > > And /etc/fstab references the swap volume by device mapper name (can't > use UUID, of course, since that changes on each mkswap): > > UUID=c73aa277-ff32-42d0-a6f1-681694ba7b36 / ext4 > defaults 1 1 > UUID=009ef157-66a8-42cb-869e-436244f39ca2 /boot ext4 > defaults 1 2 > UUID=1400-EDC0 /boot/efi vfat > defaults,umask=0077,shortname=winnt 0 0 > UUID=50c2abf5-84b0-4752-b527-e94b82b208f8 /home ext4 > defaults 1 2 > /dev/mapper/luks-swap swap swap > defaults 0 0 > > /proc/partitions: > > major minor #blocks name > > 8 0 175825944 sda > 8 1 204800 sda1 > 8 2 512000 sda2 > 8 3 74768384 sda3 > 11 0 1048575 sr0 > 253 0 32985088 dm-0 > 253 1 32985088 dm-1 > 253 2 8794112 dm-2 > 253 3 8794112 dm-3 > 253 4 32983040 dm-4 > > /proc/cmdline: > > BOOT_IMAGE=/vmlinuz-3.9.1-301.fc19.x86_64 > root=/dev/mapper/ogopogo-root ro rhgb quiet /dev/ogopogo might not be available at that point in the boot process. I must admit that I don't fully understand the rules that go into udev. I would try changing the second entry in your crypttab file to the UUID of the underlying device. For example, my crypttab looks like this: swap UUID=bfd3a748-bfcd-49dd-992e-d061847ef33d none userdata1 UUID=c2119916-20e6-45f2-87d7-26012cefba59 none userdata2 UUID=2e8d7701-7b52-4ebc-b62f-8bd2774457bf none In my case, the UUID is the luks UUID, but I *believe* it can be the UUID of the underlying device. See here for examples: http://ubuntuforums.org/showthread.php?t=1080760 Be sure to regenerate your initramfs after changing your crypttab file. If this doesn't fix it for you, then I'm out of ideas. Sorry, but I'm not the most knowledgeable person on this list. Joseph D. Wagner ^ permalink raw reply [flat|nested] 10+ messages in thread
[parent not found: <5191B539.9000705-d25e1lPyJDacX41WfeyM6aHonnlKzd3f@public.gmane.org>]
* Re: Unable to boot with encrypted swap [not found] ` <5191B539.9000705-d25e1lPyJDacX41WfeyM6aHonnlKzd3f@public.gmane.org> @ 2013-05-14 7:28 ` Michael Chapman [not found] ` <alpine.LFD.2.03.1305141717040.30473-N07bVqg5a7VBDLzU/O5InQ@public.gmane.org> 0 siblings, 1 reply; 10+ messages in thread From: Michael Chapman @ 2013-05-14 7:28 UTC (permalink / raw) To: Joseph D. Wagner; +Cc: initramfs-u79uwXL29TY76Z2rM5mHXA On Mon, 13 May 2013, Joseph D. Wagner wrote: > /dev/ogopogo might not be available at that point in the boot process. I > must admit that I don't fully understand the rules that go into udev. Well, if /dev/ogopogo isn't available then neither is my root filesystem in the same volume group... and I've got bigger problems if that's the case. :-) I'll fiddle around with this a bit more, but I'm pretty sure it's not just a simple configuration issue. Dracut simply doesn't think I need LUKS in the initramfs, since none of the devices it examines resolves to an fs type of "crypto_LUKS". And now that I look at that blkid output again, I can see that /dev/ogopogo/swap (which should have that type) is completely missing. Why would that be the case? To be honest, I don't particularly care if my swap is prepared in the initramfs or later on during boot, so I don't actually *need* LUKS in the initramfs. But if LUKS isn't there, I certainly don't want it the initramfs to wait around for a LUKS device that's never going to appear. - Michael ^ permalink raw reply [flat|nested] 10+ messages in thread
[parent not found: <alpine.LFD.2.03.1305141717040.30473-N07bVqg5a7VBDLzU/O5InQ@public.gmane.org>]
* Re: Unable to boot with encrypted swap [not found] ` <alpine.LFD.2.03.1305141717040.30473-N07bVqg5a7VBDLzU/O5InQ@public.gmane.org> @ 2013-05-14 7:47 ` Michael Chapman 0 siblings, 0 replies; 10+ messages in thread From: Michael Chapman @ 2013-05-14 7:47 UTC (permalink / raw) To: Joseph D. Wagner; +Cc: initramfs-u79uwXL29TY76Z2rM5mHXA On Tue, 14 May 2013, Michael Chapman wrote: > And now that I look at that blkid output again, I can see that > /dev/ogopogo/swap (which should have that type) is completely missing. Why > would that be the case? OK, at least that wasn't difficult to find out. /dev/ogopogo/swap is a "plain" crypto device, not a LUKS device. That makes sense, because the whole point of encrypted swap is that it's ephemeral. It doesn't need the LUKS on-disk format. So really, I think the right approach here would be for Dracut to detect that a swap device like this is ephemeral and that it doesn't need activation during initramfs... or if this isn't possible, perhaps an fstab option so that Dracut can skip it (I don't want to use "noauto", of course, since I still want the swap to be activated on boot). - Michael ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: Unable to boot with encrypted swap [not found] ` <5191AA29.3010107-d25e1lPyJDacX41WfeyM6aHonnlKzd3f@public.gmane.org> 2013-05-14 3:22 ` Michael Chapman @ 2013-05-14 3:27 ` Michael Chapman 2013-05-16 8:17 ` Colin Guthrie 2 siblings, 0 replies; 10+ messages in thread From: Michael Chapman @ 2013-05-14 3:27 UTC (permalink / raw) To: Joseph D. Wagner; +Cc: initramfs-u79uwXL29TY76Z2rM5mHXA On Mon, 13 May 2013, Joseph D. Wagner wrote: > output from `blkid' Sorry, I missed this in my previous email. Output from blkid: /dev/sda1: SEC_TYPE="msdos" UUID="1400-EDC0" TYPE="vfat" PARTLABEL="EFI System Partition" PARTUUID="f600b7a0-dc4c-4c62-8c32-29b753877072" /dev/sda2: UUID="009ef157-66a8-42cb-869e-436244f39ca2" TYPE="ext4" PARTUUID="1da28ac9-df4f-42c2-8988-df0d5add947d" /dev/sda3: UUID="vpNiek-T840-JH8E-phcM-BUgl-zNeX-70HDuW" TYPE="LVM2_member" PARTUUID="d1bd9da9-ee3c-45be-8960-921f1cb4dfec" /dev/mapper/ogopogo-root: LABEL="root" UUID="c73aa277-ff32-42d0-a6f1-681694ba7b36" TYPE="ext4" /dev/mapper/ogopogo-home: UUID="92b64e79-7b00-401a-ba83-e2fe5fa828f4" TYPE="crypto_LUKS" /dev/mapper/luks-swap: UUID="e553888c-42f0-42ff-ac78-ab90b5562f41" TYPE="swap" /dev/mapper/luks-home: LABEL="home" UUID="50c2abf5-84b0-4752-b527-e94b82b208f8" TYPE="ext4" Thanks, Michael ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: Unable to boot with encrypted swap [not found] ` <5191AA29.3010107-d25e1lPyJDacX41WfeyM6aHonnlKzd3f@public.gmane.org> 2013-05-14 3:22 ` Michael Chapman 2013-05-14 3:27 ` Michael Chapman @ 2013-05-16 8:17 ` Colin Guthrie 2013-05-17 1:38 ` Michael Chapman 2 siblings, 1 reply; 10+ messages in thread From: Colin Guthrie @ 2013-05-16 8:17 UTC (permalink / raw) To: initramfs-u79uwXL29TY76Z2rM5mHXA 'Twas brillig, and Joseph D. Wagner at 14/05/13 04:06 did gyre and gimble: > > On 05/13/2013 07:43 PM, Michael Chapman wrote: >> Hello, >> >> I am using Fedora 19's dracut-027-45.git20130430. >> >> I have what is possibly an unusual configuration: my swap and /home >> are encrypted, however my root filesystem is not. In /etc/crypttab I >> have configured LUKS to take the swap volume's password from >> /dev/urandom; it also has the "swap" flag so that it is mkswap'ed >> during boot. >> >> The problem I am experiencing is that my initramfs hangs waiting for >> the swap device to appear. >> >> As of commit dd5875499ece9dbc90e10eafd0073ee15d0c86a4, it looks like >> Dracut adds discovered swap partitions to the list of devices to wait >> for. However since my root filesystem itself is not encrypted, no >> crypto components are actually installed into the initramfs. The end >> result is that this volume never appears, and so the initramfs never >> continues on. >> >> I am not sure of the background behind this commit. Is there a real >> need to wait for swap during initramfs? Won't this just be picked up >> later by systemd? >> >> Should Dracut just skip swap partitions that are encrypted? Or should >> it detect the existence of an encrypted swap partition and treat it as >> it would an encrypted root? >> >> For now, I've had to revert that commit on my system for it to be able >> to boot. >> >> Regards, >> Michael >> > > I'm pretty sure this is needed for resume-from-suspend. My money is on > a configuration problem. I'd be happy to take a look. Yeah it's almost certainly only for resume from suspend. Sadly this is controlled by the resume= kernel command line and when the initrd is generated it doesn't really know if it'll be needed or not. I think you're right when you say that it should also include the necessary bits to init swap and it should simply not do that at run time if no resume= is detected. Sadly such a complex swap setup is likely not on the radar as of now (will need a few patches). What I can't understand is why it actually waits. It should timeout can carry on (I remember writing patches to remove the wait_for_device job but my memory is fuzzy) if the swap doesn't appear. It would be interesting to get the /etc/fstab and /etc/cmdline.d/* files from the initrd itself. Possibly the hooks folder too. That way we can see exactly what it's waiting for. Assuming there is nothing sensitive on it, perhaps you can just upload the initrd somewhere? Col -- Colin Guthrie gmane(at)colin.guthr.ie http://colin.guthr.ie/ Day Job: Tribalogic Limited http://www.tribalogic.net/ Open Source: Mageia Contributor http://www.mageia.org/ PulseAudio Hacker http://www.pulseaudio.org/ Trac Hacker http://trac.edgewall.org/ ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: Unable to boot with encrypted swap 2013-05-16 8:17 ` Colin Guthrie @ 2013-05-17 1:38 ` Michael Chapman [not found] ` <alpine.LFD.2.03.1305171058310.30473-N07bVqg5a7VBDLzU/O5InQ@public.gmane.org> 0 siblings, 1 reply; 10+ messages in thread From: Michael Chapman @ 2013-05-17 1:38 UTC (permalink / raw) To: Colin Guthrie; +Cc: initramfs-u79uwXL29TY76Z2rM5mHXA On Thu, 16 May 2013, Colin Guthrie wrote: > Yeah it's almost certainly only for resume from suspend. Sadly this is > controlled by the resume= kernel command line and when the initrd is > generated it doesn't really know if it'll be needed or not. I think Dracut could use the the "swap" flag in crypttab to determine that a volume is definitely not needed on boot, since this tells systemd-cryptsetup that the swap needs to be recreated on boot. And since this is a "plain" dm-crypt encrypted device, the (randomly generated) encryption key isn't dropped from the kernel on hibernation -- so, I don't think the initrd needs to touch it upon resuming from hibernation either. (Ensuring the hibernation image itself isn't on the encrypted swap is a different problem altogether, of course. I haven't looked into how this might be done yet.) > It would be interesting to get the /etc/fstab and /etc/cmdline.d/* files > from the initrd itself. Possibly the hooks folder too. That way we can > see exactly what it's waiting for. Assuming there is nothing sensitive > on it, perhaps you can just upload the initrd somewhere? No problem. Here are the "bad" and "good" initramfs's respectively: http://michael.beta.anchortrove.com/bad-initramfs-3.9.1-301.fc19.x86_64.img http://michael.beta.anchortrove.com/good-initramfs-3.9.1-301.fc19.x86_64.img Regards, Michael ^ permalink raw reply [flat|nested] 10+ messages in thread
[parent not found: <alpine.LFD.2.03.1305171058310.30473-N07bVqg5a7VBDLzU/O5InQ@public.gmane.org>]
* Re: Unable to boot with encrypted swap [not found] ` <alpine.LFD.2.03.1305171058310.30473-N07bVqg5a7VBDLzU/O5InQ@public.gmane.org> @ 2013-05-28 11:43 ` Harald Hoyer 0 siblings, 0 replies; 10+ messages in thread From: Harald Hoyer @ 2013-05-28 11:43 UTC (permalink / raw) To: Michael Chapman; +Cc: Colin Guthrie, initramfs-u79uwXL29TY76Z2rM5mHXA On 05/17/2013 03:38 AM, Michael Chapman wrote: > On Thu, 16 May 2013, Colin Guthrie wrote: >> Yeah it's almost certainly only for resume from suspend. Sadly this is >> controlled by the resume= kernel command line and when the initrd is >> generated it doesn't really know if it'll be needed or not. > > I think Dracut could use the the "swap" flag in crypttab to determine that a > volume is definitely not needed on boot, since this tells systemd-cryptsetup > that the swap needs to be recreated on boot. And since this is a "plain" > dm-crypt encrypted device, the (randomly generated) encryption key isn't dropped > from the kernel on hibernation -- so, I don't think the initrd needs to touch it > upon resuming from hibernation either. fixed with commit bcfbddefe13d179d553da77cf66ada5e6fd804c8 Thanks for reporting! ^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2013-05-28 11:43 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-05-14 2:43 Unable to boot with encrypted swap Michael Chapman
[not found] ` <alpine.LFD.2.03.1305141241010.30473-N07bVqg5a7VBDLzU/O5InQ@public.gmane.org>
2013-05-14 3:06 ` Joseph D. Wagner
[not found] ` <5191AA29.3010107-d25e1lPyJDacX41WfeyM6aHonnlKzd3f@public.gmane.org>
2013-05-14 3:22 ` Michael Chapman
[not found] ` <alpine.LFD.2.03.1305141317480.30473-N07bVqg5a7VBDLzU/O5InQ@public.gmane.org>
2013-05-14 3:53 ` Joseph D. Wagner
[not found] ` <5191B539.9000705-d25e1lPyJDacX41WfeyM6aHonnlKzd3f@public.gmane.org>
2013-05-14 7:28 ` Michael Chapman
[not found] ` <alpine.LFD.2.03.1305141717040.30473-N07bVqg5a7VBDLzU/O5InQ@public.gmane.org>
2013-05-14 7:47 ` Michael Chapman
2013-05-14 3:27 ` Michael Chapman
2013-05-16 8:17 ` Colin Guthrie
2013-05-17 1:38 ` Michael Chapman
[not found] ` <alpine.LFD.2.03.1305171058310.30473-N07bVqg5a7VBDLzU/O5InQ@public.gmane.org>
2013-05-28 11:43 ` Harald Hoyer
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.