Enabled GPT type GUIDs with -append_partition, -boot_image any iso_mbr_part_type=, and -as mkisofs -iso_mbr_part_type

This commit is contained in:
Thomas Schmitt 2019-02-18 13:19:32 +01:00
parent caf38e81ae
commit fc71cec8f7
17 changed files with 469 additions and 230 deletions

View File

@ -3,7 +3,7 @@
/* xorriso - creates, loads, manipulates and burns ISO 9660 filesystem images. /* xorriso - creates, loads, manipulates and burns ISO 9660 filesystem images.
Copyright 2007-2017 Thomas Schmitt, <scdbackup@gmx.net> Copyright 2007-2019 Thomas Schmitt, <scdbackup@gmx.net>
Provided under GPL version 2 or later. Provided under GPL version 2 or later.
@ -290,11 +290,15 @@ int Xorriso_new(struct XorrisO ** xorriso,char *progname, int flag)
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;
memset(m->appended_part_type_guids[i], 0, 16);
m->appended_part_gpt_flags[i]= 0;
} }
m->appended_as_gpt= 0; m->appended_as_gpt= 0;
m->appended_as_apm= 0; m->appended_as_apm= 0;
m->part_like_isohybrid= 0; m->part_like_isohybrid= 0;
m->iso_mbr_part_type= -1; m->iso_mbr_part_type= -1;
memset(m->iso_gpt_type_guid, 0, 16);
m->iso_mbr_part_flag= 0;
memset(m->gpt_guid, 0, 16); memset(m->gpt_guid, 0, 16);
m->gpt_guid_mode= 0; m->gpt_guid_mode= 0;
m->ascii_disc_label[0]= 0; m->ascii_disc_label[0]= 0;

View File

@ -1,7 +1,7 @@
/* xorriso - creates, loads, manipulates and burns ISO 9660 filesystem images. /* xorriso - creates, loads, manipulates and burns ISO 9660 filesystem images.
Copyright 2007-2018 Thomas Schmitt, <scdbackup@gmx.net> Copyright 2007-2019 Thomas Schmitt, <scdbackup@gmx.net>
Provided under GPL version 2 or later. Provided under GPL version 2 or later.
@ -880,7 +880,8 @@ int Xorriso_genisofs_help(struct XorrisO *xorriso, int flag)
" -isohybrid-gpt-hfsplus Mark El Torito boot image as HFS+ 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", " -isohybrid-apm-hfsplus Mark El Torito boot image as HFS+ in APM",
" -part_like_isohybrid Mark in MBR, GPT, APM without -isohybrid-mbr", " -part_like_isohybrid Mark in MBR, GPT, APM without -isohybrid-mbr",
" -iso_mbr_part_type Set type byte of ISO partition in MBR", " -iso_mbr_part_type Set type byte or GUID of ISO partition in MBR",
" or type GUID if a GPT ISO partition emerges.",
" --gpt_disk_guid GUID Set GPT disk GUID or choose automatic GUID", " --gpt_disk_guid GUID Set GPT disk GUID or choose automatic GUID",
" -G FILE, -generic-boot FILE Set generic boot image name", " -G FILE, -generic-boot FILE Set generic boot image name",
" --embedded-boot FILE Alias of -G", " --embedded-boot FILE Alias of -G",
@ -908,7 +909,8 @@ int Xorriso_genisofs_help(struct XorrisO *xorriso, int flag)
" -chrp-boot Alias of -chrp-boot-part", " -chrp-boot Alias of -chrp-boot-part",
" -prep-boot-part DISKFILE Set data source for MBR partition type 0x41", " -prep-boot-part DISKFILE Set data source for MBR partition type 0x41",
" -append_partition NUMBER TYPE FILE", " -append_partition NUMBER TYPE FILE",
" Append FILE after image. TYPE is hex: 0x..", " Append FILE after image. TYPE is hex: 0x.. or",
" a GUID to be used if -appended_part_as_gpt.",
" -appended_part_as_gpt mark appended partitions in GPT instead of MBR.", " -appended_part_as_gpt mark appended partitions in GPT instead of MBR.",
" -appended_part_as_apm mark appended partitions in APM.", " -appended_part_as_apm mark appended partitions in APM.",
" --modification-date=YYYYMMDDhhmmsscc", " --modification-date=YYYYMMDDhhmmsscc",

View File

@ -1,7 +1,7 @@
/* xorriso - creates, loads, manipulates and burns ISO 9660 filesystem images. /* xorriso - creates, loads, manipulates and burns ISO 9660 filesystem images.
Copyright 2007-2016 Thomas Schmitt, <scdbackup@gmx.net> Copyright 2007-2019 Thomas Schmitt, <scdbackup@gmx.net>
Provided under GPL version 2 or later. Provided under GPL version 2 or later.
@ -627,7 +627,7 @@ int Xorriso_boot_status_non_mbr(struct XorrisO *xorriso, IsoImage *image,
int Xorriso_append_part_status(struct XorrisO *xorriso, IsoImage *image, int Xorriso_append_part_status(struct XorrisO *xorriso, IsoImage *image,
char *filter, FILE *fp, int flag) char *filter, FILE *fp, int flag)
{ {
int i, is_default; int i, l, is_default;
is_default= (xorriso->appended_as_gpt == 0); is_default= (xorriso->appended_as_gpt == 0);
sprintf(xorriso->result_line, "-boot_image any appended_part_as=%s\n", sprintf(xorriso->result_line, "-boot_image any appended_part_as=%s\n",
@ -637,8 +637,16 @@ int Xorriso_append_part_status(struct XorrisO *xorriso, IsoImage *image,
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;
sprintf(xorriso->result_line, "-append_partition %d 0x%2.2x ", sprintf(xorriso->result_line, "-append_partition %d ", i + 1);
i + 1, (unsigned int) xorriso->appended_part_types[i]); l= strlen(xorriso->result_line);
if(xorriso->appended_part_gpt_flags[i] & 1) {
Xorriso__format_guid(xorriso->appended_part_type_guids[i],
xorriso->result_line + l, 0);
strcpy(xorriso->result_line + l + 32, " ");
} else {
sprintf(xorriso->result_line + l, "0x%2.2x ",
(unsigned int) xorriso->appended_part_types[i]);
}
Text_shellsafe(xorriso->appended_partitions[i], xorriso->result_line, 1); Text_shellsafe(xorriso->appended_partitions[i], xorriso->result_line, 1);
strcat(xorriso->result_line, "\n"); strcat(xorriso->result_line, "\n");
Xorriso_status_result(xorriso, filter, fp, flag & 2); Xorriso_status_result(xorriso, filter, fp, flag & 2);
@ -1654,12 +1662,12 @@ static int Xorriso_scan_report_lines(struct XorrisO *xorriso,
int appended_partition= 0; int appended_partition= 0;
#endif #endif
int iso_mbr_part_type= -1; int iso_mbr_part_type= -1, iso_gpt_part_idx= -1;
unsigned int prev_pltf= 0; unsigned int prev_pltf= 0;
unsigned long int sa_options= 0, partno, id_tag, perms, start_cyl, num_blocks; unsigned long int sa_options= 0, partno, id_tag, perms, start_cyl, num_blocks;
unsigned long int part_status, part_type, start_block, partition_offset= 0; unsigned long int part_status, part_type, start_block, partition_offset= 0;
uint32_t high_block= 0; uint32_t high_block= 0;
char name[24], *textpt, *contentpt, *buf= NULL; char name[24], *textpt, *contentpt, *buf= NULL, part_type_text[37];
char **lines= NULL; char **lines= NULL;
double num[8]; double num[8];
char *cat_path= ""; char *cat_path= "";
@ -1687,6 +1695,7 @@ static int Xorriso_scan_report_lines(struct XorrisO *xorriso,
struct gpt_par { struct gpt_par {
int ptype; /* 0= unknown, 1= gpt-basdat, 2=gpt-hfsplus, 3=EFI */ int ptype; /* 0= unknown, 1= gpt-basdat, 2=gpt-hfsplus, 3=EFI */
uint8_t type_guid[16];
int is_gap; int is_gap;
int has_path; int has_path;
char *path; char *path;
@ -1942,13 +1951,18 @@ static int Xorriso_scan_report_lines(struct XorrisO *xorriso,
gpts[idx].ptype= 3; /* EFI System Partition */ gpts[idx].ptype= 3; /* EFI System Partition */
else else
gpts[idx].ptype= 0; gpts[idx].ptype= 0;
Xorriso_parse_guid(xorriso, textpt, gpts[idx].type_guid, 1);
} else if(strcmp(name, "GPT start and size :") == 0) { } else if(strcmp(name, "GPT start and size :") == 0) {
idx= num[0] - 1; idx= num[0] - 1;
if(num[2] > 0) if(num[2] > 0)
appended_as_gpt= 1; appended_as_gpt= 1;
gpts[idx].start_block= num[1]; start_block= gpts[idx].start_block= num[1];
gpts[idx].block_count= num[2]; num_blocks= gpts[idx].block_count= num[2];
if(start_block == partition_offset * 4 &&
(start_block + num_blocks) >= high_block * 4 &&
iso_gpt_part_idx < 0)
iso_gpt_part_idx= idx;
} else if(strcmp(name, "GPT partition path :") == 0) { } else if(strcmp(name, "GPT partition path :") == 0) {
idx= num[0] - 1; idx= num[0] - 1;
@ -2210,9 +2224,13 @@ static int Xorriso_scan_report_lines(struct XorrisO *xorriso,
} }
} }
if(mbr_idx >= mbr_count) { if(mbr_idx >= mbr_count) {
if(appended_as_gpt == 1) if(appended_as_gpt == 1) {
appended_as_gpt= 2; appended_as_gpt= 2;
sprintf(buf, "-append_partition %d 0x%lx ", idx + 1, part_type); Xorriso__format_guid(gpts[idx].type_guid, part_type_text, 0);
} else {
sprintf(part_type_text, "0x%lx", part_type);
}
sprintf(buf, "-append_partition %d %s ", idx + 1, part_type_text);
Xorriso_add_intvl_adr(xorriso, buf, (uint64_t) num[1], Xorriso_add_intvl_adr(xorriso, buf, (uint64_t) num[1],
(uint64_t) (num[1] + num[2] - 1.0), "d", (uint64_t) (num[1] + num[2] - 1.0), "d",
imported_iso); imported_iso);
@ -2476,7 +2494,16 @@ static int Xorriso_scan_report_lines(struct XorrisO *xorriso,
Xorriso_record_cmd_linE Xorriso_record_cmd_linE
did_sysarea= 1; did_sysarea= 1;
} }
if(iso_mbr_part_type >= 0) { if(iso_gpt_part_idx >= 0) {
if(mkisofs)
sprintf(buf, "-iso_mbr_part_type ");
else
sprintf(buf, "-boot_image any iso_mbr_part_type=");
Xorriso__format_guid(gpts[iso_gpt_part_idx].type_guid, buf + strlen(buf),
0);
Xorriso_record_cmd_linE
} else if(iso_mbr_part_type >= 0) {
if(mkisofs) if(mkisofs)
sprintf(buf, "-iso_mbr_part_type 0x%2.2x", sprintf(buf, "-iso_mbr_part_type 0x%2.2x",
(unsigned int) iso_mbr_part_type); (unsigned int) iso_mbr_part_type);

View File

@ -1,7 +1,7 @@
/* xorriso - creates, loads, manipulates and burns ISO 9660 filesystem images. /* xorriso - creates, loads, manipulates and burns ISO 9660 filesystem images.
Copyright 2007-2016 Thomas Schmitt, <scdbackup@gmx.net> Copyright 2007-2019 Thomas Schmitt, <scdbackup@gmx.net>
Provided under GPL version 2 or later. Provided under GPL version 2 or later.
@ -979,26 +979,14 @@ int Xorriso_set_data_cache(struct XorrisO *xorriso, void *o,
return(ret); return(ret);
} }
int Xorriso_format_guid(struct XorrisO *xorriso, uint8_t guid[16], char *line, int Xorriso_format_guid(struct XorrisO *xorriso, uint8_t guid[16], char *line,
int flag) int flag)
{ {
int i;
line[0]= 0; /* >>> Maybe let the user switch between hex string and structured text */;
for(i= 3; i >= 0; i--)
sprintf(line + strlen(line), "%-2.2x", guid[i]); Xorriso__format_guid(guid, line, 1);
sprintf(line + strlen(line), "-");
for(i= 5; i >= 4; i--)
sprintf(line + strlen(line), "%-2.2x", guid[i]);
sprintf(line + strlen(line), "-");
for(i= 7; i >= 6; i--)
sprintf(line + strlen(line), "%-2.2x", guid[i]);
sprintf(line + strlen(line), "-");
for(i= 8; i < 10; i++)
sprintf(line + strlen(line), "%-2.2x", guid[i]);
sprintf(line + strlen(line), "-");
for(i= 10; i < 16; i++)
sprintf(line + strlen(line), "%-2.2x", guid[i]);
return(1); return(1);
} }

View File

@ -1,7 +1,7 @@
/* xorriso - creates, loads, manipulates and burns ISO 9660 filesystem images. /* xorriso - creates, loads, manipulates and burns ISO 9660 filesystem images.
Copyright 2007-2012 Thomas Schmitt, <scdbackup@gmx.net> Copyright 2007-2019 Thomas Schmitt, <scdbackup@gmx.net>
Provided under GPL version 2 or later. Provided under GPL version 2 or later.
@ -1334,3 +1334,36 @@ int Xorriso__exchange_prefix(char *source_prefix, char *target_prefix,
return(1); return(1);
} }
/* @param text takes result, must provide at least 37 characters of storage
@param flag bit0= structured text format (else hex string)
*/
int Xorriso__format_guid(uint8_t guid[16], char *text, int flag)
{
int i;
if(flag & 1) {
/* Structured text */
text[0]= 0;
for(i= 3; i >= 0; i--)
sprintf(text + strlen(text), "%-2.2x", (unsigned int) guid[i]);
sprintf(text + strlen(text), "-");
for(i= 5; i >= 4; i--)
sprintf(text + strlen(text), "%-2.2x", (unsigned int) guid[i]);
sprintf(text + strlen(text), "-");
for(i= 7; i >= 6; i--)
sprintf(text + strlen(text), "%-2.2x", (unsigned int) guid[i]);
sprintf(text + strlen(text), "-");
for(i= 8; i <= 9; i++)
sprintf(text + strlen(text), "%-2.2x", (unsigned int) guid[i]);
sprintf(text + strlen(text), "-");
for(i= 10; i <= 15; i++)
sprintf(text + strlen(text), "%-2.2x", (unsigned int) guid[i]);
} else {
/* Plain hex string */
for(i= 0; i < 16; i++)
sprintf(text + i * 2, "%-2.2x", (unsigned int) guid[i]);
}
return(1);
}

View File

@ -1,7 +1,7 @@
/* xorriso - creates, loads, manipulates and burns ISO 9660 filesystem images. /* xorriso - creates, loads, manipulates and burns ISO 9660 filesystem images.
Copyright 2007-2012 Thomas Schmitt, <scdbackup@gmx.net> Copyright 2007-2019 Thomas Schmitt, <scdbackup@gmx.net>
Provided under GPL version 2 or later. Provided under GPL version 2 or later.
@ -14,6 +14,14 @@
#include <regex.h> #include <regex.h>
#ifdef HAVE_STDINT_H
#include <stdint.h>
#else
#ifdef HAVE_INTTYPES_H
#include <inttypes.h>
#endif
#endif
char *Text_shellsafe(char *in_text, char *out_text, int flag); char *Text_shellsafe(char *in_text, char *out_text, int flag);
@ -101,5 +109,10 @@ int Xorriso__to_upper(char *in, char *out, int out_size, int flag);
int Xorriso__exchange_prefix(char *source_prefix, char *target_prefix, int Xorriso__exchange_prefix(char *source_prefix, char *target_prefix,
char *eff_source, char *eff_target, int flag); char *eff_source, char *eff_target, int flag);
/* @param text takes result, must provide at least 37 characters of storage
@param flag bit0= structured text format (else hex string)
*/
int Xorriso__format_guid(uint8_t guid[16], char *text, int flag);
#endif /* ! Xorriso_pvt_misc_includeD */ #endif /* ! Xorriso_pvt_misc_includeD */

View File

@ -1,7 +1,7 @@
/* xorriso - creates, loads, manipulates and burns ISO 9660 filesystem images. /* xorriso - creates, loads, manipulates and burns ISO 9660 filesystem images.
Copyright 2007-2017 Thomas Schmitt, <scdbackup@gmx.net> Copyright 2007-2019 Thomas Schmitt, <scdbackup@gmx.net>
Provided under GPL version 2 or later. Provided under GPL version 2 or later.
@ -295,9 +295,10 @@ ex:;
int Xorriso_option_append_partition(struct XorrisO *xorriso, char *partno_text, int Xorriso_option_append_partition(struct XorrisO *xorriso, char *partno_text,
char *type_text, char *image_path, int flag) char *type_text, char *image_path, int flag)
{ {
int partno = 0, type_code= -1, i; int partno = 0, type_code= -1, i, guid_valid= 0, ret;
unsigned int unum; unsigned int unum;
char *tpt; char *tpt;
uint8_t guid[16];
static char *part_type_names[] = {"FAT12", "FAT16", "Linux", "", NULL}; static char *part_type_names[] = {"FAT12", "FAT16", "Linux", "", NULL};
static int part_type_codes[] = { 0x01, 0x06, 0x83, 0x00}; static int part_type_codes[] = { 0x01, 0x06, 0x83, 0x00};
@ -314,6 +315,12 @@ int Xorriso_option_append_partition(struct XorrisO *xorriso, char *partno_text,
break; break;
if(part_type_names[i] != NULL) if(part_type_names[i] != NULL)
type_code= part_type_codes[i]; type_code= part_type_codes[i];
if(type_code < 0) {
ret= Xorriso_parse_type_guid(xorriso, type_text, guid, &type_code, 0);
if(ret > 0)
guid_valid= 1;
}
if(type_code < 0) { if(type_code < 0) {
tpt= type_text; tpt= type_text;
if(strncmp(tpt, "0x", 2) == 0) if(strncmp(tpt, "0x", 2) == 0)
@ -325,7 +332,7 @@ int Xorriso_option_append_partition(struct XorrisO *xorriso, char *partno_text,
if(unum > 0xff) { if(unum > 0xff) {
bad_type:; bad_type:;
sprintf(xorriso->info_text, sprintf(xorriso->info_text,
"-append_partition: Partition type '%s' is out of range (0x00...0xff)", "-append_partition: Partition type '%s' is out of range (0x00...0xff or GUID)",
type_text); type_text);
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FAILURE", 0); Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FAILURE", 0);
return(0); return(0);
@ -341,6 +348,12 @@ bad_type:;
return(-1); return(-1);
} }
xorriso->appended_part_types[partno - 1]= type_code; xorriso->appended_part_types[partno - 1]= type_code;
if(guid_valid) {
memcpy(xorriso->appended_part_type_guids[partno - 1], guid, 16);
xorriso->appended_part_gpt_flags[partno - 1]|= 1;
} else {
xorriso->appended_part_gpt_flags[partno - 1]&= ~1;
}
return(1); return(1);
} }
@ -683,7 +696,7 @@ int Xorriso_option_boot_image(struct XorrisO *xorriso, char *form,
char *treatment, int flag) char *treatment, int flag)
{ {
int was_ok= 1, ret, isolinux_grub= 0, count, bin_count, parm_len; int was_ok= 1, ret, isolinux_grub= 0, count, bin_count, parm_len;
int palohdrversion; int palohdrversion, type_code;
unsigned int u; unsigned int u;
char *formpt, *treatpt, *eff_path= NULL, *eqpt, parm[20]; char *formpt, *treatpt, *eff_path= NULL, *eqpt, parm[20];
uint8_t sn[8]; uint8_t sn[8];
@ -1097,6 +1110,7 @@ treatment_patch:;
} else if(strncmp(treatpt, "iso_mbr_part_type=", 18) == 0) { } else if(strncmp(treatpt, "iso_mbr_part_type=", 18) == 0) {
ret= 256; ret= 256;
xorriso->iso_mbr_part_flag&= ~1;
if(strncmp(treatpt + 18, "default", 2) == 0) { if(strncmp(treatpt + 18, "default", 2) == 0) {
ret= -1; ret= -1;
} else if(strncmp(treatpt + 18, "0x", 2) == 0) { } else if(strncmp(treatpt + 18, "0x", 2) == 0) {
@ -1104,8 +1118,16 @@ treatment_patch:;
sscanf(treatpt + 20, "%x", &u); sscanf(treatpt + 20, "%x", &u);
ret= u; ret= u;
} else { } else {
sscanf(treatpt + 18, "%d", &ret); ret= Xorriso_parse_type_guid(xorriso, treatpt + 18,
xorriso->iso_gpt_type_guid, &type_code, 0);
if(ret > 0) {
ret= type_code;
xorriso->iso_mbr_part_flag|= 1;
} else {
sscanf(treatpt + 18, "%d", &ret);
}
} }
if(ret < -1 || ret > 0xff) { if(ret < -1 || ret > 0xff) {
sprintf(xorriso->info_text, sprintf(xorriso->info_text,
"-boot_image %s : iso_mbr_part_type='%s' wrong (\"default\", 0 ... 255, 0x00 ... 0xff)", "-boot_image %s : iso_mbr_part_type='%s' wrong (\"default\", 0 ... 255, 0x00 ... 0xff)",

View File

@ -1,7 +1,7 @@
/* xorriso - creates, loads, manipulates and burns ISO 9660 filesystem images. /* xorriso - creates, loads, manipulates and burns ISO 9660 filesystem images.
Copyright 2007-2016 Thomas Schmitt, <scdbackup@gmx.net> Copyright 2007-2019 Thomas Schmitt, <scdbackup@gmx.net>
Provided under GPL version 2 or later. Provided under GPL version 2 or later.
@ -3067,11 +3067,15 @@ int Xorriso_status(struct XorrisO *xorriso, char *filter, FILE *fp, int flag)
is_default= (xorriso->iso_mbr_part_type == -1); is_default= (xorriso->iso_mbr_part_type == -1);
sprintf(line, "-boot_image any iso_mbr_part_type="); sprintf(line, "-boot_image any iso_mbr_part_type=");
if(xorriso->iso_mbr_part_type == -1) if(xorriso->iso_mbr_part_flag & 1) {
Xorriso__format_guid(xorriso->iso_gpt_type_guid, line + strlen(line), 0);
strcat(line, "\n");
} else if(xorriso->iso_mbr_part_type == -1) {
sprintf(line + strlen(line), "default\n"); sprintf(line + strlen(line), "default\n");
else } else {
sprintf(line + strlen(line), "0x%-2.2x\n", sprintf(line + strlen(line), "0x%-2.2x\n",
(unsigned int) xorriso->iso_mbr_part_type); (unsigned int) xorriso->iso_mbr_part_type);
}
if(!(is_default && no_defaults)) if(!(is_default && no_defaults))
Xorriso_status_result(xorriso,filter,fp,flag&2); Xorriso_status_result(xorriso,filter,fp,flag&2);

View File

@ -958,11 +958,16 @@ int Xorriso_make_iso_write_opts(struct XorrisO *xorriso, IsoImage *image,
isoburn_igopt_set_partition_img(sopts, i + 1, isoburn_igopt_set_partition_img(sopts, i + 1,
xorriso->appended_part_types[i], part_image); xorriso->appended_part_types[i], part_image);
isoburn_igopt_set_part_flag(sopts, i + 1, intvl_string); isoburn_igopt_set_part_flag(sopts, i + 1, intvl_string);
isoburn_igopt_set_part_type_guid(sopts, i + 1,
xorriso->appended_part_type_guids[i],
xorriso->appended_part_gpt_flags[i] & 1);
} }
isoburn_igopt_set_appended_as_gpt(sopts, xorriso->appended_as_gpt); isoburn_igopt_set_appended_as_gpt(sopts, xorriso->appended_as_gpt);
isoburn_igopt_set_appended_as_apm(sopts, xorriso->appended_as_apm); isoburn_igopt_set_appended_as_apm(sopts, xorriso->appended_as_apm);
isoburn_igopt_set_part_like_isohybrid(sopts, xorriso->part_like_isohybrid); isoburn_igopt_set_part_like_isohybrid(sopts, xorriso->part_like_isohybrid);
isoburn_igopt_set_iso_mbr_part_type(sopts, xorriso->iso_mbr_part_type); isoburn_igopt_set_iso_mbr_part_type(sopts, xorriso->iso_mbr_part_type);
isoburn_igopt_set_iso_type_guid(sopts, xorriso->iso_gpt_type_guid,
xorriso->iso_mbr_part_flag & 1);
isoburn_igopt_set_gpt_guid(sopts, xorriso->gpt_guid, xorriso->gpt_guid_mode); isoburn_igopt_set_gpt_guid(sopts, xorriso->gpt_guid, xorriso->gpt_guid_mode);
isoburn_igopt_set_disc_label(sopts, xorriso->ascii_disc_label); isoburn_igopt_set_disc_label(sopts, xorriso->ascii_disc_label);
isoburn_igopt_set_hfsp_serial_number(sopts, xorriso->hfsp_serial_number); isoburn_igopt_set_hfsp_serial_number(sopts, xorriso->hfsp_serial_number);
@ -3125,20 +3130,14 @@ ex:;
} }
int Xorriso_parse_gpt_guid(struct XorrisO *xorriso, char *text, int flag) /* @param flag bit0= no error message
*/
int Xorriso_parse_guid(struct XorrisO *xorriso, char *text,
uint8_t guid[16], int flag)
{ {
int bin_count= 0, ret; int bin_count= 0, ret;
uint8_t u[16], tr; uint8_t u[16], tr;
if(strcmp(text, "random") == 0) {
xorriso->gpt_guid_mode= 0;
return(1);
}
if(strcmp(text, "modification-date") == 0 ||
strcmp(text, "volume_date_uuid") == 0) {
xorriso->gpt_guid_mode= 2;
return(1);
}
/* Try RFC 4122 : big endian XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX /* Try RFC 4122 : big endian XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
Translate to UEFI: first three components to little-endian Translate to UEFI: first three components to little-endian
*/ */
@ -3163,8 +3162,7 @@ int Xorriso_parse_gpt_guid(struct XorrisO *xorriso, char *text, int flag)
ret= Hex_to_bin(text + 24, 6, &bin_count, u + 10, 0); ret= Hex_to_bin(text + 24, 6, &bin_count, u + 10, 0);
if(ret < 0 || bin_count != 6) if(ret < 0 || bin_count != 6)
goto malformed; goto malformed;
xorriso->gpt_guid_mode= 1; memcpy(guid, u, 16);
memcpy(xorriso->gpt_guid, u, 16);
return(1); return(1);
} }
} }
@ -3172,15 +3170,67 @@ int Xorriso_parse_gpt_guid(struct XorrisO *xorriso, char *text, int flag)
ret= Hex_to_bin(text, 16, &bin_count, u, 0); ret= Hex_to_bin(text, 16, &bin_count, u, 0);
if(ret < 0 || bin_count != 16) if(ret < 0 || bin_count != 16)
goto malformed; goto malformed;
xorriso->gpt_guid_mode= 1; memcpy(guid, u, 16);
memcpy(xorriso->gpt_guid, u, 16);
return(1); return(1);
} }
malformed:; malformed:;
sprintf(xorriso->info_text, "Malformed GUID string: "); if(!(flag & 1)) {
Text_shellsafe(text, xorriso->info_text, 1); sprintf(xorriso->info_text, "Malformed GUID string: ");
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FAILURE", 0); Text_shellsafe(text, xorriso->info_text, 1);
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FAILURE", 0);
}
return(0);
}
int Xorriso_parse_gpt_guid(struct XorrisO *xorriso, char *text, int flag)
{
int ret;
if(strcmp(text, "random") == 0) {
xorriso->gpt_guid_mode= 0;
return(1);
}
if(strcmp(text, "modification-date") == 0 ||
strcmp(text, "volume_date_uuid") == 0) {
xorriso->gpt_guid_mode= 2;
return(1);
}
ret= Xorriso_parse_guid(xorriso, text, xorriso->gpt_guid, 0);
if(ret <= 0)
return(ret);
xorriso->gpt_guid_mode= 1;
return(1);
}
/* @return Tells the recognition status
0= not recognized as GUID
1= non-EFI type GUID
2= EFI type GUID
*/
int Xorriso_parse_type_guid(struct XorrisO *xorriso, char *text,
uint8_t guid[16], int *mbr_type, int flag)
{
int j, ret;
static uint8_t efi_sys_uuid[16] = {
0x28, 0x73, 0x2a, 0xc1, 0x1f, 0xf8, 0xd2, 0x11,
0xba, 0x4b, 0x00, 0xa0, 0xc9, 0x3e, 0xc9, 0x3b
};
ret= Xorriso_parse_guid(xorriso, text, guid, 1);
if(ret > 0) {
for(j= 0; j < 16; j++)
if(guid[j] != efi_sys_uuid[j])
break;
if(j >= 16) {
*mbr_type= 0xef;
return(2);
} else {
*mbr_type= 0x83;
return(1);
}
}
return(0); return(0);
} }

