New -boot_image setting hppa_hdrversion=

This commit is contained in:
Thomas Schmitt 2014-01-16 11:34:11 +00:00
parent 98de4cc328
commit 30ab79d39a
7 changed files with 98 additions and 53 deletions

View File

@ -539,7 +539,7 @@ int Xorriso_boot_status_non_mbr(struct XorrisO *xorriso, IsoImage *image,
char *filter, FILE *fp, int flag) char *filter, FILE *fp, int flag)
{ {
int i, num_boots, sa_type, ret; int i, num_boots, sa_type, ret;
char *paths[15], *line; char *paths[15], *line, num[4];
char *cmdline, *bootloader, *kernel_32, *kernel_64, *ramdisk; char *cmdline, *bootloader, *kernel_32, *kernel_64, *ramdisk;
line= xorriso->result_line; line= xorriso->result_line;
@ -556,7 +556,7 @@ int Xorriso_boot_status_non_mbr(struct XorrisO *xorriso, IsoImage *image,
Xorriso_status_result(xorriso, filter, fp, flag & 2); Xorriso_status_result(xorriso, filter, fp, flag & 2);
return(0); return(0);
} }
if(sa_type != 1 && sa_type != 2 && sa_type != 4) if(sa_type != 1 && sa_type != 2 && sa_type != 4 && sa_type != 5)
return(0); return(0);
if(sa_type == 1 || sa_type == 2) { if(sa_type == 1 || sa_type == 2) {
@ -574,7 +574,7 @@ int Xorriso_boot_status_non_mbr(struct XorrisO *xorriso, IsoImage *image,
} }
return(num_boots); return(num_boots);
} }
if(sa_type == 4) { if(sa_type == 4 || sa_type == 5) {
ret= iso_image_get_hppa_palo(image, &cmdline, &bootloader, &kernel_32, ret= iso_image_get_hppa_palo(image, &cmdline, &bootloader, &kernel_32,
&kernel_64, &ramdisk); &kernel_64, &ramdisk);
if(ret == 1) { if(ret == 1) {
@ -583,6 +583,8 @@ int Xorriso_boot_status_non_mbr(struct XorrisO *xorriso, IsoImage *image,
Xorriso_status_hppa(xorriso, "kernel_32", kernel_32, filter, fp, 0); Xorriso_status_hppa(xorriso, "kernel_32", kernel_32, filter, fp, 0);
Xorriso_status_hppa(xorriso, "kernel_64", kernel_64, filter, fp, 0); Xorriso_status_hppa(xorriso, "kernel_64", kernel_64, filter, fp, 0);
Xorriso_status_hppa(xorriso, "ramdisk", ramdisk, filter, fp, 0); Xorriso_status_hppa(xorriso, "ramdisk", ramdisk, filter, fp, 0);
sprintf(num, "%d", sa_type);
Xorriso_status_hppa(xorriso, "hdrversion", num, filter, fp, 0);
} }
return(0); return(0);
} }
@ -1288,6 +1290,20 @@ int Xorriso_set_hppa_boot_parm(struct XorrisO *xorriso, char *text, char *what,
par[3]= text; par[3]= text;
} else if(strcmp(what, "ramdisk") == 0) { } else if(strcmp(what, "ramdisk") == 0) {
par[4]= text; par[4]= text;
} else if(strcmp(what, "hdrversion") == 0) {
if(strcmp(text, "4") == 0) {
xorriso->system_area_options= (xorriso->system_area_options & ~0xfc) |
(4 << 2);
} else if(strcmp(text, "5") == 0) {
xorriso->system_area_options= (xorriso->system_area_options & ~0xfc) |
(5 << 2);
} else {
strcpy(xorriso->info_text, "Unsupported HP-PA PALO header version ");
Text_shellsafe(text, xorriso->info_text, 1);
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FAILURE", 0);
return(0);
}
return(1);
} else { } else {
strcpy(xorriso->info_text, strcpy(xorriso->info_text,
"HP-PA boot parameter name not recognized: hppa_"); "HP-PA boot parameter name not recognized: hppa_");

View File

@ -668,6 +668,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;
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];
@ -887,7 +888,11 @@ treatment_patch:;
} else if(strncmp(treatpt, "hppa_", 5) == 0) { } else if(strncmp(treatpt, "hppa_", 5) == 0) {
sprintf(eff_path, "-boot_image %s %s", formpt, treatpt); sprintf(eff_path, "-boot_image %s %s", formpt, treatpt);
ret= Xorriso_coordinate_system_area(xorriso, 4, 0, eff_path, 0); palohdrversion= (xorriso->system_area_options >> 2) & 0x3f;
if(palohdrversion != 4)
palohdrversion= 5;
ret= Xorriso_coordinate_system_area(xorriso, palohdrversion, 0, eff_path,
0);
if(ret <= 0) if(ret <= 0)
goto ex; goto ex;
eqpt= strchr(treatpt, '='); eqpt= strchr(treatpt, '=');

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.3.5, Jan 14, 2014" .TH XORRISO 1 "Version 1.3.5, Jan 15, 2014"
.\" 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:
@ -3144,8 +3144,11 @@ of the given file to be written after the SUN Disk Label. Both numbers are
counted in bytes. The address is written as 64 bit big\-endian number to counted in bytes. The address is written as 64 bit big\-endian number to
byte 0x228. The size is written as 32 bit big\-endian number to byte 0x230. byte 0x228. The size is written as 32 bit big\-endian number to byte 0x230.
.br .br
\fBhppa_cmdline=\fRtext sets the PALO command line for HP\-PA. Up to 127 \fBhppa_cmdline=\fRtext sets the PALO command line for HP\-PA. Up to 1023
characters are permitted. characters are permitted by default. With hppa_hdrversion=4 the limit is 127.
.br
Note that the first five hppa_ bootspecs are mandatory, if any of the
hppa_ bootspecs is used. Only hppa_hdrversion= is allowed to be missing.
.br .br
\fBhppa_bootloader=\fRiso_rr_path designates the given path as HP\-PA \fBhppa_bootloader=\fRiso_rr_path designates the given path as HP\-PA
bootloader file. bootloader file.
@ -3159,6 +3162,10 @@ bootloader file.
\fBhppa_ramdisk=\fRiso_rr_path designates the given path as HP\-PA \fBhppa_ramdisk=\fRiso_rr_path designates the given path as HP\-PA
RAM disk file. RAM disk file.
.br .br
\fBhppa_hdrversion=\fRnumber chooses between PALO header version 5 (default)
and version 4.
For the appropriate value see in PALO source code: PALOHDRVERSION.
.br
\fBmips_discard\fR, \fBsparc_discard\fR, and \fBhppa_discard\fR \fBmips_discard\fR, \fBsparc_discard\fR, and \fBhppa_discard\fR
revoke any boot file declarations made for mips or mipsel, resp. sparc, revoke any boot file declarations made for mips or mipsel, resp. sparc,
resp. hppa. This removes the ban on production of other boot blocks. resp. hppa. This removes the ban on production of other boot blocks.

View File

@ -2761,8 +2761,12 @@ filesystem and announced by an MBR partition table entry.
numbers are counted in bytes. The address is written as 64 bit numbers are counted in bytes. The address is written as 64 bit
big-endian number to byte 0x228. The size is written as 32 bit big-endian number to byte 0x228. The size is written as 32 bit
big-endian number to byte 0x230. big-endian number to byte 0x230.
*hppa_cmdline=*text sets the PALO command line for HP-PA. Up to 127 *hppa_cmdline=*text sets the PALO command line for HP-PA. Up to
characters are permitted. 1023 characters are permitted by default. With hppa_hdrversion=4
the limit is 127.
Note that the first five hppa_ bootspecs are mandatory, if any of
the hppa_ bootspecs is used. Only hppa_hdrversion= is allowed to
be missing.
*hppa_bootloader=*iso_rr_path designates the given path as HP-PA *hppa_bootloader=*iso_rr_path designates the given path as HP-PA
bootloader file. bootloader file.
*hppa_kernel_32=*iso_rr_path designates the given path as HP-PA 32 *hppa_kernel_32=*iso_rr_path designates the given path as HP-PA 32
@ -2771,6 +2775,9 @@ filesystem and announced by an MBR partition table entry.
bit kernel file. bit kernel file.
*hppa_ramdisk=*iso_rr_path designates the given path as HP-PA RAM *hppa_ramdisk=*iso_rr_path designates the given path as HP-PA RAM
disk file. disk file.
*hppa_hdrversion=*number chooses between PALO header version 5
(default) and version 4. For the appropriate value see in PALO
source code: PALOHDRVERSION.
*mips_discard*, *sparc_discard*, and *hppa_discard* revoke any *mips_discard*, *sparc_discard*, and *hppa_discard* revoke any
boot file declarations made for mips or mipsel, resp. sparc, resp. boot file declarations made for mips or mipsel, resp. sparc, resp.
hppa. This removes the ban on production of other boot blocks. hppa. This removes the ban on production of other boot blocks.
@ -4908,7 +4915,7 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top
* -alter_date sets timestamps in ISO image: Manip. (line 154) * -alter_date sets timestamps in ISO image: Manip. (line 154)
* -alter_date_r sets timestamps in ISO image: Manip. (line 187) * -alter_date_r sets timestamps in ISO image: Manip. (line 187)
* -append_partition adds arbitrary file after image end: Bootable. * -append_partition adds arbitrary file after image end: Bootable.
(line 259) (line 266)
* -application_id sets application id: SetWrite. (line 196) * -application_id sets application id: SetWrite. (line 196)
* -application_use sets application use field: SetWrite. (line 262) * -application_use sets application use field: SetWrite. (line 262)
* -as emulates mkisofs or cdrecord: Emulation. (line 13) * -as emulates mkisofs or cdrecord: Emulation. (line 13)
@ -5143,10 +5150,10 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
* ACL, set in ISO image, -setfacl_r: Manip. (line 105) * ACL, set in ISO image, -setfacl_r: Manip. (line 105)
* ACL, show in ISO image, -getfacl: Navigate. (line 70) * ACL, show in ISO image, -getfacl: Navigate. (line 70)
* ACL, show in ISO image, -getfacl_r: Navigate. (line 77) * ACL, show in ISO image, -getfacl_r: Navigate. (line 77)
* APM block size: Bootable. (line 250) * APM block size: Bootable. (line 257)
* APM, _definition: Extras. (line 41) * APM, _definition: Extras. (line 41)
* Appendable media, _definition: Media. (line 38) * Appendable media, _definition: Media. (line 38)
* Appended Filesystem Image, -append_partition: Bootable. (line 259) * Appended Filesystem Image, -append_partition: Bootable. (line 266)
* Automatic execution order, of arguments, -x: ArgSort. (line 16) * Automatic execution order, of arguments, -x: ArgSort. (line 16)
* Backslash Interpretation, _definition: Processing. (line 52) * Backslash Interpretation, _definition: Processing. (line 52)
* Backup, enable fast incremental, -disk_dev_ino: Loading. (line 217) * Backup, enable fast incremental, -disk_dev_ino: Loading. (line 217)
@ -5227,8 +5234,8 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
* Group, in ISO image, -chgrp_r: Manip. (line 62) * Group, in ISO image, -chgrp_r: Manip. (line 62)
* Growing, _definition: Methods. (line 19) * Growing, _definition: Methods. (line 19)
* Hard links, control handling, -hardlinks: Loading. (line 134) * Hard links, control handling, -hardlinks: Loading. (line 134)
* HFS+ allocation block size: Bootable. (line 247) * HFS+ allocation block size: Bootable. (line 254)
* HFS+ serial number: Bootable. (line 244) * HFS+ serial number: Bootable. (line 251)
* hidden, set in ISO image, -hide: Manip. (line 191) * hidden, set in ISO image, -hide: Manip. (line 191)
* HP-PA boot sector, production: Bootable. (line 231) * HP-PA boot sector, production: Bootable. (line 231)
* Image reading, cache size, -data_cache_size: Loading. (line 296) * Image reading, cache size, -data_cache_size: Loading. (line 296)
@ -5381,7 +5388,7 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
* Session, select as input, -load: Loading. (line 35) * Session, select as input, -load: Loading. (line 35)
* Sorting order, for -x, -list_arg_sorting: ArgSort. (line 27) * Sorting order, for -x, -list_arg_sorting: ArgSort. (line 27)
* SUN Disk Label, production: Bootable. (line 221) * SUN Disk Label, production: Bootable. (line 221)
* SUN SPARC boot images, activation: Bootable. (line 280) * SUN SPARC boot images, activation: Bootable. (line 287)
* Symbolic link, create, -lns: Insert. (line 176) * Symbolic link, create, -lns: Insert. (line 176)
* System area, _definition: Bootable. (line 127) * System area, _definition: Bootable. (line 127)
* Table-of-content, search sessions, -rom_toc_scan: Loading. (line 238) * Table-of-content, search sessions, -rom_toc_scan: Loading. (line 238)
@ -5449,39 +5456,39 @@ Node: Filter93144
Node: Writing97700 Node: Writing97700
Node: SetWrite107831 Node: SetWrite107831
Node: Bootable128416 Node: Bootable128416
Node: Jigdo145297 Node: Jigdo145684
Node: Charset149544 Node: Charset149931
Node: Exception152859 Node: Exception153246
Node: DialogCtl158979 Node: DialogCtl159366
Node: Inquiry161577 Node: Inquiry161964
Node: Navigate167894 Node: Navigate168281
Node: Verify176192 Node: Verify176579
Node: Restore185224 Node: Restore185611
Node: Emulation192311 Node: Emulation192698
Node: Scripting202613 Node: Scripting203000
Node: Frontend210384 Node: Frontend210771
Node: Examples219991 Node: Examples220378
Node: ExDevices221169 Node: ExDevices221556
Node: ExCreate221828 Node: ExCreate222215
Node: ExDialog223113 Node: ExDialog223500
Node: ExGrowing224378 Node: ExGrowing224765
Node: ExModifying225183 Node: ExModifying225570
Node: ExBootable225687 Node: ExBootable226074
Node: ExCharset226239 Node: ExCharset226626
Node: ExPseudo227131 Node: ExPseudo227518
Node: ExCdrecord228029 Node: ExCdrecord228416
Node: ExMkisofs228346 Node: ExMkisofs228733
Node: ExGrowisofs229686 Node: ExGrowisofs230073
Node: ExException230821 Node: ExException231208
Node: ExTime231275 Node: ExTime231662
Node: ExIncBackup231734 Node: ExIncBackup232121
Node: ExRestore235714 Node: ExRestore236101
Node: ExRecovery236647 Node: ExRecovery237034
Node: Files237217 Node: Files237604
Node: Seealso238516 Node: Seealso238903
Node: Bugreport239239 Node: Bugreport239626
Node: Legal239820 Node: Legal240207
Node: CommandIdx240831 Node: CommandIdx241218
Node: ConceptIdx257493 Node: ConceptIdx257880
 
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.3.5, Jan 14, 2014" @c man .TH XORRISO 1 "Version 1.3.5, Jan 15, 2014"
@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:
@ -3677,8 +3677,11 @@ counted in bytes. The address is written as 64 bit big-endian number to
byte 0x228. The size is written as 32 bit big-endian number to byte 0x230. byte 0x228. The size is written as 32 bit big-endian number to byte 0x230.
@* @*
@cindex HP-PA boot sector, production @cindex HP-PA boot sector, production
@strong{hppa_cmdline=}text sets the PALO command line for HP-PA. Up to 127 @strong{hppa_cmdline=}text sets the PALO command line for HP-PA. Up to 1023
characters are permitted. characters are permitted by default. With hppa_hdrversion=4 the limit is 127.
@*
Note that the first five hppa_ bootspecs are mandatory, if any of the
hppa_ bootspecs is used. Only hppa_hdrversion= is allowed to be missing.
@* @*
@strong{hppa_bootloader=}iso_rr_path designates the given path as HP-PA @strong{hppa_bootloader=}iso_rr_path designates the given path as HP-PA
bootloader file. bootloader file.
@ -3692,6 +3695,10 @@ bootloader file.
@strong{hppa_ramdisk=}iso_rr_path designates the given path as HP-PA @strong{hppa_ramdisk=}iso_rr_path designates the given path as HP-PA
RAM disk file. RAM disk file.
@* @*
@strong{hppa_hdrversion=}number chooses between PALO header version 5 (default)
and version 4.
For the appropriate value see in PALO source code: PALOHDRVERSION.
@*
@strong{mips_discard}, @strong{sparc_discard}, and @strong{hppa_discard} @strong{mips_discard}, @strong{sparc_discard}, and @strong{hppa_discard}
revoke any boot file declarations made for mips or mipsel, resp. sparc, revoke any boot file declarations made for mips or mipsel, resp. sparc,
resp. hppa. This removes the ban on production of other boot blocks. resp. hppa. This removes the ban on production of other boot blocks.

View File

@ -404,6 +404,9 @@ struct XorrisO { /* the global context of xorriso */
2= MIPS Little Endian Boot Block 2= MIPS Little Endian Boot Block
3= SUN Disk Label for SUN SPARC 3= SUN Disk Label for SUN SPARC
4= HP-PA PALO boot sector 4= HP-PA PALO boot sector
header version 4
5= HP-PA PALO boot sector
header version 5
bit8-9= Only with System area type 0 bit8-9= Only with System area type 0
Cylinder alignment mode Cylinder alignment mode
0 = auto (align if bit1) 0 = auto (align if bit1)

View File

@ -1 +1 @@
#define Xorriso_timestamP "2014.01.16.112242" #define Xorriso_timestamP "2014.01.16.113247"