Differences

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

Link to this comparison view

Both sides previous revision Previous revision
Last revision Both sides next revision
faq:drivers [2010/02/13 12:00]
stefanha
faq:drivers [2010/02/13 12:18]
stefanha
Line 29: Line 29:
  
 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. 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.
 +
 +=== Where do I start with developing a new driver? ===
 +
 +You must be able to program in C.  Device driver development knowledge on other platforms is useful but not required.
 +
 +[[http://​etherboot.org/​wiki/​soc/​2008/​mdeck/​notes/​gpxe_driver_api|Michael Decker'​s gPXE driver API documentation]] shows the interface that a driver must implement.
 +
 +Study the code in ''​gpxe/​src/​drivers/​net''​. ​ The ''​rtl8139''​ and ''​r8169''​ drivers are good examples. ​ Note that some drivers are not written for the gPXE API but use a wrapper for the legacy Etherboot API instead. ​ New drivers should use the gPXE API.
 +
 +[[http://​lwn.net/​Kernel/​LDD3/​|Linux Device Drivers]] is a good reference for understanding Linux drivers and learning general driver development concepts.
  
 === 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? ===

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