mirror of https://github.com/ipxe/ipxe.git
[prefix] Reasonable value for lkrn initrd_addr_max
H. Peter Anvin <hpa@zytor.com> sent word that Sergey Vlasov <vsu@altlinux.ru> discovered gPXE lkrn images fail to load in SYSLINUX 3.70 because we have initrd_addr_max zeroed. This patch sets the same value as the Linux kernel. Also change the header jmp instruction to use a hardcoded opcode value like Linux does. Just in case the assembler decides to use a three-byte instruction instead of the desired two-byte jmp.pull/1/head
parent
594c672b75
commit
4cc786de81
|
@ -110,7 +110,10 @@ root_dev:
|
||||||
boot_flag:
|
boot_flag:
|
||||||
.word 0xAA55
|
.word 0xAA55
|
||||||
jump:
|
jump:
|
||||||
jmp setup_code
|
/* Manually specify a two-byte jmp instruction here rather
|
||||||
|
* than leaving it up to the assembler. */
|
||||||
|
.byte 0xeb
|
||||||
|
.byte setup_code - header
|
||||||
header:
|
header:
|
||||||
.byte 'H', 'd', 'r', 'S'
|
.byte 'H', 'd', 'r', 'S'
|
||||||
version:
|
version:
|
||||||
|
@ -142,7 +145,10 @@ pad1:
|
||||||
cmd_line_ptr:
|
cmd_line_ptr:
|
||||||
.long 0
|
.long 0
|
||||||
initrd_addr_max:
|
initrd_addr_max:
|
||||||
.long 0
|
/* We don't use an initrd but some bootloaders (e.g. SYSLINUX) have
|
||||||
|
* been known to require this field. Set the value to 2 GB. This
|
||||||
|
* value is also used by the Linux kernel. */
|
||||||
|
.long 0x7fffffff
|
||||||
kernel_alignment:
|
kernel_alignment:
|
||||||
.long 0
|
.long 0
|
||||||
relocatable_kernel:
|
relocatable_kernel:
|
||||||
|
|
Loading…
Reference in New Issue