Thanks, Michael,
I will try to enable the CONSOLE_SYSLOG option and capture the debug
messages over the network. I will give you a update while successfully
capture the syslog. Thanks very much!
Regards,
Jerry
----- Original Message -----
From: "Michael Brown" <[email protected]>
To: "jerrycheng-hinet" <[email protected]>;
<[email protected]>
Cc: <[email protected]>
Sent: Friday, March 11, 2011 6:16 AM
Subject: Re: [ipxe-devel] SAN Boot Windows XP with USB-NIC.
On Thursday 10 Mar 2011 16:53:31 jerrycheng-hinet wrote:
>> Could you build with DEBUG=undinet and tell me what is shown for the
>> lines
>>
>> UNDINIC 0x<address> has type <type>, speed <speed>, flags <flags>
>> UNDINIC 0x<address> uses IRQ <irq>
I found the following 3 lines in red:
UNDINIC using UNDI 0xc0a59078
UNDINIC 0x17990 is 00:50:fc:8e:c7:8d on IRQ 11
UNDINIC 0x17990 has type DIX+802.3, speed 10000000, flags 0000cc1b
Thanks for that. It seems as though your NIC is reporting IRQ 11 but is
definitely *not* setting the IRQ_SUPPORTED bit in the flags.
Muralidhar: I applied a patch a while ago to fix interoperability with
Emulex
NICs, which (along with several others) don't provide UNDI interrupts.
What
does the Emulex stack provide as an IRQ number (via
PXENV_UNDI_GET_INFORMATION)?
I'm wondering if we can safely change the logic in undinet.c to
effectively be
undinic->irq_supported = ( ( undi_iface.ServiceFlags & SUPPORTED_IRQ ) ||
( undi_indo.IntNumber !=
0 ) );
i.e. assume that the NIC supports interrupts if *either* the ServiceFlags
indicate SUPPORTED_IRQ *or* the IRQ number is non-zero.
>> That message must be coming from NTLDR rather than iPXE. Could you
>> try
>> building with DEBUG=int13, so we can see what is happening?
There are a few lines of hex dump after "Registerd as BIOS drive
0x80/Booting from BIOS drive 0x80". Because the screen scrolled too fast,
I
can't get message of the hex dump.
I can only see the final 2 lines showed "Booting from SAN device 0x80/INT
13 drive 80 booting" after the hex dump.
As of yesterday, you can enable syslog debugging in iPXE, which will let
you
capture these messages over the network rather than via a serial port.
Simply
enable CONSOLE_SYSLOG in config/console.h, and configure the DHCP server
to hand
out a syslog server address. For example:
option log-servers 192.168.0.1;
You also need to ensure that your syslog daemon is configured to accept
messages from remote hosts. On many systems, this is done by editing
/etc/sysconfig/syslog and adding the option "-r" to the syslogd command
line.
I originally think it should be the similiar issue like "booting windows
xp
from USB device". After a few days of work, following the instructions of
http://www.ngine.de/article/id/8, I can successfully boot windows xp via
USB flash drive.
Then, I try to install all of the NB drivers to the flash drive, install
"MS iscsi initiator" and "sanboot" to the flash drive, use flash drive
to
make a image file, and used ipxe to sanboot this image file. However,
the
result remained the same. The screen hanged at "Couldn't open drive
multi(0)disk(0)rdisk(0)partition(1)/NTLDR couldn't open drive
multi(0)disk(0)rdisk(0)partition(1)".
Could you please give me some suggestion about the next step? Thanks in
advance!
I think the DEBUG=int13 output is going to be essential. Since you don't
have
a viable null-modem cable setup, could you try the CONSOLE_SYSLOG option
as
described above?
Thanks,
Michael
_______________________________________________
ipxe-devel mailing list
[email protected]
https://lists.ipxe.org/mailman/listinfo/ipxe-devel