From 4adb3bb965773724b1c9107bdb475b265778faf2 Mon Sep 17 00:00:00 2001 From: Robert Millan Date: Mon, 13 Jan 2014 12:12:53 +0000 Subject: Support running grub-probe in grub-legacy's update-grub Author: Colin Watson 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 3958105..704855c 100644 --- a/util/getroot.c +++ b/util/getroot.c @@ -244,6 +244,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; }