View File

@ -9,7 +9,7 @@
.\" First parameter, NAME, should be all caps .\" First parameter, NAME, should be all caps
.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection .\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
.\" other parameters are allowed: see man(7), man(1) .\" other parameters are allowed: see man(7), man(1)
.TH XORRISO 1 "Version 1.5.1, Nov 11, 2018" .TH XORRISO 1 "Version 1.5.1, Feb 16, 2019"
.\" Please adjust this date whenever revising the manpage. .\" Please adjust this date whenever revising the manpage.
.\" .\"
.\" Some roff macros, for reference: .\" Some roff macros, for reference:
@ -3226,7 +3226,7 @@ is not the same as \-indev. The Source component is ignored.
"appended_partition_NNN" with a decimal number NNN works only for \-boot_image "appended_partition_NNN" with a decimal number NNN works only for \-boot_image
bootspecs which announce El Torito boot image paths: bin_path=, efi_path=. bootspecs which announce El Torito boot image paths: bin_path=, efi_path=.
The number gives the partition number as used with the corresponding The number gives the partition number as used with the corresponding
option \-append_partition. command \-append_partition.
.br .br
The component Interval consists of two byte address numbers separated by a "\-" character. E.g. "0\-429" means to read bytes 0 to 429. The component Interval consists of two byte address numbers separated by a "\-" character. E.g. "0\-429" means to read bytes 0 to 429.
.br .br
@ -3473,13 +3473,20 @@ Appended partitions get mentioned in APM if other APM partitions emerge.
.br .br
\fB\-boot_image any iso_mbr_part_type=\fRnumber sets the partition type \fB\-boot_image any iso_mbr_part_type=\fRnumber sets the partition type
of the MBR partition which represents the ISO or at least protects it. of the MBR partition which represents the ISO or at least protects it.
.br
Number may be 0x00 to 0xff. The text "default" re\-enables the default types Number may be 0x00 to 0xff. The text "default" re\-enables the default types
of the various occasions to create an ISO MBR partition. of the various occasions to create an ISO MBR partition.
.br
This is without effect if no such partition emerges by other settings or This is without effect if no such partition emerges by other settings or
if the partition type is prescribed mandatorily like 0xee for GPT protective if the partition type is prescribed mandatorily like 0xee for GPT protective
MBR or 0x96 for CHRP. MBR or 0x96 for CHRP.
.br .br
If instead a type_guid is given by a 32\-digit hex string like
a2a0d0ebe5b9334487c068b6b72699c7 or by a structured text like
EBD0A0A2\-B9E5\-4433\-87C0\-68B6B72699C7, then it will be used as partition type
if the ISO filesystem appears as partition in GPT.
In MBR, C12A7328\-F81F\-11D2\-BA4B\-00A0C93EC93B will be mapped to 0xef.
Any other GUID will be mapped to 0x83.
.br
\fBgrub2_mbr=\fRdisk_path works like "any" system_area= with additional \fBgrub2_mbr=\fRdisk_path works like "any" system_area= with additional
patching for modern GRUB MBRs. The content start address of the first boot patching for modern GRUB MBRs. The content start address of the first boot
image is converted to a count of 512 byte blocks, and an offset of 4 is added. image is converted to a count of 512 byte blocks, and an offset of 4 is added.
@ -3695,8 +3702,14 @@ MBR features, number 2 would be the most natural choice.
.br .br
The type_code may be "FAT12", "FAT16", "Linux", The type_code may be "FAT12", "FAT16", "Linux",
or a hexadecimal number between 0x00 and 0xff. Not all those numbers will or a hexadecimal number between 0x00 and 0xff. Not all those numbers will
yield usable results. For a list of codes search the Internet for yield usable results. For a list of MBR partition type codes search the
"Partition Types" or run fdisk command "L". Internet for "Partition Types" or run fdisk command "L".
.br
type_code may also be a type GUID as plain hex string like
a2a0d0ebe5b9334487c068b6b72699c7 or as structured text like
EBD0A0A2\-B9E5\-4433\-87C0\-68B6B72699C7. It will be used if the partition is
mentioned in GPT. In MBR, C12A7328\-F81F\-11D2\-BA4B\-00A0C93EC93B will be mapped
to 0xef. Any other GUID will be mapped to 0x83.
.br .br
If some other command causes the production of GPT, then the appended If some other command causes the production of GPT, then the appended
partitions will be mentioned there too. partitions will be mentioned there too.
@ -6183,7 +6196,7 @@ Thomas Schmitt <scdbackup@gmx.net>
.br .br
for libburnia\-project.org for libburnia\-project.org
.SH COPYRIGHT .SH COPYRIGHT
Copyright (c) 2007 \- 2018 Thomas Schmitt Copyright (c) 2007 \- 2019 Thomas Schmitt
.br .br
Permission is granted to distribute this text freely. It shall only be Permission is granted to distribute this text freely. It shall only be
modified in sync with the technical properties of \fBxorriso\fR. modified in sync with the technical properties of \fBxorriso\fR.

