-- MikeGore - 14 Feb 2012

PXE Boot Files Example

Setup a TFTPBOOT server
*TODO - needs updating*



USB version of PXE boot code

  • PXEUsbKey documents how to put all of this on a USB key that you can boot



  • PXEUsbKey We have a USB Key setup that will let you boot all of this on a USB key

PXE Server

  • DNSMASQ Configuration files /root/dnsmasq - See DNSMASQ
  • Home directory /tftpboot/pxes is the PXE root
  • See ~/readme.txt for up to date detailed file and directory descriptions
  • Boot file ~/pxelinux.0
  • Config menu ~/pxelinux.cfg/default
    • This menu is hard coded into pxelinux.0
    • Note we use ~/menu.c32 as a helper for this menu
    • The line default menu.c32 is added to the start of the ~/pxelinux.cfg/default file to interpret all label and menu label directive by default with the helper
  • Services this depends on

Adding other PXE image to this example

Notes Outlines how to setup a PXE boot environment for a new system

Installing PXE boot image


  • PXE root directory
  • Edit the file ~/pxelinux.cfg/default
    • Find your distributions PXE boot image - kernel and optionally an initrd for Linux distros
    • Create a unique PXE directory for the new boot image under /tftpboot/pxes
    • Copy your PXE kernel and initrd to this directory
    • Create entries like this


  • PXE Boot Image. Note: update script copies it from syslinux utility


  • Primary configuration directory - pxelinux.0 is hardwired to look for pxelinux.cfg/default



  • A menu display program, as launched by "display menu.c32" line in pxelinux.cfg/default to allow for a more GUI (curses like)
display rather than the text file pxes.msg. Note: update script copies it from syslinux utility


  • A directory of file fragments with the same syntax as pxelinux.cfg/default which allows the creation of sub menus.
You will need to hit the ESC button and RETURN to get out of sub menu to get back to the main menu.


  • Updates the syslinux utilities into this /tftpboot/pxes directory tree


  • Boot Messages -NOT USED. Instead we use "simple menu" system, see above.


  • Graphic Logo - NOT USED


Where all of the DOS PXE images load from See pxelinux.cfg/default


  • Recovery is Possible - RIP images


  • PXE bootable ISO images of utilities and Live Linux images


  • Acronis ISO boot images - primary computer imaging method in CS
  • See acronis_menu


  • DISK utilities - erase,wipe and MBR
  • See disk_menu


  • DOS utilities - erase,wipe and MBR
  • See dos_menu


  • rip_menu and rip_menuNN.N menus are automatically included from /tftpboot/pxes/pxelinux.cfg/default
  • Created by the add_ghost bash script - see below.
  • The RIP sources are located in /images/rawiso/linux_utils/RIP
  • add_ghost bash script is also symlinked into that directory.
  • See
  • rip_menu
  • rip_menu13.7
  • rip_menu13.6
  • rip_menu9.8
  • rip_menu9.3


  • See add_ghost
  • Add Ghost and Avast AV to our RIP images and create a menu pxelinux.cfg/rip_menu that is loaded by pxelinux.cfg/default
  • See readme in /images/rawiso/linux_utils/RIP


  • Linux Ghost code with additions to work with RIP.
    • See the acript add_ghost in /images/rawiso/linux_utils/RIP
    • where the RIP originals are stored

Liveboot and Network Installers

* See Also PXELiveBoot

/tftpboot/pxes/tftpbootiso service

  • Creates/removes NFS shares for liveboot Ubuntu images
  • tftpbootiso
  • Scans files under /tftpboot/pxes/iso
  • Usages: tftpbootiso [start|stop|restart|install|remove]
    • start - export NFS Live Image shares
    • stop - delete and remove NFS Live Image shares
    • restart - reexport NFS Live Image shares - same as stop and start
    • install - installs tftpbootiso as a service* using update-rc.d
    • remove - removes tftpbootiso as a service* using update-rc.d


  • Downloads Current or Upcoming Ubuntu Daily Release ISO
  • get_daily_iso
    • Saves them in:
      • /tftpboot/pxes/iso
      • /images/rawiso/Ubuntu


  • See mk_ubuntu
  • Creates/updates a menu for Ubuntu PXE installs:
    • /tftpboot/pxes/ubuntu-installers/menu.conf
  • Processes ALL directories fround in /iso/Ubuntu for all Ubuntu iso images.
  • Depends on mount_cds /etc/init.d script to mount ISO images
    • ISO images: /images/rawiso/Ubuntu


  • Ubuntu Linux PXE boot image directories live under here
  • Created and populated by mk_ubuntu script are PXE network installers for each distro.
  • /iso/Ubuntu/ubuntu are the source ISO images
  • Notes: If the ISO does not have a PXE installer it is downloaded from the network


  • Master PXE MENU for Ubuntu Installers created by mk_ubuntu
  • See menu.conf:

PXE Applications and Documents

Topic attachments
I Attachment History Action Size Date Who Comment
Unknown file formatext acronis_menu r1 manage 0.9 K 2012-03-20 - 16:00 MikeGore  
Unknown file formatext add_ghost r1 manage 10.8 K 2012-03-20 - 15:58 MikeGore  
Unknown file formatext default r1 manage 1.9 K 2012-03-20 - 16:00 MikeGore  
Unknown file formatext disk_menu r1 manage 0.4 K 2012-03-20 - 16:00 MikeGore  
Unknown file formatext dos_menu r1 manage 0.5 K 2012-03-20 - 16:02 MikeGore  
Unknown file formatext get_daily_iso r1 manage 2.1 K 2013-03-11 - 15:19 MikeGore Get current release Ubuntu Daily ISO image
Unknown file formatconf menu.conf r2 r1 manage 10.1 K 2013-03-11 - 15:20 MikeGore PXE MENU for Ubuntu Installers
Unknown file formatext mk_ubuntu r2 r1 manage 7.6 K 2013-03-11 - 15:22 MikeGore Create Network Install PXE menus from ISO images
Unknown file formatext rip_menu r1 manage 0.5 K 2012-03-20 - 15:59 MikeGore  
Unknown file format6 rip_menu13.6 r1 manage 0.7 K 2012-03-20 - 16:02 MikeGore  
Unknown file format7 rip_menu13.7 r1 manage 0.7 K 2012-03-20 - 16:00 MikeGore  
Unknown file format3 rip_menu9.3 r1 manage 0.7 K 2012-03-20 - 16:03 MikeGore  
Unknown file format8 rip_menu9.8 r1 manage 0.7 K 2012-03-20 - 16:02 MikeGore  
Unknown file formatext tftpbootiso r1 manage 3.5 K 2013-03-11 - 15:18 MikeGore Mounts Live Boot images under /tftpboot/pxes/iso
Edit | Attach | Watch | Print version | History: r10 < r9 < r8 < r7 < r6 | Backlinks | Raw View | WYSIWYG | More topic actions
Topic revision: r10 - 2015-08-19 - MikeGore
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2024 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback