PXE booting to BARTPE

From SME Server
Jump to navigationJump to search

PXE booting to ISO


We want to boot ISO images via PXE (rather than through CD). This means that, as long as we have enough RAM in the local pc's, we can boot BARTPE, WINPE and any LIVE CD (such as KNOPPIX, PCLINUXOS, UBCD, etc).


You are a network/server administrator and know what TFTP, BARTPE and PXE -a network boot- means. Your SME SERVER is your DHCP server.

DHCP Configuration for PXE booting

Easiest way is to install the smeserver-pxe contrib

Install TFTP package on your SME SERVER

-install SMESERVER-TFTP-SERVER on your SME SERVER: http://wiki.contribs.org/Tftp_server

Create a BARTPE.ISO on your local pc

-download BARTPE on your local pc: http://www.nu2.nu/pebuilder/

-create a BARTPE disk using WINDOWS SERVER 2003 source (i386 directory)

-or if you don't have a WINDOWS SERVER 2003 source, you can use a WINDOWS XP SP2 source (i386 dir) but you'll have to replace the following file with a newer version from the WINDOWS SERVER 2003 SP1 download (see next section):


-you now have a BARTPE.ISO (on your local pc)

Obtain WINDOWS SERVER 2003 SP1 files needed

-download the WINDOW 2003 SERVER SP1: http://www.microsoft.com/downloads/details.aspx?FamilyId=22CFC239-337C-4D81-8354-72593B1C1F43&displaylang=en

(You now have a file called: WindowsServer2003-KB889101-SP1-x86-ENU.exe)

-open WINRAR to open the WindowsServer2003-KB889101-SP1-x86-ENU.exe file (the W2K3 file is just a self-extracting ZIP/CAB/TAR file)

-extract only the following files from the W2K3SP1:


-The underscore files are compressed. We need to decompress/expand them:

expand ramdisk.sy_
expand setupldr.ex_
expand startrom.n1_

(You only need the ramdisk.sys file if you don't have a WINDOWS 2003 SERVER source to build your BARTPE from. See above section.)

Transfer files to SME SERVER

-copy the following files to the SME SERVER in the "/tftpboot" directory:


Work with files in the TFTPBOOT dir

-the files are case-sensitive and need to be named exactly as follows:

ntdetect.com (lower-case)
NTLDR (rename the setupldr.exe to NTLDR, all caps)
startrom.0 (rename the startrom.n12 to startrom.0) (This is a ZERO)
BARTPE.ISO (all caps)

-create a winnt.sif:

vi winnt.sif

-the contents of the winnt.sif file:

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

-create a pxelinux.cfg directory:

mkdir pxelinux.cfg

-change to pxelinux.cfg dir and create a default file:

cd pxelinux.cfg
vi default

-the contents of the default file:

prompt 1
implicit 0
timeout 600
default foo
LABEL bartpe
   kernel startrom.0

Summary of contents of TFTPBOOT dir

[root@server tftpboot]# ls -la
total 941492
drwxr-xr-x   3 root root      4096 Dec  3 15:43 .
drwxr-xr-x  27 root root      4096 Nov 30 13:31 ..
-rw-r--r--   1 root root 159930368 Dec  3 14:18 BARTPE.ISO
-rw-r--r--   1 root root     47772 Mar 24  2005 ntdetect.com
-rw-r--r--   1 root root    278016 Mar 24  2005 NTLDR
-rw-r--r--   1 root root     13204 Sep  4  2006 pxelinux.0
drwxr-xr-x   2 root root      4096 Apr 18  2007 pxelinux.cfg
-rw-r--r--   1 root root     24466 Mar 24  2005 startrom.0
-rw-r--r--   1 root root   1473787 Apr  5  2006 vmlinuz
-rw-r--r--   1 root root       169 Dec  3 15:44 winnt.sif

Boot client PC

-that should do it! Start your client PC and boot from the network.

-at the prompt, when it asks for an image type: bartpe

-pretty cool, huh?