Fixing the bug referenced in the follow-up message's subject uncovered another issue that will keep freshly-installed disk images from booting successfully, but it's a step in the right direction.
If anyone knows how to tell dracut to not resolve devices in order to write out devexists-whatever systemd unit files, I'd love to hear about it. Ideally, what I'd like is a way to push resolution of fstab device specs to boot time (as opposed to initramfs creation time).
GRUB2's magic doesn't work on /dev/mapper/<name>, but it does fine with /dev/loop0. --- pyanaconda/bootloader.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/pyanaconda/bootloader.py b/pyanaconda/bootloader.py index 55a93a2..7d1c7bb 100644 --- a/pyanaconda/bootloader.py +++ b/pyanaconda/bootloader.py @@ -645,7 +645,13 @@ class BootLoader(object): continue
if self.is_valid_stage1_device(device): - self.stage1_device = device + if flags.imageInstall and device.isDisk: + # GRUB2 will install to /dev/loop0 but not to + # /dev/mapper/<image_name> + self.stage1_device = device.parents[0] + else: + self.stage1_device = device + break
if not self.stage1_device:
On Wed, Sep 25, 2013 at 06:44:46PM -0500, David Lehman wrote:
GRUB2's magic doesn't work on /dev/mapper/<name>, but it does fine with /dev/loop0.
pyanaconda/bootloader.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/pyanaconda/bootloader.py b/pyanaconda/bootloader.py index 55a93a2..7d1c7bb 100644 --- a/pyanaconda/bootloader.py +++ b/pyanaconda/bootloader.py @@ -645,7 +645,13 @@ class BootLoader(object): continue
if self.is_valid_stage1_device(device):
self.stage1_device = device
if flags.imageInstall and device.isDisk:
# GRUB2 will install to /dev/loop0 but not to
# /dev/mapper/<image_name>
self.stage1_device = device.parents[0]
else:
self.stage1_device = device
break if not self.stage1_device:
-- 1.8.1.4
ACK
anaconda-patches@lists.fedorahosted.org