[2209] 2009-05-13 Robert Millan <[email protected]>

Robert Millan <[email protected]>
Newsgroups gmane.comp.boot-loaders.grub.cvs
Message-ID <[email protected]>
Revision: 2209
          http://svn.sv.gnu.org/viewvc/?view=rev&root=grub&revision=2209
Author:   robertmh
Date:     2009-05-13 21:13:11 +0000 (Wed, 13 May 2009)
Log Message:
-----------
2009-05-13  Robert Millan  <[email protected]>

        Improve warning messages for cases where there's no embedding area,
        or when it is too small (or core.img too large).

Modified Paths:
--------------
    trunk/grub2/ChangeLog
    trunk/grub2/util/i386/pc/grub-setup.c

Modified: trunk/grub2/ChangeLog
===================================================================
--- trunk/grub2/ChangeLog	2009-05-13 21:01:26 UTC (rev 2208)
+++ trunk/grub2/ChangeLog	2009-05-13 21:13:11 UTC (rev 2209)
@@ -2,6 +2,8 @@
 
 	* util/i386/pc/grub-setup.c (setup): Restructure code flow to make
 	it easier to understand / work with.
+	Improve warning messages for cases where there's no embedding area,
+	or when it is too small (or core.img too large).
 
 2009-05-13  Pavel Roskin  <[email protected]>
 

Modified: trunk/grub2/util/i386/pc/grub-setup.c
===================================================================
--- trunk/grub2/util/i386/pc/grub-setup.c	2009-05-13 21:01:26 UTC (rev 2208)
+++ trunk/grub2/util/i386/pc/grub-setup.c	2009-05-13 21:13:11 UTC (rev 2209)
@@ -337,13 +337,21 @@
 					   find_usable_region_gpt : find_usable_region_msdos));
   if (embed_region.end == embed_region.start)
     {
-      grub_util_warn ("Embedding area is not present at all!");
+      if (! strcmp (dest_partmap, "pc_partition_map"))
+	grub_util_warn ("This msdos-style partition label has no post-MBR gap; embedding won't be possible!");
+      else
+	grub_util_warn ("This GPT partition label has no BIOS Boot Partition; embedding won't be possible!");
       goto unable_to_embed;
     }
 
   if ((unsigned long) core_sectors > embed_region.end - embed_region.start)
     {
-      grub_util_warn ("Embedding area is too small for core.img.");
+      if (core_sectors > 62 * 512)
+	grub_util_warn ("Your core.img is unusually large.  It won't fit in the embedding area.");
+      else if (embed_region.end - embed_region.start < 62 * 512)
+	grub_util_warn ("Your embedding area is unusually small.  core.img won't fit in it.");
+      else
+	grub_util_warn ("Embedding area is too small for core.img.");
       goto unable_to_embed;
     }
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.