New -as mkisofs option -iso_mbr_part_type

This commit is contained in:
2017-02-27 10:43:51 +01:00
parent 3a41524e63
commit 274715a305
5 changed files with 126 additions and 80 deletions

View File

@ -1,7 +1,7 @@
/* xorriso - creates, loads, manipulates and burns ISO 9660 filesystem images.
Copyright 2007-2016 Thomas Schmitt, <scdbackup@gmx.net>
Copyright 2007-2017 Thomas Schmitt, <scdbackup@gmx.net>
Provided under GPL version 2 or later.
@ -664,7 +664,8 @@ int Xorriso_genisofs_count_args(struct XorrisO *xorriso, int argc, char **argv,
"-hfsplus-block-size", "-apm-block-size", "--grub2-mbr",
"--grub2-sparc-core", "--sort-weight-list", "--sort-weight-patterns",
"-hppa-hdrversion", "-file_name_limit", "--set_all_file_dates",
"--gpt_disk_guid", ""
"--gpt_disk_guid", "-iso_mbr_part_type",
""
};
static char arg2_options[][41]= {
"-hfs-bless-by", "--scdbackup_tag", "--sort-weight",
@ -875,6 +876,7 @@ int Xorriso_genisofs_help(struct XorrisO *xorriso, int flag)
" -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",
" -iso_mbr_part_type Set type byte of ISO partition in MBR",
" --gpt_disk_guid GUID Set GPT disk GUID or choose automatic GUID",
" -G FILE, -generic-boot FILE Set generic boot image name",
" --embedded-boot FILE Alias of -G",
@ -1910,7 +1912,8 @@ not_enough_args:;
strcmp(argpt, "--grub2-mbr") == 0 ||
strncmp(argpt, "-hppa-", 6) == 0 ||
strcmp(argpt, "-alpha-boot") == 0 ||
strcmp(argpt, "--gpt_disk_guid") == 0) {
strcmp(argpt, "--gpt_disk_guid") == 0 ||
strcmp(argpt, "-iso_mbr_part_type") == 0) {
if(i+1>=argc)
goto not_enough_args;
delay_opt_list[delay_opt_count++]= i;
@ -2483,6 +2486,15 @@ problem_handler_2:;
} else if(strcmp(argpt, "-part_like_isohybrid") == 0) {
xorriso->part_like_isohybrid= 1;
} else if(strcmp(argpt, "-iso_mbr_part_type") == 0) {
if(i + 1 >= argc)
goto not_enough_args;
i++;
sprintf(sfe, "iso_mbr_part_type=%s", argv[i]);
ret= Xorriso_option_boot_image(xorriso, "any", sfe, 0);
if(ret <= 0)
goto problem_handler_boot;
} else if(strcmp(argpt, "--gpt_disk_guid") == 0) {
if(i + 1 >= argc)
goto not_enough_args;