+2010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
+
+ * util/i386/pc/grub-setup.c (setup): Do not embed when there are
+ multiple (top-level) partmaps.
+
2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
Bidi and diacritics support.
grub_uint16_t core_sectors;
grub_device_t root_dev, dest_dev;
const char *dest_partmap;
+ int multiple_partmaps;
grub_uint8_t *boot_drive;
grub_disk_addr_t *kernel_sector;
grub_uint16_t *boot_drive_check;
{
if (p->parent)
return 0;
- dest_partmap = p->partmap->name;
- return 1;
+ if (dest_partmap == NULL)
+ dest_partmap = p->partmap->name;
+ else if (strcmp (dest_partmap, p->partmap->name) != 0)
+ {
+ multiple_partmaps = 1;
+ return 1;
+ }
+ return 0;
}
dest_partmap = 0;
+ multiple_partmaps = 0;
grub_partition_iterate (dest_dev->disk, identify_partmap);
if (! dest_partmap)
grub_util_warn (_("Attempting to install GRUB to a partitionless disk. This is a BAD idea."));
goto unable_to_embed;
}
+ if (multiple_partmaps)
+ {
+ grub_util_warn (_("Attempting to install GRUB to a disk with multiple partition labels. This is not supported yet."));
+ goto unable_to_embed;
+ }
if (strcmp (dest_partmap, "msdos") == 0)
grub_partition_iterate (dest_dev->disk, find_usable_region_msdos);