2009.02.25 13:33

A TFTPD32 server as RIS Server

This page was last updated on September 21, 2006
Written by R.Collewijn
German version written by MAK

Introduction

In this short manual I descript a way to use the tftpd32 server option to create a RIS server and PXE (Preboot eXecution Environment) network boot options. I use for this PXE solution a notebook (I’m not always in the some network environment) with a GB network interface card (NIC). I use GB switch for multi cast ghosting.

With this configuration and an ISO of 322MB it’s possible to load/start a Windows XP Preinstalled Environment within 2:15 minutes flat (this include the ISO copy over the network 1:10 minutes). Because everything is running from memory the whole configuration (starting/loading programs) extremely fast

I use the following boot loader configurations;

  • MS-DOS loader for a Symantic Ghost Cast server.
  • Windows XPE Preinstalled Environment loader.
  • Windows XP Unattended installation.
  • Windows XP Lite Unattended Installation.
  • Windows 2003 Unattended installation.

In this short manual I describe only the “Windows XPE Preinstalled Environment loader” option. I have write for the other option only a Dutch version.

Requirements

  • TFTPD32 This is also a DHCP server and you get it for free from tftpd32
  • PXELINUX boot loader from SYSLINUX by H. Peter Anvin
  • PE-Builder ISO build based on Windows 2003 with Service Pack 1 (SP1).

I use for this example an ISO file of 322MB. Majority of the hardware that we are using has a memory of 512MB. If I using the following calculation you can determine the amount of your ISO file.

Internal memory – memory required by AutoRamResizer – space for self-extracting (RAR) plugins.

So in my case 512MB – 128MB – 64MB = 320MB

NOTE insurer your self that the configuration file of AutoRamResizer is proper configured with the MB after the amount of memory (see example).

AutoRamResizer.exe -l 64mb -h 128mb -f 32mb

The following programs are included in this ISO;

  • BgInfo
  • Bios View
  • Boson Tools (IP Calc, Cisco Password Descrypter, Super Ping...)
  • DirSize
  • EasyRecovery (runs from ram as self-extracting (RAR) plugin)
  • ERD Commander 2003
  • FolderSize
  • FreshDiagnose
  • HD_Speed
  • IP-Tools
  • Mass Storage Drivers
  • NirSoft - Asterisk Logger v1.00
  • Office PE - XPE
  • Passware Kit Enterprise 6.1
  • Partition Magic v8.01 (runs from ram as self-extracting (RAR) plugin)
  • Sysinternals PsTools v2.1
  • Registry Editor PE v0.9c
  • Sala's Password Renew 1.1 Beta
  • XP Support Tools
  • Sysinternals Utilities v2.0
  • Total Commander (include following totalcmd plugins)
    • Environment Variables 
    • Events NT
    • Registry
    • Services
    • Startup Guard
    • TConsole
    • Imagine Image/Animation Viewer for Windows
    • LinkInfo
    • MEDIA Show`
    • NFO View
    • xBaseView Universal Database Viewer (and Editor)

Installation en configuration TFTPD32

Copy the file from the “tftpd32.xxx.zip” file into a directory/folder (in this case i use the C:\Project\TFTP folder) and start the program. Configured the DHCP server and TFTP server as follow.

 

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      60


MENU TITLE PXE Boot menu by R.Collewijn


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


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


# Windows XP Lite Loader
LABEL XPE
  MENU       LABEL Windows ^XP Lite Unattended Installation
  KERNEL     MEMDISK


Etc…

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

Installation en configuration PE-Builder

Copy the following file 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 also the Setupldr.exe into ntldr (without extension) and Startrom.n12 into Startrom.0. Create also a new file with the name winnt.sif in the root of the TFTP server folder. This new file has the following lines in it

winnt.sif example

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

And at least, but the most imported one; 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 some problems.

Create Ghost boot floppy image

On many request, I have added a short manual how to “Create a Ghost boot floppy image” that you can also run from the TFTPD/RIS configuration. You can build a base floppy image on almost every version of Ghost, but on this moment I use the following version and settings (very straight forward)




After you have created the two boot floppies, you create an image file with the following modifications.

  • Create with WINImage (or other image program, but I preference and use in this short manual WINImage) an empty image file.

  • Copy the following Windows System files from a boot floppy (I have used a Windows XP boot floppy) into the root of this empty WINImage file.
COMMAND.COM
EMM386.EXE
HIMEM.SYS
IO.SYS
MSDOS.SYS
  • Copy the following Ghost file en folders from the created Ghost Boot Disk Wizard into the WINImage file
GHOST\                Folder inclusive sub folders
NET\                  Folder inclusive sub folders
COMP.DAT
DEVICE.COM
MOUSE.COM
START.BAT 
  • Change the following files and copy this files into the WINImage file

AUTOEXEC.BAT

@echo off
Path A:\;A:\Ghost;A:\Net;
Prompt $p$g


Set TZ=GHO-01:00
Set DirCmd=/a/o:gn


call \net\doit.bat
netbind.com
Lh Mouse.Com
Echo Loading...
Ghost.Exe -fni -sure

 

CONFIG.SYS

Dos=High,Umb,Auto
Device=Himem.Sys /NumHandles=128 /TestMem:Off
Device=Emm386.Exe Noems
buffers=40
files=80


Device=\net\pcidet.dos
Device=\net\protman.dos /I:\net
Device=\net\dis_pkt.dos
LastDrive = Z
  • Update the NDIS drivers within the NET folder (A Broadcom NIC is very critical with new hardware).
  • If you have changed the NDIS driver you must also update the following rules from the comp.dat file.

COMP.DAT

0003             Number of supported NICs 
\net\card0\$
\net\card1\$
\net\card2\$    
0003             Number of devices
14E4 1644 0001 : Broadcom NetXtreme B57XX Chipset                   $
14E4 1645 0001 : Broadcom NetXtreme B57XX Chipset                   $
14E4 1646 0001 : Broadcom NetXtreme B57XX Chipset                   $ 

First segment (14E4)        Vendor information
Second segment (1644)    Device information
Third  segment (0001)      Folder where the driver is stored.

See also the following short manual from me textmode drivers

  • Ensure your self the the boot sector of the WinImage file has the following properties en save the file.





http://www.collewijn.info/xpe/page/tftpd_ris.php


Trackback 1 Comment 0