From: Valdimir Serbinenko Subject: Don't canonicalise /dev/root and /dev/dm-*. upstream rev 4408 --- a/util/getroot.c 2012-05-28 15:43:12 +0000 +++ b/util/getroot.c 2012-06-02 12:36:27 +0000 @@ -1036,10 +1036,16 @@ { char *tmp = *cur; int root, dm; - *cur = canonicalize_file_name (tmp); - if (*cur == NULL) - grub_util_error (_("failed to get canonical path of %s"), tmp); - free (tmp); + if (strcmp (*cur, "/dev/root") == 0 + || strncmp (*cur, "/dev/dm-", sizeof ("/dev/dm-") - 1) == 0) + *cur = tmp; + else + { + *cur = canonicalize_file_name (tmp); + if (*cur == NULL) + grub_util_error (_("failed to get canonical path of %s"), tmp); + free (tmp); + } root = (strcmp (*cur, "/dev/root") == 0); dm = (strncmp (*cur, "/dev/dm-", sizeof ("/dev/dm-") - 1) == 0); if (!dm && !root)