Support running grub-probe in grub-legacy's update-grub
authorRobert Millan <rmh@aybabtu.com>
Mon, 13 Jan 2014 12:12:53 +0000 (12:12 +0000)
committerFelix Zielcke <fzielcke@z-51.de>
Wed, 11 Jun 2025 15:42:34 +0000 (17:42 +0200)
Author: Colin Watson <cjwatson@debian.org>
Forwarded: not-needed
Last-Update: 2013-12-25

Patch-Name: grub-legacy-0-based-partitions.patch

Gbp-Pq: Name grub-legacy-0-based-partitions.patch

util/getroot.c

index 75a7d5f21b00b8fe0ade23e6aa74a120449dfca3..b64b95e2c4797e30600c14cd85aaed3a2eb21ab1 100644 (file)
@@ -245,6 +245,20 @@ find_partition (grub_disk_t dsk __attribute__ ((unused)),
 
   if (ctx->start == part_start)
     {
+      /* This is dreadfully hardcoded, but there's a limit to what GRUB
+         Legacy was able to deal with anyway.  */
+      if (getenv ("GRUB_LEGACY_0_BASED_PARTITIONS"))
+       {
+         if (partition->parent)
+           /* Probably a BSD slice.  */
+           ctx->partname = xasprintf ("%d,%d", partition->parent->number,
+                                      partition->number + 1);
+         else
+           ctx->partname = xasprintf ("%d", partition->number);
+
+         return 1;
+       }
+
       ctx->partname = grub_partition_get_name (partition);
       return 1;
     }