Ultimate Deployment Appliance


Deploy your favorite OS by pressing F12, bring your own ISO's, we'll do the rest

0 Kudos
672 Replies


The templates are for creating more than one 'instance' of the same operating system. You can for instance deploy more than one windows XP machine by importing the bootfiles once (OS -> Configure OS) and then create more than one template based on that OS (Templates -> Create Template).

I'll give an example: you're at home and you want to deploy your laptop and a desktop with Windows XP. The first should have hostname MYLAPTOP01 and the second one should be called MYDESKTOP01. You may want to have DHCP for the laptop (in case you take it somewhere where DHCP is supported) and a fixed IP for the desktop.

Here's what you do in that case:

1. Import the Windows XP iso file using the 'Configure OS' option in the webinterface 'OS' - tab.

2. Create a template (Template -> Create Template and choose Windows XP) for the laptop and call it e.g. xplt1 . Edit the configuration file for the template (Templates -> Edit configuration for the xplt1 template) and set the IPconfiguration to DHCP and the hostname to MYLAPTOP01.

3. Create another (XP based) template for the desktop. Call it e.g. xpdt1 and edit the configuration file so that the IPadress is fixed to a value you want and the hostname is set to MYDESKTOP01.

When you now boot up the laptop and and press F12, you can choose the template xplt1, so XP is installed on the laptop with the configured settings for that template. When you boot up the desktop and press F12, you can choose the xpdt1 template and have it installed with different settings (Fixed IP and other hostname).

In the configuration file you can do more settings (include or exclude windows components, run a program right after installation etc..). A template is basically a configuration file tied to an operating system flavor.

I hope this explains it, and it probably answers your second question too. By editing the configuration file of the template you can change the installation options. If it's still a little fuzzy, do not hesitate to ask...

0 Kudos

Dude -

Incredible work... I've already used the appliance to re-image 4 older Dell workstations... but now I'm running into a problem that I cannot resolve on my own... I have 22 new Dell workstations to image. I'm attempting to use the same .iso file and configuration that I've already used, but I'm getting the strangest error: filename bøÎcøÎ not found.

from /var/log/messages:

Nov 10 20:28:37 localhost in.tftpd\[2625]: remap: input: bøÎcøÎ

Nov 10 20:28:37 localhost in.tftpd\[2625]: remap: done

Nov 10 20:28:37 localhost in.tftpd\[2625]: RRQ from filename bøÎcøÎ

Nov 10 20:28:37 localhost in.tftpd\[2625]: sending NAK (1, File not found) to

Do you have any suggestions?



0 Kudos


I've never seen this error before, so I'll need some more information. When does this happen? Can you leave me a private message with some more of the logfile? And can you check the /var/log/binlserver.log as well? Is the binlserver telling the client to download this file? If so, then you may have imported a binary .inf file. The .inf file you import should be human readable. Check that first, if you can't read it with notepad/vi then you need to download another (specific RIS-)driver for your network card.

0 Kudos

Adding non supported NICs for newest hardware is more complex than expected, especially for Broadcom (R) NetXtreme II (TM) Gigabit Ethernet used in hp ProLiant and IBM eServer System x.

Using a specific Monolithic driver is required.

Found the info here:


Details explained in \WinPE\WPEusage.txt on the downloaded ISO image.

for both BartPE and the text mode portion of a RIS installation, use b06nd.inf[/b] file in the INF directory and the appropriate driver file b06nd51x.sys[/b] in the SYS directory.

0 Kudos

Hi Bilou,

Good to hear it worked. Does this mean that you have deployed HP proliant servers with the UDA successfully? Do you already have the mass storage devices working?

0 Kudos

No currently, i have an issue adding new NICs drivers to the UDA.

If i upgrade an existing NIC with latest driver version, the infparser.py works and i can start a new Windows OS install.

:// Broadcom (R) NetXtreme (TM) Gigabit Ethernet


pscp.exe -pw test b57xp32.sys root@

:// replace original inf file with updated inf file (renaming inf)

pscp.exe -pw test netb57lh.inf root@

I can PXE boot a box with a BCM57xx-based Gigabit Ethernet and start installation.

