Bug fix: Non-zero partition offset zeroized the MBR copies of GPT partition

table entries which were enabled by el_torito_set_isolinux_options()
This commit is contained in:
Thomas Schmitt 2012-10-07 11:53:36 +02:00
parent 4673733c4b
commit b77917fb63
2 changed files with 6 additions and 2 deletions

View File

@ -3488,7 +3488,11 @@ int el_torito_seems_boot_info_table(ElToritoBootImage *bootimg, int flag);
* iso_write_opts_set_hfsplus(). * iso_write_opts_set_hfsplus().
* @since 1.2.4 * @since 1.2.4
* Primary GPT and backup GPT get written if at least one * Primary GPT and backup GPT get written if at least one
* ElToritoBootImage shall be mentioned * ElToritoBootImage shall be mentioned.
* The first three mentioned GPT partitions get mirrored in the
* the partition table of the isohybrid MBR. They get type 0xfe.
* Often it is one of these MBR partitions which actually gets
* used by EFI.
* @since 1.2.4 * @since 1.2.4
* bit8= Mention in isohybrid Apple partition map * bit8= Mention in isohybrid Apple partition map
* APM get written if at least one ElToritoBootImage shall be * APM get written if at least one ElToritoBootImage shall be

View File

@ -1578,7 +1578,7 @@ int iso_write_system_area(Ecma119Image *t, uint8_t *buf)
img_blocks = t->curblock; /* value might be altered */ img_blocks = t->curblock; /* value might be altered */
ret = iso_offset_partition_start(img_blocks, t->partition_offset, ret = iso_offset_partition_start(img_blocks, t->partition_offset,
t->partition_secs_per_head, t->partition_secs_per_head,
t->partition_heads_per_cyl, buf, 1); t->partition_heads_per_cyl, buf, 0);
if (ret != ISO_SUCCESS) /* error should never happen */ if (ret != ISO_SUCCESS) /* error should never happen */
return ISO_ASSERT_FAILURE; return ISO_ASSERT_FAILURE;
} }