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. ["/HowToApplyAPatch"] How do I apply a patch?
  4. ["KernelHackingTools"] Are there any good IDEs? How do I handle all this code?

  5. ["/CompileVendorDriver"] How do I compile a 3rd party device driver ?

  6. ["/LinuxKernelModuleCompile"] How can I compile a Linux Kernel Module ?

  7. ["/LinuxKernelDebug101"] Whats the easiest way to debug ?

  8. ["CareerAdvice"] How do I get a job as kernel hacker?

  9. ["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. ["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. ["/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. ["/WhereIsbad_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"] Why is there a function on my stack trace that does not get called?


KernelNewbies: FAQ (last edited 2006-08-19 04:43:10 by RikvanRiel)