:// Broadcom NetXtreme II GigE

:// adding new NIC driver

pscp.exe -pw test b06nd51x.sys root@

pscp.exe -pw test b06nd.inf root@

/etc/init.d/binl stop


/etc/init.d/binl start

although the infparser.py is executed, I get Error Message: The Operating System Image You Selected Does Not Contain the Necessary Drivers for Your Network Adapter.

I have checked monolithic Broadcom NetXtreme II GigE drivers on a real Windows Server 2003 RIS and successfully PXE booted a WinPE image.

Method 2: Deploy Windows PE from RIS server in legacy flat method


0 Kudos


In the /var/log/binlserver.log you can see what happens.

1. The client tells the UDA the vendor and type of the network card it uses, by contacting the binlserver on the UDA.

2. The binlserver checks its database to see if it has drivers for that network card and if so replies with the inf and sys filenames of that driver.

3. The client then uses tftp to download those drivers.

You can see in the log what the vendor and type the client requests from the UDA. (Usually something like PCI\VEN_8086&DEV_1229 ) This string should match exactly with the strings in the inf file you have supplied. Also the inf file should list the exact name of the .sys file (without path) that should be loaded for the specific network card.

Hope this helps, and by the way, check if the client is not requesting a lowercase filename while the actual file is uppercase or the other way around.

Good luck

0 Kudos

tail -f /var/log/[b]binlserver.log[/b]

OS is now WI2K3

Checking PCI\VEN_14E4&DEV_164C&SUBSYS_7038103C

Checking PCI\VEN_14E4&DEV_164C

Driver not found

Successfully loaded 909 devices

Binlserver started ... pid 1175


; x86 WS3 or XP installation.


%bcm5706c_desc% = bcm5706c_x86ws3, PCI\VEN_14e4&DEV_164a

%bcm5706s_desc% = bcm5706s_x86ws3, PCI\VEN_14e4&DEV_16aa

%bcm5708c_desc% = bcm5708c_x86ws3, PCI\VEN_14e4&DEV_164c

%bcm5708s_desc% = bcm5708s_x86ws3, PCI\VEN_14e4&DEV_16ac

I remember a Broadcom FAQ which recommends editing inf file.


To avoid this issue with 'Broadcom (R) NetXtreme (TM) Gigabit Ethernet', i have used netb57lh.inf and b57xp32.sys extracted from a MSFT SMSv4Beta1 OSD boot.wim image instead of the regular b57win32.inf from Broadcom.

But the issue is very strange because both 'Broadcom NetXtreme II GigE' netb06nd.inf & b06nd51x.sys files work fine with WS03 RIS.

Going to edit netb06nd.inf file according to the FAQ and reports how it works.

0 Kudos

Broadcom NetXtreme II GigE: I have changed and tried so many combinations without success.

I gave up on the HP ProLiant ML350 G5 and just put it in production. Now I have an IBM System x3550 and have the same issue.

Is it exactly the same as \[url]http://oss.netfarm.it/guides/pxe.php[/url] and does the infparser.py script output a log file when executed ?

0 Kudos


Too bad that you're still having problems. It sound like that the inf file is being scanned wrongly by the infparser.py script. I've adapted the infparser.py script from netfarm.it in a way that it can work with more windows versions (W2k, XP, W2k3) at the same time instead of only one.

I haven't touched the inf file parsing itself, just the surrounding parts (which inf files are scanned for which windows version). If you post the inf file as a private message to me then I may be able to do some debugging on that.

0 Kudos

i am seeing a strange thing, not sure what i'm doing wrong. I am trying to run uda13 on a linux host, using vmware server. when i unzip and run the VM, the vmconsole goes black, but the VM appears to boot. However i don't see bios, and can't see any text or anything. any one else run VMware Server (1.0.1) and get this problem on uda or any other images?

0 Kudos

i am seeing a strange thing, not sure what i'm doing

wrong. I am trying to run uda13 on a linux host,

using vmware server. when i unzip and run the VM,

the vmconsole goes black, but the VM appears to boot.

However i don't see bios, and can't see any text or

anything. any one else run VMware Server (1.0.1)

