[syslinux] Problem with cascading configurations

Malte Forkel malte.forkel at berlin.de
Thu Sep 5 07:01:04 PDT 2019


Am 04.09.2019 um 22:18 schrieb Ady Ady via Syslinux:
>> 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.
>
>
I'll happily run any test.

Relocating ldlinux.c32 as you suggested didn't have any visible effect
on the boot process. Error message and TFTP log entries are the same.

Thanks,
Malte



More information about the Syslinux mailing list