[syslinux] ifcpu64.c32 not working properly when used in a menu include file
John Newman
jnnewman at peer1.com
Tue Sep 4 07:39:18 PDT 2012
The following is a pxelinux problem, specifically to do with
including config files with the menu include directive and the
ifcpu64.c32 com module.
I have a working ifcpu64.c32 setup that jumps to the label rescue64
in the case of a 64-bit CPU. The label "rescue64" defines a 64-bit
kernel and a 64-bit initrd.img. The setup jumps to a label named
"rescue32" in the case of a 32-bit CPU, which is also a label, this
time defining a 32-bit vmlinuz and a 32-bit initrd.img/userland.
It looks more or less like the following:
# rescue_dev
LABEL rescue
IPAPPEND 2
MENU LABEL ^rescue (Auto-detect CPU type)
KERNEL ifcpu64.c32
APPEND rescue64 -- rescue32
TEXT HELP
Load appropriate image
ENDTEXT
LABEL rescue64
MENU HIDE
IPAPPEND 2
KERNEL images/vmlinuz64
APPEND initrd=images/initrd64.img init=/linuxrc root=/dev/ram0 rw
devfs=nomount console=ttyS0,115200 console=tty0 ksipaddr=kickstart
LABEL rescue32
MENU HIDE
IPAPPEND 2
KERNEL images/vmlinuz32
APPEND initrd=images/initrd32.img init=/linuxrc root=/dev/ram0 rw
devfs=nomount console=ttyS0,115200 console=tty0 ksipaddr=kickstart
This all works perfectly when the code above is directly
in the pxe target file that is being used. However, when I use the
"MENU INCLUDE" directive in a file that defines some more
options to suck this bit in, the label parsing/jumping by ifcpu64.c32
stops working properly. When I select the "rescue (Auto-detect CPU
type)" option from the menu, instead of jumping to the label
rescue64, it tries to shove first the literal file rescue64 at me,
then when that isn't found it looks for rescue64.cbt, rescue64.0,
rescue64.com, rescue64.c32 and maybe a few others. Basically,
it is ignoring the rescue64 label and trying to directly spit
a rescue64 file out at me. I can see this from the tftpd logs.
Has anyone else seen similar behaviour? Any tips or ideas?
Greatly appreciated,
John
--
John Newman
Product Engineering - Peer1 Hosting
More information about the Syslinux
mailing list