VMware Virtual Appliances Community
VMTN_Admin
Enthusiast
Enthusiast

Ultimate Deployment Appliance

http://www.vmware.com/vmtn/appliances/directory/232

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

Reply
0 Kudos
672 Replies
Thrakorzog
Contributor
Contributor

Ricardo,

First let me ask:

Are you running the DHCP, TFTP & PXE from the UDA?

If so, log into the web interface:

IP Address: 10.0.0.104

Netmask: 255.0.0.0

Gateway: 10.0.0.1

You will need to change your local IP address on your computer to be on the same subnet if it is not set for DHCP (automatic configuration) so that it can talk to the UDA server.

If you are using the UDA for DHCP, you should change the IP address of the UDA appliance to be on your local LAN and set the DHCP settings to provide DHCP to all your workstations. You may want to do this if you are only doing basic DHCP on a small LAN. On a larger LAN, you will want to modify your main DHCP server to allow it to point to your UDA for PXE services.

Once your IP is set, you will need to make a share on a local workstation to keep the ISO files in. A workstation works better than a server because it allows guest access which the UDA requires. Copy your ISO file into that share (ISO's should have no spaces in the names to work properly).

Configure the settings on the web interface to point to your computer share that you just setup, and let it mount. If it doesn't mount, check your rights on the workstation.

Next go to the OS section and connect your OS to the ISO you copied into your share. That should parse it and do it's magic. If this doesn't work, your ISO file may be damaged. Daemon Tools, or VCD Tool (both allow you to mount ISO files) can verify that your ISO is damaged or OK.

Next create a template under the template section for your default installation. This will create the PXE boot image. Go back to the Template and edit it to make the answer file match what you want it to do.

There are lots of options here, but that's the basics.... thedude_ has done an awesome job on this.

Thanks,

T|-|R@K

Reply
0 Kudos
Rylz
Contributor
Contributor

Well, I got the un/pw put into the template, but still no luck... This is what my config looks like:

_____________

.......

_____________

It should work, right? What's the dilly yo?

Reply
0 Kudos
Rylz
Contributor
Contributor

...and one more thing:

Apparently I'm still a greeny when it comes to console commands. I got FC5 to dump to another machine, but cannot get any GUI to come up. What am I missing here? Can't do startx, xdm, kdm, etc., etc., etc. A little help on this one will be groovy.

Reply
0 Kudos
_the_dude_
Enthusiast
Enthusiast

Rylz,

The user and password info should be under the in the template file. Give that a try and let me know! By the way there's no X-windows on the Uda to keep it small. The web-interface is supposed to be the user-interface, but since there's still a lot of things to do and fix you're stuck with the command line interface for your personal tweaking and advanced configurations...

Check out this tar file:

http://ch.tudelft.nl/~carl/uda-1.3.tar

There's a kickstart file in there that I use that keeps the X-Windows stuff from installing (f5min.cfg) . If you change it (remove the skipx and -base-x lines, and don't forget to change the IP in the url line) and install a new FC5 with it you should end up with the X-windows interface.

What I do to create an UDA from scratch is:

