Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
faq:drivers [2010/02/13 11:46]
stefanha
faq:drivers [2010/02/13 12:00]
stefanha
Line 28: Line 28:
 === Can open source Linux or BSD drivers be used with gPXE? === === Can open source Linux or BSD drivers be used with gPXE? ===
  
-No.  Although the gPXE driver API is similar to the Linux API, drivers are not compatible at the source or binary level. ​ Open source drivers can be used as a starting point for developing gPXE drivers. ​ This is especially useful for network cards where no datasheet is available from the vendor.+No.  Although the gPXE driver API is similar to the Linux API, drivers are not compatible at the source or binary level. ​ Open source drivers can be ported to gPXE or used as a starting point for developing gPXE drivers. ​ This is especially useful for network cards where no datasheet is available from the vendor.
  
 === How can I use the UNDI driver if there is no native driver? === === How can I use the UNDI driver if there is no native driver? ===
 +
 +The UNDI driver is a generic driver that works on network cards that have a vendor UNDI ROM.  The ROM contains driver code that is supposed to conform to the PXE/UNDI specification. ​ gPXE can load the UNDI driver and use it instead of a native driver.
 +
 +Depending on the gPXE image type, UNDI support works as follows:
 +  - ''​undionly.kpxe''​ is loaded from a vendor PXE stack and uses UNDI on the network card that it was booted from.
 +  - All-driver (''​gpxe''​) or ''​undi''​ images can load the UNDI for PCI network cards. ​ The network boot ROM must be enabled in the BIOS in order for the UNDI ROM to be visible to gPXE.  Note that only the first network card is supported with UNDI since multiple instances of UNDI is unreliable and cannot be supported.
  
 === Why write native drivers if UNDI works with every network card? === === Why write native drivers if UNDI works with every network card? ===
 +
 +  - gPXE is an open source PXE stack and provides UNDI services. ​ gPXE cannot be used as an option ROM without a native driver.
 +  - UNDI is slow because gPXE must switch CPU modes when calling it.
 +  - UNDI ROMs can be buggy or violate the PXE specification. ​ Native drivers are known to work with gPXE and can be fixed if there is a bug since they are part of the gPXE codebase.
 +  - Enabling the network boot ROM in the BIOS is not always possible or desirable.

Navigation

* [[:start|Home]] * [[:about|About our Project]] * [[:download|Download]] * [[:screenshots|Screenshots]] * Documentation * [[:howtos|HowTo Guides]] * [[:appnotes|Application Notes]] * [[:faq:|FAQs]] * [[:doc|General Doc]] * [[:talks|Videos, Talks, and Papers]] * [[:hardwareissues|Hardware Issues]] * [[:mailinglists|Mailing lists]] * [[http://support.etherboot.org/|Bugtracker]] * [[:contributing|Contributing]] * [[:editing_permission|Wiki Edit Permission]] * [[:wiki:syntax|Wiki Syntax]] * [[:contact|Contact]] * [[:relatedlinks|Related Links]] * [[:commerciallinks|Commercial Links]] * [[:acknowledgements|Acknowledgements]] * [[:logos|Logo Art]]

QR Code
QR Code faq:drivers (generated for current page)