diff --git a/xorriso/emulators.c b/xorriso/emulators.c index 7e392028..6b68bac0 100644 --- a/xorriso/emulators.c +++ b/xorriso/emulators.c @@ -575,7 +575,7 @@ int Xorriso_genisofs_count_args(struct XorrisO *xorriso, int argc, char **argv, "--protective-msdos-label", "--boot-catalog-hide", "--no-emul-toc", "--emul-toc", "-disallow_dir_id_ext", "--old-empty", "--old-root-no-md5", "--old-root-devno", "--old-root-no-ino", - "--no_rc", "--norock", "-hfsplus", "-fat", + "--no_rc", "--norock", "-hfsplus", "-fat", "-chrp-boot-part", "" }; static char arg1_options[][41]= { @@ -823,6 +823,9 @@ int Xorriso_genisofs_help(struct XorrisO *xorriso, int flag) " -mipsel-boot FILE Set mipsel boot image name (relative to image root)", " -B FILES, -sparc-boot FILES Set sparc boot image names", " -sparc-label label text Set sparc boot disk label", + +/* >>> -chrp-boot-part -prep-boot-part -efi-boot-part */ + " -append_partition NUMBER TYPE FILE", " Append FILE after image. TYPE is hex: 0x..", " --modification-date=YYYYMMDDhhmmsscc", @@ -1795,6 +1798,10 @@ not_enough_args:; if(ret <= 0) goto problem_handler_2; + } else if(strcmp(argpt, "-chrp-boot-part") == 0) { + xorriso->system_area_options= (xorriso->system_area_options & ~0x3cfc) | + 0x400; + } else if(strcmp(argpt, "-prep-boot-part") == 0) { if(i + 1 >= argc) goto not_enough_args; diff --git a/xorriso/xorriso_private.h b/xorriso/xorriso_private.h index 98bcfe31..387a33fe 100644 --- a/xorriso/xorriso_private.h +++ b/xorriso/xorriso_private.h @@ -376,6 +376,16 @@ struct XorrisO { /* the global context of xorriso */ 0 = auto (align if bit1) 1 = always align 2 = never align + bit10-13= System area sub type + With type 0 = MBR: + Gets overridden by bit0 and bit1. + 0 = no particular sub type + 1 = CHRP: A single MBR partition + of type 0x96 covers the ISO + image. Not compatible with + any other feature which + needs to have own MBR + partition entries. */ int patch_system_area; /* Bits as of system_area_options. to be applied to the loaded system diff --git a/xorriso/xorriso_timestamp.h b/xorriso/xorriso_timestamp.h index f5ea28d7..c2a394c6 100644 --- a/xorriso/xorriso_timestamp.h +++ b/xorriso/xorriso_timestamp.h @@ -1 +1 @@ -#define Xorriso_timestamP "2012.06.12.192702" +#define Xorriso_timestamP "2012.06.12.192817"