[gPXE-devel] what is undi.zrom in gPXE?

Joshua Oreman oremanj at rwcr.net
Thu Jun 17 11:55:58 EDT 2010


[Please keep the list in the Cc]

On Thu, Jun 17, 2010 at 5:37 AM, Sean Shoufu Luo <luoshoufu at gmail.com> wrote:
> Hi Josh,
> Thank you for informative explain on UNDI. I still have a question.
> According to what you said, my understand is UNDI build (undi.zrom) contains
> DHCP/TFTP/... and UNDI driver, and it must work with vendor ROM that exposes
> an UNDI. My question is who provides the UNDI ROM which is loaded to be
> below 1M memory, undi.zrom or vendor ROM?

So, there are two components here:

- The UNDI interface
- The UNDI driver

(Sadly, as far as I know these don't have a consistent naming.) The
UNDI interface is provided by an existing vendor PXE ROM or
specific-driver Etherboot or gPXE ROM (e.g. rtl8139.zrom). It has a
special header so it can be found and loaded in such a way that it
will just expose the UNDI API. The UNDI driver (in undi.zrom and
friends) looks for a ROM that implements the UNDI interface, loads it,
and sends and receives DHCP/TFTP/etc packets using the UNDI API that
it finds. As I said before, *undi.zrom does not make sense and will
never work*; the UNDI driver should be part of a PXE or CDROM or
[etc.] build of Etherboot/gPXE with a *different*, driver-specific ROM
already present in the system.

The main use of UNDI is to allow booting on systems that
Etherboot/gPXE does not have native driver support for. For it to
work, you need to still have the vendor PXE ROM in the system.

-- Josh

> Thanks again
> -Sean-
> On Thu, Jun 17, 2010 at 10:59 AM, <oremanj at gmail.com> wrote:
>>
>> Hi Sean,
>>
>> A few things:
>>
>> Etherboot is out of date and in maintenance mode only. Please use gPXE if
>> you can, as it has many more features and fewer bugs. :-) If there's a
>> specific reason you need to use Etherboot over gPXE, let us know; we'd like
>> to fix it.
>>
>> UNDI builds of Etherboot and gPXE are meant to be used in tandem with a
>> preexisting vendor ROM that exposes an UNDI interface. Thus, the combination
>> UNDI + ROM in the same build makes no sense. Etherboot and gPXE expose an
>> UNDI interface no matter what, and in this case Etherboot finds and attempts
>> to load *itself* as the underlying "real" vendor ROM. The results are
>> predictably awful.
>>
>> So what you really want is a ROM with a specific driver included (not
>> UNDI). Also, consider using gPXE instead of Etherboot.
>>
>> Happy hacking :-)
>>
>> -- Josh
>> Sent via BlackBerry by AT&T
>>
>> -----Original Message-----
>> From: Sean Shoufu Luo <luoshoufu at gmail.com>
>> Date: Thu, 17 Jun 2010 10:48:36
>> To: <gpxe-devel at etherboot.org>
>> Subject: [gPXE-devel] what is undi.zrom in gPXE?
>>
>> _______________________________________________
>> gPXE-devel mailing list
>> gPXE-devel at etherboot.org
>> http://etherboot.org/mailman/listinfo/gpxe-devel
>>
>
>
>
> --
> Face to sun
>


More information about the gPXE-devel mailing list