Always fill bootdisk info and improve check for NetBSD disklabel.
This commit is contained in:
parent
92a52dd4d6
commit
ad1fe3f91f
2 changed files with 28 additions and 15 deletions
|
@ -1,3 +1,8 @@
|
||||||
|
2013-08-16 Grégoire Sutre <gregoire.sutre@gmail.com>
|
||||||
|
|
||||||
|
* grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
|
||||||
|
Always fill bootdisk info and improve check for NetBSD disklabel.
|
||||||
|
|
||||||
2013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
|
2013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
|
||||||
|
|
||||||
* conf/Makefile.extra-dist: Add util/bin2h.c.
|
* conf/Makefile.extra-dist: Add util/bin2h.c.
|
||||||
|
|
|
@ -1088,22 +1088,30 @@ grub_netbsd_add_boot_disk_and_wedge (void)
|
||||||
grub_bsd_add_meta (NETBSD_BTINFO_BOOTWEDGE, &biw, sizeof (biw));
|
grub_bsd_add_meta (NETBSD_BTINFO_BOOTWEDGE, &biw, sizeof (biw));
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Fill bootdisk if this a NetBSD disk label. */
|
/* Fill bootdisk. */
|
||||||
if (part->partmap != NULL &&
|
{
|
||||||
(grub_strcmp (part->partmap->name, "netbsd") == 0) &&
|
struct grub_netbsd_btinfo_bootdisk bid;
|
||||||
buf.label.magic == grub_cpu_to_le32 (GRUB_PC_PARTITION_BSD_LABEL_MAGIC))
|
|
||||||
{
|
|
||||||
struct grub_netbsd_btinfo_bootdisk bid;
|
|
||||||
|
|
||||||
grub_memset (&bid, 0, sizeof (bid));
|
grub_memset (&bid, 0, sizeof (bid));
|
||||||
bid.labelsector = partmapsector;
|
/* Check for a NetBSD disk label. */
|
||||||
bid.label.type = buf.label.type;
|
if (part->partmap != NULL &&
|
||||||
bid.label.checksum = buf.label.checksum;
|
(grub_strcmp (part->partmap->name, "netbsd") == 0 ||
|
||||||
memcpy (bid.label.packname, buf.label.packname, 16);
|
(part->parent == NULL && grub_strcmp (part->partmap->name, "bsd") == 0)))
|
||||||
bid.biosdev = biosdev;
|
{
|
||||||
bid.partition = part->number;
|
bid.labelsector = partmapsector;
|
||||||
grub_bsd_add_meta (NETBSD_BTINFO_BOOTDISK, &bid, sizeof (bid));
|
bid.label.type = buf.label.type;
|
||||||
}
|
bid.label.checksum = buf.label.checksum;
|
||||||
|
memcpy (bid.label.packname, buf.label.packname, 16);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
bid.labelsector = -1;
|
||||||
|
}
|
||||||
|
bid.biosdev = biosdev;
|
||||||
|
bid.partition = part->number;
|
||||||
|
|
||||||
|
grub_bsd_add_meta (NETBSD_BTINFO_BOOTDISK, &bid, sizeof (bid));
|
||||||
|
}
|
||||||
|
|
||||||
fail:
|
fail:
|
||||||
if (dev)
|
if (dev)
|
||||||
|
|
Loading…
Add table
Reference in a new issue