KernelNewbies
  • Comments
  • Immutable Page
  • Menu
    • Navigation
    • RecentChanges
    • FindPage
    • Local Site Map
    • Help
    • HelpContents
    • HelpOnMoinWikiSyntax
    • Display
    • Attachments
    • Info
    • Raw Text
    • Print View
    • Edit
    • Load
    • Save
  • Login

Kernel Hacking

  • Frontpage

  • Kernel Hacking

  • Kernel Documentation

  • Kernel Glossary

  • FAQ

  • Found a bug?

  • Kernel Changelog

  • Upstream Merge Guide

Projects

  • KernelJanitors

  • KernelMentors

  • KernelProjects

Community

  • Why a community?

  • Regional Kernelnewbies

  • Personal Pages

  • Upcoming Events

References

  • Mailing Lists

  • Related Sites

  • Programming Links

Wiki

  • Recent Changes

  • Site Editors

  • Side Bar

  • Tips for Editors

  • Hosted by WikiWall

Navigation

  • RecentChanges
  • FindPage
  • HelpContents

Upload page content

You can upload content for the page named below. If you change the page name, you can also upload content for another page. If the page name is empty, we derive the page name from the file name.

File to load page content from
Page name
Comment

KernelNewbies:
  • Drivers

For Installing or developing Drivers.

Installing Drivers

  • Linux-kernel mailing list FAQ - see section 2 on device drivers
    Linux support for some Winmodems
    PCMCIA
    USB (includes driver development)

Developing Drivers Tutorial for Newbies

(none, yet)
There are some links in the section below, but they are outdated on certain parts (especially regarding code). They might not be suitable if you are new to the topic.

Developing Drivers

  • Linux Loadable Kernel Module HOWTO (as 1 large html file) (updated 2006)
    Linux Kernel Module Programming Guide(updated 2001)
    Linux Device Drivers 2nd for 2.4.x (whole book online) (updated 2001)
    Linux Device Drivers 3rd for 2.6.x (whole book online) (updated 2005)
    Misc Character Drivers(updated 1998)
    I/O port programming mini-HOWTO(updated 2000)

Advanced Topics

  • Porting device drivers to the 2.6 kernel(updated 2004)
    Reference: WritingPortableDrivers(updated 2017)
    User Level Drivers: see https://www.linuxjournal.com/article/5442, https://www.embedded.com/device-drivers-in-user-space/, and https://lwn.net/Articles/703785/<<BR>>

    MindShare, Inc has a nice series of books on various bus protocols, including PCI, USB, PCMCIA and Cardbus.

    KernelCodeRepository : users kernel code

Misc Links that Might Help

  • linuxassembly.org

  • MoinMoin Powered
  • Python Powered
  • GPL licensed
  • Valid HTML 4.01