View File

@ -2732,7 +2732,7 @@ The component Flags modifies the further interpretation:
"appended_partition_NNN" with a decimal number NNN works only for "appended_partition_NNN" with a decimal number NNN works only for
-boot_image bootspecs which announce El Torito boot image paths: -boot_image bootspecs which announce El Torito boot image paths:
bin_path=, efi_path=. The number gives the partition number as used bin_path=, efi_path=. The number gives the partition number as used
with the corresponding option -append_partition. with the corresponding command -append_partition.
The component Interval consists of two byte address numbers separated by The component Interval consists of two byte address numbers separated by
a "-" character. E.g. "0-429" means to read bytes 0 to 429. a "-" character. E.g. "0-429" means to read bytes 0 to 429.
The component Zeroizers consists of zero or more comma separated The component Zeroizers consists of zero or more comma separated
@ -2927,12 +2927,18 @@ Examples:
APM if other APM partitions emerge. APM if other APM partitions emerge.
*-boot_image any iso_mbr_part_type=*number sets the partition type *-boot_image any iso_mbr_part_type=*number sets the partition type
of the MBR partition which represents the ISO or at least protects of the MBR partition which represents the ISO or at least protects
it. Number may be 0x00 to 0xff. The text "default" re-enables the it.
Number may be 0x00 to 0xff. The text "default" re-enables the
default types of the various occasions to create an ISO MBR default types of the various occasions to create an ISO MBR
partition. partition. This is without effect if no such partition emerges by
This is without effect if no such partition emerges by other other settings or if the partition type is prescribed mandatorily
settings or if the partition type is prescribed mandatorily like like 0xee for GPT protective MBR or 0x96 for CHRP.
0xee for GPT protective MBR or 0x96 for CHRP. If instead a type_guid is given by a 32-digit hex string like
a2a0d0ebe5b9334487c068b6b72699c7 or by a structured text like
EBD0A0A2-B9E5-4433-87C0-68B6B72699C7, then it will be used as
partition type if the ISO filesystem appears as partition in GPT.
In MBR, C12A7328-F81F-11D2-BA4B-00A0C93EC93B will be mapped to
0xef. Any other GUID will be mapped to 0x83.
*grub2_mbr=*disk_path works like "any" system_area= with additional *grub2_mbr=*disk_path works like "any" system_area= with additional
patching for modern GRUB MBRs. The content start address of the patching for modern GRUB MBRs. The content start address of the
first boot image is converted to a count of 512 byte blocks, and an first boot image is converted to a count of 512 byte blocks, and an
@ -3114,8 +3120,14 @@ Examples:
natural choice. natural choice.
The type_code may be "FAT12", "FAT16", "Linux", or a hexadecimal The type_code may be "FAT12", "FAT16", "Linux", or a hexadecimal
number between 0x00 and 0xff. Not all those numbers will yield number between 0x00 and 0xff. Not all those numbers will yield
usable results. For a list of codes search the Internet for usable results. For a list of MBR partition type codes search the
"Partition Types" or run fdisk command "L". Internet for "Partition Types" or run fdisk command "L".
type_code may also be a type GUID as plain hex string like
a2a0d0ebe5b9334487c068b6b72699c7 or as structured text like
EBD0A0A2-B9E5-4433-87C0-68B6B72699C7. It will be used if the
partition is mentioned in GPT. In MBR,
C12A7328-F81F-11D2-BA4B-00A0C93EC93B will be mapped to 0xef. Any
other GUID will be mapped to 0x83.
If some other command causes the production of GPT, then the If some other command causes the production of GPT, then the
appended partitions will be mentioned there too. appended partitions will be mentioned there too.
The disk_path must provide the necessary data bytes at commit time. The disk_path must provide the necessary data bytes at commit time.
@ -5234,7 +5246,7 @@ for libburnia-project.org
15.2 Copyright 15.2 Copyright
============== ==============
Copyright (c) 2007 - 2018 Thomas Schmitt Copyright (c) 2007 - 2019 Thomas Schmitt
Permission is granted to distribute this text freely. It shall only be Permission is granted to distribute this text freely. It shall only be
modified in sync with the technical properties of 'xorriso'. If you modified in sync with the technical properties of 'xorriso'. If you
make use of the license to derive modified versions of 'xorriso' then make use of the license to derive modified versions of 'xorriso' then
@ -5269,7 +5281,7 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top
* -alter_date sets timestamps in ISO image: Manip. (line 139) * -alter_date sets timestamps in ISO image: Manip. (line 139)
* -alter_date_r sets timestamps in ISO image: Manip. (line 174) * -alter_date_r sets timestamps in ISO image: Manip. (line 174)
* -append_partition adds arbitrary file after image end: Bootable. * -append_partition adds arbitrary file after image end: Bootable.
(line 415) (line 421)
* -application_id sets application id: SetWrite. (line 191) * -application_id sets application id: SetWrite. (line 191)
* -application_use sets application use field: SetWrite. (line 266) * -application_use sets application use field: SetWrite. (line 266)
* -as emulates mkisofs or cdrecord: Emulation. (line 13) * -as emulates mkisofs or cdrecord: Emulation. (line 13)
@ -5513,12 +5525,12 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
* ACL, show in ISO image, -getfacl: Navigate. (line 60) * ACL, show in ISO image, -getfacl: Navigate. (line 60)
* ACL, show in ISO image, -getfacl_r: Navigate. (line 66) * ACL, show in ISO image, -getfacl_r: Navigate. (line 66)
* ACL, _definition: Extras. (line 50) * ACL, _definition: Extras. (line 50)
* APM block size: Bootable. (line 406) * APM block size: Bootable. (line 412)
* APM, _definition: Extras. (line 42) * APM, _definition: Extras. (line 42)
* Appendable media, _definition: Media. (line 38) * Appendable media, _definition: Media. (line 38)
* Appended Filesystem Image, -append_partition: Bootable. (line 415) * Appended Filesystem Image, -append_partition: Bootable. (line 421)
* Appended partition, in APM: Bootable. (line 283) * Appended partition, in APM: Bootable. (line 289)
* Appended partition, in MBR or GPT: Bootable. (line 276) * Appended partition, in MBR or GPT: Bootable. (line 282)
* Automatic execution order, of arguments, -x: ArgSort. (line 16) * Automatic execution order, of arguments, -x: ArgSort. (line 16)
* Backslash Interpretation, _definition: Processing. (line 53) * Backslash Interpretation, _definition: Processing. (line 53)
* Backup, enable fast incremental, -disk_dev_ino: Loading. (line 246) * Backup, enable fast incremental, -disk_dev_ino: Loading. (line 246)
@ -5536,15 +5548,15 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
* Character set, learn from image, -auto_charset: Loading. (line 125) * Character set, learn from image, -auto_charset: Loading. (line 125)
* Character Set, of terminal, -local_charset: Charset. (line 57) * Character Set, of terminal, -local_charset: Charset. (line 57)
* Character Set, _definition: Charset. (line 6) * Character Set, _definition: Charset. (line 6)
* CHRP partition, _definition: Bootable. (line 288) * CHRP partition, _definition: Bootable. (line 294)
* Closed media, _definition: Media. (line 44) * Closed media, _definition: Media. (line 44)
* Comment, #: Scripting. (line 156) * Comment, #: Scripting. (line 156)
* Control, signal handling, -signal_handling: Exception. (line 66) * Control, signal handling, -signal_handling: Exception. (line 66)
* Create, new ISO image, _definition: Methods. (line 7) * Create, new ISO image, _definition: Methods. (line 7)
* Cylinder alignment, _definition: Bootable. (line 332) * Cylinder alignment, _definition: Bootable. (line 338)
* Cylinder size, _definition: Bootable. (line 317) * Cylinder size, _definition: Bootable. (line 323)
* Damaged track and session, close, -close_damaged: Writing. (line 164) * Damaged track and session, close, -close_damaged: Writing. (line 164)
* DEC Alpha SRM boot sector, production: Bootable. (line 392) * DEC Alpha SRM boot sector, production: Bootable. (line 398)
* Delete, from ISO image, -rm: Manip. (line 20) * Delete, from ISO image, -rm: Manip. (line 20)
* Delete, from ISO image, -rm_r: Manip. (line 26) * Delete, from ISO image, -rm_r: Manip. (line 26)
* Delete, ISO directory, -rmdir: Manip. (line 29) * Delete, ISO directory, -rmdir: Manip. (line 29)
@ -5575,7 +5587,7 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
* Drive, _definition: Drives. (line 6) * Drive, _definition: Drives. (line 6)
* EA, _definition: Extras. (line 66) * EA, _definition: Extras. (line 66)
* ECMA-119, _definition: Model. (line 6) * ECMA-119, _definition: Model. (line 6)
* EFI system partition, _definition: Bootable. (line 297) * EFI system partition, _definition: Bootable. (line 303)
* El Torito, _definition: Extras. (line 19) * El Torito, _definition: Extras. (line 19)
* Emulation, -as: Emulation. (line 13) * Emulation, -as: Emulation. (line 13)
* Emulation, .mkisofsrc, -read_mkisofsrc: Emulation. (line 155) * Emulation, .mkisofsrc, -read_mkisofsrc: Emulation. (line 155)
@ -5605,10 +5617,10 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
* Group, in ISO image, -chgrp_r: Manip. (line 53) * Group, in ISO image, -chgrp_r: Manip. (line 53)
* Growing, _definition: Methods. (line 20) * Growing, _definition: Methods. (line 20)
* Hard links, control handling, -hardlinks: Loading. (line 136) * Hard links, control handling, -hardlinks: Loading. (line 136)
* HFS+ allocation block size: Bootable. (line 403) * HFS+ allocation block size: Bootable. (line 409)
* HFS+ serial number: Bootable. (line 400) * HFS+ serial number: Bootable. (line 406)
* hidden, set in ISO image, -hide: Manip. (line 177) * hidden, set in ISO image, -hide: Manip. (line 177)
* HP-PA boot sector, production: Bootable. (line 375) * HP-PA boot sector, production: Bootable. (line 381)
* Image reading, cache size, -data_cache_size: Loading. (line 352) * Image reading, cache size, -data_cache_size: Loading. (line 352)
* Image, demand volume ID, -assert_volid: Loading. (line 113) * Image, demand volume ID, -assert_volid: Loading. (line 113)
* Image, discard pending changes, -rollback: Writing. (line 9) * Image, discard pending changes, -rollback: Writing. (line 9)
@ -5664,7 +5676,7 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
* Linux device type, -scsi_dev_family: AqDrive. (line 43) * Linux device type, -scsi_dev_family: AqDrive. (line 43)
* List delimiter, _definition: Processing. (line 9) * List delimiter, _definition: Processing. (line 9)
* Local Character Set, _definition: Charset. (line 11) * Local Character Set, _definition: Charset. (line 11)
* MBR bootable/active flag, enforce: Bootable. (line 343) * MBR bootable/active flag, enforce: Bootable. (line 349)
* MBR, set, -boot_image system_area=: Bootable. (line 200) * MBR, set, -boot_image system_area=: Bootable. (line 200)
* MBR, _definition: Extras. (line 27) * MBR, _definition: Extras. (line 27)
* MD5, control handling, -md5: Loading. (line 192) * MD5, control handling, -md5: Loading. (line 192)
@ -5672,7 +5684,7 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
* Media, format, -format: Writing. (line 87) * Media, format, -format: Writing. (line 87)
* Media, list formats, -list_formats: Writing. (line 129) * Media, list formats, -list_formats: Writing. (line 129)
* Media, list write speeds, -list_speeds: Writing. (line 140) * Media, list write speeds, -list_speeds: Writing. (line 140)
* MIPS boot file, activation: Bootable. (line 354) * MIPS boot file, activation: Bootable. (line 360)
* mkisofs, Emulation: Emulation. (line 17) * mkisofs, Emulation: Emulation. (line 17)
* Modifying, _definition: Methods. (line 28) * Modifying, _definition: Methods. (line 28)
* Multi-session media, _definition: Media. (line 7) * Multi-session media, _definition: Media. (line 7)
@ -5699,15 +5711,15 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
* Ownership, global in ISO image, -uid: SetWrite. (line 284) * Ownership, global in ISO image, -uid: SetWrite. (line 284)
* Ownership, in ISO image, -chown: Manip. (line 43) * Ownership, in ISO image, -chown: Manip. (line 43)
* Ownership, in ISO image, -chown_r: Manip. (line 47) * Ownership, in ISO image, -chown_r: Manip. (line 47)
* Partition offset, _definition: Bootable. (line 307) * Partition offset, _definition: Bootable. (line 313)
* Partition table, _definition: Bootable. (line 257) * Partition table, _definition: Bootable. (line 263)
* Pathspec, _definition: SetInsert. (line 117) * Pathspec, _definition: SetInsert. (line 117)
* Pattern expansion, for disk paths, -disk_pattern: Insert. (line 34) * Pattern expansion, for disk paths, -disk_pattern: Insert. (line 34)
* Pattern expansion, for ISO paths, -iso_rr_pattern: Manip. (line 10) * Pattern expansion, for ISO paths, -iso_rr_pattern: Manip. (line 10)
* Pattern expansion, _definition: Processing. (line 25) * Pattern expansion, _definition: Processing. (line 25)
* Permissions, in ISO image, -chmod: Manip. (line 55) * Permissions, in ISO image, -chmod: Manip. (line 55)
* Permissions, in ISO image, -chmod_r: Manip. (line 66) * Permissions, in ISO image, -chmod_r: Manip. (line 66)
* PReP partition, _definition: Bootable. (line 292) * PReP partition, _definition: Bootable. (line 298)
* Problems, reporting: Bugreport. (line 6) * Problems, reporting: Bugreport. (line 6)
* Process, consolidate text output, -pkt_output: Frontend. (line 7) * Process, consolidate text output, -pkt_output: Frontend. (line 7)
* Process, control abort on error, -abort_on: Exception. (line 27) * Process, control abort on error, -abort_on: Exception. (line 27)
@ -5767,8 +5779,8 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
* Session, select as input, -load: Loading. (line 33) * Session, select as input, -load: Loading. (line 33)
* Session, _definition: Model. (line 6) * Session, _definition: Model. (line 6)
* Sorting order, for -x, -list_arg_sorting: ArgSort. (line 26) * Sorting order, for -x, -list_arg_sorting: ArgSort. (line 26)
* SUN Disk Label, production: Bootable. (line 365) * SUN Disk Label, production: Bootable. (line 371)
* SUN SPARC boot images, activation: Bootable. (line 438) * SUN SPARC boot images, activation: Bootable. (line 450)
* Symbolic link, create, -lns: Insert. (line 181) * Symbolic link, create, -lns: Insert. (line 181)
* System area, _definition: Bootable. (line 200) * System area, _definition: Bootable. (line 200)
* Table-of-content, search sessions, -rom_toc_scan: Loading. (line 298) * Table-of-content, search sessions, -rom_toc_scan: Loading. (line 298)
@ -5837,40 +5849,40 @@ Node: Filter104114
Node: Writing108736 Node: Writing108736
Node: SetWrite118892 Node: SetWrite118892
Node: Bootable143651 Node: Bootable143651
Node: Jigdo169846 Node: Jigdo170608
Node: Charset174105 Node: Charset174867
Node: Exception177434 Node: Exception178196
Node: DialogCtl183563 Node: DialogCtl184325
Node: Inquiry186165 Node: Inquiry186927
Node: Navigate195049 Node: Navigate195811
Node: Verify203506 Node: Verify204268
Node: Restore213977 Node: Restore214739
Node: Emulation222590 Node: Emulation223352
Node: Scripting233049 Node: Scripting233811
Node: Frontend240832 Node: Frontend241594
Node: Examples250458 Node: Examples251220
Node: ExDevices251636 Node: ExDevices252398
Node: ExCreate252297 Node: ExCreate253059
Node: ExDialog253597 Node: ExDialog254359
Node: ExGrowing254868 Node: ExGrowing255630
Node: ExModifying255677 Node: ExModifying256439
Node: ExBootable256187 Node: ExBootable256949
Node: ExCharset256742 Node: ExCharset257504
Node: ExPseudo257638 Node: ExPseudo258400
Node: ExCdrecord258565 Node: ExCdrecord259327
Node: ExMkisofs258885 Node: ExMkisofs259647
Node: ExGrowisofs260783 Node: ExGrowisofs261545
Node: ExException261937 Node: ExException262699
Node: ExTime262395 Node: ExTime263157
Node: ExIncBackup262853 Node: ExIncBackup263615
Node: ExRestore266879 Node: ExRestore267641
Node: ExRecovery267825 Node: ExRecovery268587
Node: Files268397 Node: Files269159
Node: Environ269731 Node: Environ270493
Node: Seealso270440 Node: Seealso271202
Node: Bugreport271157 Node: Bugreport271919
Node: Legal271748 Node: Legal272510
Node: CommandIdx272760 Node: CommandIdx273522
Node: ConceptIdx290094 Node: ConceptIdx290856
 
