1851
Comment: sort the FAQ into categories
|
3023
|
Deletions are marked like this. | Additions are marked like this. |
Line 6: | Line 6: |
1. ["/KernelCrossCompilation"] How do I cross compile a kernel? | |
Line 7: | Line 8: |
1. ["/IDEs"] Are there any good IDEs? How do I handle all this code? | 1. ["KernelHackingTools"] Are there any good IDEs? How do I handle all this code? |
Line 10: | Line 11: |
1. ["/LinuxKernelDebug101"] Whats the easiest way to debug ? 1. ["CareerAdvice"] How do I get a job as kernel hacker? 1. ["UpstreamMerge"] How do I get my code into the upstream kernel? |
|
Line 16: | Line 20: |
1. ["/DoINeedToKnowAssembler"] Do I need to know assembler to hack the kernel? 1. ["DoesNotWork"] I built my own kernel, but it does not work. What's the problem? |
|
Line 27: | Line 33: |
1. ["/LinkedLists"] How does the kernel implements linked lists? 1. ["/WhyWritingFilesFromKernelIsBad"] Why reading/writing files from the kernel is bad, and how to do otherwise ? |
|
Line 31: | Line 39: |
1. ["/current"] How does the `current` macro helps you access your process-related record? | |
Line 35: | Line 44: |
1. ["/InitExitMacros"] What are the __init and __exit macros ? 1. ["/WhereIs__bad_udelay"] Now, where is __bad_udelay defined? |
1. ["/InitExitMacros"] What are the _``_init and _``_exit macros ? 1. ["/WhereIs__bad_udelay"] Now, where is _``_bad_udelay defined? |
Line 38: | Line 47: |
1. ["/down"] What is that jmp 1b doing out there? 1. ["/TestWpBit"] test_wp_bit magic, or how exception fixups work. 1. ["/BUG"] How does BUG() work? 1. ["/StackTrace"] i. Why is there a function on my stack trace that does not get called? i. 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? |
If you are working on answering a frequently asked question, please add it to ["FAQsInProgress"].
How do I ...?
["/KernelCompilation"] How do I compile a kernel?
["/KernelCrossCompilation"] How do I cross compile a kernel?
- ["/HowToApplyAPatch"] How do I apply a patch?
["KernelHackingTools"] Are there any good IDEs? How do I handle all this code?
["/CompileVendorDriver"] How do I compile a 3rd party device driver ?
["/LinuxKernelModuleCompile"] How can I compile a Linux Kernel Module ?
["/LinuxKernelDebug101"] Whats the easiest way to debug ?
["CareerAdvice"] How do I get a job as kernel hacker?
["UpstreamMerge"] How do I get my code into the upstream kernel?
Kernelnewbies questions
["/VariousKernelTrees"] What are the various kernel trees for ?
- ["/WhereDoIBegin"] Where do I begin?
["/People on KernelNewBies"] Who can I find on #kernelnewbies?
- ["/DoINeedToKnowAssembler"] Do I need to know assembler to hack the kernel?
["DoesNotWork"] I built my own kernel, but it does not work. What's the problem?
Kernel hacking
["/VariousKernelTrees"] What are the various kernel trees for ?
- ["/System.map"] What is the System.map file?
["/MajorMinor"] What major/minor does XXX have ?
["/CodingStyle"] What coding style should I use?
["/LikelyUnlikely"] What means the macros likely() and unlikely() ?
- ["/Preemption"] What does preemption mean ? Is it available under Linux ?
["/LibraryFunctionsInKernel"] Can I use library functions in the kernel ?
["/SyscallTrace"] How do I intercept system calls ?
["/LinkedLists"] How does the kernel implements linked lists?
["/WhyWritingFilesFromKernelIsBad"] Why reading/writing files from the kernel is bad, and how to do otherwise ?
Linux kernel gotchas
["/get_current"] How does get_current() work?
["/current"] How does the current macro helps you access your process-related record?
["/ExternAndStaticInlineVariable"] What's the difference between extern and static inline?
["/DoWhile0"] Why do a lot of #defines in the kernel use do { ... } while (0)?
["/LikelyUnlikely"] What do the macros likely() and unlikely() mean?
["/ContainerOf"] What is container_of ? How does it work ?
["/InitExitMacros"] What are the __init and __exit macros ?
["/WhereIsbad_udelay"] Now, where is __bad_udelay defined?
["/asmlinkage"] What is asmlinkage ?
- ["/down"] What is that jmp 1b doing out there?
["/TestWpBit"] test_wp_bit magic, or how exception fixups work.
- ["/BUG"] How does BUG() work?
["/StackTrace"]
- Why is there a function on my stack trace that does not get called?
- How do I manually get a stack trace?
Hardware Questions
["/HyperthreadingDoesNotWork"] My CPU says it can do hyperthreading. Why do I only see one thread?
["CategoryFAQ"]