[Bug 556167] Re: vmbuilder uses parted to create disk images, which leads to broken sector counts (cannot use grub2 on disk images created by vmbuilder/parted)
Kees Cook
kees at ubuntu.com
Wed Nov 16 18:41:34 UTC 2011
Hm, I don't agree. I think the problem is in libparted/arch/linux.c
init_file():
dev->bios_geom.sectors = 32;
vs _device_probe_geometry() which defaults to what the LBA reports or:
dev->bios_geom.sectors = 63;
So, when vmbuilder uses parted to build the disk, parted treats the disk
file differently than it would a real LBA mode drive. Fixing this is the
core cause of the problem, as far as I see it.
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to parted in Ubuntu.
https://bugs.launchpad.net/bugs/556167
Title:
vmbuilder uses parted to create disk images, which leads to broken
sector counts (cannot use grub2 on disk images created by
vmbuilder/parted)
Status in “parted” package in Ubuntu:
Confirmed
Status in “vm-builder” package in Ubuntu:
Confirmed
Bug description:
parted uses a fixed sector count of "32" when writing partitions to a
non-block device. (See init_file() via linux_new() in
libparted/arch/linux.c) As a result, the track size of disks created
with vmbuilder is 32 sectors, not the generally expected 63 sectors
(used with LBA mode). This means that the "embedding region" between
the end of the MBR and the start of partition 1 is half the "normal"
size, and grub2 will not install.
/usr/sbin/grub-setup: warn: Your embedding area is unusually small.
core.img won't fit in it..
Fastest solution I see is to use an environment override as already
done in init_file() for sector size. Perhaps PARTED_SECTORS? And
then set this to 63 when calling parted from vm-builder.
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/parted/+bug/556167/+subscriptions
More information about the foundations-bugs
mailing list