Re: [Etherboot-developers] DHCP option 175
Brought to you by:
marty_connor,
stefanhajnoczi
|
From: <ebi...@ln...> - 2002-05-22 00:44:10
|
Michael Brown <mb...@fe...> writes:
> I have just committed some very small (8 lines total) changes to
> etherboot.h, nic.h, config.c, main.c. Etherboot will now send the NIC
> driver name (e.g. "RTL8139") as vendor option 175 in the DHCPREQUEST
> packet.
>
> The idea behind this is that the DHCP server can use the contents of this
> option field to determine the value of the "filename" in the DHCPACK. In
> this way, Etherboot can be directed to automatically download an
> appropriate kernel+initrd image. The dhcpd.conf file could contain, for
> example:
>
> option etherboot-driver code 175 = string;
>
> if option etherboot-driver = "Prism2_PCI" {
> filename "boot-prism2_pci.nbi";
> } elsif option etherboot-driver = "RLT8139" {
> filename "boot-8139too.nbi";
> } elsif ... {
> ...
> } else {
> filename = concat ( "boot-", option etherboot-driver, ".nbi" );
> }
>
> This is part of my efforts to automate some (all!) of the work in building
> initrds - watch for the addition of mkinitrd-net to contrib sometime soon.
>
> I have updated vendortags.{sgml,html,txt} in doc/ to cover the new option.
>
> Enjoy! If my changes break anything, please let me know asap.
Request.
Can we change this to return the PCI vendor id and device id's. This
makes changes in etherboot transparent to configurations.
Something like:
"PCI:8086:1229" for an Intel NIC
"PCI:10b7:9805" for a 3COM NIC
For PNPISA devices there is a similiar string we can use. And for
straight ISA we might want to just use the vendor and part number.
Especially as there aren't 1-1 mappings between etherboot and foobar.
Additionally we need one more piece of information to cross the wire.
The locations in RAM that are useable, for the loaded image. So you
can check the location a ramdisk and kernel are loading before you
send a file across the wire. The primary thing this would catch is if
an initrd or kernel is to big to fit in ram.
Eric
|