\* Use my development UDA to kickstart a Fedora Core 5 install with the kickstart file f5min.cfg (it's in the tarfile)

\* Turn off the development UDA since it's using the 10.0.0.104 ipadress...

\* Untar the tartfile in /tmp

\* Run the script upgrade1.3.sh from the /tmp/uda-1.3 directory

\* Change the file /etc/sysconfig/network-scripts/ifcfg-eth0 into:

DEVICE=eth0

BOOTPROTO=static

IPADDR=10.0.0.104

NETMASK=255.0.0.0

ONBOOT=yes

\* Reboot

You should end up with an UDA with X-windows installed.

Good luck!

Reply
0 Kudos
ricardocanavate
Contributor
Contributor

Thanks Thrakorzog!!!!

And sorry, I don't see this option, aughghghg!!! I'm very silly.

Now works OK.

Reply
0 Kudos
Rylz
Contributor
Contributor

Thanks much! :thumb: I love being able to see my hacking work. Smiley Wink

Reply
0 Kudos
Michelle_Laveri
Virtuoso
Virtuoso

Hello Dude,

This week I have expertimenting with your virtual appliance. Using it deploy ESX 3.x.x. I am think I may wish include references your appliance in my new book with Ron Oglesby and Scott Herold....

I have some experiences and ideas which you might find interesting... could we discuss these in email rather than in forum?

My email address is

mikelaverick AT rtfm-ed DOT co DOT uk

I look forward to hearing from you...

Regards

Mike

Regards
Michelle Laverick
@m_laverick
http://www.michellelaverick.com
Reply
0 Kudos
Thrakorzog
Contributor
Contributor

Documentation:

I am at the templates section and I have a lack of knowledge about references for the templates for the *nix installations.

I will email you what I have, but I cannot attach it here. It is in open office format, so I can PDF it or whatever.

I would like some references as to where the users can go to get more information about tweaking the different configuration files for the setups.

Please reply to me at mmills\[at]nfusiontech\[dot]com as I just realized there was a message in my private messages here for me from the 9th that I didn't know was here.

Thanks,

T|-|R@K

Reply
0 Kudos
bilou_gateux
Contributor
Contributor

thedude_:

I have found how to add support for a third-party network driver by adding the driver to the Windows Setup files.

Let's take the example of Intel Pro 1000 NICs (e1000325.sys binary).

Windows XP installation media don't have support for these NICs.

I have edited some inf files in I386 folder and added some lines in relevant sections:

LAYOUT.INF

\[SourceDisksFiles.x86]

e1000325.sys = 1,,171008,,,,,,3,3,,1,4

nete1g32.inf = 1,,49260,,,,,20,0,0

TXTSETUP.SIF

\[SourceDisksNames.x86]

1985= %cdname%,%cdtagfilei%,,"\i386\NLDRV\002"

\[SourceDisksFiles.x86]

nete1g32.inf = 1,,,,,,,20,0,0

e1000msg.dll = 1985,,,,,,,1985,0,0

e1000nt5.din = 1985,,,,,,,1985,0,0

e1000nt5.sys = 1,,,,,,,,3,3,,1,4

e1000nt5.sys = 1985,,,,,,,1985,0,0

e1000325.cat = 1985,,,,,,,1985,0,0

e1000325.din = 1985,,,,,,,1985,0,0

e1000325.inf = 1985,,,,,,,1985,0,0

e1000325.sys = 1,,,,,,,,3,3,,1,4

e1000325.sys = 1985,,,,,,,1985,0,0

etcoinst.dll = 1985,,,,,,,1985,0,0

intelnic.dll = 1985,,,,,,,1985,0,0

prounstl.exe = 1985,,,,,,,1985,0,0

DOSNET.INF

\[Directories]

d12= "\i386\NLDRV\002"

\[Files]

d1,e1000325.sys

d1,nete1g32.inf

d12,e1000msg.dll

d12,e1000nt5.din

d12,e1000nt5.sys

d12,e1000325.cat

d12,e1000325.din

d12,e1000325.inf

d12,e1000325.sys

d12,etcoinst.dll

d12,intelnic.dll

d12,prounstl.exe

DRVINDEX.INF

\[driver]

e1000325.sys

I have also injected the e1000325.sys binary in driver.cab

nete1g32.inf is a special inf file version not available on Intel download center but a customized inf grabbed from M$FT SMS v4 WinPE image and edited to fit my needs.

It's too long to post the full content here.

NETE1G32.INF

; Copyright (c) 2004, Microsoft

\[version]

Signature = "$Windows NT$"

Class = Net

ClassGUID = \{4d36e972-e325-11ce-bfc1-08002be10318}

Provider = %Msft%

;LayoutFile = layout.inf

DriverVer=09/15/2004,8.1.8.0

\[Manufacturer]

%Intel% = Intel, NTx86

%IBM% = IBM, NTx86

\[ControlFlags]

ExcludeFromSelect = *

\[Intel.NTx86]

; DisplayName Section DeviceID

; \--


\--- \--


If there is some interest in the full documented method, i need to write some more details (not sure i can reproduce it myself because of lot of try and error before getting the result) and find a place where to post it.

check done only with a single non supported NIC and the client is a guest configured to use an e1000 NIC instead of the standard AMD vlance.

Windows XP Professional.vmx

ethernet0.virtualDev = "e1000"

Will try later with a real box client and Broadcom b57xp32 NIC.

Important notice:

WFP is disabled (using www.nliteos.com to build the ISO) otherwise we cannot edit some protected files like LAYOUT.INF

it's look like infparser script read layout.inf to add the NICs drivers into UDA. nete1g32.inf is only used during the dos part of the windows setup. At the end of installation, installed drivers are digitally signed (e1000325.inf is used)

Reply
0 Kudos
bilou_gateux
Contributor
Contributor

Edit to my previous post.

I have done some more checks and got a conclusion:

LAYOUT.INF editing is NOT required

Reply
0 Kudos
_the_dude_
Enthusiast
Enthusiast

Bilou,

Good to hear you've worked things out. I've dropped you a private message with my e-mail adress, would you be able to send me the network driver files and inf files you used?

Reply
0 Kudos
exbane
Contributor
Contributor

Hello - i'm having a slight problem with this appliance.. I have it up and running my lab enviroment.. I was able to mount the drive to the windows share where the ISO's are held but when i select an ISO to mount it i get the following error

"mount: wrong fs type, bad option, bad superblock "

The ISO i'm trying it on was directly downloaded from microsofts volume license site - The ISO is Windows Server 2003 SP1 R2 Disc 1 (which is just 2003 with SP1 - R2 is on the 2nd cd).. Can you shed any insight on this for me?

Thanks

-exbane

Reply
0 Kudos
_the_dude_
Enthusiast
Enthusiast

exbane,

Problems like these are usually either the iso file or permissions

1. The ISO file.

Try mounting the iso file in windows with daemon tools: http://www.daemon-tools.cc/

Then try copying all files to a directory on your harddisk.

If that doesn't work you know that your iso file is bad.

2. Permissions.

You have to have Full Control over the directory, the share and the iso file itself in order to make things work. I've run into similar problems when trying to use iso files with read-only permissions.

Let me know what happened!

Reply
0 Kudos
exbane
Contributor
Contributor

I will try that - thanks alot!

Reply
0 Kudos
exbane
Contributor
Contributor

Hello.

I checked the security of the share - the user im using has full control of the share.

I checked the security of the actual ISO and its not set to read-only.

I extracted the contents of the ISO file to the share dir under a folder called win2k3 and tried to mount that directory but got the error message stating "This is a directory" when i tried to mount it.

Im not very fluent in linux but the command i tried was mount -t ntfs -o -loop etc etc..

do you propose any other course of action?

thanks!

-exbane

Reply
0 Kudos
_the_dude_
Enthusiast
Enthusiast

you should do something like

mount -t cifs //10.0.0.150/winshare /var/public/tftproot/WI2K3 -o user=exbane,pass=secret

Good luck!

Reply
0 Kudos
exbane
Contributor
Contributor

i'll try that and let you know! thanks!

-exbane

Reply
0 Kudos
Thrakorzog
Contributor
Contributor

Exbane.

Windows workstations sharing dorectory for ISO files:

Your user is irrelevant. Although It is necessary to have the user, the computer with the share must allow guest access. This means if you are using a workstation, you need to enable the guest account. If you are using a server... don't.

T|-|R@K

Reply
0 Kudos
_the_dude_
Enthusiast
Enthusiast

Hello again!

Version 1.4 is out!

This version adds support for ESX 3.x.x (with a kickstart builder!) and some live CD's also a lot of bugs have been fixed and features added. There's also a website now at:

http://www.ultimatedeployment.org

You can download the new version from there!

For a special esx version and sample scripts for VMWare ESX deployment see Mike Lavericks page at::

http://www.rtfm-ed.co.uk/?page_id=366

Happy deploying!

Reply
0 Kudos
dinny
Expert
Expert

Hi thedude_

I've just downloaded 1.4 (the ESX specific version) and had a quick play.

It looks like an excellent app - just what I was after (I had been looking at trying to implement something similar myself - I'd only got as far as creating a linux server, loading tftp and pxelinux though - and as I'm from a Windows background it would probably have been an interesting but lengthy task...)

I've got as far as kicking off the ESX install on a test VM - I hope to have a physical box to test further on by tomorrow - seems to work perfectly and it was very easy to configure.

I have four questions:

1) I couldn't get the gateway option to work in system, network settings.

