diff options
Diffstat (limited to 'debian/patches/grub-legacy-0-based-partitions.patch')
-rw-r--r-- | debian/patches/grub-legacy-0-based-partitions.patch | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/debian/patches/grub-legacy-0-based-partitions.patch b/debian/patches/grub-legacy-0-based-partitions.patch new file mode 100644 index 0000000..31dc3c1 --- /dev/null +++ b/debian/patches/grub-legacy-0-based-partitions.patch @@ -0,0 +1,39 @@ +From ae648ba6160a334707f8a8fc0768ec1bc60c4442 Mon Sep 17 00:00:00 2001 +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 a5eaa64fd..6ae35ecaa 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; + } |