and get this problem on uda or any other images?

nevermind, I had to chmod +x uda13.vmx and all is well. now i can start testing!

0 Kudos

The Dude,

I may have missed this somewhere, but what does UDA set the windows admin password to? I found the unix passwd in the kickstart file, but not to up to speed on windows stuff yet.

I am also curious, can a person stick their windows license key in a file somewhere so that it automatically deploys it?

Sorry if these questions are covered, but I tried reading though the post quick and didn't see it.

on a side note, so far I am quite impressed with UDA, Great work!! took me about 20 minutes to get it on a public network, and have it booting up windows and centos vmware guests. going for some physical machines now.

0 Kudos


The productID goes in the \[Userdata] section of the config file:

The semicolon means that it is currently commented out.



The password goes into the \[GuiUnattended] section. You're right it's not there yet. Use the following:



Good luck! And thanks again for the webspace!

0 Kudos

Thanks nothing like overlooking the obvious!, man I love the 10 minute install time of windows 2003 server Smiley Happy you really did a great job on this appliance!

0 Kudos

let me start by saying I'm more of a Solaris guy, so PXE / RIS installation is new to me (jumpstart is our main deployment method). so if someone has some notes on integrating MSD drivers with UDA that a noob could follow please post!!

I've been trying to get mass storage device drivers to work and haven't figure it out yet. My next idea was to build a slipstream boot cd of windows 2003 server for the drivers I need and configure the OS with that cd image. unfortunately that doesn't work either, i am getting this error when trying to configure the os:

Running command |/bin/mount -t iso9660 -o loop /var/public/smbmount/uda/w2k3_SP1_galaxy_build.iso /var/public/tftproot/WI2K3| ERROR

mount: wrong fs type, bad option, bad superblock on /dev/loop0,

missing codepage or other error

In some cases useful info is found in syslog - try

dmesg | tail or so

/var/log/messages just says

Dec 19 18:33:22 uda1c kernel: Unable to identify CD-ROM format.

here are the notes i'm using to build the slipstream cd:

CREATING A SLIPSTREAM ( changing Windows installation CD-R 😞

1. The first step requires collecting:

Windows 2003 Server CD

ISOBuster - freely downloadable from www.isobuster.com

nlite - available at www.nliteos.com

.netframework from microsoft webpage

LSI 1064 drivers that can be found at http://www.lsilogic.com/cm/LookupDownloads.do?role=1&geo=ALL&category=-1&family=-1&product=8278&subt...

Please select the drivers you wish to use. You will be presented with a list of a number of available drivers. Among them there will be also 32bit and 64bit drivers for Windows 2003. Depending on the version of you Windows you may choose between both. Generally though you would probably want to download the 64bit version.

2. Secondly you need to copy contents of the Windows 2003 Server cd onto a hard drive.

3. Capture the bootimage from Windows CD using ISOBuster. Before we simply burn the resulting file set to a CD, we need to make sure we have a hidden file found on your Windows CD that will make your new CD bootable. For that reason we need to use a shareware tool called ISOBuster, which you can find on the Smart Projects Web site (or using the link provided above).

After you download and install ISOBuster, choose to use only the product's free functionality, unless you decide to purchase it. The ISOBuster UI will resemble the following (assuming you have left your Windows CD in

the CD-ROM drive):

On the left-side tree view, make sure you have selected the node named Bootable CD. You should see a file called Microsoft Corporation.img (or similar) in the right side of ISOBuster. This is the file you need to extract. To do so, right-click and choose Extract Microsoft Corporation.img. When ISOBuster prompts you, choose to download it to the root of your C: drive. Now you can close ISOBuster.

4. Unpack LSI drivers

5. install nlite and .netframework (without .netframework nlite will not work)

6. Please follow nlite wizard (in our case add drivers )

7. At this moment we have lsi drivers included into windows so we are going to burn a bootable CD.

First, start Nero Burning ROM (assuming that you are using Nero) and choose CD-ROM (Boot) from the New Compilation's Boot page. Then, under "Source of boot image data," choose "Image file" and select C:\Microsoft Corporation.img by clicking the Browse button. Then, select the option titled "Enable expert settings (for advanced users only)" and change "Kind of emulation" to No Emulation, and change "Number of loaded sectors" to 4.

