New -as mkisofs options -appended_part_as_apm, -part_like_isohybrid

This commit is contained in:
2016-02-05 10:12:25 +00:00
parent a3ca89beb4
commit 7eb7787922
5 changed files with 138 additions and 76 deletions

View File

@ -1,7 +1,7 @@
/* xorriso - creates, loads, manipulates and burns ISO 9660 filesystem images.
Copyright 2007-2015 Thomas Schmitt, <scdbackup@gmx.net>
Copyright 2007-2016 Thomas Schmitt, <scdbackup@gmx.net>
Provided under GPL version 2 or later.
@ -612,7 +612,8 @@ int Xorriso_genisofs_count_args(struct XorrisO *xorriso, int argc, char **argv,
"--no_rc", "--norock", "-hfsplus", "-fat", "-chrp-boot-part",
"-isohybrid-gpt-basdat", "-isohybrid-gpt-hfsplus",
"-isohybrid-apm-hfsplus", "--grub2-boot-info", "-joliet-utf16",
"-appended_part_as_gpt", "--mbr-force-bootable",
"-appended_part_as_gpt", "-appended_part_as_apm", "--mbr-force-bootable",
"-part_like_isohybrid",
""
};
static char arg1_options[][41]= {
@ -860,6 +861,7 @@ int Xorriso_genisofs_help(struct XorrisO *xorriso, int flag)
" -isohybrid-gpt-basdat Mark El Torito boot image as Basic Data in GPT",
" -isohybrid-gpt-hfsplus Mark El Torito boot image as HFS+ in GPT",
" -isohybrid-apm-hfsplus Mark El Torito boot image as HFS+ in APM",
" -part_like_isohybrid Mark in MBR, GPT, APM without -isohybrid-mbr",
" -G FILE, -generic-boot FILE Set generic boot image name",
" --embedded-boot FILE Alias of -G",
" --protective-msdos-label Patch System Area by partition table",
@ -888,6 +890,7 @@ int Xorriso_genisofs_help(struct XorrisO *xorriso, int flag)
" -append_partition NUMBER TYPE FILE",
" Append FILE after image. TYPE is hex: 0x..",
" -appended_part_as_gpt mark appended partitions in GPT instead of MBR.",
" -appended_part_as_apm mark appended partitions in APM.",
" --modification-date=YYYYMMDDhhmmsscc",
" Override date of creation and modification",
" -isohybrid-mbr FILE Set SYSLINUX mbr/isohdp[fp]x*.bin for isohybrid",
@ -1864,7 +1867,8 @@ not_enough_args:;
strcmp(argpt, "--boot-catalog-hide")==0 ||
strcmp(argpt, "-isohybrid-gpt-basdat")==0 ||
strcmp(argpt, "-isohybrid-gpt-hfsplus")==0 ||
strcmp(argpt, "-isohybrid-apm-hfsplus")==0) {
strcmp(argpt, "-isohybrid-apm-hfsplus")==0 ||
strcmp(argpt, "-part_like_isohybrid")==0) {
delay_opt_list[delay_opt_count++]= i;
if(argv[i] != argpt)
delay_opt_list[delay_opt_count - 1]|= 1<<31;
@ -2059,6 +2063,9 @@ not_enough_args:;
} else if(strcmp(argpt, "-appended_part_as_gpt") == 0) {
xorriso->appended_as_gpt= 1;
} else if(strcmp(argpt, "-appended_part_as_apm") == 0) {
xorriso->appended_as_apm= 1;
} else if(strcmp(argpt, "-B") == 0 ||
strcmp(argpt, "-sparc-boot") == 0) {
i++;
@ -2443,6 +2450,10 @@ problem_handler_2:;
(2 << 2);
} else if(strcmp(argpt, "-isohybrid-apm-hfsplus") == 0) {
xorriso->patch_isolinux_image = xorriso->patch_isolinux_image | (1 << 8);
} else if(strcmp(argpt, "-part_like_isohybrid") == 0) {
xorriso->part_like_isohybrid= 1;
} else if(strcmp(argpt, "-eltorito-alt-boot")==0) {
ret= Xorriso_genisofs_add_boot(xorriso, 0);
if(ret <= 0)