[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


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.