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
WiNeOS
Contributor
Contributor

echrist1[/b], Try to delete all mapped files in the section "# WINDOWS XP filename case problems" in tftpd.map.

I used an unattended windows xp made with nLite and get the same errors.

Great appliance thedude_ Smiley Happy

Greetz

Reply
0 Kudos
WiNeOS
Contributor
Contributor

One issue.

When I test diferent clients in VMware the installation works perfect, but when I tried to get working in different machines... the problems come.

I get an error:

WINXP_SYS\RTL8139.sys error (21) in line 3788 d:\xpsprtm\base\boot\setup\setup.c

By the way, I can't understand in what part the installation is reading that WINXP_SYS dir.

Reply
0 Kudos
_the_dude_
Enthusiast
Enthusiast

WiNeOS,

\* Your problem sound like an unsupported network card.

\* Check the /var/log/messages file for the logging of the tftp daemon

\* Check the /var/log/binlserver.log for logging of the binl service

\* It could also be this issue: http://support.microsoft.com/kb/328003/en-us

If I were you I would try to:

\* Download new drivers for your network card (These?: http://ftp.cses.chc.edu.tw/ftp/driver/netcard/realtek/rtl8139d/WIN_XP/ )

\* Put the .INF file in the WINXP_INF directory

\* Put the .SYS file in the WINXP_SYS directory

\* /etc/init.d/binl stop

\* regenerate the binl database

(run either /var/public/cgi-bin/infparser.py or /var/public/bin/infparser.py depending on the UDA version you are using.)

\* /etc/init.d/binl start

Let me know if it worked, and if not, please post bits of your /var/log/messages and /var/log/binlserver.log

Here's a quick description of how the network card driver issue is implemented in Windows and the UDA.

Windows uses the binl protocol to ask the UDA what network driver it requires for the network card that is used. This protocol is implemented in the UDA as a service/daemon. (check out /etc/init.d/binl)

When you import the winxp iso, the UDA gets all the network drivers information files (net*.in_ in the i386 directory) and generates a database (/etc/devlist.cache) whith the information found in those inf files. The inf files tie the network hardware ID to a .sys file.

The .sys files are also imported to the UDA during OS import (the step where the driver.cab is decompressed). The .sys files are extracted to the WINXP_SYS directory.

When the client requests which driver to load, it sends it network card hardware ID to the UDA and the UDA looks it up in the database. If the ID is found it returns the name of the .sys file corresponding to the hardware ID. The trick here is that the UDA binl service tells the client to search for that .sys file in the WINXP_SYS directory.

The client then tries to request and returns (if found) the sysfile that was once in the driver.cab file on your ISO image.

There may be something wrong with the drivers on the WINXP iso (OEM version for specific hardware?) or one of the steps the UDA takes that are described above.

Reply
0 Kudos
WiNeOS
Contributor
Contributor

Well, the problem get harder to resolve...

Seems like the WINXP installation try to get this file "RTL8139.sys". When I saw in WINXP_SYS dir, I found a "rtl8139.sys", then I put the conversion in the tftpd.map file (RTL8139.sys to rtl8139.sys) but the problem is that get the same error. I solved it deleting the map entry and renaming by hand the file to RTL8139.sys. tftpd maps don't work with mixed lower and uppercase names?

The problem now is that I get another error in the same machine configuration, this time is a blue screen 0x000000BB.

maybe is an old PXE rom. I'm testing with other configurations.

http://support.intel.com/support/network/adapter/pro100/pro100ve/sb/cs-008343.htm

Do you know any PXE client for older machines? Maybe an etherboot livecd?

I tried Thinstation-2.1.1-prebuilt-NetBoot

http://struktur.kemi.dtu.dk/thinstation/download/

but I'm not a great linux admin and I can't get it working.

Greetz and thanks

Reply
0 Kudos
_the_dude_
Enthusiast
Enthusiast

WiNeOS,

You're right, it seems that when the request is being mapped to another destination, the case-insensitive patch doesn't work.

This information sounds like it is a known problem with an inf file in Windows XP, but it looks like it is for an Intel chip based card:

INF for 10/100 Adapters in Windows* XP[/url]

\* Download the INF file and put it in your /var/public/tftproot/WINXP_INF

directory

It points to a .sys file (e100b325.sys) which should already be in the /var/public/tftproot/WINXP_SYS directory

\* Remove the tftpd mappings and also the .INF and .SYS files you have previously added to solve the problem. The link in my previous post may have mislead you.

\* Then stop binl, regenerate the cache and start binl (see previous post).

\* Retry the RIS install

If it still doesnt work, then please post your network card hardware ID that the client is requesting the driver for. It should look something like:

PCI\VEN_8086&DEV_1229

or

PCI\VEN_8086&DEV_1229&SUBSYS_30078086,\

or

PCI\VEN_8086&DEV_1229&SUBSYS_005C1014&REV_04,\

You should be able to find it in the /var/log/binlserver.log

By the way: this guy ( http://www.msfn.org/board/lofiversion/index.php/t63581.html ) also has had problems with a resembling NIC. He solved it by using another router/hub. Looks like he had an autosensing (10 or 100 Mbps) problem there.

If you want to try another PXE client (sounds like this is not your problem, since you would not get that far if it was bad) then you may try http://www.rom-o-matic.org

Haven't used it myself yet, but lots of people have used it according to Google. They also have a list that mentions the rtl8139

Good luck!

Message was edited by:

thedude_

Message was edited by:

ken.cline@hp.com to shorten the URL

Reply
0 Kudos
WiNeOS
Contributor
Contributor

I resolved the problem in the computer with the realtek 8139 card, updating the realtek drivers and editing the inf file to not include 64bits driver edition.

IT's because in another computer with a Gigabit realtek card, the beguin of the installation give me an error about a Rtenic64.sys corrupt!

Don't know why need this file... I deleted all references in the inf and windows installs perfectly.

Now I'm creating my own WINXP_INF and WINXP_SYS and all works great. I edited a little your uda script to mount a shared folder and no an iso, for me convenience.

I found another problem, maybe only mine. I got a HIDUSB.SYS file error and I solved it uploading to UDA HIDCLASS.SYS. It's a different file but, I found that in my WINXP_EXTRA, the HIDCLASS.SYS file was 0 byte. I extracted HIDCLASS.SYS to my WINXP_EXTRA from driver.cab again and all works fine.

And finally I get working the Thinstation-2.1.1-prebuilt-NetBoot. It's an Etherboot iso with support for a lot of roms in the same disk. BTW, I recompiled it with my own configuration because it tried to get pxelinux.0 from another tftpd in the same lan.

Thanks Smiley Happy

Reply
0 Kudos
_the_dude_
Enthusiast
Enthusiast

WiNeOS,

Good to hear it's working. Adding functionality for shared folders instead of an iso has just made my todo list Smiley Happy (good idea!)

The HIDUSB error has been on this list previously (echrist1 had this problem). Good thing you found the problem is a 0 byte HIDCLASS file. I'll add a check for this in the script of the next version. I think it has something to do with the script requireing all uppercase or all lowercase in a filename.

Adding Thinstation as OS to import also entered my todo-list... Thanks for your feedback!

Reply
0 Kudos
MayurPatel
Expert
Expert

Hi thedude_!,

I have just come across the details of your deployment appliance. I was hoping to use it for deploying ESX 2.xx and 3 onto bare metal using the KS.CFG file method.

I want to then move towards using it to deploy Windows guest OS onto Virtual machines.

I thought i ask if someone else might have already tried and found that it does not support it.

So just asking, from what I have read I am sure it should be relatively easy to configure ESX deployment job.

MP

Reply
0 Kudos
_the_dude_
Enthusiast
Enthusiast

MayurPatel,

I've looked into this a few weeks ago and it's certainly on my wish-list. I know it's possible. There's a lot of info on this thread:

http://www.vmware.com/community/thread.jspa?threadID=35393

Be aware that ESX can't retrieve the kickstart file from a network (http/nfs is not supported) By the way: I might be talking about an old version here, maybe version 3 can do kickstart files over http or nfs.

I remember reading something about HP Altiris. They solved that problem by creating a bootable DOS floppy with the kickstart file on it, a linux kernel and loadlin.exe (which loads the linux kernel from the dos prompt) The bootable floppy is served over PXE using memdisk (see for more info: http://syslinux.zytor.com/ ) I was considering to use FreeDOS for the bootable floppy.

The loadlin executable is not maintained anymore, so you may also consider grub for DOS. See http://grub4dos.freespaces.com/

As you see I have no implementation yet, but the idea is there. If you can't wait then you may want to implement the idea yourself. I have not got the time nor the hardware to implement it in the foreseable future (the rest of the year 2006) If you do, please post your findings!

Reply
0 Kudos
_the_dude_
Enthusiast
Enthusiast

MayurPatel,

Also check out this thread:

http://www.vmware.com/community/thread.jspa?forumID=21&threadID=16138

There's a guy that says he can do the kickstart file over NFS, but not over http.

Also, a more detailed document about the Altiris solution:

http://www.managefusion.com/upload/deploying_vmware__esx_server_2_5.doc

Turns out that Altiris creates a 2Gb partition on de Harddrive, copies its file there, boots from that partition and uses loadlin from there...

Message was edited by:

thedude_

Reply
0 Kudos
MayurPatel
Expert
Expert

Many Thanks thedude_,

Yes, I have been using Altiris to deploy ESX 2.5.x using both http and ftp, I must say the http is slower but works fine. Yet to try ESX3.0.

You are spot on, the Altiris solution creates a 2gb dos partition in which it copies the loadlin boot disk files along with ks.cfg file etc and then reboots and makes a network connection to the http or ftp server to fetch the ESX source files.

It works a treat! no problems, when I saw the information on your appliance i got very excited and the first thing that came to mind was if it can accomodate deploying ESX and VM's it would be great!.

I will begin with downloading the appliance and start looking at it with a view to making it work for ESX and VM deployments.

I'll keep everyone informed of my progress and for sure will be posting questions on some of the low level Linux stuff as I am not a fully fledged Linux expert....long way to go.

Thanks.

MP

Reply
0 Kudos
johnpoz
Contributor
Contributor

I found another problem, maybe only mine. I got a

HIDUSB.SYS file error and I solved it uploading to

UDA HIDCLASS.SYS. It's a different file but, I found

that in my WINXP_EXTRA, the HIDCLASS.SYS file was 0

byte. I extracted HIDCLASS.SYS to my WINXP_EXTRA from

driver.cab again and all works fine.

I had too was getting the hidusb.sys corrupt error.. and my HIDCLASS.SYS file was also "zero" in size.

I used cabextract to WINXP_EXTRA from the hidclass.sy_ file and working now.

It did this with both xppro and home ISO.. must be a bug in the scripts? I had upgraded to 1.1b before setting anything up.

Thanks! I was scratching my head for a bit.. the earlier post about extracting HIDUSB.SYS -- in caps didn't do it.

Curious why the extract problem? 2k3 worked fine..

Reply
0 Kudos
_the_dude_
Enthusiast
Enthusiast

johnpoz,

Thanks for your feedback. It seems more people are getting this error indeed. I've checked the script but in order to get things right it would be great if you could check some things.

Would you be so kind to check the case of the filename HIDCLASS.SY_ on your winxp CDROM. (Please check this from the linux prompt, since windows may display something else than the actual upper/lowercase names.)

When the OS is mounted it should be in /var/public/tftproot/WINXP/i386

I suspect that the file in your and other people's ISO is mixed case. The script only searches for upper (HIDCLASS.SY_) or lowercase (hidclass.sy_).

If the file is not mixed case could you re-import the winxp OS (use unconfigure and the configure the OS again (the templates will remain usable after reconfigure).

Could you then check the webserver log (/var/log/httpd/error_log)

There may be an error in there at the time that the HIDCLASS.SY_ is extracted. Please post this error if it is there.

Of course these checks do not repair the script, so do not forget to rerun the cabextract command you used before to extract the file properly.

Thanks in advance!

Reply
0 Kudos
johnpoz
Contributor
Contributor

the dude,

Be happy to help

\[root@UDA1 i386]# pwd

/var/public/tftproot/WINXP/i386

-r-xr-xr-x 1 root root 20061 Aug 4 2004 hidclass.sy_

I did not see any errors about the extraction.. But I can start clean. and then post any logs you would like. With the times being off in the logs.. its a bit confusing to what happened when, etc..

This weekend I will startup a clean copy from the download, and try before the update to 1.1b.. and then start clean and update to 1.1b before doing any configs, etc.. And first thing I will do is set time and date to ntp server.

This is a GREAT appliance -- any way I can help make it better, work out the bugs would be great!

Message was edited by:

johnpoz

Reply
0 Kudos
_the_dude_
Enthusiast
Enthusiast

johnpoz,

I think I have found the problem (a really \_STUPID_ error in the script). Please check your 'private messages' (upper right hand corner). I've posted you a link to a new patch. If you can test it, we can make the link public if it works...

Reply
0 Kudos
johnpoz
Contributor
Contributor

I grabbed the patch.. Will be testing from a clean slate, either tonight or tmrw some time.. Will let you know how it goes.

Reply
0 Kudos
johnpoz
Contributor
Contributor

The Dude,

Looks like 1.1c patch is working Smiley Wink

I created a new VM from uda.zip download..

Booted it up

changed the IP to my network

modified the dhcp for my network

changed the timezone to my zone

set the time to my ntp server

installed the 1.1c patch

mounted my share

configured the OS.. using IE.. since FF does not like to show the iso's

created the template

PXE booted a old compaq deskpro had laying around.. no hard drive -- but it booted pxe just fine loaded up the setup.. No hidusb.sys corrupt error.

quick test looks good Smiley Wink So what was the stupid error?

I will be wiping my kids machine tmrw.. So that will be a full blown deployment test.

Thanks for the FIX! I'll let you know how the full install goes tmrw, but whatever you changed corrected the hidclass.sys zero size problem

Reply
0 Kudos
johnpoz
Contributor
Contributor

Well full install went just fine. Lots of tweaks to the template for my own settings.. But deployed full OS to a compaq evo d500 just fine.. even put in product code, etc..

Really Nice appliance -- Thanks!!

Reply
0 Kudos
_the_dude_
Enthusiast
Enthusiast

Johnpoz,

Good to hear that the fix worked for the HIDCLASS.SYS problem. In the old version I tried to pull the hidclass.sys file from the driver.cab on the CD. I seem to have an OEM version of the CD where that works correctly. Now the script tries to get the file from hidclass.sy_ and if it is not found tries to extract it from the driver.cab.

Are you sure that Firefox doesn't work (showing the .iso files) with the new patch?

Everyone:

Here's how to fix the problem:

Here's what you do:

\* Start with the 1.0 version of the UDA

\* Download http://ch.twi.tudelft.nl/~carl/uda11c.tar

\* copy the file uda11c.tar to /tmp

use pscp.exe from the putty download page:

pscp.exe uda11c.tar root@10.0.0.104:/tmp

\* log in as root on the UDA

mkdir /tmp/uda11

cd /tmp/uda11

tar -xvf /tmp/uda11c.tar

chmod 755 upgrade11.sh

./upgrade11.sh

Notion: there's no fix yet for the 1.2 version, but that will be up soon.

Reply
0 Kudos
johnpoz
Contributor
Contributor

Are you sure that Firefox doesn't work (showing the

.iso files) with the new patch?

Notion: there's no fix yet for the 1.2 version, but

that will be up soon.

My Bad -- I just checked, and yup the pull down for the iso's works in FF now - Thanks!

version 1.2? where is info on that? I do not see any mention of it on the http://www.vmware.com/vmtn/appliances/directory/232 listing?

Please share any 1.2 info Smiley Wink

Also -- not sure yet if issue with UDA or Etherboot or something else. Im no PXE guru, but I was playing with deploying to a box that does not support PXE.. So I grabbed a PXE boot iso from http://rom-o-matic.net/5.4.2/ (sweet resource that is!) for the nic I was using

RealTek RTL8169 Gigabit Ethernet

But was getting error no filename, seems dhcp was not handing it out? Or they weren't talking the same language or something.. As soon as hardcoded a DEFAULT_BOOTFILE

"tftp://udaIPaddress/pxelinux.0"

hmmm this board does not seem to like to display a tftp link correctly? There is no space between t and f Smiley Wink

It booted ok -- now just need to workout adding the drivers to the XP image Smiley Wink

But 2 different machines I have been playing with that support PXE natively have not had any issues...

Message was edited by:

johnpoz

Reply
0 Kudos