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

Joshua Oreman oremanj at rwcr.net
Thu Jun 17 14:36:02 EDT 2010


On Thu, Jun 17, 2010 at 11:06 AM, Alessandro Salvatori <sandr8 at gmail.com> wrote:
> would it somehow be possible to burn the gpxe undi rom onto a separate
> extension rom and have that undi rom rely on the driver from the nic
> rom that would still be present and untouched?

Possibly, but this isn't a supported configuration. The danger is that
the gPXE UNDI ROM, because it's a gPXE ROM, also exposes its own UNDI
interface, so when it goes looking for ROMs it may well find itself.

-- Josh

>
> thanks!
> -A
>
> On Thu, Jun 17, 2010 at 08:55, Joshua Oreman <oremanj at rwcr.net> wrote:
>> [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
>>>
>> _______________________________________________
>> gPXE-devel mailing list
>> gPXE-devel at etherboot.org
>> http://etherboot.org/mailman/listinfo/gpxe-devel
>>
>


More information about the gPXE-devel mailing list