One PXE Menu to unite them all (DOS, linux, winpe)
First, let me think Nigel & H Peter Anvin for pointing me in the right direction for this solution.
Here's the dilemma as I see it for Ghost users who use PXE. The 3com setup is pretty good, but it's starting to show it's age and there are better alternatives for both the pxe/tftp services. What there's not a good replacement for are the 16MB images. It's the perfect size and very fast. Floppy images (even 2.8) are too small to be useful w/ the current Symantec utilities. The problem w/ the 3com bootstrap is that it only loads DOS, so it's very limiting.
THE GOAL: A single PXE menu that can boot 3com images, DOS, Linux, WinPE, WDS, and other misc utils.
Here's how I'm doing it:
Convert 3com images.
pxelinux can chain load the 3com menu (mba.pxe) but the 3com menu will then fail to load a .sys image. Here's a really simple fix to directly load your .sys images from the pxelinux menu. Download winimage free trial is all you need, but it's such a great app I bought it. http://www.winimage.com/download.htm
All you need to do to make the 3com images compatible is simply open them w/ winimage and save as .IMZ (IMA is the same, but not compressed - use IMZ) file. That's it. Somehow this removes some of the proprietary header info (maybe). The downside is that the 3com image editor will not work w/ the image anymore, but you can use winimage which works almost as well.
Setup pxelinux as the boot strap
Grab the latest syslinux from http://www.kernel.org/pub/linux/utils/boot/syslinux/
(I'm using 3.81) copy the following files to the root of your tftp server (probably c:\TFTPBOOT\ if you're using the 3com setup)
pxelinux.0
memdisk
chain.c32
vesamenu.c32
If you're using the 3com pxe server edit the BOOTPTAB to send pxelinux.0 in place of mba.pxe. If you send that file via DHCP, you'll need to make the appropriate changes on your server to send pxelinux.0. If you use WDS I highly recommend loading pxelinux first and adding WDS as a menu option. see http://syslinux.zytor.com/wiki/index.php/WDSLINUX This way you literally load anything & everything and have much easier menu to edit.
Create a boot menu for vesamenu.c32
create a folder called pxelinux.cfg. Copy and paste the following into notepad:
DEFAULT vesamenu.c32
PROMPT 0
NOESCAPE 0
ALLOWOPTIONS 0
TIMEOUT 200
MENU TITLE Boot Menu
LABEL Ghost_Client_UNDI
MENU LABEL ^1. Ghost Client UNDI
MENU DEFAULT
kernel memdisk
append keeppxe initrd=imz/Client_undi.imz
LABEL Ghost_Client_NDIS
MENU LABEL ^2. Ghost Client NDIS
kernel memdisk
APPEND keeppxe initrd=imz/Client_ndis.IMZ
LABEL WinPE
MENU LABEL ^3. WinPE 2.0
KERNEL boot/pxeboot.0
LABEL PartedMagic
MENU LABEL ^4. Parted Magic
kernel utils/pmagic/bzImage
LABEL Local_Drive
MENU LABEL ^5. Boot Local Drive
# localboot 0
KERNEL chain.c32
APPEND hd0 0
save as \TFTPBOOT\pxelinux.cfg\default (no file extension)
You'll need to edit this to match your file names and locations. Also, note that you can now add "real" sub menus and passwords if you want to.
I'll post a more in-depth menu as a response. Also, if you're not using WDS or xinetd's tftp I recomment dumping the 3com tftp in favor of tftpd32. W/ 3coms tftp I'm not able to load more than 1x PC at a time w/ WinPE (if I try they'll fail). W/ tftpd32 I'm able to get 24x simultaneously. It might work on more, but that's the max I've tried.
Cheers,
-Ben
Comments
Here is my slightly altered
Here is my slightly altered menu. Highlights include sub menus, passwords (my real passwords are SH1 encrypted), it also shows how to boot Dell diagnostics, parted magic (my favorite - google this one), htd, hard drive diags, offline password reset, scan & recover (from UBCD & pxeknife), among others.
I hope this is helpful to some of you guys and it's been VERY useful for me.
Cheers,
-Ben
Hey mr guitar, thanks for
Hey mr guitar, thanks for nice guide.
I've followed your guide and after booting the client, the TFTP server would successfully transfer the pxelinux.0 then the vesamenu.c32 then the pxelinux.cfg/default
After that it timesout for both pxelinux.0 and pxelinux.cfg/default and i see a black screen on the client.
any help is appreciated. i don't know what i missed.
CME IT, Does the menu display
CME IT,
Does the menu display at all? ...or does it go straight to black after loading pxelinux.0?
If your menu isn't showing up then there could be an issue w/ a splash screen. If you're using a splash screen comment out that line and see if it works w/ out one.
Can you edit out the sensitive info in your configs and post them on http://tinypaste.com/ and I'll take a peak - or you can post them here or PM me. If you can post your default file and and tftp logs, we should be able to see the problem.
cheers,
Screen shot
Wow, this is well thought out
Wow, this is well thought out and I can see a lot of time an testing was put into it. Thanks for posting this information - I'm eager to try out something similar! Hopefully it'll work out some of the issues I've encountered recently with the intel nic issues in pc-dos.
Hi Mr. Guitar, You're a
Hi Mr. Guitar,
You're a lifesaver! I have been frustrated with the aging 3com bootservices for so long and I'm elated that a forum member has found a solution to work around it. This type of functionality should have been included out of the box w/ ghost..
Your setup didn't take too long for me to implement. It was very easy to do. I like that I can finally now boot dell diagnostics via PXE, parted magic is cool...
Ultimately, this is a great lightweight solution as a workaround to the aging 3combootservices. Excellent work, mr guitar. The symantec guys should hire you!
Regimentor, Thanks for the
Regimentor,
Thanks for the kind words. This setup technically shouldn't help w/ your intel NIC issues. Are you trying to auto detect your NICs (multicard template)? If so, you might have to manually add-in the PCI tags for newer NICs. W/ the last run of Dells we bought, 755s, I get better performance w/ the Universal or UNDI driver. I would try that first before you put in a lot of time on another fix.
Jbond1983, Jbond1983, jbond1983,
Glad you like it. Ironically, I did get offerd a position w/ McAfee recently. ...didn't pay enough. :)
hmm, how to explain my issue
hmm, how to explain my issue - I've been using UNDI for about 3 - 5 years throughout GSS 2.0 up to current version, and it's worked 90% of the time with all our dell computer models, both pcs and laptops. However, on some of the newer computers, the UNDI isn't reliable or simply doesn't work. I switched to WinPE and (not wanting to start a great debate) found that it slowed the imaging process (from boot to image transfer completion) down a few minutes, and I'm all about speeding up the process or keep it consistent. I went back to PC-DOS, made a 3com boot menu with option 1 being UNDI (which works on most) and option 2 being a intel specific network NDIS driver (for the exact nic in the optiplex 760). I found that option 2 on the menu allowed multicast in PC-DOS - I should have realized it would allow that, since I was using the exact nic driver for that card, but it didn't dawn on me how well it would work. For example, our technicians would ghostcast 8 pcs at a time with unicast in about 10 - 15 minutes, but with multicast, it takes all eight pcs 3-5 minutes, which to me is awesome. we even did 16 at the same time an it took 8-10 minutes, and I was totally blown away. We imaged 16 via ghostcast in Unicast an it took 30-45 minutes... I wish the option 2 specific nic NDIS worked on the optiplex 960 or some of the new laptops, but it doesn't, even though the cards are similar. I did read however that by adding the PCI tags into the template, you would achieve PXE boot in certain *stuck* instances. So now I'm trying to figure out how to manually add-in the PCI tags. But then I saw your post, an thought heck, I might be able to have a boot menu with PC-DOS here, WinPE there, an other utilities which would be extremely helpful in certain situations. so in conclusion, since our company now purchases 50 pcs at a time or more, I'd like to provide a multicast option via pxe boot menu for each type of system (or possibly group models to a menu option after testing) to allow the techs to image 16 or more at a time an really make things efficient - an have all models work :)
-Regimentor
I've seen similar UNDI
I've seen similar UNDI problems w/ dell dimension 2400s. I had to use the NDIS for those.
The good news is that everything you're working on is very "do-able." It's just going to take a little bit of trial & error - especially when testing drivers.
First place adding PCI Tags is only relevant if you're using the multi-card template. I'm a huge fan of this option, but it can be a bit tedious when tweaking. I've got a lot of Dell but none of the 760s so I can't test this. I just went to Intel's site and they have removed DOS as an OS selection for the 82567 series NICs. Interestingly enough it's available on their German page. :)
http://downloadcenter.intel.com/Detail_Desc.aspx?a...
Grab that while it's still available and try using the included NDIS driver and see if it does what you need. It might work perfectly for any PRO 1000 family NIC you have - but I'd have to test it. That should get you up and running for some of your newer PCs, now the trick is to integrate it smoothly in your PXE setup. You don't make you menu too cluncky or have to do a lot of work when selecting options. I'm a fan of automating a lot of this. If you can make the multicard template work for all of your machines that's the easiest. If not, you can have different menus get pushed to different PCs based on MAC address. That way everytime you boot a 3com NIC --> it automatically grabs a boot image w/ the appropriate 3com driver. One way to achieve this is in the 3com BOOTPTAB editor. you can add another entry w/ the first 3 octets of the vendor's MAC followed by wildcards, e.g. 001e4f?????? - would grab all of my Dell 755s. 000f1f?????? my 270s. This can give you the option of sending a different menu/default boot image per model/NIC. It can be a lot to maintain. Symantec has a better article here: http://service1.symantec.com/SUPPORT/on-technology.nsf/docid/2009011211353660
Cheers,
When you say multi-card
When you say multi-card template, are you referring to using the UNDI as a one stop shop? Does the mutli-card template allow multicast via GhostCast? and lastly, can you tell me more regarding how to add the PCI Tags?
BTW. UNDI works great Inside
BTW. UNDI works great w/ multicating too.
Inside the Ghost boot disk wizard one of the NIC drivers is multicard-template. Once you select that you can include any and all NDIS drivers you want/need. When that image is loaded via PXE, it will "detect" the NIC and load the proper driver.
I would try to build one of those and see if it works out of the box. If you get a message that states cannot find NIC (something like that), then we need to add the PCI tags. You can find the tag looking in the Windows Device Manager.
Navigate to C:\Documents and Settings\All Users\Application Data\Symantec\Ghost\Template\Intel PRO 1000\ and edit the mcassist.cfg file. Open it w/ notepad and add the following line at the bottom:
PCI-TAG = 8086 10BD : Intel Pro 1000$
...but w/ the correct tag.
rebuild your boot image and see if that works. If not, then you can also update the e1000 driver from intel.
How does one go about
How does one go about converting a .COM file to a format that can be loaded thru PXE?
I was able to get the dell diag.img loaded following your directions. I want to get the dell service tag utility (asset209.com) loaded thru pxe.
Also, how do you convert the older dell diagnostics to .imz files?
I'm using 2003 server WDS and WDSlinux.
Thanks
WinPE 2.0 won't load
Thanks for this great thread.. I've been looking for something like this for quite some time :)
I've got the pxemenu working but i can't get any of my tools working. Basically it's just different WinPE 2.0 images which load for example Symantec BESR and Ghost but i will also use it to load some other tools just like Mr. Guitar in the second post.
When i select one of my WinPE images it just give me the following error:
"TFTP download failed
Press any key to reboot."
It's all setup on a Server 2003 R2. The TFTP server part is setup as described in this link: http://n00dlestheindelible.blogspot.com/2005/10/running-windows-tftp-server.html
I will really appreciate any help :)
bjohn, What a great question!
bjohn,
What a great question! Your file asset209.com (mine is asset.com - I don't know the difference.) is a DOS executable. All you need to do is use a DOS floppy image and simply inset the asset209.com file. You can then tweak your autoexect.bat file to execute the asset.com file - this will display your current settings. Then you will need to enter the correct command line to accomplish your goals. Great suggestion I just added it to my menu!
The older Dell diags will fit on a floppy image. All I did was copy the files over and launch the executable. PM me and I can send you a link to download the image(s) I'm using.
Sir Niken,
Sorry you're having issues w/ WinPE. I don't have a lot of experience using the M$ TFTP server. Two things I would to double check.
1. Read the logs. I don't know if these show up in the event viewer or not, but I would try to findout the file paths that it's trying to download from. That could be the problem.
2. I think it's worth a shot to temporarily disable the M$ tftp server and test the tftpd32 one. It souldn't take you more than 2 minutes. If it works, then you'll know where to spend your time trouble shooting.
The other thing is I'm actually chain loading to the WinPE boot strap. You probably already have it setup this way, but make sure you have the folders: boot & sources under the tftp server's root.
Keep us updated.
Cheers,
mg
Sorry this is kind of a late
Sorry this is kind of a late responce but I was having problems with booting to win pe as well. For win-pe to work you have to rename the file to pxeboot.0
When it is made from ghost I think it is called pxeboot.n12 and once I renamed that file to pxeboot.0 I can pick win pe from menu and all is good.
Thanks for this!! I'm liking it
Thanks lbboe. I can't
Thanks lbboe. I can't remember if I'm using the same version that's distributed w/ GSS or the one from the WAIK. Either way, thanks for the fix.
btw. I also added ESXi 3.5 & 4 to my menu. Each has two options: run from pxe (not persistant---freak'n awesome) or run the full installer. I can post the changes if anyone is interested. I set it up to have a root passwd, enable ssh, ftp, wget, and a license key.
Most of the customizations were from http://vm-help.com/ ....but not all. :)
cheers,
Background splash does nok work
Hi
First thanks for taken your time to explain this nice solution strategy for us.
I've implented it and it works well except for the background picture. I can't get it to show up. I can see in the log of the TFTP-server that the jpg-file is transfered.
Any hints?
Regards Peter
PS: A suggestion for those of you who are using 3com PXE-server in a WindowsDHCP server (or any similiar) supporting multiple VLAN. Just drop the 3com PXE-server and set tftp-boot-server and bootimage as attribute options in the DHCP-response.
I presume you did uncomment
I presume you did uncomment the below line at the beginning of the pxelinux.cfg file by removing the dash sign #
If you did which i believe as you mentioned the picture was transferred properly then i would consider the vesamenu.c32 file not being able to display it properly on your hardware. vesamenu.c32' files are binary file that are coded depending on the version of the file. I would suggest trying one coming along with any oher linux distribution.
Bye
imz files
i want to setup a utils menu simalar to yours and was woundering how you made all the imz files and wether you would be about to put together a small tutorial or provide me with some your images please
Sorry I haven't been keeping
Sorry I haven't been keeping up w/ this thread.
PMULLER99,
I didn't distribute the background image as it has my company logo on it. I didn't think anyone would want it. I created a generic Ghost background that is easy to drop in. Simply download this file and place in your tftproot/pxelinux.cfg folder (it can really go anywhere), then erase the '#' and tweak the filename. Here's a screenshot for you:

Symantec, please don't sue me for using your logo that I got from google. I'm a good customer. :) .....but I'll take it down if you need to.
Here's a link to the splashscreen:
http://dl.dropbox.com/u/1445590/ghostsplash.jpg
Lohizune,
I also upgraded to syslinux-3.84 and it works great, but none of the features added really help w/ what we're using. The c32 are not executed in Windows or Linux, but inside of PXElinux. Downloading from the syslinux project will work w/ pxelinux - it's not really distro specific. ....that I know of.
Coreyspeed,
I wish I could write you a tutorial on creating these images, but unfortunalely most of them were created a little bit differently. As a general rule you can use winimage to create an image from a floppy and grow it to 2.8MB. That's enough for small utils. For larger utils I created the 3com images and then simply saved them as IMZs w/ winimage. It's lame but it works really well. The newer Dell diags tool come w/ a image that you can use directly from the tftp. I know this probably isn't super helpful so I zipped up all of mine. you can grab them here:
http://dl.dropbox.com/u/1445590/utils.7z
Grab it soon because I'm not sure how long I'm going to leave it there.
All the utils are there except for parted magic - which is my favorite. But it's about 100MB, and you can get it direclty from their site. FYI the new version has slightly different options to append to the kernel - make sure you read the default syslinux.cfg file to get it right as the config at the top of this post is different.
Cheers and happy holidays.
mrguitar
Or how about this one from
Or how about this one

from here: http://www.symantec.com/connect/sites/default/file...
You can use any jpg or png (and a bunch of other formats) at 640x480. I use GIMP to create/edit mine.
cheers.
can you please post your most
can you please post your most upto date menu please, i want to know how to use the dell asset image. can you also explain what the numbers relate to on the dell images, e.g 240 - 620 ??
many thanks for the zip file
Here it
Here it is:
http://dl.dropbox.com/u/1445590/default
...but the utilities haven't changed much since the original. You'll need to alter the file paths as mine are probably a little different. MIne basically has an imz folder and all the imz files are located there.
240-260 refers to the Dell Optiplex GX240 - GX260 era PCs. I've only included the ones that range from 150-755. If you have newer Dells that use a different diag utilitiy, the newer ones from Dell come w/ a utiltity to create a disk image specifically for PXE. It makes it really easy to setup.
I hope this helps.
Cheers.
Your splash works well - what's the trick?
Hi
Sorry for my late response to your helpful response, but I had mores serious troubles to look after. Thanks.
I did use a wrong resolution for my jpg-file. It works well now.
Maybe you can help me out on this one:
I want to use encrypted password (MD5):
MENU PASSWD $1$9149019789092569221b6a05c9d0f990
After entering the password in the dialog popup, then the dialog popup disapear, i.e."wrong password".
The MD5 hash is created using an on line web-site. I have tried more to check the validity of the hash
.
Any idea?
Cheers
Peter
splash screen
is thier any colour limitations on the pxe splash screen e.g. 16 bit colour etc ??
i dont think that pxe uses MD5 hash
PMULLER99, I'm glad to hear
PMULLER99,
I'm glad to hear it's working for you. As fas as the password is concerned, you'll need to gererate the MD5 hash using the utility that;s included w/ syslinux. I tried running my password through md5sum, but it fails. syslinux uses "salt" in the hash and I'm sure you can lookup how to manually recreate it, but you should use their utility to create your hashes. I'll try to dig it up later if I have time.
coreyspeed,
I do think there are some limitations, but I can't remember. It's certainly improved lately to where they no longer need to look "bad" to work. :)
to create your passwords look
to create your passwords look under your syslinux archive. syslinux-3.84/utils
From there you can run (on linux)
./md5pass enterpassword
or better yet
./sha1pass enterpassword
If you get an error message, you might need the perl-digest-sha1-2 and/or perl-passwd-md5 packages.
There's probably a way to do this on Windows, but I don't know how.
then I'll move into world of penguins
Thanks, I'll then setup a Linux instance...
until then maybe you have an idea on this windows question on Sysprep:
We never did migrate to Vista, so we're still running XP Pro on a large number of PC's. Using GSS I've created a series of images for each machine type. The image is depolyed by activating a PXE WinPE in the menu, then running an automated script using Ghost. It works fint except, that sysprep removes the oem-drivers of all the NICs (LAN, WLAN, LAN). Sysprep is used to have the PC'es joined into an AD-domain.
I can't find the switch for keeping all pnp-drivers under unattened installation under sysprep for XP (it's documented for Vista and W7)
any hints or ref.
Regards
Peter
We didn't move to Vista
We didn't move to Vista either. Did any legit organization? ...or just ones w/ over zealous IT managers who need to constantly justify their salary. Sorry, that was uncalled for. .....but I'll bet Symantec didn't roll this out.
:)
Although I know for a fact that one of the worlds largest software companies just moved to Vista a month or so ago. My employer probably wouldn't like it if I said who. Go figure though, after Win 7 is out. Strange.
Anyway, for XP there's no switch to keep your drivers. It's all about the path you have them in. If they are under your \sysprep folder they will always get deleted. I hide mine under %WinDir%\DriverPacks\
You can read more here: http://support.microsoft.com/kb/314479
If this help please mark as a solution as I could use some more Symantec points & street cred. :)
Cheers.
btw. we need a ghost irc channel. Anyone else hangout on freenode?
Thanks mrguitar for your
Thanks mrguitar for your quick response. I really appriciate your help
Regardings the drivers, I'm not sure if I explained my self well enough. Please excuse me for my poor English.
What I don't understand, is that Sysprep under the 'generalize'-pass remove network-driveres from the image (LAN, WLAN and 1394)
I understand that I can use the oem-feature to re-install the network-drivers under the specialized pass, when deploying the image on a new machine.
The reason I don't like that approach is that it removes WLAN-configuration including the Pre-shared keys for specific SSIDs.
As it's a relativ small installation we have decided not to deploy machine certificates, and I see no way of pulish pre-shared keys through Group Policy.
So I want to keep the network drives in place including their configurations.
So back to basic. Is what your telling me that there is no way to avoid the removal of networks-drivers under the 'generalize'-pass?
/P
PS: Thanks for your answers below. /P
I would first like to say
I would first like to say thanks for this great implementation. The guys here have loved it since we got it up and running a few weeks ago. I am just curious to see if anyone has got the Dell Service Tag tool up and running or the Ultimate Boot Cd for windows. The last one probably being a long shot but I thought I would at least put it out there. Thanks again.
Sorry I found the dell
Sorry I found the dell service tag tool in the Utils folder that somebody posted earlier. Looks like the only thing left is the UBCD!
Pmuller99, I'm not sure I
Pmuller99,
I'm not sure I can't much more w/ your sysprep issue. I get it to do what I need, but that's pretty basic. I'm lucky because I don't need to deal w/ AD & group policies much. If this is a small deployment you might consider abandoning sysprep and just use tools like ghost walker & netdom.exe to take care of the post configuration.
I found this thread that might interest you:
http://www.edugeek.net/forums/windows/24963-syspre...
They reference a tool called WifiCfg_XP.exe this might do what you need. Good luck!
...and for the future let's keep this thread related to all things PXE. :)
b3tts32,
What utilities included on the UBCD interest you? I looked through the list and nothing jumped out at me, but I can see someone wanting offline AV. I think clamAV is in parted magic, but I haven't used it.
Basically the UBCD is simply a bartpe iso. I found instructions here to load that via pxe here:
http://wiki.contribs.org/PXE_booting_to_BARTPE
Please report back if it works and provide a short guide if you can. If you can "sell" me on it I'll make time and knock it out, but right now I don't know if it's worth the time for me.
Thanks for the idea,
Would you like to reply?
Login or Register to post your comment.