PXE / TFTP Boot of LiveXP now working!
#1
Posted 18 June 2008 - 10:43 AM
After a couple of days of tinkering with WinBuilder / LiveXP I finally managed to get a server to boot a LiveXP .ISO via LAN from a PXE / TFTP server.
The solution was quite simple; all it needs is a good TFTP / DHCP / PXE server configuration, a couple of files and the Microsoft RAMDisk added to the build. I will document this and make it available for everyone on the site provided by Nuno Brito at http://krokodox.winbuilder.net.
I have already uploaded my scripts for Remote Administrator Server, WMI services, Notepad2 and a description on how to setup Microsoft PXE / TFTP / DHCP servers for PXE booting. All that is missing is the document for how to make a LiveXP .ISO to boot, but that should be uploaded today.
//K
#2
Posted 23 July 2008 - 02:19 PM
Firs of all I would like to point out that I am using a linux server for the PXE end of things. I believe that this should not affect the overall functioning of the system. I do, however, have the following problem...
I have read the tutorial but unfortunately I don't have a Server 2003 SP1 CD (it is a very specific demand). I do have server 2003 (without SP1). I also have some XP distributions. As it might be expected the entire thing does not work. Do you think it is an issue due to the source CD? I have so far only tried with XP.
I cant even get to the boot stage. The errors start when the client gets the NTLDR file from the server. I have tried to use a NTLDR file from 2 different distributions. One than asks for the boot.ini file, the other (the one from the Server 2003 CD) gives me a bright flashy screen full of funny symbols
I can boot a debian distribution without problems over PXE, so this is not an issuie.
Any help and advice is appreciated.
#3
Posted 23 July 2008 - 03:37 PM
It's just like lemon juice, you can try making it using cucumbers instead of lemons, but the juice won't be the same.
Get the Server 2003 SP1, and get the specific files:
http://www.microsoft...;displaylang=en
They are NOT "negotiable".
Please note that:
Server 2003 files DO NOT work
Server 2003 SP1 files are KNOWN to work
Server 2003 SP2 files are reported to NOT work on a number of setups
Server 2003 R2 files are reported to work
No XP versions of the files have ever been reported to be working.
jaclaz
N.B.: "Traditionally" three files are needed:
SETUPLDR.BIN or SETUPLDR.EX_
NTDETECT.COM
RAMDISK.SYS
Further tests have shown that ANY XP/2003 version of NTDETECT.COM work, and that SOME recent versions of RAMDISK.SYS do work.
#4
Posted 23 July 2008 - 09:12 PM
I presume these files need to be placed in the default tftpboot directory. They are not mentioned in the original tutorial, tough. I am still very new to making windows bootable images.
Thank you also for the link to the Server 2003 SP1 files. I have read in the tutorial that this CD is also required as the source for the building of the LiveXP image. For that I would need the whole CD, or maybe will it work if I just replace with the files from the patch? Is the Server 2003 SP1 CD really also necessary for building the image? I can get the boot files from the patch.
I will try some patching of my original CD tomorrow.
#5
Posted 24 July 2008 - 10:26 AM
For Ramdisk (or PXE) booting you need some files from server 2003 SP1.
jaclaz
#6
Posted 25 July 2008 - 07:06 PM
AFAIK LiveXP works allright with XP SP2 sources.
For Ramdisk (or PXE) booting you need some files from server 2003 SP1.
jaclaz
Hi Everyone !
I am also try to get nix to play nice with windows i am trying to make a boot menu that will do the follwing
PXE Boot Into
Windows Xp --??
PE Enviroment -- ??
Debian Etch -- Compleated
PxeKinfe -- Compleated
Acronis -- Compleated
ThinStation -- Compleated
I have a fully functional pxe server tested n working.
my question is which sources to take from win2003 and which ones from winxp for a pxeboot jaclaz, Krokodox? , Aslo will your script Krokodox will it run on a quadcore machine or should i used a single dual core to compile this live cd ?
thanks col
#7
Posted 26 July 2008 - 10:25 AM
my question is which sources to take from win2003 and which ones from winxp for a pxeboot jaclaz, Krokodox?
Re-read, SLOWLY post #3, or ANY thread about RAMDISK booting.
PXE booting is a "particular" form of RAMDISK (often called improperly SDI booting on this forum) booting, where the booting image is loaded from the external server, in other words, you should be able to RAMDISK boot from a local image, and then change your setup to boot from an image downloaded from network.
You need to understand how the first works, in order to get the second working.
Read these two threads by aec:
http://www.911cd.net...o...c=10482&hl=
http://www.911cd.net...o...c=19333&hl=
jaclaz
#8
Posted 26 July 2008 - 03:48 PM
Re-read, SLOWLY post #3, or ANY thread about RAMDISK booting.
PXE booting is a "particular" form of RAMDISK (often called improperly SDI booting on this forum) booting, where the booting image is loaded from the external server, in other words, you should be able to RAMDISK boot from a local image, and then change your setup to boot from an image downloaded from network.
You need to understand how the first works, in order to get the second working.
Read these two threads by aec:
http://www.911cd.net...o...c=10482&hl=
http://www.911cd.net...o...c=19333&hl=
jaclaz
Thanks for the advice i will do some more reading thanks
#9
Posted 29 July 2008 - 04:56 PM
I have then tried the proper way of doing things and built from Server SP1 source, but the result is that as soon as windows start (I see the wallpaper already), the system goes into reboot. This does not happen when building from XP SP2 source.
So my question here is:
What is so different with PXE, that it wont boot the same image as from the CD?
#10
Posted 29 July 2008 - 06:40 PM
And attach the dir.txt file resulting from a DIR R:\ >C:\dir.txt
(supposing you mounted the image as R:\ with imdisk or VDK)
In some (VERY RARE actually ) the Message "Status 14: txtsetup missing or corrupt" actually means that txtsetup.sif is REALLY missing or corrupt.
Two things to try, just to make sure that this remote possibility is not true:
1) copy to the image an untouched txtsetup.sif from your windows XP SP2 (or expanded from txtsetup.si_)
2) copy it to BOTH the root of the image and to the \I386 directory
I have seen txtsetup.sif not working only because of a space or a tab.....
Of course that won't boot, but if you get past the "Status 14" makes sure this is the direction into which investigations are to be carried.
Double check the "original" Macfox thread:
http://www.911cd.net...o...c=9685&st=0
maybe some step has been missed
The "SYSTEM" directory you are using is \I386, right? (NOT \minint)
Another attempt that you can do is to use SETUPLDR.BIN/SETUPLDR.EXE modified as to boot ANYWAY \I386.
You will need to hexedit SETUPLDR.EXE and remove the checksum or re-create it.
For the record, SETUPLDR.EXE is a SETUPLDR.BIN with first 19632 bytes of code stripped.
See here:
http://www.911cd.net...showtopic=17504
http://www.msfn.org/...20-t114543.html
http://www.msfn.org/...-64-t58410.html
(please note that the above is tested and working for "Setupldr.bin", but not AFAIK for SETUPLDR.EXE, your mileage may vary )
jaclaz
#11
Posted 30 July 2008 - 08:49 AM
1.) This is the winnt.sif from the image:
[SetupData]
BootDevice="ramdisk(0)"
BootPath="\i386\System32\"
OsLoadOptions="/noguiboot /fastdetect /minint /rdexportashd /rdpath=\i386\BootSDI.img"
2.) This is the winnt.sif from my PXE dir:
[SetupData]
BootDevice = "ramdisk(0)"
BootPath = "\i386\System32\"
OsLoadOptions = "/noguiboot /fastdetect /minint /rdexportascd /rdpath=livexp.iso"
3.) This is the dir structure of my image, burned to the CD (I dont think there is any difference from mounting it):
Volume in drive E is LiveXP_USB
Volume Serial Number is 0054-453F
Directory of E:\
07/28/2008 03:08 PM <DIR> I386
07/28/2008 03:08 PM 1808 PROJECTINFO.INI
07/28/2008 03:08 PM 154 WINNT.SIF
2 File(s) 1962 bytes
1 Dir(s) 0 bytes free
4.) This is the i386 directory:
Volume in drive E is LiveXP_USB
Volume Serial Number is 0054-453F
Directory of E:\I386
07/28/2008 03:08 PM <DIR> .
07/28/2008 03:08 PM <DIR> ..
08/23/2001 12:00 PM 1024 BOOTFIX.BIN
07/28/2008 03:08 PM 292552704 BOOTSDI.IMG
08/03/2004 08:38 PM 47564 NTDETECT.COM
03/24/2005 07:33 PM 298096 SETUPLDR.BIN
4 File(s) 292899388 bytes
2 Dir(s) 0 bytes free
So there is no txtsetup.sif file anywhere in here??? It seems to be in the BOOTSDI.IMG image, as once that is booted, I get it in the x:\i386\txtsetup.sif
5.) As you see, I use i386 for the root directory. So the setupldr should not be an issue here.
6.) When you say copy the txtsetup to the image, do you mean the ISO or the SDI image? They are both read only. How do I mount them write to edit them?
Thanks for helping!
#12
Posted 30 July 2008 - 09:34 AM
It looks to me like "Matryoshka booting" (a neologism I just invented ):
http://en.wikipedia....Matryoshka_doll
Try doing the following:
Use this as your PXE dir WINNT.SIF:
[SetupData] BootDevice="ramdisk(0)" BootPath="\i386\System32\" OsLoadOptions="/noguiboot /fastdetect /minint /rdexportashd /rdpath=BootSDI.img"
Transfer via PXE the BootSDI.img, NOT the livexp.iso containing it.
The BootSDI.img, UNLIKE the name suggests, is NOT a SDI format image, but rather a RAW image of a partition (or if you prefer a "superfloppy" image).
As thus it can be mounted using either IMDISK (suggested in this case) or FILEDISK or VDK, some links:
http://www.boot-land...?showtopic=1507
Alternatively, re-build your LIVEXP WITHOUT the BootSDI option checked, make sure that the RAMDISK.SYS inside the .iso is the right one, and serve via PXE the "plain" livexp.iso, keeping your PXE dir WINNT.SIF:
[SetupData] BootDevice = "ramdisk(0)" BootPath = "\i386\System32\" OsLoadOptions = "/noguiboot /fastdetect /minint /rdexportascd /rdpath=livexp.iso"
In other words, what you want as your system directory is:
WARNING PSEUDO-CODE:
ramdisk(0)\i386\System32\i.e. something like:
ROOT(BootSDI.img)\i386\System32\or:
ROOT(livexp.iso)\i386\System32\
What you are having now (maybe) :
WARNING PSEUDO-CODE:
ramdisk(0)\i386\ramdisk(0)\I386\System32\i.e. something like:
ROOT(livexp.iso)\i386\ROOT(BootSDI.img)\i386\System32\
jaclaz
#13
Posted 30 July 2008 - 10:10 AM
I know the matryoshka, in fact, I have a few at home
I didn't understand how this really works. I have managed to get passed the status 14 now, of course. I have just extracted the BootSDI.img file and loaded it.
I have one last (I hope) hurdle now. I get a BSOD error UNMOUNTABLE_BOOT_VOLUME. It says stop: 0x000000ED.
I presume this has something to do with the ramdisk driver? There is a file included on the boot CD, next to the image file, called BOOTFIX.BIN. This is the image created with the SDI option. Does it fix some stuff in the CD booting sequence to prevent this error?
I will try building a normal iso with krokodox's script. I think I now understand why it broke my txtsetup.sif file
#14
Posted 30 July 2008 - 10:31 AM
Yes, you are right!
I know the matryoshka, in fact, I have a few at home
I didn't understand how this really works. I have managed to get passed the status 14 now, of course. I have just extracted the BootSDI.img file and loaded it.
I have one last (I hope) hurdle now. I get a BSOD error UNMOUNTABLE_BOOT_VOLUME. It says stop: 0x000000ED.
I presume this has something to do with the ramdisk driver? There is a file included on the boot CD, next to the image file, called BOOTFIX.BIN. This is the image created with the SDI option. Does it fix some stuff in the CD booting sequence to prevent this error?
I will try building a normal iso with krokodox's script. I think I now understand why it broke my txtsetup.sif file
No, the BOOTFIX.BIN is only responsible for the "Press any key to boot from CD" message.
The 0x000000ED BSOD is generally connected to "corrupted data", typically (on a "normal" booting using a 40 leads IDE cable on ATA drives - that need 80 leads cables)
With ramdisk booting that error has been reported:
http://www.911cd.net...showtopic=21559
when using improperly the /rdexportascd or /rdexportashd parameter.
jaclaz
#15
Posted 30 July 2008 - 11:56 AM
Thank you for all your help.
#16
Posted 30 July 2008 - 12:16 PM
This was the issue. I changed the parameter to /rdexportashd and it booted.
Thank you for all your help.
Happy to hear a story of success
jaclaz
#17
Posted 12 August 2008 - 03:59 AM
Will it work if I replace Microsoft's TFTP server with Tftpd32 server? If so, what are the steps? I just need to get an idea how to setup the TFTP to boot LiveXP on the target computer and start Windows XP setup.
Kenneth
#18
Posted 14 August 2008 - 10:51 AM
The TFTP server is not an issue here. Using any should be fine as long as it is configured properly. I think you can draw the configuration parallels from krokodox's work with Microsoft's server.
#19
Posted 19 August 2008 - 09:32 PM
I can not give you a full anwser, because I used linux for this part.
The TFTP server is not an issue here. Using any should be fine as long as it is configured properly. I think you can draw the configuration parallels from krokodox's work with Microsoft's server.
Thanks. I'll give it a try. If I get it to work, I'll post the result here.
Kenneth
#20
Posted 13 June 2014 - 11:54 PM
Hey Krokodox,
I had an issue attempting to build my LiveXP ISO with your script. It said that it could not find the tftp.exe file when it was building it. The exact error I got from it was:
I figured I could of just fixed it by finding a tftp.exe file somewhere online and copying itself into that directory, but that didn't fix the issue either. Any ideas?
2 user(s) are reading this topic
0 members, 2 guests, 0 anonymous users