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
- Why is there a function on my stack trace that does not get called?
- 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