[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] running pygrub on split-partition disk layouts.
On Fri, Nov 21, 2014 at 02:18:26PM +0000, Ian Campbell wrote: > An absolute age ago Michael posted a patch to allow pygrub to work with > split-partition layouts (i.e. those where the guests disk cfg refers to > xvda1, xvda2, etc rather than an xvda with a partition table). See > http://lists.xen.org/archives/html/xen-devel/2011-01/msg02076.html > (patch itself is below). > > Apparently at the time I was of the opinion that this was a reasonable > workaround for the underlying issue (although I seem to have thought I > had a better solution, not so sure right now...). > > I'm not sure why it didn't go in (in the likely event I just dropped the > ball -- sorry!). > > Anyway, this resurfaced recently in the context of Debian bug #745419: > https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=745419#27 > > #745419 seems to be unrelated to Michael's issue, it is a full disk > image case with an MBR etc. > > Michael, are you still carrying this patch to the Fedora packages? If so > presumably it is without issue in the field so to speak? ping? > > Should the patch be resurrected for either 4.5 or 4.6? Or does anyone > have any other insights into the various issues? > > Ian. > > --- xen-4.1.0/tools/pygrub/src/pygrub.orig 2010-12-31 15:24:11.000000000 > +0000 > +++ xen-4.1.0/tools/pygrub/src/pygrub 2011-01-30 18:58:17.000000000 +0000 > @@ -96,6 +96,7 @@ > > fd = os.open(file, os.O_RDONLY) > buf = os.read(fd, 512) > + offzerocount = 0 > for poff in (446, 462, 478, 494): # partition offsets > > # MBR contains a 16 byte descriptor per partition > @@ -105,6 +106,7 @@ > > # offset == 0 implies this partition is not enabled > if offset == 0: > + offzerocount += 1 > continue > > if type == FDISK_PART_SOLARIS or type == FDISK_PART_SOLARIS_OLD: > @@ -123,6 +125,9 @@ > else: > part_offs.append(offset) > > + if offzerocount == 4: > + # Might be a grub boot sector pretending to be an MBR > + part_offs.append(0) > return part_offs > > class GrubLineEditor(curses.textpad.Textbox): > > > > _______________________________________________ > Xen-devel mailing list > Xen-devel@xxxxxxxxxxxxx > http://lists.xen.org/xen-devel _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |