Jump to content

- - - - -

PXELinux and Windows XP installation

  • Please log in to reply
4 replies to this topic

#1 mrjk

  • Members
  • 3 posts

Posted 14 September 2010 - 12:58 PM


I'm a new user on this board,, however, I read a lot of post before :hyper:

I'm trying to make a Windows XP install via PXELinux. I know lot of people talk, discuss and explain about this topic, but I still have problems. Basically, NTLDR does not start :s However, everything work:

+ Router:
- DHCP, and dns mask options (DD-WRT)

+ Debian 5 server:
- TFTP serveur (atftpd)
- Samba share

+ Clients
- PXE boot works, and I can use vesamenu and boot properly some Linux distribs

Everything works well, but not my WinXP install. When I select my entry, the PXELinux freeze 2 sec, and go back to the first menu of vesamenu. I think the problem comes from my menu.cfg or from my windows file. That's for I need help.

My config:
label install4

	menu label ^Instal Windows XP 3 ...

	kernel boot/winxp/startrom.n12

+ boot/winxp/: my winstall root

++ win_xp_sp3/: contain a copy of my original version of XP SP3 PRO CORP

  + I386

+- winxp.sif: my sif config

+- startrom.n12

+- ntldr: old setupldr.ex_


The last two files come from my winxp cdrom. I well cabextracted them. And I already tried with the W3k3_SP2 files (as I read in a topic), but nothing works.

Any idea, suggestion, reading ?


#2 Wonko the Sane

Wonko the Sane

    The Finder

  • Advanced user
  • 15183 posts
  • Location:The Outside of the Asylum (gate is closed)

Posted 14 September 2010 - 01:22 PM

Any idea, suggestion, reading ?

You are attempting to do a RIS install.

Thus you need to have your Linux Server properly setup, cannot say if you need further settings on your Linux Server side, but do check this:
AND links in it, particularly the Sherpya's page and it's RIS for Linux tools:


#3 mrjk

  • Members
  • 3 posts

Posted 15 September 2010 - 09:18 AM

EDIT: I dicovered new elements in the Howto u_u' I'm rereading again some steps ... Maybe I'll find the solution ?? :)
EDIT2: Nop, finally, no ... I'm stuck :s


Thanks for your answer :hyper: I've already read this page (http://oss.netfarm.it/guides/), and I've already read the howto. And it didn't worked. However, I tried this howto (http://www.promodus.net/linuxris), which is really nice :w00t:

But it's still not working :s

I've done all step, but I think there is a problem to boot ntldr. Let's have a look to my aftp log:
Sep 15 11:09:25 fiji atftpd[3066]: Serving boot/winxp/ntldr to

Sep 15 11:09:25 fiji atftpd[3066]: Serving vesamenu.c32 to

Sep 15 11:09:25 fiji atftpd[3066]: Serving pxelinux.cfg/default to

Sep 15 11:09:25 fiji atftpd[3066]: Serving config/menu.cfg to

Basically, it try to boot something, do nothing, and reload vesamenu... Maybe a problem in my menu?

And my menu.cfg
label install4

	menu label ^Installer Windows XP 3 ...

	kernel boot/winxp/ntldr


* Can it be a path problem ??

* There is a mistake at the step 6?
cd ${RISROOT} && ./infparser.py {TFTPROOT}/cdrom/drivers
cd ${RISROOT} && ./infparser.py {TFTPROOT}/drivers

Thanks :)

#4 Wonko the Sane

Wonko the Sane

    The Finder

  • Advanced user
  • 15183 posts
  • Location:The Outside of the Asylum (gate is closed)

Posted 15 September 2010 - 04:04 PM

Thanks for your answer :w00t: I've already read this page (http://oss.netfarm.it/guides/), and I've already read the howto. And it didn't worked.

With all due respect I doubt it. :)

That guide has helped to RIS install more Windows XP's that you can imagine, and the other guide you found and cited:
actually uses Sherpya's tools.

* Can it be a path problem ??

Yes, of course it can, but unless there is an error message of some kind (or a reported "strange" behaviour) it's really hard to say.

* There is a mistake at the step 6?

cabextract ${TFTPROOT}/cdrom/i386/driver.cab -d ${TFTPROOT}/drivers

