Jump to content











Photo
- - - - -

PXE / TFTP Boot of LiveXP now working!


  • Please log in to reply
19 replies to this topic

#1 Krokodox

Krokodox

    Newbie

  • Members
  • 21 posts
  •  
    Sweden

Posted 18 June 2008 - 10:43 AM

Hi all,


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 yurry

yurry

    Newbie

  • Members
  • 17 posts
  •  
    Slovenia

Posted 23 July 2008 - 02:19 PM

Hello!

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 :cheers:

I can boot a debian distribution without problems over PXE, so this is not an issuie.

Any help and advice is appreciated.

#3 was_jaclaz

was_jaclaz

    Finder

  • Advanced user
  • 7101 posts
  • Location:Gone in the mist
  •  
    Italy

Posted 23 July 2008 - 03:37 PM

It may be a very specific demand, but if you do not use those files, it won't work. :cheers:

It's just like lemon juice, you can try making it using cucumbers instead of lemons, but the juice won't be the same. :cheers:

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 yurry

yurry

    Newbie

  • Members
  • 17 posts
  •  
    Slovenia

Posted 23 July 2008 - 09:12 PM

Thank you for the quick reply!

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 was_jaclaz

was_jaclaz

    Finder

  • Advanced user
  • 7101 posts
  • Location:Gone in the mist
  •  
    Italy

Posted 24 July 2008 - 10:26 AM

AFAIK LiveXP works allright with XP SP2 sources.

For Ramdisk (or PXE) booting you need some files from server 2003 SP1.

jaclaz

#6 sircolin

sircolin
  • Members
  • 3 posts
  •  
    United Kingdom

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 was_jaclaz

was_jaclaz

    Finder

  • Advanced user
  • 7101 posts
  • Location:Gone in the mist
  •  
    Italy

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 :cheers: 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 sircolin

sircolin
  • Members
  • 3 posts
  •  
    United Kingdom

Posted 26 July 2008 - 03:48 PM

Re-read, SLOWLY :cheers: 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 yurry

yurry

    Newbie

  • Members
  • 17 posts
  •  
    Slovenia

Posted 29 July 2008 - 04:56 PM

In this past few days I have done a lot of image building. I have finally come up with a SDI image, that has all the driver support. It boots from a CD into ram with no problems. But when I try to boot this from PXE I get a "status 14" error. txtsetup.sif is missing or corrupted, it tells me. This was done, using an XP SP2 as source. I have leeched all the neccessary files from the Server SP1 update jaclaz provided. I have manuly copied the files in krokodox's script (xcopy, tftp ...), as the script broke my txtsetup.sif and always reported an error in the ramdisk section of the file.

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 was_jaclaz

was_jaclaz

    Finder

  • Advanced user
  • 7101 posts
  • Location:Gone in the mist
  •  
    Italy

Posted 29 July 2008 - 06:40 PM

Post your WINNT.SIF

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 :cheers:) 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) :cheers:

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 :cheers:)

jaclaz

#11 yurry

yurry

    Newbie

  • Members
  • 17 posts
  •  
    Slovenia

Posted 30 July 2008 - 08:49 AM

Ok lets do this in steps:

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 was_jaclaz

was_jaclaz

    Finder

  • Advanced user
  • 7101 posts
  • Location:Gone in the mist
  •  
    Italy

Posted 30 July 2008 - 09:34 AM

I am confused, you appear to be trying to PXE (read RAMDISK) boot a RAMDISK booting image. :cheers:

It looks to me like "Matryoshka booting" (a neologism I just invented :cheers:):
http://en.wikipedia....Matryoshka_doll

Try doing the following:
Use this as your PXE dir WINNT.SIF:
&#91;SetupData&#93;

BootDevice=&#34;ramdisk&#40;0&#41;&#34;

BootPath=&#34;\i386\System32\&#34;

OsLoadOptions=&#34;/noguiboot /fastdetect /minint /rdexportashd /rdpath=BootSDI.img&#34;

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:
&#91;SetupData&#93;

BootDevice = &#34;ramdisk&#40;0&#41;&#34;

BootPath = &#34;\i386\System32\&#34;

OsLoadOptions = &#34;/noguiboot /fastdetect /minint /rdexportascd /rdpath=livexp.iso&#34;

In other words, what you want as your system directory is:
WARNING PSEUDO-CODE:
ramdisk&#40;0&#41;\i386\System32\
i.e. something like:
ROOT&#40;BootSDI.img&#41;\i386\System32\
or:
ROOT&#40;livexp.iso&#41;\i386\System32\

What you are having now (maybe) :cheers::
WARNING PSEUDO-CODE:
ramdisk&#40;0&#41;\i386\ramdisk&#40;0&#41;\I386\System32\
i.e. something like:
ROOT&#40;livexp.iso&#41;\i386\ROOT&#40;BootSDI.img&#41;\i386\System32\

jaclaz

#13 yurry

yurry

    Newbie

  • Members
  • 17 posts
  •  
    Slovenia

Posted 30 July 2008 - 10:10 AM

Yes, you are right!

I know the matryoshka, in fact, I have a few at home :cheers:

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 :cheers:

#14 was_jaclaz

was_jaclaz

    Finder

  • Advanced user
  • 7101 posts
  • Location:Gone in the mist
  •  
    Italy

Posted 30 July 2008 - 10:31 AM

Yes, you are right!

I know the matryoshka, in fact, I have a few at home :cheers:

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 :cheers:


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 yurry

yurry

    Newbie

  • Members
  • 17 posts
  •  
    Slovenia

Posted 30 July 2008 - 11:56 AM

This was the issue. I changed the parameter to /rdexportashd and it booted.

Thank you for all your help. :cheers:

#16 was_jaclaz

was_jaclaz

    Finder

  • Advanced user
  • 7101 posts
  • Location:Gone in the mist
  •  
    Italy

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. :cheers:


Happy to hear a story of success :cheers:

:cheers:

jaclaz

#17 magic12kenneth

magic12kenneth

    Member

  • Members
  • 79 posts
  •  
    United States

Posted 12 August 2008 - 03:59 AM

I'm also trying to do a PXE using LiveXP to help someone install Windows XP for a laptop without bootable cd, dvd, floppy or USB. However I do not have a copy of Windows Server for this tutorial.

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 yurry

yurry

    Newbie

  • Members
  • 17 posts
  •  
    Slovenia

Posted 14 August 2008 - 10:51 AM

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.

#19 magic12kenneth

magic12kenneth

    Member

  • Members
  • 79 posts
  •  
    United States

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 QuentinX5

QuentinX5

    Member

  • Members
  • 39 posts
  •  
    United States

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:

 

CopyOrExpand - Failed to copy [%BaseDir%\Target\LiveXP\I386\System32\tftp.ex_] to: [%BaseDir%\Target\LiveXP\I386\System32\tftp.exe]: The system cannot find the file specified.

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?





1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users