New -boot_image setting hppa_hdrversion=

This commit is contained in:
Thomas Schmitt 2014-01-16 11:34:11 +00:00
parent 018ef72947
commit d32230fd37
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)
{
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;
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);
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);
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);
}
if(sa_type == 4) {
if(sa_type == 4 || sa_type == 5) {
ret= iso_image_get_hppa_palo(image, &cmdline, &bootloader, &kernel_32,
&kernel_64, &ramdisk);
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_64", kernel_64, 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);
}
@ -1288,6 +1290,20 @@ int Xorriso_set_hppa_boot_parm(struct XorrisO *xorriso, char *text, char *what,
par[3]= text;
} else if(strcmp(what, "ramdisk") == 0) {
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 {
strcpy(xorriso->info_text,
"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)
{
int was_ok= 1, ret, isolinux_grub= 0, count, bin_count, parm_len;
int palohdrversion;
unsigned int u;
char *formpt, *treatpt, *eff_path= NULL, *eqpt, parm[20];
uint8_t sn[8];
@ -887,7 +888,11 @@ treatment_patch:;
} else if(strncmp(treatpt, "hppa_", 5) == 0) {
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)
goto ex;
eqpt= strchr(treatpt, '=');

View File

@ -9,7 +9,7 @@
.\" First parameter, NAME, should be all caps
.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
.\" 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.
.\"
.\" 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
byte 0x228. The size is written as 32 bit big\-endian number to byte 0x230.
.br
\fBhppa_cmdline=\fRtext sets the PALO command line for HP\-PA. Up to 127
characters are permitted.
\fBhppa_cmdline=\fRtext sets the PALO command line for HP\-PA. Up to 1023
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
\fBhppa_bootloader=\fRiso_rr_path designates the given path as HP\-PA
bootloader file.
@ -3159,6 +3162,10 @@ bootloader file.
\fBhppa_ramdisk=\fRiso_rr_path designates the given path as HP\-PA
RAM disk file.
.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
revoke any boot file declarations made for mips or mipsel, resp. sparc,
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
big-endian number to byte 0x228. The size is written as 32 bit
big-endian number to byte 0x230.
*hppa_cmdline=*text sets the PALO command line for HP-PA. Up to 127
characters are permitted.
*hppa_cmdline=*text sets the PALO command line for HP-PA. Up to
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
bootloader file.
*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.
*hppa_ramdisk=*iso_rr_path designates the given path as HP-PA RAM
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
boot file declarations made for mips or mipsel, resp. sparc, resp.
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_r sets timestamps in ISO image: Manip. (line 187)
* -append_partition adds arbitrary file after image end: Bootable.
(line 259)
(line 266)
* -application_id sets application id: SetWrite. (line 196)
* -application_use sets application use field: SetWrite. (line 262)
* -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, show in ISO image, -getfacl: Navigate. (line 70)
* 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)
* 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)
* Backslash Interpretation, _definition: Processing. (line 52)
* 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)
* Growing, _definition: Methods. (line 19)
* Hard links, control handling, -hardlinks: Loading. (line 134)
* HFS+ allocation block size: Bootable. (line 247)
* HFS+ serial number: Bootable. (line 244)
* HFS+ allocation block size: Bootable. (line 254)
* HFS+ serial number: Bootable. (line 251)
* hidden, set in ISO image, -hide: Manip. (line 191)
* HP-PA boot sector, production: Bootable. (line 231)
* 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)
* Sorting order, for -x, -list_arg_sorting: ArgSort. (line 27)
* 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)
* System area, _definition: Bootable. (line 127)
* Table-of-content, search sessions, -rom_toc_scan: Loading. (line 238)
@ -5449,39 +5456,39 @@ Node: Filter93144
Node: Writing97700
Node: SetWrite107831
Node: Bootable128416
Node: Jigdo145297
Node: Charset149544
Node: Exception152859
Node: DialogCtl158979
Node: Inquiry161577
Node: Navigate167894
Node: Verify176192
Node: Restore185224
Node: Emulation192311
Node: Scripting202613
Node: Frontend210384
Node: Examples219991
Node: ExDevices221169
Node: ExCreate221828
Node: ExDialog223113
Node: ExGrowing224378
Node: ExModifying225183
Node: ExBootable225687
Node: ExCharset226239
Node: ExPseudo227131
Node: ExCdrecord228029
Node: ExMkisofs228346
Node: ExGrowisofs229686
Node: ExException230821
Node: ExTime231275
Node: ExIncBackup231734
Node: ExRestore235714
Node: ExRecovery236647
Node: Files237217
Node: Seealso238516
Node: Bugreport239239
Node: Legal239820
Node: CommandIdx240831
Node: ConceptIdx257493
Node: Jigdo145684
Node: Charset149931
Node: Exception153246
Node: DialogCtl159366
Node: Inquiry161964
Node: Navigate168281
Node: Verify176579
Node: Restore185611
Node: Emulation192698
Node: Scripting203000
Node: Frontend210771
Node: Examples220378
Node: ExDevices221556
Node: ExCreate222215
Node: ExDialog223500
Node: ExGrowing224765
Node: ExModifying225570
Node: ExBootable226074
Node: ExCharset226626
Node: ExPseudo227518
Node: ExCdrecord228416
Node: ExMkisofs228733
Node: ExGrowisofs230073
Node: ExException231208
Node: ExTime231662
Node: ExIncBackup232121
Node: ExRestore236101
Node: ExRecovery237034
Node: Files237604
Node: Seealso238903
Node: Bugreport239626
Node: Legal240207
Node: CommandIdx241218
Node: ConceptIdx257880

End Tag Table

View File

@ -50,7 +50,7 @@
@c man .\" First parameter, NAME, should be all caps
@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 .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 .\"
@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.
@*
@cindex HP-PA boot sector, production
@strong{hppa_cmdline=}text sets the PALO command line for HP-PA. Up to 127
characters are permitted.
@strong{hppa_cmdline=}text sets the PALO command line for HP-PA. Up to 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.
@*
@strong{hppa_bootloader=}iso_rr_path designates the given path as HP-PA
bootloader file.
@ -3692,6 +3695,10 @@ bootloader file.
@strong{hppa_ramdisk=}iso_rr_path designates the given path as HP-PA
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}
revoke any boot file declarations made for mips or mipsel, resp. sparc,
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
3= SUN Disk Label for SUN SPARC
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
Cylinder alignment mode
0 = auto (align if bit1)

View File

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