cd ${RISROOT} && ./infparser.py {TFTPROOT}/cdrom/drivers

Does sound "strange", but also compare with the use of infparser.py on the suggested guide (point 4.3):

4.3 Drivers
To make network install working you first need to collect needed inf files from windows
inf directory or from downloaded networks drivers. After you placed needed inf files in
a directory, you should run infparser.py to make the driver cache needed by the binl
server. Same utility can be used to generate a txt file that can be used with the mini
binl server.
Example, if you have placed your inf files in /mnt/disk/ris/inf you should run:
infparser.py /mnt/disk/ris/inf
Then you will have two files: devlist.cache needed by the binlsrv (Python version) and
nics.txt for the native mini binl server.
You need to place your binary .sys driver files in i386 directory of the selected install
path e.g. in /mnt/disk/ris/winxp/I386

So, in any case it seems to me "wrong" to expand the WHOLE drivers.cab and to do it anywhere else but inside \i386. :w00t:

But could it not be that you simply miss in the XP Source an appropriate driver for the network card of your target machine? :)

Also you may want to notice how the Sherpya's tutorial uses (point 4.1):

label winxp
kernel winxp.0

Generally speaking, when following a step by step tutorial, you should replicate each step EXACTLY without introducing ANY variation, of ANY kind, for NO reason WHATSOEVER, as they may be REASONS why something is suggested, why it is suggested in a certain form, etc., etc. (compare with "common sense advice" attached to Rules, point #f3):
and this does include changing names, paths and directory structures....

Strangely enough :hyper: the approach of first doing EXACTLY waht is suggested and only LATER introduce your variations, usually leads to some better results in less time.

You can also compare your structure setup and what not with this seemingly unrelated thread:

Drivers and such

If you look at a ris image, you’ll notice that the drivers and inf files are all in the I386 folder. This is a bit different then on your WinXP cd which has everything neatly filed in subfolders. What this means is we need to copy our driver files to the I386 folder. Copy all the files in the I386\Inf to the i386\ folder and then do the same with the files in the i386\System32\Drivers folder. You will end up with a lot of files in the i386 folder. Don’t delete these folders, just copy the contents.

Now, this is the sticky point and the biggest problem with NIC cards. Presuming you copied everything from a BartPE CD image that worked, then your drivers are already in there, but if not, you should copy the SYS and INF files for you network cards into the i386 folder at this time. You can also copy your network drivers from any $OEM$ folder that you may have already created for another image if that’s the case, presuming you have a working RIS install for your particular nic. Once you have done this you have to stop and start the RIS service. This is necessary as the RIS service uses compiled PNF files for it’s drivers and if you don’t restart the service it will not create PNFs for new drivers that have been added to the i386 folder. To do this, from the command prompt on your RIS server, use the commands,

Net stop BINLSVC
To stop the service
To start the service

Once the service has successfully restarted you should try connecting to your RIS server and starting BartPe.

Maybe you have to check your source and restart the BINL server as well.


#5 mrjk

  • Members
  • 3 posts

Posted 15 September 2010 - 08:13 PM


The mistake was here:
label winxp

kernel winxp.0
On guy on #syslinux explain me quickly that the extension have an impact how PXE load the boot. It's explained in the man page, but I missed it :s

Now, I'm able to boot NTLDR, and I'm debugging the 1st stage (missing lan drivers :hyper: ).

And, I found a nicer way of renaming ntldr, ntdetect.com, startrom.com, and avoid them to be on the root of the TFTP: just use remap rules like that (no problems with them for now):

# Règles pour booter l'install de Windows XP (évite de modifier les binaires de boot)

riG	 NTLDR		   boot/winxp/ntldr

riG	 BOOTFONT.BIN	boot/winxp/cdrom/i386/bootfont.bin

riG	 ntdetect.com	boot/winxp/ntdetect.com

riG	 winnt.sif	   boot/winxp/winnt.sif

# Règles pour accéder aux divers fichiers du CDrom de Windows XP

rgG	 \\			  /

rG	  /cdrom/i386/	boot/winxp/cdrom/i386/

Safer than use sed and edit binary :) And I -like- LOVE do it my own way :PXD (Yes, it's not always the good way but ... )

So, Work In Progress for my RIS!

Anyway, thank for your help! I'll post again if I've other troubles

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users