PXELINUX always selects default option

Bug #1691218 reported by Ben Harris
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
syslinux (Ubuntu)
New
Undecided
Unassigned

Bug Description

I have a DHCP/TFTP server that's used for network installations. When I tried to switch it to use the version of PXELINUX supplied with Ubuntu 16.04 (3:6.03+dfsg-11ubuntu1), I found that whatever I typed at the PXELINUX command-line, PXELINUX would boot the default image. Replacing the Ubuntu PXELINUX binaries with the official upstream binaries caused the problem to go away.

More specifically, I installed /usr/lib/PXELINUX/pxelinux.0 and /usr/lib/syslinux/modules/bios/ldlinux.c32 into my /tftpboot directory. To avoid breaking the existing PXELINUX 4.03 installation, I installed pxelinux.0 as "test.0" and configured my DHCP server to provide that as a filename to my test server. I put the following configuration file in /tftpboot/pxelinux.cfg/AC1CD020 (the correct name for the IP address of my server):

DEFAULT mongoose
PROMPT 1

LABEL mongoose
        KERNEL mongoose

LABEL kitten
        KERNEL kitten

When I boot my test server, pressing [TAB] twice at the PXELINUX prompt lists both "mongoose" and "kitten" as available images, but whatever I type, PXELINUX says "Loading mongoose... failed: No such file or directory" (see attached screenshot), indicating that PXELINUX was trying to load "mongoose" every time. When I replace test.0 and ldlinux.c32 with pxelinux.0 and ldlinux.c32 from the official PXELINUX 6.03 release, I get the behaviour I expect, namely that the error message mentions the name of the image I selected.

While my test involves images that don't exist, I get the same behaviour for more normal configuration files that load actual kernels. I also get the same behaviour from two different PXE implementations (VMware and a Sun Fire X4150).

ProblemType: Bug
DistroRelease: Ubuntu 16.04
Package: pxelinux 3:6.03+dfsg-11ubuntu1
ProcVersionSignature: Ubuntu 4.4.0-77.98-generic 4.4.59
Uname: Linux 4.4.0-77-generic x86_64
ApportVersion: 2.20.1-0ubuntu2.5
Architecture: amd64
Date: Tue May 16 18:37:49 2017
Dependencies: syslinux-common 3:6.03+dfsg-11ubuntu1
JournalErrors:
 Error: command ['journalctl', '-b', '--priority=warning', '--lines=1000'] failed with exit code 1: Hint: You are currently not seeing messages from other users and the system.
       Users in the 'systemd-journal' group can see all messages. Pass -q to
       turn off this notice.
 No journal files were opened due to insufficient permissions.
PackageArchitecture: all
SourcePackage: syslinux
UpgradeStatus: Upgraded to xenial on 2017-05-11 (5 days ago)

Revision history for this message
Ben Harris (bjh21) wrote :
Revision history for this message
Alexander Achenbach (xela) wrote :

Same problem here, using pxelinux 6.03 as of 16.04.

I initially thought that it failed at an earlier PXE stage, as it alway
booted to the local hard disk (exiting PXE), but that was only due to a
'default harddisk' within the configuration:

--------------------------------
default harddisk
timeout 300
prompt 1

label harddisk
  localboot 0

label netboot
  kernel ...
  ...
--------------------------------

Booting into 'netboot' worked well if specified as 'default netboot', but again,
it would always select that default, regardless of prompt input.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.