KernelNewbies:

chongIf 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. [:FAQ/People on KernelNewBies:/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?

  6. BootSectorAndKernelImage What is the relationship between the boot loader and the first sector of the kernel image itself?

Kernel hacking

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

  2. ["/System.map"] What is the System.map 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. [:FAQ/get current:/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:/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?

Hardware Questions

  1. /HyperthreadingDoesNotWork My CPU says it can do hyperthreading. Why do I only see one thread?


KernelNewbies: FAQ (last edited 2006-09-16 09:07:12 by tm)