PXE - Remote Boot with 2 PXE network cards

A

Adeline

I am trying to boot a sdi file on a target with two network cards.

When one card is unplugged (I have therefore one PXE Ethernet card),
the sdi file is loaded and there is absolutely no problem. Windows XP
Embedded is launched as wanted.

When both PXE ethernet cards are plugged and recognized by the BIOS,
it is not possible to boot on LAN.
Using one card or the other one as the Boot on Lan card, I have the
same result. It is not due to the card in itself.
In the BIOS, the network card chosen is at the top in the Boot device
option.

At boot, the DHCP negotiation is ok. Then, the TFTP transfer begins.
The RAM disk is loaded. I can check the transfer evolution with the
bar. It seems that there is no problem in this part too. With
ethereal, all the files (startrom.n12, ntloader, ntdetect, boot.ini
and temp.sdi) are transfered.
However, at the end of the transfer of the .sdi, nothing happens. The
transfer is completed (as seen on the bar and with ethereal) but the
OS does not want to boot. On the display, I keep the black screen with
the blank bar totally filled.

Does Windows XP Embedded support a double boot on LAN ?
Is there something in the ntloader which prevents to boot when there
is two PXE network interfaces ?
Why doesn't the OS want to boot at the end of the transfer of all the
files ?

Thanks for your answers
 
S

Slobodan Brcin \(eMVP\)

Hi Adeline,

You gave us some info but something is missing, you gave us some info that
does not make sense.
Then, the TFTP transfer begins. The RAM disk is loaded.

How do you know that RAM disk is loaded. This would mean that you know for
certain that some file is accessed from within SDI file.

Questions:
1. Do you have monitor on your device?
2. You mention some that you know that all files are transferred. Do you see
SDI load progress bar generated by ntldr. ? If you do then your BIOS and all
required files are loaded.
3. If you were able to boot with one net adapter, then tell us is there any
visual difference between these two boots?
Does Windows XP Embedded support a double boot on LAN ?
It depends on what you call XPe.
If ntldr. was able to load image to RAM then rest of XPe does not care about
boot medium.

When you boot from SDI file you have two phases.
1. ntldr. and SDI file must be somehow loaded to RAM on your device.
2. boot is initiated from RAM (At this point OS is not aware of any network
adapter)

There is small chance that you have some problems with ntdetect.com, but if
you were able to run FBA with two adapters present then this is not an
issue.

Few tests you might try that will give you and us some more info:
1. Try to play with boot.ini switches. remove /NOGUIBOOT and use /SOS
2. Try setting and using kernel debugger.


Regards,
Slobodan

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Have an opinion on the effectiveness of Microsoft Embedded newsgroups? Tell
Microsoft!
https://www.windowsembeddedeval.com/community/newsgroups
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
A

Adeline

Slobodan Brcin \(eMVP\) said:
Hi Adeline,

You gave us some info but something is missing, you gave us some info that
does not make sense.

I don't really know if the RAM disk is correctly loaded and were in
the RAM but the load progress bar is totally blank after about 1.5
minutes. At the end of the sdi transfer (when the load progress bar is
full), the OS does not boot. Everything stays like this. I have a
black screen with the load progress bar totaly filled but without the
message "ramdisk loading" or something like this.
This is the reason why I said that the RAM disk seems to be loaded...

How do you know that RAM disk is loaded. This would mean that you know for
certain that some file is accessed from within SDI file.

Questions:
1. Do you have monitor on your device?
Yes I have a monitor on the computer
2. You mention some that you know that all files are transferred. Do you see
SDI load progress bar generated by ntldr. ? If you do then your BIOS and all
required files are loaded.
3. If you were able to boot with one net adapter, then tell us is there any
visual difference between these two boots?

There is absolutely no visual differences between the two boots except
that in the second case, the boot stops after the SDI loading.
It depends on what you call XPe.
If ntldr. was able to load image to RAM then rest of XPe does not care about
boot medium.

