PXELinux

This page was last updated on September 21, 2006
Written by R.Collewijn

On this page

Introduction

PXELINUX is a SYSLINUX derivative for booting Linux off a network server, using a network ROM conforming to the Intel PXE (Pre-Execution Environment) specification. PXELINUX is not a program that is intended to be flashed or burned into a PROM on the network card.

Installation en configuration PXELINUX

Create in the root the TFTPD32 a new folder with the name “pxelinux.cfg” and create in this new directory a PXELINUX configuration "default" file with the following lines.

default example

DEFAULT       menu.c32
PROMPT        0
NOESCAPE      0
ALLOWOPTIONS  0
TIMEOUT     180


MENU TITLE PXE Boot menu by R.Collewijn


# Boot local hard disk
  LABEL DEFAULT
  LABEL      local
  MENU LABEL ^Starting Local Hard disk
  LOCALBOOT  0


# Bart Boot Loader
  LABEL      BART
  MENU LABEL ^Bart Network Boot Disk Loader
  KERNEL     MEMDISK
  APPEND     initrd=Bart/Bart.img vga=1


# Windows XPE Loader
  LABEL      XPE
  MENU LABEL Windows XP^E Preinstalled Environment
  KERNEL     pexpe.0


# MS-DOS Loader for GHOST Cast Server
  LABEL      GHOST
  MENU LABEL ^Ghost Cast (Image) server
  KERNEL     MEMDISK
  APPEND     initrd=Ghost/floppy.img vga=1


# Windows WUIM Loader
  LABEL      WUIM
  MENU LABEL Windows ^Unattended Installation
  KERNEL     wuim.0 

The highlighted part is for loading the BartPE environment for starting the Windows Unattended Installation Manager.

Copy the following file from your “syslinux-x.xx.zip” into the root of your TFTPD32 server.

  • syslinux-3.11.zip\com32\modules\menu.c32
  • syslinux-3.11.zip\pxelinux.0

Boot loader

For booting the environment you need to copy the following files from your Windows 2003 SP1 source into the root (C:\Projects\TFTP) of the TFTP server

  • Ntdetect.com
  • Setupldr.ex_
  • Startrom.n1_

Expand the files with the underscore in the extension as follow;

Expand –r Setupldr.ex_ 
Expand –r Startrom.n1_

After you expand the underscore files you can delete the original ones. Rename (if you want more then one boot loader with your TFTPD32 server) Setupldr.exe into wuim (without extension) and Startrom.n12 to wuim.0.

Because we rename the files we need also edit the files with a hex editor so they can find each other.

  1. Replace within the wuim.0 file all occurances of the text NTLDR

with the text WUIM

  1. Replace within the wuim file all winnt.sif text with the text wuim.sif
  2. Replace also within wuim file all ntdetect.com text with the text wuim.com

Create also a new file with the name wuim.sif in the root of the TFTP server folder. This new file has the following lines in it

wuim.sif example

[SetupData]  
BootDevice = "ramdisk(0)"  
BootPath = "\i386\System32\"  
OsLoadOptions = "/noguiboot /fastdetect /minint /rdexportascd /rdpath=wuim.iso"

And last but not least, copy your PE-Builder ISO file into the root of the FTFP server. Keeps the file name length (ISO) max 11 = 8+3 chars (level 1) a longer ISO filename can cause problems.

If you have followed the instruction correctly, you should have the following files in the root of the TFTPD32 server.

  • wuim
  • wuim.0
  • wuim.com
  • wuim.iso
  • wuim.sif

 

Changes of this page

Date Change
Nov 25, 2005
First concept, R.Collewijn
Jun 16, 2006
Language check, R.Collewijn / R.Reichman