Home / Latest Videos /

Kernel Browsing and Hacking using KDevelop

Details

Summary

One of the most frequent request from kernel newbies is a way to easily explore its source code. LXR or ctags somehow do the job, but require tedious configuration and work on the entire source, producing zillions of references to unused drivers. kdev-kernel is a plugin that turns KDevelop into the ultimate kernel browsing (and hacking?) tool. Using the kernel configuration to tune the code parser and limit its action to relevant files, symbol lookup becomes configuration-aware and only returns results of interest. All the features of KDevelop (code completion, refactoring, ...) are also usable. Configuration and build are integrated, and a working kernel can be produced straight from the IDE. The main target is the kernel beginner who wants to explore the source code and hack from the comfort of a modern IDE, but experienced hackers may also see that there is life beyond Vi and Emacs.

Tags

Comments

Subscribe to Comments Feed
  • Don Said:

    Wow, looks amazing. I'll definitely have to try KDevelop and this plugin. Looks like it will make learning about Linux kernel a lot easier.

  • M. P. Grosvenor Said:

    Fail at 12:40. Please explain why Eclipse with the CDT plugin is not sufficient? I've been using it Linux Driver development without a hitch. The C/C++ support is actually very good.

  • Alexandre Courbot Said:

    Slides are available at https://events.linuxfoundation.org/images/stories/pdf/lcjp2012_courbot.pdf if you want to see the remainder offline. Preferring KDevelop over Eclipse is purely a matter of taste ; but overall I find KDev lighter, snappier, more convenient to use than Eclipse (especially for browsing code), and easier to shape to my preferences. Also, the idea behind kdev-kernel is to integrate the kernel workflow (configuration, compilation, git, etc.) and to process the kernel configuration in order to configure the parser accordingly and limit its scope to the code that matters. A similar plugin could definitely be built for Eclipse. I just happen to like KDevelop more.