diff --git a/xorriso/emulators.c b/xorriso/emulators.c index 1a9c88fa..89885905 100644 --- a/xorriso/emulators.c +++ b/xorriso/emulators.c @@ -619,6 +619,7 @@ int Xorriso_genisofs_count_args(struct XorrisO *xorriso, int argc, char **argv, "-partition_sec_hd", "-partition_cyl_align", "-untranslated_name_len", "-rr_reloc_dir", "-hfsplus-serial-no", "-prep-boot-part", "-efi-boot-part", "-hfsplus-block-size", "-apm-block-size", "--grub2-mbr", + "--grub2-sparc-core", "" }; static char arg2_options[][41]= { @@ -834,6 +835,7 @@ 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", +" --grub2-sparc-core FILE Set path of core file for disk label patching", " -efi-boot-part DISKFILE|--efi-boot-image", " Set data source for EFI System Partition", " -chrp-boot-part Mark ISO image size by MBR partition type 0x41", @@ -1911,10 +1913,21 @@ not_enough_args:; } } else if(strcmp(argpt, "-sparc-label") == 0) { + if(i+1>=argc) + goto not_enough_args; i++; strncpy(xorriso->ascii_disc_label, argv[i], Xorriso_disc_label_sizE - 1); xorriso->ascii_disc_label[Xorriso_disc_label_sizE - 1] = 0; + } else if(strcmp(argpt, "--grub2-sparc-core") == 0) { + if(i+1>=argc) + goto not_enough_args; + i++; + sprintf(sfe, "grub2_sparc_core=%s", argv[i]); + ret= Xorriso_option_boot_image(xorriso, "any", sfe, 0); + if(ret <= 0) + goto problem_handler_2; + } else if(strcmp(argpt, "--stdio_sync")==0) { if(i+1>=argc) goto not_enough_args; diff --git a/xorriso/xorriso_timestamp.h b/xorriso/xorriso_timestamp.h index 31dbf06b..93678829 100644 --- a/xorriso/xorriso_timestamp.h +++ b/xorriso/xorriso_timestamp.h @@ -1 +1 @@ -#define Xorriso_timestamP "2013.04.13.205230" +#define Xorriso_timestamP "2013.04.13.205450"