Add bootcamp support to the loader.

Tested by:	dchagin
MFC after:	1 week
This commit is contained in:
Andrey V. Elsukov 2013-02-10 19:27:17 +00:00
parent 4224e03ae7
commit c6e31e81e0
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=246630
2 changed files with 8 additions and 3 deletions

View File

@ -645,9 +645,13 @@ ptable_open(void *dev, off_t sectors, uint16_t sectorsize,
/* Do we have some invalid values? */
if (i != NDOSPART ||
(table->type == PTABLE_GPT && count > 1)) {
table->type = PTABLE_NONE;
DEBUG("invalid values detected, ignore partition table");
goto out;
if (dp[1].dp_typ != DOSPTYP_HFS) {
table->type = PTABLE_NONE;
DEBUG("invalid values detected, ignore "
"partition table");
goto out;
}
DEBUG("Bootcamp detected");
}
#ifdef LOADER_GPT_SUPPORT
if (table->type == PTABLE_GPT) {

View File

@ -51,6 +51,7 @@
#define DOSPTYP_PPCBOOT 0x41 /* PReP/CHRP boot partition */
#define DOSPTYP_LDM 0x42 /* Win2k dynamic extended partition */
#define DOSPTYP_386BSD 0xa5 /* 386BSD partition type */
#define DOSPTYP_HFS 0xaf /* HFS/HFS+ partition type */
#define DOSPTYP_LINSWP 0x82 /* Linux swap partition */
#define DOSPTYP_LINUX 0x83 /* Linux partition */
#define DOSPTYP_LINLVM 0x8e /* Linux LVM partition */