End Tag Table End Tag Table

View File

@ -50,7 +50,7 @@
@c man .\" First parameter, NAME, should be all caps @c man .\" First parameter, NAME, should be all caps
@c man .\" Second parameter, SECTION, should be 1-8, maybe w/ subsection @c man .\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
@c man .\" other parameters are allowed: see man(7), man(1) @c man .\" other parameters are allowed: see man(7), man(1)
@c man .TH XORRISO 1 "Version 1.5.1, Nov 11, 2018" @c man .TH XORRISO 1 "Version 1.5.1, Feb 16, 2019"
@c man .\" Please adjust this date whenever revising the manpage. @c man .\" Please adjust this date whenever revising the manpage.
@c man .\" @c man .\"
@c man .\" Some roff macros, for reference: @c man .\" Some roff macros, for reference:
@ -3762,7 +3762,7 @@ is not the same as -indev. The Source component is ignored.
"appended_partition_NNN" with a decimal number NNN works only for -boot_image "appended_partition_NNN" with a decimal number NNN works only for -boot_image
bootspecs which announce El Torito boot image paths: bin_path=, efi_path=. bootspecs which announce El Torito boot image paths: bin_path=, efi_path=.
The number gives the partition number as used with the corresponding The number gives the partition number as used with the corresponding
option -append_partition. command -append_partition.
@* @*
The component Interval consists of two byte address numbers separated by a "-" character. E.g. "0-429" means to read bytes 0 to 429. The component Interval consists of two byte address numbers separated by a "-" character. E.g. "0-429" means to read bytes 0 to 429.
@* @*
@ -4021,13 +4021,20 @@ Appended partitions get mentioned in APM if other APM partitions emerge.
@* @*
@strong{-boot_image any iso_mbr_part_type=}number sets the partition type @strong{-boot_image any iso_mbr_part_type=}number sets the partition type
of the MBR partition which represents the ISO or at least protects it. of the MBR partition which represents the ISO or at least protects it.
@*
Number may be 0x00 to 0xff. The text "default" re-enables the default types Number may be 0x00 to 0xff. The text "default" re-enables the default types
of the various occasions to create an ISO MBR partition. of the various occasions to create an ISO MBR partition.
@*
This is without effect if no such partition emerges by other settings or This is without effect if no such partition emerges by other settings or
if the partition type is prescribed mandatorily like 0xee for GPT protective if the partition type is prescribed mandatorily like 0xee for GPT protective
MBR or 0x96 for CHRP. MBR or 0x96 for CHRP.
@* @*
If instead a type_guid is given by a 32-digit hex string like
a2a0d0ebe5b9334487c068b6b72699c7 or by a structured text like
EBD0A0A2-B9E5-4433-87C0-68B6B72699C7, then it will be used as partition type
if the ISO filesystem appears as partition in GPT.
In MBR, C12A7328-F81F-11D2-BA4B-00A0C93EC93B will be mapped to 0xef.
Any other GUID will be mapped to 0x83.
@*
@strong{grub2_mbr=}disk_path works like "any" system_area= with additional @strong{grub2_mbr=}disk_path works like "any" system_area= with additional
patching for modern GRUB MBRs. The content start address of the first boot patching for modern GRUB MBRs. The content start address of the first boot
image is converted to a count of 512 byte blocks, and an offset of 4 is added. image is converted to a count of 512 byte blocks, and an offset of 4 is added.
@ -4265,8 +4272,14 @@ MBR features, number 2 would be the most natural choice.
@* @*
The type_code may be "FAT12", "FAT16", "Linux", The type_code may be "FAT12", "FAT16", "Linux",
or a hexadecimal number between 0x00 and 0xff. Not all those numbers will or a hexadecimal number between 0x00 and 0xff. Not all those numbers will
yield usable results. For a list of codes search the Internet for yield usable results. For a list of MBR partition type codes search the
"Partition Types" or run fdisk command "L". Internet for "Partition Types" or run fdisk command "L".
@*
type_code may also be a type GUID as plain hex string like
a2a0d0ebe5b9334487c068b6b72699c7 or as structured text like
EBD0A0A2-B9E5-4433-87C0-68B6B72699C7. It will be used if the partition is
mentioned in GPT. In MBR, C12A7328-F81F-11D2-BA4B-00A0C93EC93B will be mapped
to 0xef. Any other GUID will be mapped to 0x83.
@* @*
If some other command causes the production of GPT, then the appended If some other command causes the production of GPT, then the appended
partitions will be mentioned there too. partitions will be mentioned there too.
@ -7238,7 +7251,7 @@ Thomas Schmitt <scdbackup@@gmx.net>
for libburnia-project.org for libburnia-project.org
@c man .SH COPYRIGHT @c man .SH COPYRIGHT
@section Copyright @section Copyright
Copyright (c) 2007 - 2018 Thomas Schmitt Copyright (c) 2007 - 2019 Thomas Schmitt
@* @*
Permission is granted to distribute this text freely. It shall only be Permission is granted to distribute this text freely. It shall only be
modified in sync with the technical properties of @command{xorriso}. modified in sync with the technical properties of @command{xorriso}.