The "Load segment of sectors" option should remain at its default value of 07C0(please check it in ISOBuster).

Now, select the Label page in Nero Burning ROM. Under "Volume label, ISO 9660" enter the name of your CD (please check the original volume name of your Windows CD).

Now, click the New button. The New Compilation dialog disappears and the main window of Nero Burning ROM is available.

On the right side of the application, in the File Browser area, navigate to C:\w2003 (or other depending on where you decided to store the contents of your Windows CD). Then, select all of the files inside of that directory and copy them over to the new CD. Now you're ready to burn the CD. Click the Burn icon in the toolbar, or choose Recorder and then Burn Compilation, and then click the Burn button. Nero will cache the files and then write them to disc.

0 Kudos


I have no experience with slipstreaming and/or nlite. The error message you are getting looks like there is something wrong with the .iso file. You could check that by using daemon tools on windows to see if you can mount the iso file from there. Also, make sure you have full permissions (also write) on the iso-file, directory and share on the windows system, otherwise things will fail alltogether.

Since I have no experience with nlite and slipstreaming here's what I would try first: Go back to the original ISO file and do something similar to:


But replace step 1 and 2 with the following two steps:

1. Since you can't write in the ISO image, you need to trick the tftp daemon into getting the files elsewhere, by adding a line to the tftpd map file.

rgi /WI2K3/i386/\$OEM\$/(.*) /WI2K3_OEM/\1

Then restart the tftp daemon. (from the web-interface)

2. Then create a directory /var/public/tftproot/WI2K3_OEM

and /var/public/tftproot/WI2K3_OEM/Textmode

and put the driver files in there

Good luck and let me know what happened!

0 Kudos

I'm probably missing something stupid so I'll post my configs.

problem desc: windows boots initially, but then tries to configure the MSD driver, and give the error:


the entry


in the unattended script file doesn't exist

in the \[SCSI] section of the INF file txtsetup.sif

setup cannot continue. press any key to exit.








floppyless = "1"

msdosinitiated = "1"

OriSrc = "

OriTyp = "4"

LocalSourceOnCD = 1

DisableAdminAccountOnDomainJoin = 1

UnattendedInstall = "Yes"


OsLoadOptions = "/noguiboot /fastdetect"

SetupSourceDevice = "\Device\LanmanRedirector\(removed)\REMINST\WI2K3"















lsi_sas = "LSI Logic Fusion-MPT SAS Driver (Server 2003 32-bit)"
















BitsPerPel = "24"

XResolution = "1024"

YResolution = "768"

VRefresh = "60"




AutoMode = "PerServer"



ls of /var/public/tftproot/WI2K3_OEM/Textmode:
















\# txtsetup.oem - version S2003.1 for LSI_SAS Windows Server 2003 driver


\# ***********************************************************************

\# *

\# Copyright 2005 LSI Logic, Corp. All rights reserved. *

\# *

\# This file is property of LSI Logic, Corp. and is licensed for *

\# use as is. The receipt of or posession of this file does not *

\# convey any rights to modify its contents, in whole, or in part, *

\# without the specific written consent of LSI Logic, Corp. *

\# *

\# ***********************************************************************


\# format for txtsetup.oem.


\# General format:


\# \[section]

\# key = value1,value2,...



\# The hash ('#') introduces a comment.

\# Strings with embedded spaces, commas, or hashes should be double-quoted



\# This section lists all disks in the disk set.



value = Parameters\PnpInterface,5,REG_DWORD,1


value = Parameters\PnpInterface,5,REG_DWORD,1



and just incase this helps, the diff of the origional txtsetup.oem file.

\[root@uda1c Textmode]# diff txtsetup.oem_orig txtsetup.oem


< d1 = "LSI Logic Fusion-MPT SAS Storport Driver",\lsi_sas.tag,\


#d1 = "LSI Logic Fusion-MPT SAS Storport Driver",\lsi_sas.tag,\

d1 = "LSI Logic Fusion-MPT SAS Storport Driver",\w23dsk1,\


