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.
\* 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.
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.
Do you know any PXE client for older machines? Maybe an etherboot livecd?
I tried Thinstation-2.1.1-prebuilt-NetBoot
but I'm not a great linux admin and I can't get it working.
Greetz and thanks
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:
\* Download the INF file and put it in your /var/public/tftproot/WINXP_INF
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:
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
Message was edited by:
Message was edited by:
email@example.com to shorten the URL
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.
Good to hear it's working. Adding functionality for shared folders instead of an iso has just made my todo list (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!
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.
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:
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!
Also check out this thread:
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:
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:
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.
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..
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!
Be happy to help
\[root@UDA1 i386]# pwd
-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:
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...
Looks like 1.1c patch is working
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 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
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!!
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?
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 firstname.lastname@example.org:/tmp
\* log in as root on the UDA
tar -xvf /tmp/uda11c.tar
chmod 755 upgrade11.sh
Notion: there's no fix yet for the 1.2 version, but that will be up soon.
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
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
hmmm this board does not seem to like to display a tftp link correctly? There is no space between t and f
It booted ok -- now just need to workout adding the drivers to the XP image
But 2 different machines I have been playing with that support PXE natively have not had any issues...
Message was edited by: