Edit: I figured it out. I just had to set permissions on my files properly which was causing problems (did not see how I missed that). Thanks everybody for the suggesstions.

I am trying to install a TFTP Server on CentOS 6. The idea is that the machine I install it on is a server and it allows clients to boot over the network to start the boot options listed within my tftp configuration.

I am trying to give the users 4 different options, a local boot, a centos installer/rescue and a memtest. The problem I am having is that I can successfully start a client to boot via network and connect to the boot, but it throws an error saying that no default option was found (this was due to default not being set).

I don't want the menu to default to something, I simply want it to timeout for 30 seconds so that the user can pick an option (they can press F1 for a list of options). It boots to local hard drive after 30 seconds unless they pick another label.

My /tftpd directory has a /images, pxelinux.0, pxelinux.cfg (within this is the default, helpfile, boot.message)

My default file:

default #dont know what to put here
display  boot.message
F1  helpfile
prompt 0
timeout 300
ontimeout local


LABEL local
    MENU LABEL Boot LOcal

LABEL centinstaller
   MENU LABEL Installer
   APPEND images/initrd.img linux

LABEL centrescue
   MENU LABEL Rescue
   APPEND images/initrd.img linux rescue

LABEL memtest
   MENU LABEL testmem
   KERNEL images/memtest86+-4.10

Basically, the user enters in the label to boot that option (be it memtest or local hard drive boot). But this configuration does not actually let me press F1 to show the helpfile nor does it do anything...it actually freezes once the client is booted up along with showing a message default not set. What do I actually set it to so that I can achieve what I want?

I configured everything else (dhcp.d, /etc/xinetd.d/tftp)

  • And what do you want to happen after the 30 second timeout? – Michael Hampton Mar 30 '13 at 5:57
  • After 30 seconds, it just boots to the local (i.e. local hard drive). Thats what the ontimeout local is for (this is what I read anyway) – tidus tidus Mar 30 '13 at 5:59
  • 1
    Then that is your default. – Michael Hampton Mar 30 '13 at 6:00
  • Yes but the default simply boots to that option right away. I want to be able to give the user a chance to look at the help menu and boot to a different option – tidus tidus Mar 30 '13 at 6:26
  • Do you mean that it's not waiting for either the timeout or any user input if the default is configured? That would be very strange.. can you clarify exactly what the behavior is in that case? – Shane Madden Mar 30 '13 at 7:48

You're looking for the MENU DEFAULT setting and you need menu.c32 to actually display the menu. This is the PXE config I've set up at work (with irrelevant details stripped out, it's actually autogenerated from a django template and a bit more complex):

DEFAULT menu.c32
MENU TITLE Booking.com PXE environment
MENU AUTOBOOT Booting local in # seconds

LABEL local
    MENU LABEL local
    LOCALBOOT 0x80

LABEL co6-x86_64
    MENU LABEL co6-x86_64
    kernel ...
    append ...

LABEL DiskWipe
    MENU LABEL Disk Wipe/Erase
    KERNEL /menu.c32
    APPEND /dban/isolinux.cfg

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.