[ipxe-devel] SAN Boot Windows XP with USB-NIC.

jerrycheng-hinet jaspers.cheng at msa.hinet.net
Sun Mar 13 18:11:54 UTC 2011


Hi, Michael,

I have followed your suggestion to unable the CONSOLE_SYSLOG option. To 
enable this option, I have to update ipxe to the latest version. From then 
on, I got a surprise present. It did not 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)" anymore and seemed to enter NTDETECT 
phase. However, I still can't see windows xp logo because of NB reset 
somehow happened.

I also captured the trace of whole booting process by wireshark and attached 
it in mail. It already contained the syslog inside. From the wireshark log, 
there has some error messages about INT 13 driver 80. Could you please give 
me some suggestions about the next step? Thanks very much!

Regards,
Jerry

----- Original Message ----- 
From: "jerrycheng-hinet" <jaspers.cheng at msa.hinet.net>
To: "Michael Brown" <mbrown at fensystems.co.uk>; 
<Muralidhar.Appalla at emulex.com>
Cc: <ipxe-devel at ipxe.org>
Sent: Saturday, March 12, 2011 2:03 AM
Subject: Re: [ipxe-devel] SAN Boot Windows XP with USB-NIC.


> 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" <mbrown at fensystems.co.uk>
> To: "jerrycheng-hinet" <jaspers.cheng at msa.hinet.net>; 
> <Muralidhar.Appalla at emulex.com>
> Cc: <ipxe-devel at ipxe.org>
> 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
> 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: new_ipxe_usbxp_fail.rar
Type: application/octet-stream
Size: 264699 bytes
Desc: not available
URL: <http://lists.ipxe.org/pipermail/ipxe-devel/attachments/20110314/f285b1c0/attachment.obj>


More information about the ipxe-devel mailing list