]> git.ipfire.org Git - thirdparty/grub.git/commitdiff
* util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
authorVladimir 'phcoder' Serbinenko <phcoder@gmail.com>
Tue, 26 Oct 2010 10:40:35 +0000 (12:40 +0200)
committerVladimir 'phcoder' Serbinenko <phcoder@gmail.com>
Tue, 26 Oct 2010 10:40:35 +0000 (12:40 +0200)
install rather than creating a broken install.

ChangeLog
util/grub-setup.c

index 1f31dbb78e30ce8db4543e7308676ad518c2efcd..a24c9e4519c383ab9c34c7be0b8d42162602b3f2 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2010-10-26  Vladimir Serbinenko  <phcoder@gmail.com>
+
+       * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
+       install rather than creating a broken install.
+
 2010-10-26  Vladimir Serbinenko  <phcoder@gmail.com>
 
        * util/grub-setup.c (argp): Remove misleading example of installing to
index c3d7dcf431e89ab63207d52147b5eff1c3d6d66b..fa95f94aadedd30c23687cfffd63db3cc7c9f64b 100644 (file)
@@ -482,6 +482,12 @@ unable_to_embed:
     grub_util_error (_("embedding is not possible, but this is required when "
                       "the root device is on a RAID array or LVM volume"));
 
+#ifdef GRUB_MACHINE_PCBIOS
+  if (dest_dev->disk->id != root_dev->disk->id)
+    grub_util_error (_("embedding is not possible, but this is required for "
+                      "cross-disk install"));
+#endif
+
   grub_util_warn (_("Embedding is not possible.  GRUB can only be installed in this "
                    "setup by using blocklists.  However, blocklists are UNRELIABLE and "
                    "their use is discouraged."));