M A Young
2011-Oct-19 23:03 UTC
[Xen-devel] [PATCH 1 of 6] pygrub should check all GPT partitions
_______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Paolo Bonzini
2011-Oct-20 07:38 UTC
[Xen-devel] Re: [PATCH 1 of 6] pygrub should check all GPT partitions
The patches are not enough to get "e" to work, but still an improvement of course, so: Tested-by: Paolo Bonzini <pbonzini@redhat.com> _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Ian Campbell
2011-Oct-20 08:25 UTC
[Xen-devel] Re: [PATCH 1 of 6] pygrub should check all GPT partitions
On Thu, 2011-10-20 at 00:03 +0100, M A Young wrote:> On Fedora 16 the first GPT partition is a boot partition for grub2 > with > the grub2 configuration in the second partition. > Check all GPT partitions for grub configuration, not just the first. > Signed-off-by: Michael Young <m.a.young@durham.ac.uk> > > --- a/tools/pygrub/src/pygrub 2011-10-16 20:58:02.000000000 +0100 > +++ b/tools/pygrub/src/pygrub 2011-10-16 20:59:52.000000000 +0100 > @@ -78,9 +78,17 @@ > def get_fs_offset_gpt(file): > fd = os.open(file, os.O_RDONLY) > # assume the first partition is an EFI system partition.Is this comment now inaccurate?> - os.lseek(fd, SECTOR_SIZE * 2, 0) > + os.lseek(fd, SECTOR_SIZE, 0) > buf = os.read(fd, 512) > - return struct.unpack("<Q", buf[32:40])[0] * SECTOR_SIZE > + partcount = struct.unpack("<L", buf[80:84])[0] > + partsize = struct.unpack("<L", buf[84:88])[0] > + i = partcount > + offsets = [] > + while i>0: > + buf = os.read(fd, partsize) > + offsets.append(struct.unpack("<Q", buf[32:40])[0] * > SECTOR_SIZE) > + i -= 1 > + return offsets > > FDISK_PART_SOLARIS=0xbf > FDISK_PART_SOLARIS_OLD=0x82 > @@ -114,7 +122,9 @@ > continue # no solaris magic at that offset, ignore > partition > > if type == FDISK_PART_GPT: > - offset = get_fs_offset_gpt(file) > + for offset in get_fs_offset_gpt(file): > + part_offs.append(offset) > + break > > # Active partition has 0x80 as the first byte. > # If active, prepend to front of list, otherwise append to > back. > >_______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Ian Campbell
2011-Oct-20 08:25 UTC
[Xen-devel] Re: [PATCH 1 of 6] pygrub should check all GPT partitions
On Thu, 2011-10-20 at 08:38 +0100, Paolo Bonzini wrote:> The patches are not enough to get "e" to work, but still an improvement > of course, so:"e" ? Ian. _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
M A Young
2011-Oct-20 08:34 UTC
[Xen-devel] Re: [PATCH 1 of 6] pygrub should check all GPT partitions
On Thu, 20 Oct 2011, Ian Campbell wrote:> On Thu, 2011-10-20 at 00:03 +0100, M A Young wrote: >> On Fedora 16 the first GPT partition is a boot partition for grub2 >> with >> the grub2 configuration in the second partition. >> Check all GPT partitions for grub configuration, not just the first. >> Signed-off-by: Michael Young <m.a.young@durham.ac.uk> >> >> --- a/tools/pygrub/src/pygrub 2011-10-16 20:58:02.000000000 +0100 >> +++ b/tools/pygrub/src/pygrub 2011-10-16 20:59:52.000000000 +0100 >> @@ -78,9 +78,17 @@ >> def get_fs_offset_gpt(file): >> fd = os.open(file, os.O_RDONLY) >> # assume the first partition is an EFI system partition. > > Is this comment now inaccurate?Yes. I haven''t tested the case where the first partition is an EFI system partition though I think my changes would be harmless. Michael Young _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Paolo Bonzini
2011-Oct-20 08:52 UTC
[Xen-devel] Re: [PATCH 1 of 6] pygrub should check all GPT partitions
On 10/20/2011 10:25 AM, Ian Campbell wrote:>> > The patches are not enough to get "e" to work, but still an improvement >> > of course, so: > "e" ?Edit entry mode. It fails with a curses error when I use it on the F16 grub2.cfg, which is what prompted me to do the patch for NotFoundError. Paolo _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Ian Campbell
2011-Oct-20 08:53 UTC
[Xen-devel] Re: [PATCH 1 of 6] pygrub should check all GPT partitions
On Thu, 2011-10-20 at 09:52 +0100, Paolo Bonzini wrote:> On 10/20/2011 10:25 AM, Ian Campbell wrote: > >> > The patches are not enough to get "e" to work, but still an improvement > >> > of course, so: > > "e" ? > > Edit entry mode. It fails with a curses error when I use it on the F16 > grub2.cfg, which is what prompted me to do the patch for NotFoundError.Ah, right. Cool thanks. Ian. _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Ian Jackson
2011-Oct-25 18:23 UTC
Re: [Xen-devel] [PATCH 1 of 6] pygrub should check all GPT partitions
M A Young writes ("[Xen-devel] [PATCH 1 of 6] pygrub should check all GPT partitions"):> On Fedora 16 the first GPT partition is a boot partition for grub2 with > the grub2 configuration in the second partition. > Check all GPT partitions for grub configuration, not just the first.Thanks. I have applied all six of these. I also removed this obsolete comment:> # assume the first partition is an EFI system partition.and fixed up the commit messages a bit. Thanks, Ian. _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel