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;
}