View File

@ -2,7 +2,7 @@
/* Command line oriented batch and dialog tool which creates, loads, /* Command line oriented batch and dialog tool which creates, loads,
manipulates and burns ISO 9660 filesystem images. manipulates and burns ISO 9660 filesystem images.
Copyright 2007-2017 Thomas Schmitt, <scdbackup@gmx.net> Copyright 2007-2019 Thomas Schmitt, <scdbackup@gmx.net>
Provided under GPL version 2 or later. Provided under GPL version 2 or later.
@ -495,6 +495,11 @@ struct XorrisO { /* the global context of xorriso */
/* 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];
uint8_t appended_part_type_guids[Xorriso_max_appended_partitionS][16];
/* Flags in case that appended partitions show up in GPT:
bit0= appended_part_type_guids is valid
*/
uint8_t appended_part_gpt_flags[Xorriso_max_appended_partitionS];
/* If 1: With appended partitions: create protective MBR and mark by GPT */ /* If 1: With appended partitions: create protective MBR and mark by GPT */
int appended_as_gpt; int appended_as_gpt;
/* If 1: With appended partitions: mark by APM */ /* If 1: With appended partitions: mark by APM */
@ -507,6 +512,11 @@ struct XorrisO { /* the global context of xorriso */
if not real GPT or CHRP. if not real GPT or CHRP.
*/ */
int iso_mbr_part_type; int iso_mbr_part_type;
uint8_t iso_gpt_type_guid[16];
int iso_mbr_part_flag;
/* Flags in case that the partition table is GPT:
bit0= iso_gpt_type_guid is valid
*/
/* See libisoburn.h isoburn_igopt_set_gpt_guid() */ /* See libisoburn.h isoburn_igopt_set_gpt_guid() */
uint8_t gpt_guid[16]; uint8_t gpt_guid[16];

View File

@ -4,7 +4,7 @@
a command line oriented batch and dialog tool which creates, loads, a command line oriented batch and dialog tool which creates, loads,
manipulates and burns ISO 9660 filesystem images. manipulates and burns ISO 9660 filesystem images.
Copyright 2007-2018 Thomas Schmitt, <scdbackup@gmx.net> Copyright 2007-2019 Thomas Schmitt, <scdbackup@gmx.net>
Provided under GPL version 2 or later. Provided under GPL version 2 or later.
@ -642,8 +642,14 @@ int Xorriso_truncate_path_comps(struct XorrisO *xorriso, char *path,
int Xorriso_graftable_pathspec(struct XorrisO *xorriso, char *in_pathspec, int Xorriso_graftable_pathspec(struct XorrisO *xorriso, char *in_pathspec,
char *pathspec, int flag); char *pathspec, int flag);
int Xorriso_parse_guid(struct XorrisO *xorriso, char *text,
uint8_t guid[16], int flag);
int Xorriso_parse_gpt_guid(struct XorrisO *xorriso, char *text, int flag); int Xorriso_parse_gpt_guid(struct XorrisO *xorriso, char *text, int flag);
int Xorriso_parse_type_guid(struct XorrisO *xorriso, char *text,
uint8_t guid[16], int *mbr_type, int flag);
int Xorriso_format_guid(struct XorrisO *xorriso, uint8_t guid[16], char *line, int Xorriso_format_guid(struct XorrisO *xorriso, uint8_t guid[16], char *line,
int flag); int flag);

View File

@ -9,7 +9,7 @@
.\" First parameter, NAME, should be all caps .\" First parameter, NAME, should be all caps
.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection .\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
.\" other parameters are allowed: see man(7), man(1) .\" other parameters are allowed: see man(7), man(1)
.TH XORRISOFS 1 "Version 1.5.1, Nov 11, 2018" .TH XORRISOFS 1 "Version 1.5.1, Feb 16, 2019"
.\" Please adjust this date whenever revising the manpage. .\" Please adjust this date whenever revising the manpage.
.\" .\"
.\" Some roff macros, for reference: .\" Some roff macros, for reference:
@ -1241,15 +1241,22 @@ No MBR partition of type 0xee emerges, even if GPT gets produced.
Gaps between GPT and APM partitions will not be filled by more partitions. Gaps between GPT and APM partitions will not be filled by more partitions.
Appended partitions get mentioned in APM if other APM partitions emerge. Appended partitions get mentioned in APM if other APM partitions emerge.
.TP .TP
\fB\-iso_mbr_part_type\fR "default"|number \fB\-iso_mbr_part_type\fR "default"|number|type_guid
Set the partition type Set the partition type
of the MBR partition which represents the ISO or at least protects it. of the MBR or GPT partition which represents the ISO or at least protects it.
.br
Number may be 0x00 to 0xff. The text "default" re\-enables the default types Number may be 0x00 to 0xff. The text "default" re\-enables the default types
of the various occasions to create an ISO MBR partition. of the various occasions to create an ISO MBR partition.
.br
This is without effect if no such partition emerges by other settings or This is without effect if no such partition emerges by other settings or
if the partition type is prescribed mandatorily like 0xee for GPT protective if the partition type is prescribed mandatorily like 0xee for GPT protective
MBR or 0x96 for CHRP. MBR or 0x96 for CHRP.
.br
If instead a type_guid is given by a 32\-digit hex string like
a2a0d0ebe5b9334487c068b6b72699c7 or by a structured text like
EBD0A0A2\-B9E5\-4433\-87C0\-68B6B72699C7, then it will be used as partition type
if the ISO filesystem appears as partition in GPT.
In MBR, C12A7328\-F81F\-11D2\-BA4B\-00A0C93EC93B will be mapped to 0xef.
Any other GUID will be mapped to 0x83.
.TP .TP
\fB--protective-msdos-label\fR \fB--protective-msdos-label\fR
Patch the System Area by a simple PC\-DOS partition table where partition 1 Patch the System Area by a simple PC\-DOS partition table where partition 1
@ -1335,7 +1342,14 @@ The type_code may be "FAT12", "FAT16", "Linux",
or a hexadecimal number between 0x00 and 0xff. Not all those numbers will or a hexadecimal number between 0x00 and 0xff. Not all those numbers will
yield usable results. For a list of codes search the Internet for yield usable results. For a list of codes search the Internet for
"Partition Types" or run fdisk command "L". "Partition Types" or run fdisk command "L".
This code matters only with MBR, not with GPT. If the partition appears in GPT then type_code 0xef is mapped to the EFI System
Partition Type GUID. All others get mapped to Basic Data Type GUID.
.br
type_code may also be a type GUID as plain hex string like
a2a0d0ebe5b9334487c068b6b72699c7 or as structured text like
EBD0A0A2\-B9E5\-4433\-87C0\-68B6B72699C7. It will be used if the partition is
mentioned in GPT. In MBR, C12A7328\-F81F\-11D2\-BA4B\-00A0C93EC93B will be mapped
to 0xef. Any other GUID will be mapped to 0x83.
.br .br
If some other command causes the production of GPT, then the appended If some other command causes the production of GPT, then the appended
partitions will be mentioned there too, even if not \-appended_part_as_gpt partitions will be mentioned there too, even if not \-appended_part_as_gpt
@ -2173,7 +2187,7 @@ Thomas Schmitt <scdbackup@gmx.net>
.br .br
for libburnia\-project.org for libburnia\-project.org
.SH COPYRIGHT .SH COPYRIGHT
Copyright (c) 2011 \- 2018 Thomas Schmitt Copyright (c) 2011 \- 2019 Thomas Schmitt
.br .br
Permission is granted to distribute this text freely. It shall only be Permission is granted to distribute this text freely. It shall only be
modified in sync with the technical properties of xorriso. If you make use modified in sync with the technical properties of xorriso. If you make use

View File

@ -1086,14 +1086,20 @@ Examples:
Gaps between GPT and APM partitions will not be filled by more Gaps between GPT and APM partitions will not be filled by more
partitions. Appended partitions get mentioned in APM if other APM partitions. Appended partitions get mentioned in APM if other APM
partitions emerge. partitions emerge.
-iso_mbr_part_type "default"|number -iso_mbr_part_type "default"|number|type_guid
Set the partition type of the MBR partition which represents the Set the partition type of the MBR or GPT partition which represents
ISO or at least protects it. Number may be 0x00 to 0xff. The text the ISO or at least protects it.
"default" re-enables the default types of the various occasions to Number may be 0x00 to 0xff. The text "default" re-enables the
create an ISO MBR partition. default types of the various occasions to create an ISO MBR
This is without effect if no such partition emerges by other partition. This is without effect if no such partition emerges by
settings or if the partition type is prescribed mandatorily like other settings or if the partition type is prescribed mandatorily
0xee for GPT protective MBR or 0x96 for CHRP. like 0xee for GPT protective MBR or 0x96 for CHRP.
If instead a type_guid is given by a 32-digit hex string like
a2a0d0ebe5b9334487c068b6b72699c7 or by a structured text like
EBD0A0A2-B9E5-4433-87C0-68B6B72699C7, then it will be used as
partition type if the ISO filesystem appears as partition in GPT.
In MBR, C12A7328-F81F-11D2-BA4B-00A0C93EC93B will be mapped to
0xef. Any other GUID will be mapped to 0x83.
--protective-msdos-label --protective-msdos-label
Patch the System Area by a simple PC-DOS partition table where Patch the System Area by a simple PC-DOS partition table where
partition 1 claims the range of the ISO image but leaves the first partition 1 claims the range of the ISO image but leaves the first
@ -1163,8 +1169,16 @@ Examples:
The type_code may be "FAT12", "FAT16", "Linux", or a hexadecimal The type_code may be "FAT12", "FAT16", "Linux", or a hexadecimal
number between 0x00 and 0xff. Not all those numbers will yield number between 0x00 and 0xff. Not all those numbers will yield
usable results. For a list of codes search the Internet for usable results. For a list of codes search the Internet for
"Partition Types" or run fdisk command "L". This code matters only "Partition Types" or run fdisk command "L". If the partition
with MBR, not with GPT. appears in GPT then type_code 0xef is mapped to the EFI System
Partition Type GUID. All others get mapped to Basic Data Type GUID.
type_code may also be a type GUID as plain hex string like
a2a0d0ebe5b9334487c068b6b72699c7 or as structured text like
EBD0A0A2-B9E5-4433-87C0-68B6B72699C7. It will be used if the
partition is mentioned in GPT. In MBR,
C12A7328-F81F-11D2-BA4B-00A0C93EC93B will be mapped to 0xef. Any
other GUID will be mapped to 0x83.
If some other command causes the production of GPT, then the If some other command causes the production of GPT, then the
appended partitions will be mentioned there too, even if not appended partitions will be mentioned there too, even if not
-appended_part_as_gpt is given. -appended_part_as_gpt is given.
@ -1909,7 +1923,7 @@ for libburnia-project.org
11.2 Copyright 11.2 Copyright
============== ==============
Copyright (c) 2011 - 2018 Thomas Schmitt Copyright (c) 2011 - 2019 Thomas Schmitt
Permission is granted to distribute this text freely. It shall only be Permission is granted to distribute this text freely. It shall only be
modified in sync with the technical properties of xorriso. If you make modified in sync with the technical properties of xorriso. If you make
use of the license to derive modified versions of xorriso then you are use of the license to derive modified versions of xorriso then you are
@ -1941,13 +1955,13 @@ File: xorrisofs.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: T
* --embedded-boot Fill System Area e.g. by MBR: SystemArea. (line 79) * --embedded-boot Fill System Area e.g. by MBR: SystemArea. (line 79)
* --emul-toc enable table-of-content emulation: SetProduct. (line 33) * --emul-toc enable table-of-content emulation: SetProduct. (line 33)
* --for_backup Enable backup fidelity: SetExtras. (line 92) * --for_backup Enable backup fidelity: SetExtras. (line 92)
* --gpt_disk_guid GPT GUID: SystemArea. (line 231) * --gpt_disk_guid GPT GUID: SystemArea. (line 245)
* --grub2-boot-info Patch El Torito boot image: Bootable. (line 109) * --grub2-boot-info Patch El Torito boot image: Bootable. (line 109)
* --grub2-mbr Install modern GRUB2 MBR: SystemArea. (line 81) * --grub2-mbr Install modern GRUB2 MBR: SystemArea. (line 81)
* --grub2-sparc-core SUN SPARC core file: SystemArea. (line 286) * --grub2-sparc-core SUN SPARC core file: SystemArea. (line 300)
* --hardlinks Recording of hardlink relations: SetExtras. (line 130) * --hardlinks Recording of hardlink relations: SetExtras. (line 130)
* --mbr-force-bootable Enforce MBR bootable/active flag: SystemArea. * --mbr-force-bootable Enforce MBR bootable/active flag: SystemArea.
(line 139) (line 145)
* --md5 Recording of MD5 checksums: SetExtras. (line 122) * --md5 Recording of MD5 checksums: SetExtras. (line 122)
* --modification-date set ISO image timestamps: ImageId. (line 70) * --modification-date set ISO image timestamps: ImageId. (line 70)
* --no-emul-toc no table-of-content emulation: SetProduct. (line 41) * --no-emul-toc no table-of-content emulation: SetProduct. (line 41)
@ -1961,7 +1975,7 @@ File: xorrisofs.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: T
(line 73) (line 73)
* --old-root-no-md5 disable MD5 with -old-root: SetInsert. (line 91) * --old-root-no-md5 disable MD5 with -old-root: SetInsert. (line 91)
* --protective-msdos-label Patch System Area partition table: SystemArea. * --protective-msdos-label Patch System Area partition table: SystemArea.
(line 135) (line 141)
* --quoted_path_list read pathspecs from disk file: SetInsert. * --quoted_path_list read pathspecs from disk file: SetInsert.
(line 12) (line 12)
* --scdbackup_tag Recording of MD5 checksum: SetExtras. (line 138) * --scdbackup_tag Recording of MD5 checksum: SetExtras. (line 138)
@ -1978,16 +1992,16 @@ File: xorrisofs.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: T
* -A set Application Id: ImageId. (line 34) * -A set Application Id: ImageId. (line 34)
* -abstract set Abstract File path: ImageId. (line 57) * -abstract set Abstract File path: ImageId. (line 57)
* -allow-lowercase lowercase in ISO file names: SetCompl. (line 42) * -allow-lowercase lowercase in ISO file names: SetCompl. (line 42)
* -alpha-boot DEC Alpha SRM bootloader: SystemArea. (line 309) * -alpha-boot DEC Alpha SRM bootloader: SystemArea. (line 323)
* -appended_part_as_apm Appended partitions in APM: SystemArea. * -appended_part_as_apm Appended partitions in APM: SystemArea.
(line 215) (line 229)
* -appended_part_as_gpt Appended partitions in GPT: SystemArea. * -appended_part_as_gpt Appended partitions in GPT: SystemArea.
(line 209) (line 223)
* -append_partition Append MBR or GPT partition after image: SystemArea. * -append_partition Append MBR or GPT partition after image: SystemArea.
(line 189) (line 195)
* -appid set Application Id: ImageId. (line 41) * -appid set Application Id: ImageId. (line 41)
* -b El Torito PC-BIOS boot image: Bootable. (line 38) * -b El Torito PC-BIOS boot image: Bootable. (line 38)
* -B SUN SPARC boot images: SystemArea. (line 271) * -B SUN SPARC boot images: SystemArea. (line 285)
* -biblio set Biblio File path: ImageId. (line 62) * -biblio set Biblio File path: ImageId. (line 62)
* -boot-info-table Patch El Torito boot image: Bootable. (line 104) * -boot-info-table Patch El Torito boot image: Bootable. (line 104)
* -boot-load-size El Torito boot image load size: Bootable. (line 72) * -boot-load-size El Torito boot image load size: Bootable. (line 72)
@ -1998,8 +2012,8 @@ File: xorrisofs.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: T
* -checksum_algorithm_iso choose .jigdo checksums: Jigdo. (line 72) * -checksum_algorithm_iso choose .jigdo checksums: Jigdo. (line 72)
* -checksum_algorithm_template choose .template checksums: Jigdo. * -checksum_algorithm_template choose .template checksums: Jigdo.
(line 78) (line 78)
* -chrp-boot CHRP partition: SystemArea. (line 253) * -chrp-boot CHRP partition: SystemArea. (line 267)
* -chrp-boot-part CHRP partition: SystemArea. (line 244) * -chrp-boot-part CHRP partition: SystemArea. (line 258)
* -copyright set Copyright File path: ImageId. (line 66) * -copyright set Copyright File path: ImageId. (line 66)
* -D allow deep directory hierachies: SetExtras. (line 60) * -D allow deep directory hierachies: SetExtras. (line 60)
* -d omit trailing dot in ISO file names: SetCompl. (line 50) * -d omit trailing dot in ISO file names: SetCompl. (line 50)
@ -2010,7 +2024,7 @@ File: xorrisofs.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: T
* -disallow_dir_id_ext enforce ISO level 1 directory names: SetCompl. * -disallow_dir_id_ext enforce ISO level 1 directory names: SetCompl.
(line 23) (line 23)
* -e El Torito EFI boot image: Bootable. (line 53) * -e El Torito EFI boot image: Bootable. (line 53)
* -efi-boot-part EFI boot partition: SystemArea. (line 221) * -efi-boot-part EFI boot partition: SystemArea. (line 235)
* -eltorito-alt-boot begin next boot catalog entry: Bootable. (line 47) * -eltorito-alt-boot begin next boot catalog entry: Bootable. (line 47)
* -eltorito-boot El Torito PC-BIOS boot image: Bootable. (line 45) * -eltorito-boot El Torito PC-BIOS boot image: Bootable. (line 45)
* -eltorito-catalog El Torito boot catalog name: Bootable. (line 119) * -eltorito-catalog El Torito boot catalog name: Bootable. (line 119)
@ -2056,12 +2070,12 @@ File: xorrisofs.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: T
(line 15) (line 15)
* -hide-rr-moved set deep directory relocation target: SetExtras. * -hide-rr-moved set deep directory relocation target: SetExtras.
(line 90) (line 90)
* -hppa-bootloader HP-PA bootloader file: SystemArea. (line 298) * -hppa-bootloader HP-PA bootloader file: SystemArea. (line 312)
* -hppa-cmdline HP-PA PALO command line: SystemArea. (line 292) * -hppa-cmdline HP-PA PALO command line: SystemArea. (line 306)
* -hppa-hdrversion HP-PA PALO header version: SystemArea. (line 306) * -hppa-hdrversion HP-PA PALO header version: SystemArea. (line 320)
* -hppa-kernel_32 HP-PA kernel_32 file: SystemArea. (line 300) * -hppa-kernel_32 HP-PA kernel_32 file: SystemArea. (line 314)
* -hppa-kernel_64 HP-PA kernel_64 file: SystemArea. (line 302) * -hppa-kernel_64 HP-PA kernel_64 file: SystemArea. (line 316)
* -hppa-ramdisk HP-PA ramdisk file: SystemArea. (line 304) * -hppa-ramdisk HP-PA ramdisk file: SystemArea. (line 318)
* -input-charset set character set of disk file names: Charset. * -input-charset set character set of disk file names: Charset.
(line 17) (line 17)
* -iso-level define ISO 9660 limitations: SetCompl. (line 7) * -iso-level define ISO 9660 limitations: SetCompl. (line 7)
@ -2092,8 +2106,8 @@ File: xorrisofs.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: T
* -max-iso9660-filenames allow 37 characters in ISO file names: SetCompl. * -max-iso9660-filenames allow 37 characters in ISO file names: SetCompl.
(line 61) (line 61)
* -md5-list set path of readable .md5: Jigdo. (line 67) * -md5-list set path of readable .md5: Jigdo. (line 67)
* -mips-boot MIPS Big Endian boot image: SystemArea. (line 260) * -mips-boot MIPS Big Endian boot image: SystemArea. (line 274)
* -mipsel-boot MIPS Little Endian boot image: SystemArea. (line 266) * -mipsel-boot MIPS Little Endian boot image: SystemArea. (line 280)
* -N omit version number in ISO file names: SetCompl. (line 64) * -N omit version number in ISO file names: SetCompl. (line 64)
* -no-emul-boot El Torito boot image emulation: Bootable. (line 86) * -no-emul-boot El Torito boot image emulation: Bootable. (line 86)
* -no-pad do not add zeros to ISO tree: SetProduct. (line 101) * -no-pad do not add zeros to ISO tree: SetProduct. (line 101)
@ -2109,15 +2123,15 @@ File: xorrisofs.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: T
* -p set Preparer Id: ImageId. (line 47) * -p set Preparer Id: ImageId. (line 47)
* -P set Publisher Id: ImageId. (line 28) * -P set Publisher Id: ImageId. (line 28)
* -pad add 300 KiB of zeros to ISO tree: SetProduct. (line 94) * -pad add 300 KiB of zeros to ISO tree: SetProduct. (line 94)
* -partition_cyl_align Image size alignment: SystemArea. (line 178) * -partition_cyl_align Image size alignment: SystemArea. (line 184)
* -partition_hd_cyl MBR heads per cylinder: SystemArea. (line 161) * -partition_hd_cyl MBR heads per cylinder: SystemArea. (line 167)
* -partition_offset Make mountable by partition 1: SystemArea. * -partition_offset Make mountable by partition 1: SystemArea.
(line 150) (line 156)
* -partition_sec_hd MBR sectors per head: SystemArea. (line 164) * -partition_sec_hd MBR sectors per head: SystemArea. (line 170)
* -part_like_isohybrid Mark partitions like with isohybrid: SystemArea. * -part_like_isohybrid Mark partitions like with isohybrid: SystemArea.
(line 120) (line 120)
* -path-list read pathspecs from disk file: SetInsert. (line 8) * -path-list read pathspecs from disk file: SetInsert. (line 8)
* -prep-boot-part PReP partition: SystemArea. (line 255) * -prep-boot-part PReP partition: SystemArea. (line 269)
* -preparer set Preparer Id: ImageId. (line 55) * -preparer set Preparer Id: ImageId. (line 55)
* -prev-session set path for loading existing ISO image: Loading. * -prev-session set path for loading existing ISO image: Loading.
(line 21) (line 21)
@ -2134,8 +2148,8 @@ File: xorrisofs.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: T
* -root redirect ISO root directory: SetInsert. (line 55) * -root redirect ISO root directory: SetInsert. (line 55)
* -rr_reloc_dir set deep directory relocation target: SetExtras. * -rr_reloc_dir set deep directory relocation target: SetExtras.
(line 74) (line 74)
* -sparc-boot SUN SPARC boot images: SystemArea. (line 282) * -sparc-boot SUN SPARC boot images: SystemArea. (line 296)
* -sparc-label SUN Disk Label text: SystemArea. (line 284) * -sparc-label SUN Disk Label text: SystemArea. (line 298)
* -sysid set System Id: ImageId. (line 43) * -sysid set System Id: ImageId. (line 43)
* -transparent-compression enable recognition of zisofs files: SetInsert. * -transparent-compression enable recognition of zisofs files: SetInsert.
(line 53) (line 53)
@ -2165,7 +2179,7 @@ File: xorrisofs.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
* Abstract File, set path, -abstract: ImageId. (line 57) * Abstract File, set path, -abstract: ImageId. (line 57)
* ACL, record and load, --acl: SetExtras. (line 103) * ACL, record and load, --acl: SetExtras. (line 103)
* APM, mark appended partitions, -appended_part_as_apm: SystemArea. * APM, mark appended partitions, -appended_part_as_apm: SystemArea.
(line 215) (line 229)
* APM, _definition: SystemArea. (line 16) * APM, _definition: SystemArea. (line 16)
* Application Id, set, -A, -appid: ImageId. (line 34) * Application Id, set, -A, -appid: ImageId. (line 34)
* Backup, enable fidelity, --for_backup: SetExtras. (line 92) * Backup, enable fidelity, --for_backup: SetExtras. (line 92)
@ -2189,31 +2203,31 @@ File: xorrisofs.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
* Bootability, boot image patching, -boot-info-table: Bootable. * Bootability, boot image patching, -boot-info-table: Bootable.
(line 104) (line 104)
* Bootability, bootable MBR partition, --mbr-force-bootable: SystemArea. * Bootability, bootable MBR partition, --mbr-force-bootable: SystemArea.
(line 139) (line 145)
* Bootability, control, --grub2-sparc-core: SystemArea. (line 286) * Bootability, control, --grub2-sparc-core: SystemArea. (line 300)
* Bootability, control, --efi-boot: Bootable. (line 59) * Bootability, control, --efi-boot: Bootable. (line 59)
* Bootability, control, -alpha-boot: SystemArea. (line 309) * Bootability, control, -alpha-boot: SystemArea. (line 323)
* Bootability, control, -b, -eltorito-boot: Bootable. (line 38) * Bootability, control, -b, -eltorito-boot: Bootable. (line 38)
* Bootability, control, -B, -sparc-boot: SystemArea. (line 271) * Bootability, control, -B, -sparc-boot: SystemArea. (line 285)
* Bootability, control, -e: Bootable. (line 53) * Bootability, control, -e: Bootable. (line 53)
* Bootability, control, -eltorito-platform: Bootable. (line 63) * Bootability, control, -eltorito-platform: Bootable. (line 63)
* Bootability, control, -hppa-bootloader: SystemArea. (line 298) * Bootability, control, -hppa-bootloader: SystemArea. (line 312)
* Bootability, control, -hppa-cmdline: SystemArea. (line 292) * Bootability, control, -hppa-cmdline: SystemArea. (line 306)
* Bootability, control, -hppa-hdrversion: SystemArea. (line 306) * Bootability, control, -hppa-hdrversion: SystemArea. (line 320)
* Bootability, control, -hppa-kernel_32: SystemArea. (line 300) * Bootability, control, -hppa-kernel_32: SystemArea. (line 314)
* Bootability, control, -hppa-kernel_64: SystemArea. (line 302) * Bootability, control, -hppa-kernel_64: SystemArea. (line 316)
* Bootability, control, -hppa-ramdisk: SystemArea. (line 304) * Bootability, control, -hppa-ramdisk: SystemArea. (line 318)
* Bootability, control, -mips-boot: SystemArea. (line 260) * Bootability, control, -mips-boot: SystemArea. (line 274)
* Bootability, control, -mipsel-boot: SystemArea. (line 266) * Bootability, control, -mipsel-boot: SystemArea. (line 280)
* Bootability, El Torito section id string, -eltorito-id: Bootable. * Bootability, El Torito section id string, -eltorito-id: Bootable.
(line 93) (line 93)
* Bootability, El Torito selection criteria, -eltorito-selcrit: Bootable. * Bootability, El Torito selection criteria, -eltorito-selcrit: Bootable.
(line 100) (line 100)
* Bootability, fill System Area e.g. by MBR, -G, --embedded-boot, -generic-boot: SystemArea. * Bootability, fill System Area e.g. by MBR, -G, --embedded-boot, -generic-boot: SystemArea.
(line 68) (line 68)
* Bootability, for CHRP, -chrp-boot-part: SystemArea. (line 244) * Bootability, for CHRP, -chrp-boot-part: SystemArea. (line 258)
* Bootability, for EFI, -efi-boot-part: SystemArea. (line 221) * Bootability, for EFI, -efi-boot-part: SystemArea. (line 235)
* Bootability, for PReP, -prep-boot-part: SystemArea. (line 255) * Bootability, for PReP, -prep-boot-part: SystemArea. (line 269)
* Bootability, install ISOLINUX isohybrid MBR, -isohybrid-mbr: SystemArea. * Bootability, install ISOLINUX isohybrid MBR, -isohybrid-mbr: SystemArea.
(line 87) (line 87)
* Bootability, install modern GRUB2 MBR, --grub2-mbr: SystemArea. * Bootability, install modern GRUB2 MBR, --grub2-mbr: SystemArea.
@ -2230,8 +2244,8 @@ File: xorrisofs.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
* Bootability, partitions like with isohybrid, -part_like_isohybrid: SystemArea. * Bootability, partitions like with isohybrid, -part_like_isohybrid: SystemArea.
(line 120) (line 120)
* Bootability, patch System Area partition table, --protective-msdos-label: SystemArea. * Bootability, patch System Area partition table, --protective-msdos-label: SystemArea.
(line 135) (line 141)
* Bootability, SUN Disk Label text, -sparc-label: SystemArea. (line 284) * Bootability, SUN Disk Label text, -sparc-label: SystemArea. (line 298)
* Bootability, type of ISO MBR partition, -iso_mbr_part_type: SystemArea. * Bootability, type of ISO MBR partition, -iso_mbr_part_type: SystemArea.
(line 127) (line 127)
* Bugs, reporting: Bugreport. (line 6) * Bugs, reporting: Bugreport. (line 6)
@ -2250,7 +2264,7 @@ File: xorrisofs.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
* Disk files, exclude, -hide-list: SetInsert. (line 44) * Disk files, exclude, -hide-list: SetInsert. (line 44)
* Disk files, exclude, -m, -exclude, -x, -old-exclude: SetInsert. * Disk files, exclude, -m, -exclude, -x, -old-exclude: SetInsert.
(line 31) (line 31)
* Disk GUID, for GPT, --gpt_disk_guid: SystemArea. (line 231) * Disk GUID, for GPT, --gpt_disk_guid: SystemArea. (line 245)
* disk_path, _definition: Insert. (line 7) * disk_path, _definition: Insert. (line 7)
* ECMA-119, _definition: Standards. (line 6) * ECMA-119, _definition: Standards. (line 6)
* El Torito, _definition: Bootable. (line 13) * El Torito, _definition: Bootable. (line 13)
@ -2259,7 +2273,7 @@ File: xorrisofs.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
* File timestamps, set all, --set_all_file_dates: SetExtras. (line 35) * File timestamps, set all, --set_all_file_dates: SetExtras. (line 35)
* Forced output, control, --stdio_sync: SetProduct. (line 23) * Forced output, control, --stdio_sync: SetProduct. (line 23)
* GPT, mark appended partitions, -appended_part_as_gpt: SystemArea. * GPT, mark appended partitions, -appended_part_as_gpt: SystemArea.
(line 209) (line 223)
* GPT, _definition: SystemArea. (line 13) * GPT, _definition: SystemArea. (line 13)
* Group, for all files, -gid: SetProduct. (line 83) * Group, for all files, -gid: SetProduct. (line 83)
* HFS+, enables production: SetExtras. (line 164) * HFS+, enables production: SetExtras. (line 164)
@ -2277,7 +2291,7 @@ File: xorrisofs.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
* Hiding, from ISO and Rock Ridge, -hide-list: SetHide. (line 15) * Hiding, from ISO and Rock Ridge, -hide-list: SetHide. (line 15)
* Hiding, from Joliet, -hide-joliet: SetHide. (line 18) * Hiding, from Joliet, -hide-joliet: SetHide. (line 18)
* Hiding, from Joliet, -hide-joliet-list: SetHide. (line 22) * Hiding, from Joliet, -hide-joliet-list: SetHide. (line 22)
* Image size, alignment, -partition_cyl_align: SystemArea. (line 178) * Image size, alignment, -partition_cyl_align: SystemArea. (line 184)
* Incremental insertion, disable disk ino, --old-root-no-ino: SetInsert. * Incremental insertion, disable disk ino, --old-root-no-ino: SetInsert.
(line 73) (line 73)
* Incremental insertion, disable MD5, --old-root-no-md5: SetInsert. * Incremental insertion, disable MD5, --old-root-no-md5: SetInsert.
@ -2331,16 +2345,16 @@ File: xorrisofs.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
* Joliet, _definition: Standards. (line 21) * Joliet, _definition: Standards. (line 21)
* Links, follow on disk, -f, -follow-links: SetInsert. (line 22) * Links, follow on disk, -f, -follow-links: SetInsert. (line 22)
* Links, record and load hard links, --hardlinks: SetExtras. (line 130) * Links, record and load hard links, --hardlinks: SetExtras. (line 130)
* MBR, GPT, append partition, -append_partition: SystemArea. (line 189) * MBR, GPT, append partition, -append_partition: SystemArea. (line 195)
* MBR, sectors per head, -partition_sec_hd: SystemArea. (line 161) * MBR, sectors per head, -partition_sec_hd: SystemArea. (line 167)
* MBR, sectors per head, -partition_sec_hd <1>: SystemArea. (line 164) * MBR, sectors per head, -partition_sec_hd <1>: SystemArea. (line 170)
* MBR, _definition: SystemArea. (line 9) * MBR, _definition: SystemArea. (line 9)
* MD5, record and load, --md5: SetExtras. (line 122) * MD5, record and load, --md5: SetExtras. (line 122)
* Message output, increase frequency, -gui: Miscellaneous. (line 29) * Message output, increase frequency, -gui: Miscellaneous. (line 29)
* Message output, redirect stderr, -log-file: Miscellaneous. (line 33) * Message output, redirect stderr, -log-file: Miscellaneous. (line 33)
* Message output, suppress, -quiet: Miscellaneous. (line 25) * Message output, suppress, -quiet: Miscellaneous. (line 25)
* Mountability, by non-trivial partition 1, -partition_offset: SystemArea. * Mountability, by non-trivial partition 1, -partition_offset: SystemArea.
(line 150) (line 156)
* Options, list, -help: Miscellaneous. (line 21) * Options, list, -help: Miscellaneous. (line 21)
* Output file, set address, -o, -output: SetProduct. (line 8) * Output file, set address, -o, -output: SetProduct. (line 8)
* Ownership, for all files, -uid: SetProduct. (line 79) * Ownership, for all files, -uid: SetProduct. (line 79)
@ -2400,23 +2414,23 @@ Node: SetHide33398
Node: ImageId34702 Node: ImageId34702
Node: Bootable38984 Node: Bootable38984
Node: SystemArea45270 Node: SystemArea45270
Node: Charset62636 Node: Charset63502
Node: Jigdo63661 Node: Jigdo64527
Node: Miscellaneous67938 Node: Miscellaneous68804
Node: Examples69583 Node: Examples70449
Node: ExSimple70077 Node: ExSimple70943
Node: ExGraft70560 Node: ExGraft71426
Node: ExMkisofs71860 Node: ExMkisofs72726
Node: ExGrowisofs73669 Node: ExGrowisofs74535
Node: ExIncBackup74859 Node: ExIncBackup75725
Node: ExIncBckAcc78036 Node: ExIncBckAcc78902
Node: ExBootable79741 Node: ExBootable80607
Node: Files83923 Node: Files84789
Node: Environ85018 Node: Environ85884
Node: Seealso85789 Node: Seealso86655
Node: Bugreport86440 Node: Bugreport87306
Node: Legal87033 Node: Legal87899
Node: CommandIdx87930 Node: CommandIdx88796
Node: ConceptIdx103797 Node: ConceptIdx104663
 
End Tag Table End Tag Table

View File

@ -50,7 +50,7 @@
@c man .\" First parameter, NAME, should be all caps @c man .\" First parameter, NAME, should be all caps
@c man .\" Second parameter, SECTION, should be 1-8, maybe w/ subsection @c man .\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
@c man .\" other parameters are allowed: see man(7), man(1) @c man .\" other parameters are allowed: see man(7), man(1)
@c man .TH XORRISOFS 1 "Version 1.5.1, Nov 11, 2018" @c man .TH XORRISOFS 1 "Version 1.5.1, Feb 16, 2019"
@c man .\" Please adjust this date whenever revising the manpage. @c man .\" Please adjust this date whenever revising the manpage.
@c man .\" @c man .\"
@c man .\" Some roff macros, for reference: @c man .\" Some roff macros, for reference:
@ -1645,17 +1645,24 @@ No MBR partition of type 0xee emerges, even if GPT gets produced.
Gaps between GPT and APM partitions will not be filled by more partitions. Gaps between GPT and APM partitions will not be filled by more partitions.
Appended partitions get mentioned in APM if other APM partitions emerge. Appended partitions get mentioned in APM if other APM partitions emerge.
@c man .TP @c man .TP
@item -iso_mbr_part_type "default"|number @item -iso_mbr_part_type "default"|number|type_guid
@kindex -iso_mbr_part_type Set type of ISO MBR partition @kindex -iso_mbr_part_type Set type of ISO MBR partition
@cindex Bootability, type of ISO MBR partition, -iso_mbr_part_type @cindex Bootability, type of ISO MBR partition, -iso_mbr_part_type
Set the partition type Set the partition type
of the MBR partition which represents the ISO or at least protects it. of the MBR or GPT partition which represents the ISO or at least protects it.
@*
Number may be 0x00 to 0xff. The text "default" re-enables the default types Number may be 0x00 to 0xff. The text "default" re-enables the default types
of the various occasions to create an ISO MBR partition. of the various occasions to create an ISO MBR partition.
@*
This is without effect if no such partition emerges by other settings or This is without effect if no such partition emerges by other settings or
if the partition type is prescribed mandatorily like 0xee for GPT protective if the partition type is prescribed mandatorily like 0xee for GPT protective
MBR or 0x96 for CHRP. MBR or 0x96 for CHRP.
@*
If instead a type_guid is given by a 32-digit hex string like
a2a0d0ebe5b9334487c068b6b72699c7 or by a structured text like
EBD0A0A2-B9E5-4433-87C0-68B6B72699C7, then it will be used as partition type
if the ISO filesystem appears as partition in GPT.
In MBR, C12A7328-F81F-11D2-BA4B-00A0C93EC93B will be mapped to 0xef.
Any other GUID will be mapped to 0x83.
@c man .TP @c man .TP
@item @minus{}@minus{}protective-msdos-label @item @minus{}@minus{}protective-msdos-label
@kindex @minus{}@minus{}protective-msdos-label Patch System Area partition table @kindex @minus{}@minus{}protective-msdos-label Patch System Area partition table
@ -1755,7 +1762,14 @@ The type_code may be "FAT12", "FAT16", "Linux",
or a hexadecimal number between 0x00 and 0xff. Not all those numbers will or a hexadecimal number between 0x00 and 0xff. Not all those numbers will
yield usable results. For a list of codes search the Internet for yield usable results. For a list of codes search the Internet for
"Partition Types" or run fdisk command "L". "Partition Types" or run fdisk command "L".
This code matters only with MBR, not with GPT. If the partition appears in GPT then type_code 0xef is mapped to the EFI System
Partition Type GUID. All others get mapped to Basic Data Type GUID.
@*
type_code may also be a type GUID as plain hex string like
a2a0d0ebe5b9334487c068b6b72699c7 or as structured text like
EBD0A0A2-B9E5-4433-87C0-68B6B72699C7. It will be used if the partition is
mentioned in GPT. In MBR, C12A7328-F81F-11D2-BA4B-00A0C93EC93B will be mapped
to 0xef. Any other GUID will be mapped to 0x83.
@* @*
If some other command causes the production of GPT, then the appended If some other command causes the production of GPT, then the appended
partitions will be mentioned there too, even if not -appended_part_as_gpt partitions will be mentioned there too, even if not -appended_part_as_gpt
@ -2836,7 +2850,7 @@ Thomas Schmitt <scdbackup@@gmx.net>
for libburnia-project.org for libburnia-project.org
@c man .SH COPYRIGHT @c man .SH COPYRIGHT
@section Copyright @section Copyright
Copyright (c) 2011 - 2018 Thomas Schmitt Copyright (c) 2011 - 2019 Thomas Schmitt
@* @*
Permission is granted to distribute this text freely. It shall only be Permission is granted to distribute this text freely. It shall only be
modified in sync with the technical properties of xorriso. If you make use modified in sync with the technical properties of xorriso. If you make use