[syslinux] Problem with cascading configurations
Malte Forkel
malte.forkel at berlin.de
Tue Sep 3 03:33:17 PDT 2019
Hello,
I am trying to setup a PXE server for two Debian releases (stretch and
buster) using their respective network boot images (netboot.tar.gz),
which I extracted into subdirectories of the TFTP server's root directory:
├── debian
│ ├── buster
│ │ ├── debian-installer
│ │ ├── ldlinux.c32 ->
debian-installer/i386/boot-screens/ldlinux.c32
│ │ ├── pxelinux.0 -> debian-installer/i386/pxelinux.0
│ │ ├── pxelinux.cfg -> debian-installer/i386/pxelinux.cfg
│ │ └── version.info
│ └── stretch
│ ├── debian-installer
│ ├── ldlinux.c32 ->
debian-installer/i386/boot-screens/ldlinux.c32
│ ├── pxelinux.0 -> debian-installer/i386/pxelinux.0
│ ├── pxelinux.cfg -> debian-installer/i386/pxelinux.cfg
│ └── version.info
├── pxelinux.0
├── pxelinux.cfg
│ └── default
├── syslinux
│ ├── ldlinux.c32
│ ├── libutil.c32
│ └── menu.c32
The directory syslinux contains files copied from the host's package
syslinux-common. The host OS is Raspbian stretch.
pxelinux.cfg/default looks like:
MENU TITLE PXE Remote Boot
DEFAULT syslinux/menu.c32
PROMPT 0
LABEL Debian_9_i386
MENU LABEL Debian 9 Stretch Network Installer (i386)
CONFIG debian/stretch/debian-installer/i386/pxelinux.cfg/default
debian/stretch/
LABEL Debian_10_i386
MENU LABEL Debian 10 Buster Network Installer (i386)
CONFIG debian/buster/debian-installer/i386/pxelinux.cfg/default
debian/buster/
Booting Debian stretch on a PXE client works fine. But trying to boot
Debian buster results in an error:
Undef symbol FAIL: init_fpu
Failed to load libcom32.c32
Failed to load COM32 file
debian-installer/i386/boot-screens/vesamenu.c32
Stretch and buster use incompatible versions of syslinux. And PXE is
requesting ldlinux.c32 before switching to the working directory
debian/buster specified by CONFIG. So instead of
debian/buster/ldlinux.c32, syslinux/ldlinux.c32 is used. Here is and
excerpt from the TFTP server's log:
in.tftpd[12160]: RRQ from 10.0.1.106 filename /ldlinux.c32
in.tftpd[12161]: RRQ from 10.0.1.106 filename //syslinux/ldlinux.c32
in.tftpd[12162]: RRQ from 10.0.1.106 filename
/debian/buster/debian-installer/i386/pxelinux.cfg/default
in.tftpd[12163]: RRQ from 10.0.1.106 filename
/debian/buster/debian-installer/i386/boot-screens/menu.cfg
...
in.tftpd[12184]: RRQ from 10.0.1.106 filename
/debian/buster/debian-installer/i386/boot-screens/vesamenu.c32
in.tftpd[12185]: RRQ from 10.0.1.106 filename
/debian/buster/libcom32.c32
in.tftpd[12186]: RRQ from 10.0.1.106 filename
/debian/buster/debian-installer/i386/boot-screens/libcom32.c32
How do I have to configure PXE to make it use the "right" version of
ldlinux.c32?
Thanks,
Malte
More information about the Syslinux
mailing list