On Sun, May 11, 2008 at 02:35:41PM +0300, Török Edwin wrote: > > /dev/sda9 is not a valid OpenBSD partition, and in partmap/pc.c:176 the > iteration fails with an error: invalid disk label magic 0x%x. > If I replace that return with a continue, it works. > > The problem is that grub2 stops looking for more partitions as soon as > it encountered the invalid partition,
I think a correct fix for this belongs in grub_partition_iterate(). It should only let its hook determine abortability rather than mandate that invalid partitions should cause abortion. Please, can you test the attached patch? -- Robert Millan <GPLv2> I know my rights; I want my phone call! <DRM> What use is a phone call… if you are unable to speak? (as seen on /.)
diff -x configure -x config.h.in -x CVS -x '*~' -x '*.mk' -urp ../grub2/kern/partition.c ./kern/partition.c --- ../grub2/kern/partition.c 2007-07-22 01:32:26.000000000 +0200 +++ ./kern/partition.c 2008-05-12 17:41:51.000000000 +0200 @@ -89,7 +89,7 @@ grub_partition_iterate (struct grub_disk const grub_partition_t partition)) { grub_partition_map_t partmap = 0; - int ret = 0; + int ret = 1; auto int part_map_iterate (const grub_partition_map_t p); auto int part_map_iterate_hook (grub_disk_t d,
_______________________________________________ Grub-devel mailing list Grub-devel@gnu.org http://lists.gnu.org/mailman/listinfo/grub-devel