If I enter a gateway address, I see it running a script but it doesn't seem to work - or even show it afterwards.

I have got round it manually by adding it to /etc/sysconfig/network.

The script seems to be trying to add it to /etc/sysconfig/network-scripts/ifcfg-eth0. But if I check in vi nothing is written to there?

2) I've added a second disk to my UDA VM to hold the ESX ISO.

I've configured the UDA OS option to use this ISO

If I then use the ESX template wizard and use the http default - it works perfectly.

I thought maybe I'd try the "local" option just to remove the additional dependencies on http.

The template wizard then prompts for a partition and directory.

I wasn't certain what to enter but tried:

/dev/sdb1

/var/public/smbmount/DISK2

When I look in the .cfg it doesn't include these params and defaults to a cdrom install which fails with no media.

Again - easy to get round by sticking to http - but I just wondered how it was designed to work with the "local" option?

3) I know the VM is called uda14-esx, and the Fedora hostname in UDA.

I wondered it it would cause any problem to the UDA app if I change the name of the VM and more importantly the hostname of the Fedora OS to tie in with our company naming conventions? I presume there are no dependencies on the hostname in the UDA app?

4) I was hoping to include an automatic PXE boot system for some of our RHEL VMs. I'm hoping/guessing that it shouldn't be too hard to amend one of the other pre-configured Linux OS's installs (that I am unlikely to use) to be a RHEL install.

Is that correct or am I being too naive/optimistic?

Cheers

Dinny

Reply
0 Kudos