what i'm not grasping is the link between what is in the .sif file and what its looking for in the txtsetup.oem file. so I bet this is a pretty easy fix, just not sure yet what that is..

Thanks for looking and any help you can offer!

0 Kudos

Did you check the /var/log/messages. It will show you what files it is downloading from the textmode directory. You should check if the mapping is working properly before continuing. Be aware that the installer is case sensitive, so rename the requested files to whatever is in the log.

Also please try one or more of the following:

1. According to the KB article there should be something in the .sif file like:


"LSI Logic Fusion-MPT SAS Driver (Server 2003 32-bit)" = "OEM"

This will tell the installer to check the $OEM$/TEXTMODE directory, check the SCSI section and find the driver for the mentioned scsi device.

2. The line in the txtsetup.oem should read:

d1 = "LSI Logic Fusion-MPT SAS Storport Driver", w23dsk1, \

(replace the backslash before w23dsk1 with a space and remove the space at the end of the line just to make sure...)

0 Kudos

@ jrichards

You cannot use the TEXTMODE method for CD based install although this method works on a Microsoft RIS server.

You must integrate the MSD to the source and then rebuild your ISO image.

You can start on the link provided below...


TXTSETUP.SIF add these lines in each section




lsi_sas.sys = 1,,,,,,4_,4,1,,,1,4





PCI\VEN_1000&DEV_0050 = "lsi_sas"

PCI\VEN_1000&DEV_0054 = "lsi_sas"

PCI\VEN_1000&DEV_0058 = "lsi_sas"

PCI\VEN_1000&DEV_005E = "lsi_sas"

PCI\VEN_1000&DEV_0056 = "lsi_sas"

PCI\VEN_1000&DEV_005A = "lsi_sas"


lsi_sas = lsi_sas.sys,4


lsi_sas = "LSI Logic Fusion-MPT SAS Miniport Drivers"

Full unattended installation except Hard Drive Partition scheme:







Autopartition = 0

MsDosInitiated = 0

UnattendedInstall = Yes


; Sets boot.ini switch for DEP to

; "Turn on DEP for essential Windows progams and services only."

OSLoadOptionsVar = "/noexecute=AlwaysOff"


UnattendMode = FullUnattended

UnattendSwitch = Yes

OemPreinstall = Yes

OemSkipEula = Yes

FactoryMode = Yes

FileSystem = *

WaitForReboot = No

NoWaitAfterTextMode = 1

NoWaitAfterGUIMode = 1

DriverSigningPolicy = Ignore

NonDriverSigningPolicy = Ignore

Hibernation = No


;OemPnPDriversPath = "DRIVERS"



AutoLogon = Yes

EncryptedAdminPassword = No

AdminPassword = *

TimeZone = 105

OEMSkipRegional = 1

OemSkipWelcome = 1


;CD Based install

Arguments="/Q /C FOR /F %I IN (%SystemRoot%\SYSTEM32\$WINNT$.INF) DO (FOR %J IN (%I$OEM$) DO (IF EXIST %J (start /min /D%J NirCmd.exe exec hide Drivers.cmd)))"

ServerWelcome = No


DefaultThemesOff = Yes


Iis_common = On

Iis_inetmgr = On

Iis_nntp = Off

Iis_smtp = On

Iis_webadmin = On

Iis_webdav = On

Iis_www = On

Iis_asp = On

SCW = Off

IEHardenAdmin = Off



ComputerName = WS03R2

FullName = " "

OrgName = " "

; For Server installs


AutoMode = "PerServer"

AutoUsers = "5"

;AutoMode = PerSeat


Language = 040c


InstallDefaultComponents = Yes


Profiles = WindowsFirewall.TurnOffFirewall


Mode = 0


JoinWorkgroup = workgroup


"cmd /c REG ADD HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\R2Setup /v cd2chain /t REG_DWORD /d 0"





I386 folder on the CD add files




This is my 2003 Server Standard R2 x86 CDi use although i've integrated more MSD from hp ProLiant servers.


But i've not solved the issue with NIC drivers and i cannot check if the ISO image works in UDA.

0 Kudos