Micheal,<div><br></div><div>Many thanks for kind suggestion! I just work for our marketing guy, regardless of bad or good. ^_^</div><div><br></div><div>Back to the question. I don't understand your comment 'You can do, potentially'. From my understand, it is _<i>_not</i>__ standard to initialize !PXE structure when UNDI loader called (as gPXE doesn't), but only if boot from network. Am I right?</div>
<div><br></div><div>In other words, given a PXE ROM, it cannot be sure that !PXE will be initialized when not boot from network, even if I call UNDI loader! As a result, I cannot initialize PXE stack for UNDI API, if so, what can I do?</div>
<div><br></div><div><br></div><div><br></div><div>Thanks again,</div><div>Sean</div><div><br></div><div><br></div><div><br><div class="gmail_quote">On Thu, Jun 24, 2010 at 5:10 PM, Michael Brown <span dir="ltr"><<a href="mailto:mbrown@fensystems.co.uk">mbrown@fensystems.co.uk</a>></span> wrote:<br>
<blockquote style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;" class="gmail_quote"><div class="im">On Thursday 24 Jun 2010 03:28:40 Sean Shoufu Luo wrote:<br>
> Guys, I'm still struggling with UNDI driver for our OS. Problem again!<br>
> According to gPXE code, it seems, the !PXE structure is initialized only<br>
> when gPXE ROM started. So if boot from disk, there will no !PXE initialized<br>
> and loaded to memory. Right? If I boot from disk, is it possible for me to<br>
> use UNDI? Can I use UNDI_LOADER or other method to initialize !PXE<br>
> structure?<br>
<br>
</div>You can do, potentially. However, there's no guarantee that the UNDI loader<br>
will function correctly; some BIOSes will completely remove PXE ROMs when not<br>
network booting, and even if the ROM is present, there's a high chance that by<br>
the time your OS loads the UNDI loader will no longer work.<br>
<br>
Basically, you cannot sensibly use the PXE ROM as a substitute for writing<br>
network drivers for your OS. It's just a bad idea. If you really don't want<br>
to write your own drivers then write a shim layer to allow you to use<br>
something like Linux or BSD drivers instead.<br>
<font color="#888888"><br>
Michael<br>
</font></blockquote></div><br></div>