While going through Linux Kernel Source tree, found certain folders, explanation of which was not seen in the popular sites. Could someone tell why these folders are there like:

  • block - This is not the block folder in the driver directory
  • security
  • sound
  • tools
  • usr
  • virt
  • If you browse into those folders, and read the Kconfig and other files, you can work out what they're for. For example, /virt appears to contain the kvm kernel stuff. Jul 8, 2013 at 12:40

1 Answer 1


Here are some basic descriptions of these directories.

  • block - This contains code for the kernel block layer. It's the generic block code. The drivers in drivers/block are device-specific.
  • security - Code for apparmor, selinux, securityfs, capabilities, etc.
  • sound - Code for sound. The ALSA code lives here.
  • tools - Tools for testing, information generation, data dumps, etc. This toolset is separate from the kernel. It contains a bunch of little tools. None of the code under tools is built into the kernel. It's its own little sub-project of sorts.
  • usr - There's a utility for generating an initial CPIO here.
  • virt - KVM-specific code

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .