Syntax highlighting of FAQ

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.

      /HowToApplyAPatch How do I apply a patch?
   5.

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

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

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

      /LinuxKernelDebug101 Whats the easiest way to debug ?
   9.

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

      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.

      /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.

      /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.

      /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? 

    *

      CategoryFAQ