But the problem is that I am not sure of what is in the RAM...
Could it be a BIOS problem or the role of the BIOS is before this step
?

When you boot from SDI file you have two phases.
1. ntldr. and SDI file must be somehow loaded to RAM on your device.
2. boot is initiated from RAM (At this point OS is not aware of any network
adapter)

The beginning of this second step seems to fail but I have absolutely
no error message.
How does the second phase start ? Is the BIOS the initiator of this
phase ?
What happenss at this point ?
There is small chance that you have some problems with ntdetect.com, but if
you were able to run FBA with two adapters present then this is not an
issue.

Absolutely, I ran FBA on the same machine without any problem but at
this time, the BIOS did not recognize the second Ethernet card to boot
on LAN (the boot on LAN function of the second network adapter was
unactivated in the BIOS). I don't think this plays a role. Both cards
were detected and used to surf on the network (for test...) before
FBA and after having booted on LAN using the first card. And it
worked...
Few tests you might try that will give you and us some more info:
1. Try to play with boot.ini switches. remove /NOGUIBOOT and use /SOS
2. Try setting and using kernel debugger.

I will try tomorrow.

Thanks a lot,

Adeline
 
S

Slobodan Brcin \(eMVP\)

Adeline said:
"Slobodan Brcin \(eMVP\)" <[email protected]> wrote in message

I don't really know if the RAM disk is correctly loaded and were in
the RAM but the load progress bar is totally blank after about 1.5
minutes. At the end of the sdi transfer (when the load progress bar is
full), the OS does not boot. Everything stays like this. I have a
black screen with the load progress bar totaly filled but without the
message "ramdisk loading" or something like this.
This is the reason why I said that the RAM disk seems to be loaded...


Yes I have a monitor on the computer


There is absolutely no visual differences between the two boots except
that in the second case, the boot stops after the SDI loading.


But the problem is that I am not sure of what is in the RAM...
Could it be a BIOS problem or the role of the BIOS is before this step
?



The beginning of this second step seems to fail but I have absolutely
no error message.
How does the second phase start ? Is the BIOS the initiator of this
phase ?
What happenss at this point ?

BIOS have influence on phase 1.
Phase 2 is initiated by ntldr. BIOS has nothing to do with this phase.
If sdi image is loaded correctly to the RAM ntldr. will probably try to find
and use ntdetect.com

You can influence some part of ntdetect functionality with switch
"/fastdetect" (try to add or remove it)
After that ntldr will try to load critical drivers, you can see them by
using /SOS switch.

If you can pass this point then we can try to do something else.

If not then your image is not transported correctly, or ntdetect have some
problem. (This all is wild guess).

Regards,
Slobodan

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Have an opinion on the effectiveness of Microsoft Embedded newsgroups? Tell
Microsoft!
https://www.windowsembeddedeval.com/community/newsgroups
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
K

KM

If it gets to ntdetect phase there should be something like: "NTDETECT VX.X
Checking Hardware ..."
And if ntdetect.com fails it should show: "NTDETECT failed".

There might be some net download finalizing code (closing handles,
re-initializing network controllers, etc.) that hangs on the device if two
cards are present.
I also think the KD may show more info.

KM
 
A

Adeline

Hi,

I have found the reason of my problem.
It was a BIOS problem. In the BIOS the hard drive was detected as a
UDMA 100. However, it must have been UDMA 33 as my IDE cable has only
40 wires...

I hope everybody understand because I don't know the appropriate words
in English...

I changed my IDE cable between the hard drive and the CPU board (with
one with 80 wires) and it is detected as UDMA 100. It is normal now.

I can boot from both ethernet cards.

Thanks a lot for your help

Adeline
 
S

Slobodan Brcin \(eMVP\)

You never mentioned that you have local HDD.
Although I had problem once with non UDMA cable, I would never guess that
this can produce problems with this symptoms.

Regards,
Slobodan

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Have an opinion on the effectiveness of Microsoft Embedded newsgroups? Tell
Microsoft!
https://www.windowsembeddedeval.com/community/newsgroups
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top