Provisory new -as mkisofs options -prep-boot-part, -efi-boot-part
This commit is contained in:
parent
8bff64f692
commit
d46d643f43
@ -256,6 +256,8 @@ int Xorriso_new(struct XorrisO ** xorriso,char *progname, int flag)
|
|||||||
m->partition_offset= 0;
|
m->partition_offset= 0;
|
||||||
m->partition_secs_per_head= 0;
|
m->partition_secs_per_head= 0;
|
||||||
m->partition_heads_per_cyl= 0;
|
m->partition_heads_per_cyl= 0;
|
||||||
|
m->prep_partition[0]= 0;
|
||||||
|
m->efi_boot_partition[0]= 0;
|
||||||
for(i= 0; i < Xorriso_max_appended_partitionS; i++) {
|
for(i= 0; i < Xorriso_max_appended_partitionS; i++) {
|
||||||
m->appended_partitions[i]= NULL;
|
m->appended_partitions[i]= NULL;
|
||||||
m->appended_part_types[i]= 0;
|
m->appended_part_types[i]= 0;
|
||||||
|
@ -608,7 +608,7 @@ int Xorriso_genisofs_count_args(struct XorrisO *xorriso, int argc, char **argv,
|
|||||||
"--stdio_sync", "--quoted_path_list", "--efi-boot", "--embedded-boot",
|
"--stdio_sync", "--quoted_path_list", "--efi-boot", "--embedded-boot",
|
||||||
"-isohybrid-mbr", "-e", "-partition_offset", "-partition_hd_cyl",
|
"-isohybrid-mbr", "-e", "-partition_offset", "-partition_hd_cyl",
|
||||||
"-partition_sec_hd", "-partition_cyl_align", "-untranslated_name_len",
|
"-partition_sec_hd", "-partition_cyl_align", "-untranslated_name_len",
|
||||||
"-rr_reloc_dir", "-hfsplus-serial-no",
|
"-rr_reloc_dir", "-hfsplus-serial-no", "-prep-boot-part", "-efi-boot-part",
|
||||||
""
|
""
|
||||||
};
|
};
|
||||||
static char arg2_options[][41]= {
|
static char arg2_options[][41]= {
|
||||||
@ -1794,7 +1794,22 @@ not_enough_args:;
|
|||||||
ret= Xorriso_option_jigdo(xorriso, argpt, argv[i], 0);
|
ret= Xorriso_option_jigdo(xorriso, argpt, argv[i], 0);
|
||||||
if(ret <= 0)
|
if(ret <= 0)
|
||||||
goto problem_handler_2;
|
goto problem_handler_2;
|
||||||
|
|
||||||
|
} else if(strcmp(argpt, "-prep-boot-part") == 0) {
|
||||||
|
if(i + 1 >= argc)
|
||||||
|
goto not_enough_args;
|
||||||
|
i++;
|
||||||
|
strcpy(xorriso->prep_partition, argv[i]);
|
||||||
|
|
||||||
|
} else if(strcmp(argpt, "-efi-boot-part") == 0) {
|
||||||
|
if(i + 1 >= argc)
|
||||||
|
goto not_enough_args;
|
||||||
|
i++;
|
||||||
|
strcpy(xorriso->efi_boot_partition, argv[i]);
|
||||||
|
|
||||||
} else if(strcmp(argpt, "-append_partition") == 0) {
|
} else if(strcmp(argpt, "-append_partition") == 0) {
|
||||||
|
if(i + 3 >= argc)
|
||||||
|
goto not_enough_args;
|
||||||
i+= 3;
|
i+= 3;
|
||||||
ret= Xorriso_option_append_partition(xorriso, argv[i - 2], argv[i - 1],
|
ret= Xorriso_option_append_partition(xorriso, argv[i - 2], argv[i - 1],
|
||||||
argv[i], 0);
|
argv[i], 0);
|
||||||
|
@ -850,6 +850,16 @@ int Xorriso_write_session(struct XorrisO *xorriso, int flag)
|
|||||||
isoburn_igopt_set_scdbackup_tag(sopts, xorriso->scdbackup_tag_name,
|
isoburn_igopt_set_scdbackup_tag(sopts, xorriso->scdbackup_tag_name,
|
||||||
xorriso->scdbackup_tag_time,
|
xorriso->scdbackup_tag_time,
|
||||||
xorriso->scdbackup_tag_written);
|
xorriso->scdbackup_tag_written);
|
||||||
|
if(xorriso->prep_partition[0]) {
|
||||||
|
ret= isoburn_igopt_set_prep_partition(sopts, xorriso->prep_partition, 0);
|
||||||
|
if(ret <= 0)
|
||||||
|
{ret= 0; goto ex;}
|
||||||
|
}
|
||||||
|
if(xorriso->efi_boot_partition[0]) {
|
||||||
|
ret= isoburn_igopt_set_efi_bootp(sopts, xorriso->efi_boot_partition, 0);
|
||||||
|
if(ret <= 0)
|
||||||
|
{ret= 0; goto ex;}
|
||||||
|
}
|
||||||
for(i= 0; i < Xorriso_max_appended_partitionS; i++) {
|
for(i= 0; i < Xorriso_max_appended_partitionS; i++) {
|
||||||
if(xorriso->appended_partitions[i] == NULL)
|
if(xorriso->appended_partitions[i] == NULL)
|
||||||
continue;
|
continue;
|
||||||
|
@ -393,6 +393,10 @@ struct XorrisO { /* the global context of xorriso */
|
|||||||
/* 1 to 255, 0= disabled/default */
|
/* 1 to 255, 0= disabled/default */
|
||||||
int partition_heads_per_cyl;
|
int partition_heads_per_cyl;
|
||||||
|
|
||||||
|
/* Disk file paths of content of PreP partition and EFI system partition */
|
||||||
|
char prep_partition[SfileadrL];
|
||||||
|
char efi_boot_partition[SfileadrL];
|
||||||
|
|
||||||
/* Path and type of image files to be appended as MBR partitions */
|
/* Path and type of image files to be appended as MBR partitions */
|
||||||
char *appended_partitions[Xorriso_max_appended_partitionS];
|
char *appended_partitions[Xorriso_max_appended_partitionS];
|
||||||
uint8_t appended_part_types[Xorriso_max_appended_partitionS];
|
uint8_t appended_part_types[Xorriso_max_appended_partitionS];
|
||||||
|
@ -1 +1 @@
|
|||||||
#define Xorriso_timestamP "2012.06.12.113220"
|
#define Xorriso_timestamP "2012.06.12.113552"
|
||||||
|
Loading…
Reference in New Issue
Block a user