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&#39;t understand your comment &#39;You can do, potentially&#39;. From my understand, it is _<i>_not</i>__ standard to initialize !PXE structure when UNDI loader called (as gPXE doesn&#39;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">&lt;<a href="mailto:mbrown@fensystems.co.uk">mbrown@fensystems.co.uk</a>&gt;</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>
&gt;  Guys, I&#39;m still struggling with UNDI driver for our OS. Problem again!<br>
&gt; According to gPXE code, it seems, the !PXE structure is initialized only<br>
&gt; when gPXE ROM started. So if boot from disk, there will no !PXE initialized<br>
&gt; and loaded to memory. Right? If I boot from disk, is it possible for me to<br>
&gt; use UNDI? Can I use UNDI_LOADER or other method to initialize !PXE<br>
&gt; structure?<br>
<br>
</div>You can do, potentially.  However, there&#39;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&#39;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&#39;s just a bad idea.  If you really don&#39;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>