From 3d66432861b1b70077d3c5504eaf59af877f54e4 Mon Sep 17 00:00:00 2001 From: Thomas Schmitt Date: Sat, 3 Jun 2017 21:35:22 +0200 Subject: [PATCH] Making use of -eltorito-platform with -report_el_torito as_mkisofs --- xorriso/iso_img.c | 23 +++++++++++------------ xorriso/xorriso_timestamp.h | 2 +- 2 files changed, 12 insertions(+), 13 deletions(-) diff --git a/xorriso/iso_img.c b/xorriso/iso_img.c index bd2b74fb..8a71c8ab 100644 --- a/xorriso/iso_img.c +++ b/xorriso/iso_img.c @@ -1647,6 +1647,7 @@ static int Xorriso_scan_report_lines(struct XorrisO *xorriso, int cared_for_sparc= 0, have_hfsplus= 0; int have_sysarea= 0, ptable_killer, imported_iso, have_alpha_ldr_path= 0; int have_protective_msdos= 0, appended_partition= 0, part_like_isohybrid= 0; + unsigned int prev_pltf= 0; unsigned long int sa_options= 0, partno, id_tag, perms, start_cyl, num_blocks; unsigned long int part_status, part_type, start_block; uint32_t high_block= 0; @@ -2516,24 +2517,22 @@ static int Xorriso_scan_report_lines(struct XorrisO *xorriso, continue; } } - if(et_imgs[idx].platform_id == 0) { - if(mkisofs) + if(et_imgs[idx].platform_id != 0xef) { + if(mkisofs) { + if(prev_pltf != et_imgs[idx].platform_id) { + sprintf(buf, "-eltorito-platform 0x%2.2x", et_imgs[idx].platform_id); + Xorriso_record_cmd_linE + } + prev_pltf= et_imgs[idx].platform_id; sprintf(buf, "-b "); - else + } else { sprintf(buf, "-boot_image %s bin_path=", et_imgs[idx].boot_image_type); - } else if(et_imgs[idx].platform_id == 0xef) { + } + } else { if(mkisofs) sprintf(buf, "-e "); else sprintf(buf, "-boot_image %s efi_path=", et_imgs[idx].boot_image_type); - } else { - if(mkisofs && !(flag & 1)) { - sprintf(xorriso->info_text, - "Cannot enable EL Torito boot image #%d because Platform Id 0x%2.2x cannot be expressed in mkisofs emulation", - idx + 1, et_imgs[idx].platform_id); - Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "SORRY", 0); - continue; - } } Text_shellsafe(et_imgs[idx].path, buf, 1); Xorriso_record_cmd_linE diff --git a/xorriso/xorriso_timestamp.h b/xorriso/xorriso_timestamp.h index 168f674f..ec80b0f8 100644 --- a/xorriso/xorriso_timestamp.h +++ b/xorriso/xorriso_timestamp.h @@ -1 +1 @@ -#define Xorriso_timestamP "2017.06.03.163742" +#define Xorriso_timestamP "2017.06.03.193458"