[syslinux] Problem with cascading configurations

Ady Ady ady-sf at hotmail.com
Wed Sep 4 13:18:33 PDT 2019


> 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?
 
 
For troubleshooting, are you willing to perform a minor test?

To be clear, the following test does not completely resolve a/the 
(potential) conflict between Syslinux's versions, but perhaps it might 
still improve the current situation.

1_ Copy (not link, not move, actual copy) the file:

 debian/buster/debian-installer/i386/boot-screens/ldlinux.c32 

to:

 debian/buster/debian-installer/i386/ldlinux.c32 

(where pxelinux.0 is actually located)


2_ Change the link, from:

     ├── debian
     │   ├── buster
     │   │   ├── debian-installer
     │   │   ├── ldlinux.c32 ->
 debian-installer/i386/boot-screens/ldlinux.c32


to:

     ├── debian
     │   ├── buster
     │   │   ├── debian-installer
     │   │   ├── ldlinux.c32 ->
 debian-installer/i386/ldlinux.c32

(where pxelinux.0 is actually located)


3_ After performing the above two steps, please re-test netbooting 
Buster and report back.

Any changes? Does it go further? Does it fail in the same exact manner 
as before? Is the TFTP server's log exactly the same as before?

Regards,
Ady.



More information about the Syslinux mailing list