Re: [Etherboot-developers] UNDI driver
Brought to you by:
marty_connor,
stefanhajnoczi
|
From: Marty C. <md...@et...> - 2003-05-28 22:25:27
|
On Saturday, May 24, 2003, at 03:46 PM, Michael Brown wrote:
> The i386 UNDI driver in Etherboot 5.1 CVS should now be functioning
> correctly. Please test and give feedback.
> make bin/undi.zfd0
> will give you a bootable floppy that should be able to detect any PXE
> ROMs, load the UNDI drivers and use them to boot as per normal.
OK, I have put together a test system, and have two Ethernet cards (an
Intel EEPRO100, and a 3Com 3C905C-TX-M) with PXE, and an HP branded
thin client with an on-board VIA 6102 chipset and Intel PXE 2.2 in BIOS
to test with.
I got the latest copy of Etherboot to my Redhat 8.0 system with:
$ cvs -d:pserver:ano...@cv...:/cvsroot/etherboot
login
followed by:
$ cvs -d:pserver:ano...@cv...:/cvsroot/etherboot
checkout etherboot
to download it.
I then did:
$ cd etherboot/etherboot-5.1/src/
$ make bin/undi.zfd0
to create the test floppy.
My test system is an Intel CA810E motherboard with what I believe is a
Phoenix derived BIOS (not sure of that).
My first test went well:
NIC: 3C905-TX-M
Boot METHOD: FLOPPY
OUTPUT:
Loading ROM image...............
ROM segment 0x0000 length 0x0000 reloc 0x00020000
Etherboot 5.1.8 (GPL) Tagged ELF for [UNDI]
Boot from (N)etwork (D)disk (F)loppy or from (L)ocal?
Probing pci nic...
[UNDI]Hunting for PnP BIOS...found $PnP at f000:2c30...ok
Hunting for pixies...none found
Hunting for ROMs...found 55AA at 000cc000...PCI:10b7:9200...ok
ROM contains MBA UNDI by 3Com
Located UNDI ROM supporting revision 2.1.0
Installing UNDI driver code to 9d00:0000, data at 99c0:0000
UNDI driver created a pixie at 9d00:0060...ok
API 9d00:00f6 St 0000:0000 UD 9c40:3284 UC 9d00:24c0 BD 0000:0000 BC
0000:0000
Initialized UNDI NIC with IO 0xdc00, IRQ 11, MAC 00:01:02:59:03:D5
NDIS type DIX+802.3 interface at 100Mbps
Searching for server (DHCP)...
..Me: 192.168.2.137, Server: 192.168.2.37, Gateway 192.168.2.15
Loading 192.168.2.37:/lts/vmlinuz-2.4.19-ltsp-1
...(NBI)........................
........................................................................
........
........................................................................
........
......done
mknbi-1.2-7/first32.c (GPL)
Top of ramdisk is 0X07EC0000
Ramdisk at 0X07E0D000, size 0X000B3000
Uncompressing Linux... Ok, booting the kernel.
Works!
My next test was to try the same thing with the other card:
NIC: EEPRO100
Boot METHOD: FLOPPY
OUTPUT:
Loading ROM image...............
ROM segment 0x0000 length 0x0000 reloc 0x00020000
Etherboot 5.1.8 (GPL) Tagged ELF for [UNDI]
Boot from (N)etwork (D)disk (F)loppy or from (L)ocal?
Probing pci nic...
[UNDI]Hunting for PnP BIOS...found $PnP at f000:2c30...ok
Hunting for pixies...none found
Hunting for ROMs...found 55AA at 000cc000...PCI:8086:1229...ok
ROM contains Intel UNDI, PXE-2.0 (build 067) by Intel Corporation
Located UNDI ROM supporting revision 2.1.0
Installing UNDI driver code to 9d80:0000, data at 9a80:0000
UNDI driver created a pixie at 9d80:0070...ok
API 9d80:0106 St 9430:0800 UD 9a80:4d30 UC 9d80:1e70 BD 0000:37c0 BC
0000:563a
UNDI API call 0x000a failed with status 0x0000
Hunting for ROMS...found 55AA at 000c0000...PCI:8086:7125...not me
(8086:1229)
...none found
Probing isa nic...
<sleep>
Boot from (N)etwork (D)isk (F)loppy or from (L)ocal?
Looks like an UNDI call failed. Please let me know if I can help debug
this one further.
> I haven't yet got around to testing chaining from PXE, but
> make bin/undi.zpxe
> will give the appropriate test image, should anyone wish to try it out.
Chaining didn't go so well for me. I wasn't able to get it to work.
Here's a relevant part of my dhcpd.conf file:
# 3COM PXE Card
host ws137 {
hardware ethernet 00:01:02:59:03:d5;
fixed-address 192.168.2.137;
if substring (option vendor-class-identifier, 0, 9) =
"PXEClient" {
filename "/undi.zpxe";
} else if substring (option vendor-class-identifier, 0, 9) =
"Etherboot" {
filename "/lts/vmlinuz-2.4.19-ltsp-1";
option vendor-encapsulated-options
3c:09:45:74:68:65:72:62:6f:6f:74:ff;
}
}
Here's the output using the 3Com Card:
Managed PC Boot Agent (MBA) v4.00
(C) Copyright 1999 Lanworks Technologies Co. a subsidiary of 3Com
Corporation
All rights reserved.
Pre-boot eXecution Environment (PXE) v2.00
(C) Copyright 1999 Intel Corporation.
(C) Copyright 1999 Lanworks Technologies Co. a subsidiary of 3Com
Corporation
All rights reserved.
DHCP MAC ADDR: 00 01 02 59 03 D5
CLIENT IP: 192.168.2.137 MASK: 255.255.255.0 DHCP IP: 192.167.2.37
GATEWAY IP: 192.168.2.15
PXE loader for etherboot
0x27FK low memory
PXENV+ unloaded
ROM segment 0x0000 length 0x0000 reloc 0x00020000
Etherboot 5.1.8 (GPL) Tagged ELF for [UNDI]
Relocating _text from: [0000c070,0001b780) to [07eb08f0,07ec0000)
Boot from (N)etwork (D)isk (F)loppy or from (L)ocal?
Probing pci nic...
[UNDI]Hunting for PnP BIOS... found $PnP at f000:2c30...ok
Hunting for pixies...found !PXE at 0009d7a0...ok
It hangs here.
Please let me know how I can help debug this. It would be way cool to
make this work such that any PXE card could use Etherboot just by
chaining the Etherboot PXE loader.
> There are no known issues for systems containing a single NIC and
> single
> PXE ROM at this time. (Multiple NICs / multiple PXE ROMs may have
> problems; please let me know.)
> Please do give feedback; this driver has to work with any PXE
> implementation, and I have only Intel's to play with.
> Michael
We might consider sending a message to the etherboot-users list once
things are a little farther along asking for testers. Once they see how
easy it is to get a cvs version and make the required test images, we
might get a few people to give it a whirl.
Thanks for your efforts, Michael. This UNDI driver could be a useful
addition for people who have PXE and use it to boot Etherboot as well
as some other cases we haven't even thought of yet.
Marty
P.S. The screen texts above might have minor typos as I copied them by
hand. I tried my best to check the numbers to give you the best
information I could.
--
Try: http://rom-o-matic.net/ to make Etherboot images instantly.
Name: Marty Connor
US Mail: Entity Cyber, Inc.; P.O. Box 391827;
Cambridge, MA 02139; USA
Voice: (617) 491-6935; Fax: (617) 491-7046
Email: md...@et...
Web: http://www.etherboot.org/
|