New -as mkisofs option -e from Fedora genisoimage

This commit is contained in:
2010-08-18 10:33:04 +00:00
parent 3d933149ff
commit fb35f70c6e
5 changed files with 91 additions and 75 deletions

View File

@ -560,7 +560,7 @@ int Xorriso_genisofs_count_args(struct XorrisO *xorriso, int argc, char **argv,
"-jigdo-jigdo", "-jigdo-template", "-jigdo-min-file-size",
"-jigdo-force-md5", "-jigdo-exclude", "-jigdo-map", "-md5-list",
"--stdio_sync", "--quoted_path_list", "--efi-boot", "--embedded-boot",
"-isohybrid-mbr",
"-isohybrid-mbr", "-e",
""
};
static char arg2_options[][41]= {
@ -646,8 +646,8 @@ int Xorriso_genisofs_add_boot(struct XorrisO *xorriso, char *whom,
if(*option_b && !*no_emul_boot) {
xorriso->boot_image_bin_path[0]= 0;
sprintf(xorriso->info_text,
"-as %s: Option -b is supported only if option -no-emul-boot is given",
whom);
"-as %s: Option -%s is supported only if option -no-emul-boot is given",
whom, (xorriso->boot_platform_id == 0xef ? "e" : "b"));
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FAILURE", 0);
return(0);
}
@ -719,6 +719,7 @@ int Xorriso_genisofs_help(struct XorrisO *xorriso, int flag)
" Set El Torito boot image name",
" -eltorito-alt-boot Start specifying alternative El Torito boot parameters",
" --efi-boot FILE Set El Torito EFI boot image name and type",
" -e FILE Set EFI boot image name (more rawly)",
" -c FILE, -eltorito-catalog FILE",
" Set El Torito boot catalog name",
" --boot-catalog-hide Hide boot catalog from ISO9660/RR and Joliet",
@ -1219,6 +1220,7 @@ not_enough_args:;
} else if(strcmp(argv[i], "-b") == 0 ||
strcmp(argv[i], "-eltorito-boot") == 0 ||
strcmp(argv[i], "--efi-boot") == 0 ||
strcmp(argv[i], "-e") == 0 ||
strcmp(argv[i], "-c") == 0 ||
strcmp(argv[i], "-eltorito-catalog") == 0 ||
strcmp(argv[i], "-boot-load-size") == 0 ||
@ -1414,7 +1416,8 @@ problem_handler_2:;
xorriso->patch_isolinux_image= 1;
} else if(strcmp(argv[i], "-b") == 0 ||
strcmp(argv[i], "-eltorito-boot") == 0 ||
strcmp(argv[i], "--efi-boot") == 0) {
strcmp(argv[i], "--efi-boot") == 0 ||
strcmp(argv[i], "-e") == 0) {
i++;
if(strcmp(argv[i - 1], "--efi-boot") == 0) {
if(xorriso->boot_image_bin_path[0]) {
@ -1427,7 +1430,10 @@ problem_handler_2:;
xorriso->boot_efi_default= 1;
} else {
boot_path= xorriso->boot_image_bin_path;
xorriso->boot_platform_id= 0x00;
if(strcmp(argv[i - 1], "-e") == 0)
xorriso->boot_platform_id= 0xef;
else
xorriso->boot_platform_id= 0x00;
xorriso->boot_efi_default= 0;
option_b= 1;
}