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?

  2. /KernelCrossCompilation How do I cross compile a kernel?

  3. /DisklessImages An Introduction to Diskless Booting.

  4. /CodeBrowsing How to browse through the code?

  5. /HowToApplyAPatch How do I apply a patch?

  6. KernelHackingTools Are there any good IDEs? How do I handle all this code?

  7. /CompileVendorDriver How do I compile a 3rd party device driver ?

  8. /LinuxKernelModuleCompile How can I compile a Linux Kernel Module ?

  9. /LinuxKernelDebug101 Whats the easiest way to debug ?

  10. CareerAdvice How do I get a job as kernel hacker?

  11. UpstreamMerge How do I get my code into the upstream kernel?

Kernelnewbies questions

  1. /VariousKernelTrees What are the various kernel trees for ?

  2. /WhereDoIBegin Where do I begin?

  3. /People on KernelNewBies Who can I find on #kernelnewbies?

  4. /DoINeedToKnowAssembler Do I need to know assembler to hack the kernel?

  5. /DoINeedToKnowHardware Do I need to know a lot about hardware to hack the kernel?

  6. 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 ?

  2. / What is the file?

  3. /MajorMinor What major/minor does XXX have ?

  4. /CodingStyle What coding style should I use?

  5. /LikelyUnlikely What means the macros likely() and unlikely() ?

  6. /Preemption What does preemption mean ? Is it available under Linux ?

  7. /LibraryFunctionsInKernel Can I use library functions in the kernel ?

  8. /SyscallTrace How do I intercept system calls ?

  9. /LinkedLists How does the kernel implements linked lists?

  10. /Hashtables How does the kernel implements hashtables? [Under construction]

  11. /WhyWritingFilesFromKernelIsBad Why reading/writing files from the kernel is bad, and how to do otherwise ?

Linux kernel gotchas

  1. /get current How does get_current() work?

  2. /current How does the current macro helps you access your process-related record?

  3. /ExternAndStaticInlineVariable What's the difference between extern and static inline?

  4. /DoWhile0 Why do a lot of #defines in the kernel use do { ... } while (0)?

  5. /LikelyUnlikely What do the macros likely() and unlikely() mean?

  6. /ContainerOf What is container_of ? How does it work ?

  7. /InitExitMacros What are the __init and __exit macros ?

  8. FAQ/WhereIs bad udelay Now, where is __bad_udelay defined?

  9. /asmlinkage What is asmlinkage ?

  10. /down What is that jmp 1b doing out there?

  11. /TestWpBit test_wp_bit magic, or how exception fixups work.

  12. /BUG How does BUG() work?

  13. /StackTrace

    1. Why is there a function on my stack trace that does not get called?
    2. How do I manually get a stack trace?
  14. BootSectorAndKernelImage Why does the kernel no longer directly boot from floppy?

  15. /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. /InotifyDnotify Inotify vs Dnotify architecture: How to use it?

  2. /procfs How does the /proc filesystem work?

Memory Management Questions

  1. /devkmem What are the purpose of /dev/kmem? How to use it?

KernelNewbies: FAQ (last edited 2017-12-30 01:30:14 by localhost)