2009-11-11 Robert Millan <rmh.grub@aybabtu.com>
Support for El Torito without floppy emulation. * util/mkisofs/eltorito.c: Include `<errno.h>'. (init_boot_catalog): Improve error handling. (get_torito_desc): Don't use floppy emulation unless requested by user. Patch boot information table when requested via `-boot-info-table'. * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct. * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy) (use_boot_info_table): New variables. (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT) (OPTION_ELTORITO_EMUL_FLOPPY): New macros. (ld_options): Handle `-boot-info-table', `-no-emul-boot' and `--eltorito-emul-floppy'. (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT' and `OPTION_ELTORITO_EMUL_FLOPPY'. * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy) (use_boot_info_table, get_731): New prototypes. * util/mkisofs/write.c (get_731): New function.
This commit is contained in:
parent
af7d4de5c2
commit
e1f240ff44
6 changed files with 148 additions and 25 deletions
|
@ -89,6 +89,8 @@ int extension_record_size = 0;
|
|||
|
||||
/* These variables are associated with command line options */
|
||||
int use_eltorito = 0;
|
||||
int use_eltorito_emul_floppy = 0;
|
||||
int use_boot_info_table = 0;
|
||||
int use_RockRidge = 0;
|
||||
int use_Joliet = 0;
|
||||
int verbose = 1;
|
||||
|
@ -189,6 +191,10 @@ struct ld_option
|
|||
#define OPTION_EXPIR_DATE 168
|
||||
#define OPTION_EFFEC_DATE 169
|
||||
|
||||
#define OPTION_BOOT_INFO_TABLE 170
|
||||
#define OPTION_NO_EMUL_BOOT 171
|
||||
#define OPTION_ELTORITO_EMUL_FLOPPY 172
|
||||
|
||||
static const struct ld_option ld_options[] =
|
||||
{
|
||||
{ {"all-files", no_argument, NULL, 'a'},
|
||||
|
@ -205,6 +211,12 @@ static const struct ld_option ld_options[] =
|
|||
'b', "FILE", "Set El Torito boot image name" , ONE_DASH },
|
||||
{ {"eltorito-catalog", required_argument, NULL, 'c'},
|
||||
'c', "FILE", "Set El Torito boot catalog name" , ONE_DASH },
|
||||
{ {"boot-info-table", no_argument, NULL, OPTION_BOOT_INFO_TABLE },
|
||||
'\0', NULL, "Patch Boot Info Table in El Torito boot image" , ONE_DASH },
|
||||
{ {"no-emul-boot", no_argument, NULL, OPTION_NO_EMUL_BOOT },
|
||||
'\0', NULL, "Dummy option for backward compatibility" , ONE_DASH },
|
||||
{ {"eltorito-emul-floppy", no_argument, NULL, OPTION_ELTORITO_EMUL_FLOPPY },
|
||||
'\0', NULL, "Enable floppy drive emulation for El Torito" , TWO_DASHES },
|
||||
{ {"cdwrite-params", required_argument, NULL, 'C'},
|
||||
'C', "PARAMS", "Magic parameters from cdrecord" , ONE_DASH },
|
||||
{ {"omit-period", no_argument, NULL, 'd'},
|
||||
|
@ -716,6 +728,15 @@ int FDECL2(main, int, argc, char **, argv){
|
|||
exit(1);
|
||||
}
|
||||
break;
|
||||
case OPTION_BOOT_INFO_TABLE:
|
||||
use_boot_info_table = 1;
|
||||
break;
|
||||
case OPTION_NO_EMUL_BOOT:
|
||||
fprintf (stderr, "Ignoring -no-emul-boot (no-emulation is the default behaviour)\n");
|
||||
break;
|
||||
case OPTION_ELTORITO_EMUL_FLOPPY:
|
||||
use_eltorito_emul_floppy = 1;
|
||||
break;
|
||||
case OPTION_ABSTRACT:
|
||||
abstract = optarg;
|
||||
if(strlen(abstract) > 37) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue