From 3cdc491e358508621ce19d851f148aa2932b87bf Mon Sep 17 00:00:00 2001 From: "H. Peter Anvin" Date: Tue, 28 Jul 2009 20:19:14 -0700 Subject: [PATCH] PXELINUX: allow filenames up to 251 characters long At least one users really need this, so be nice and provide it... Signed-off-by: H. Peter Anvin --- NEWS | 1 + core/parsecmd.inc | 2 ++ core/pxelinux.asm | 2 +- 3 files changed, 4 insertions(+), 1 deletion(-) diff --git a/NEWS b/NEWS index 3f14e48..41b0156 100644 --- a/NEWS +++ b/NEWS @@ -8,6 +8,7 @@ Changes in 3.83: * PXELINUX: fix localboot after NBP chainloading on certain BIOSes (including ASUS A8N-E, but possibly others.) * chain.c32: support chainloaded bootloaders on ISOLINUX. + * PXELINUX: allow filenames up to 251 characters. Changes in 3.82: * isohybrid: fix the -partok logic for loading from a partition. diff --git a/core/parsecmd.inc b/core/parsecmd.inc index e63c205..1ddd5a0 100644 --- a/core/parsecmd.inc +++ b/core/parsecmd.inc @@ -117,6 +117,8 @@ VKernelBuf: resb vk_size ; "Current" vkernel AppendBuf resb max_cmd_len+1 ; append= Ontimeout resb max_cmd_len+1 ; ontimeout Onerror resb max_cmd_len+1 ; onerror + ; This could be in .uibss but that makes PXELINUX overflow + section .bss KbdMap resb 256 ; Keyboard map FKeyName resb MAX_FKEYS*FILENAME_MAX ; File names for F-key help KernelCNameLen resw 1 ; Length of unmangled kernel name diff --git a/core/pxelinux.asm b/core/pxelinux.asm index 58201a0..190f4c6 100644 --- a/core/pxelinux.asm +++ b/core/pxelinux.asm @@ -29,7 +29,7 @@ ; Some semi-configurable constants... change on your own risk. ; my_id equ pxelinux_id -FILENAME_MAX_LG2 equ 7 ; log2(Max filename size Including final null) +FILENAME_MAX_LG2 equ 8 ; log2(Max filename size Including final null) FILENAME_MAX equ (1 << FILENAME_MAX_LG2) NULLFILE equ 0 ; Zero byte == null file name NULLOFFSET equ 4 ; Position in which to look -- 2.7.4