Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

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
share|improve this question
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. – EightBitTony Jul 8 '13 at 12:40

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
share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.