--
MikeGore - 14 Feb 2012
PXE Boot Files Example
Setup a TFTPBOOT server
*TODO - needs updating*
Files
Dependencies
USB version of PXE boot code
- PXEUsbKey documents how to put all of this on a USB key that you can boot
Documentation
USB Key
- 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
/tftpboot/pxes
- 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
/tftpboot/pxes/pxelinux.0
- PXE Boot Image. Note: update script copies it from syslinux utility
/tftpboot/pxes/pxelinux.cfg/
- Primary configuration directory - pxelinux.0 is hardwired to look for pxelinux.cfg/default
/tftpboot/pxelinux.cfg/default
/tftpboot/pxes/menu.c32
- 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
/tftpboot/pxes/menu.c32.confs/
- 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.
/tftpboot/pxes/update
- Updates the syslinux utilities into this /tftpboot/pxes directory tree
/tftpboot/pxes/pxes.msg
- Boot Messages -NOT USED. Instead we use "simple menu" system, see above.
/tftpboot/pxes/pxes.lss
/tftpboot/pxes/utils/
Where all of the DOS PXE images load from
See pxelinux.cfg/default
/tftpboot/pxes/RIP/
- Recovery is Possible - RIP images
/tftpboot/pxes/iso
- PXE bootable ISO images of utilities and Live Linux images
/tftpboot/pxes/pxelinux.cfg/acronis_menu
- Acronis ISO boot images - primary computer imaging method in CS
- See acronis_menu
/tftpboot/pxes/pxelinux.cfg/disk_menu
- DISK utilities - erase,wipe and MBR
- See disk_menu
/tftpboot/pxes/pxelinux.cfg/dos_menu
- DOS utilities - erase,wipe and MBR
- See dos_menu
/tftpboot/pxes/pxelinux.cfg/rip_menu*:w
- 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
/tftpboot/pxes/add_ghost
- 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
/tftpboot/pxes/pxelinux.cfg/ghost.src
- 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
/tftpboot/pxes/get_daily_iso
- Downloads Current or Upcoming Ubuntu Daily Release ISO
- get_daily_iso
- Saves them in:
- /tftpboot/pxes/iso
- /images/rawiso/Ubuntu
/tftpboot/pxes/mk_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
/tftpboot/pxes/ubuntu-installer
- 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
/tftpboot/pxes/ubuntu-installer/menu.conf
- Master PXE MENU for Ubuntu Installers created by mk_ubuntu
- See menu.conf:
PXE Applications and Documents