Mailing List Archive

[PATCH 1 of 6] pygrub should check all GPT partitions
Re: [PATCH 1 of 6] pygrub should check all GPT partitions [ In reply to ]
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
Re: [PATCH 1 of 6] pygrub should check all GPT partitions [ In reply to ]
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
Re: [PATCH 1 of 6] pygrub should check all GPT partitions [ In reply to ]
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
Re: [PATCH 1 of 6] pygrub should check all GPT partitions [ In reply to ]
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
Re: [PATCH 1 of 6] pygrub should check all GPT partitions [ In reply to ]
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
Re: [PATCH 1 of 6] pygrub should check all GPT partitions [ In reply to ]
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
Re: [PATCH 1 of 6] pygrub should check all GPT partitions [ In reply to ]
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