summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorhpa <hpa>2003-12-05 21:55:41 +0000
committerhpa <hpa>2003-12-05 21:55:41 +0000
commit9d53df5e55e5b990aed299f74a25c6af30dfb4fe (patch)
tree77f1140c13f6b8fd8c9f02eb64329cf6c8030d45
parent1af8de3cb2c03c93bc2b99da4d03be51e8b95998 (diff)
downloadsyslinux-2.08-pre8.tar.gz
- Avoid a memory location overwritten by RBFG.syslinux-2.08-pre8
- Change number of vkernels and characters in pxelinux.
-rw-r--r--NEWS4
-rw-r--r--pxelinux.asm15
-rw-r--r--pxelinux.doc2
-rw-r--r--syslinux.doc4
4 files changed, 17 insertions, 8 deletions
diff --git a/NEWS b/NEWS
index ec26f7d2..f2fde656 100644
--- a/NEWS
+++ b/NEWS
@@ -19,6 +19,10 @@ Changes in 2.08:
disk.
* .c32 is now one of the extensions searched for
automatically.
+ * PXELINUX: RFBG.exe seems to randomly overwrite memory
+ location 0x5700. Thus, don't use it!
+ * PXELINUX: Change pathname length max from 63 to 127; change
+ max vkernels from 128 to 64.
Changes in 2.07:
* MEMDISK: Workaround for BIOSes which go into a snit when
diff --git a/pxelinux.asm b/pxelinux.asm
index 8f628a2f..d2bfe322 100644
--- a/pxelinux.asm
+++ b/pxelinux.asm
@@ -30,7 +30,7 @@
; Some semi-configurable constants... change on your own risk.
;
my_id equ pxelinux_id
-FILENAME_MAX_LG2 equ 6 ; log2(Max filename size Including final null)
+FILENAME_MAX_LG2 equ 7 ; log2(Max filename size Including final null)
FILENAME_MAX equ (1 << FILENAME_MAX_LG2)
NULLFILE equ 0 ; Zero byte == null file name
REBOOT_TIME equ 5*60 ; If failure, time until full reset
@@ -93,7 +93,7 @@ TFTP_EOPTNEG equ htons(8) ; Option negotiation failure
;
; Note: this structure can be added to, but it must
;
-%define vk_power 7 ; log2(max number of vkernels)
+%define vk_power 6 ; log2(max number of vkernels)
%define max_vk (1 << vk_power) ; Maximum number of vkernels
%define vk_shift (16-vk_power) ; Number of bits to shift
%define vk_size (1 << vk_shift) ; Size of a vkernel buffer
@@ -204,16 +204,21 @@ xbs_textbuf equ 0 ; Also hard-coded, do not change
xbs_vgabuf equ trackbufsize
xbs_vgatmpbuf equ 2*trackbufsize
- absolute 5000h ; Here we keep our BSS stuff
+ absolute 4000h ; Here we keep our BSS stuff
VKernelBuf: resb vk_size ; "Current" vkernel
alignb 4
AppendBuf resb max_cmd_len+1 ; append=
Ontimeout resb max_cmd_len+1 ; ontimeout
Onerror resb max_cmd_len+1 ; onerror
KbdMap resb 256 ; Keyboard map
-BootFile resb 256 ; Boot file from DHCP packet
PathPrefix resb 256 ; Path prefix derived from the above
+BootFile resb 256 ; Boot file from DHCP packet
ConfigName resb 256 ; Configuration file from DHCP option
+
+; Warning here: RBFG build 22 seems to randomly overwrite memory location
+; 0x5700. Not sure why yet. Consider that if these are realigned.
+
+ absolute 5800h
FKeyName resb 10*FILENAME_MAX ; File names for F-key help
NumBuf resb 15 ; Buffer to load number
NumBufEnd resb 1 ; Last byte in NumBuf
@@ -1239,7 +1244,7 @@ searchdir:
.pkt_loop: mov bx,[bp-8] ; TID
mov di,packet_buf
- mov [pxe_udp_read_pkt.status],byte 0
+ mov word [pxe_udp_read_pkt.status],0
mov [pxe_udp_read_pkt.buffer],di
mov [pxe_udp_read_pkt.buffer+2],ds
mov word [pxe_udp_read_pkt.buffersize],packet_buf_size
diff --git a/pxelinux.doc b/pxelinux.doc
index d03481a3..a2717db4 100644
--- a/pxelinux.doc
+++ b/pxelinux.doc
@@ -56,7 +56,7 @@ search for its config file on the boot server in the following way:
It should be noted that all filename references are relative to the
directory pxelinux.0 lives in (usually /tftpboot). PXELINUX
-generally requires that filenames (including any relative path) are 63
+generally requires that filenames (including any relative path) are 127
characters or shorter in length.
PXELINUX does not support MTFTP, and I have no immediate plans of
diff --git a/syslinux.doc b/syslinux.doc
index e621b50b..571d0785 100644
--- a/syslinux.doc
+++ b/syslinux.doc
@@ -161,8 +161,8 @@ LABEL label
specified in the global section of the file (before the first
LABEL command.) The default for "image" is the same as
"label", and if no APPEND is given the default is to use the
- global entry (if any). Up to 128 LABEL entries are permitted
- (for ISOLINUX, 64 LABEL entries.)
+ global entry (if any). Up to 64 LABEL entries are permitted
+ (for SYSLINUX, 128 LABEL entries.)
Note that LILO uses the syntax:
image = mykernel