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
Revision 6 as of 2006-08-02 04:29:04
KernelNewbies:
  • KernelHackingTools

This page provides information about the available tools to help edit / navigate / hack the Kernel source:

Downloading

Kernel source management with git

If you want to download the lastest kernel source, you need git. You can get it from [http://git.or.cz/index.html here].

  • There is a very good [http://linux.yyz.us/git-howto.html Kernel Hackers' Guide to git]

  • [http://www.wlug.org.nz/KernelDevelopmentWithGit Kernel Development With Git]

Kernel tarballs

The alternative, more "classic", way to download a kernel source tree release is to pull it from http://kernel.org/ as a compressed archive file.

Navigation Aid

Many tools allow you to index the entire kernel source tree to faciliate its browsing. This makes learning to find your landmarks in the code a lot easier and allow you to quickly find the declarations / definitions of unknown data structures.

Indexing tools

  • [http://lxr.linux.no/ LXR project] : Nice website to browse the kernel source, search for identifiers, and diff between kernel versions. Uses [http://sourceforge.net/projects/lxr/ lxr] as its backend.

  • Gonzui http://softice.lakeland.usf.edu/wiki/index.php/Setting_up_Gonzui

Online browsing sites

Some websites make it their duty to archive indexed kernel source trees:

  • [http://lxr.linux.no/source/ LXR Project]

  • [http://www.kernelhq.org/ KernelHQ] : Another website to browse/navigate the kernel source. Has all the kernel sources since 1.0.

  • [http://fxr.watson.org/ FXR watson] FreeBSD and Linux Kernel Cross-Reference

  • (An archive of all kernel versions was [http://www.memalpha.cx/Linux/Kernel/ here].)

Navigation Utilities

The following help you incorporate such browsing capabilities in editors:

  • [http://ctags.sourceforge.net/ ctags]

  • [http://cscope.sourceforge.net/ cscope]. Tutorials: [http://cscope.sourceforge.net/large_projects.html Using with large projects], [http://cscope.sourceforge.net/cscope_vim_tutorial.html Using Cscope with Vim].

Version Control

Navigate the changesets applied to:

  • [http://kernel.org/git/?p=linux/kernel/git/marcelo/linux-2.4.git;a=summary linux-2.4]

  • [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=summary linux-2.6]

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