38 lines
1.1 KiB
Diff
38 lines
1.1 KiB
Diff
From: Robert Millan <rmh@aybabtu.com>
|
|
Date: Mon, 13 Jan 2014 12:12:53 +0000
|
|
Subject: Support running grub-probe in grub-legacy's update-grub
|
|
|
|
Author: Colin Watson <cjwatson@debian.org>
|
|
Forwarded: not-needed
|
|
Last-Update: 2013-12-25
|
|
|
|
Patch-Name: grub-legacy-0-based-partitions.patch
|
|
---
|
|
util/getroot.c | 14 ++++++++++++++
|
|
1 file changed, 14 insertions(+)
|
|
|
|
diff --git a/util/getroot.c b/util/getroot.c
|
|
index 75a7d5f..b64b95e 100644
|
|
--- a/util/getroot.c
|
|
+++ b/util/getroot.c
|
|
@@ -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;
|
|
}
|