If you are working on answering a frequently asked question, please add it to [[FAQsInProgress]].

== How do I ...? ==
 1. /KernelCompilation How do I compile a kernel?
 1. /KernelCrossCompilation How do I cross compile a kernel?
 1. /DisklessImages An Introduction to Diskless Booting.
 1. /CodeBrowsing How to browse through the code?
 1. [[/HowToApplyAPatch]] How do I apply a patch?
 1. KernelHackingTools Are there any good IDEs? How do I handle all this code?
 1. /CompileVendorDriver How do I compile a 3rd party device driver ?
 1. /LinuxKernelModuleCompile How can I compile a Linux Kernel Module ?
 1. /LinuxKernelDebug101 Whats the easiest way to debug ?
 1. CareerAdvice How do I get a job as kernel hacker?
 1. UpstreamMerge How do I get my code into the upstream kernel?
== Kernelnewbies questions ==
 1. /VariousKernelTrees What are the various kernel trees for ?
 1. [[/WhereDoIBegin]] Where do I begin?
 1. [[FAQ/People_on_KernelNewBies|/People on KernelNewBies]] Who can I find on #kernelnewbies?
 1. [[/DoINeedToKnowAssembler]] Do I need to know assembler to hack the kernel?
 1. [[/DoINeedToKnowHardware]] Do I need to know a lot about hardware to hack the kernel?
 1. DoesNotWork I built my own kernel, but it does not work.  What's the problem?
== Kernel hacking ==
 1. /VariousKernelTrees What are the various kernel trees for ?
 1. [[/System.map]] What is the System.map file?
 1. /MajorMinor What major/minor does XXX have ?
 1. /CodingStyle What coding style should I use?
 1. /LikelyUnlikely What means the macros `likely()` and `unlikely()` ?
 1. [[/Preemption]] What does preemption mean ? Is it available under Linux ?
 1. /LibraryFunctionsInKernel Can I use library functions in the kernel ?
 1. /SyscallTrace How do I intercept system calls ?
 1. /LinkedLists How does the kernel implements linked lists?
 1. [[/Hashtables]] How does the kernel implements hashtables? [Under construction]
 1. /WhyWritingFilesFromKernelIsBad Why reading/writing files from the kernel is bad, and how to do otherwise ?
== Linux kernel gotchas ==
 1. [[FAQ/get_current|/get current]] How does `get_current()` work?
 1. [[/current]] How does the `current` macro helps you access your process-related record?
 1. /ExternAndStaticInlineVariable What's the difference between extern and static inline?
 1. /DoWhile0 Why do a lot of `#defines` in the kernel use `do { ... } while (0)`?
 1. /LikelyUnlikely What do the macros `likely()` and `unlikely()` mean?
 1. /ContainerOf What is ''container_of'' ? How does it work ?
 1. /InitExitMacros What are the _``_init and _``_exit macros ?
 1. [[FAQ/WhereIs  bad udelay]] Now, where is _``_bad_udelay defined?
 1. [[/asmlinkage]] What is `asmlinkage` ?
 1. [[/down]] What is that jmp 1b doing out there?
 1. /TestWpBit test_wp_bit magic, or how exception fixups work.
 1. [[/BUG]] How does BUG() work?
 1. /StackTrace
  i. Why is there a function on my stack trace that does not get called?
  i. How do I manually get a stack trace?
 1. BootSectorAndKernelImage Why does the kernel no longer directly boot from floppy?
 1. /FastpathAndSlowpath What is the difference between terms: "Fast path" and "Slow path" ?
== Hardware Questions ==
 1. /HyperthreadingDoesNotWork My CPU says it can do hyperthreading. Why do I only see one thread?
== Filesystem Questions ==
 1. [[FAQ/InotifyDnotify|/InotifyDnotify]]   Inotify vs Dnotify architecture:   How to use it?
 1. [[FAQ/Procfs|/procfs]]   How does the /proc filesystem work?
== Memory Management Questions ==
 1. [[FAQ/devkmem|/devkmem]] What are the purpose of /dev/kmem?   How to use it?
----
 . [[CategoryFAQ]]