Size: 3574
Comment:
|
← Revision 15 as of 2017-12-30 07:19:28 ⇥
Size: 3356
Comment: converted to 1.6 markup
|
Deletions are marked like this. | Additions are marked like this. |
Line 1: | Line 1: |
If you are working on answering a frequently asked question, please add it to FAQsInProgress. | 如果你正在撰寫回答常用問答集, 請把它加到 [[FAQInProgress|FAQInProgress.]] |
Line 3: | Line 3: |
How do I ...? | 我如何 ... ? |
Line 5: | Line 5: |
1. | 1. . /KernelCompilation 我如何 編譯核心? 1. . /KernelCrossCompilation 我如何跨平臺編譯核心? 1. . /DisklessImages 無磁碟開機簡介. 1. . /HowToApplyAPatch 我如何應用修補程式. 1. . KernelHackingTools 有任何好的IDE嗎? 我如何處理這些程式碼? 1. . /CompileVendorDriver 我如何編譯第三方設備驅動程式? 1. . /LinuxKernelModuleCompile 我如何編譯Linux核心模組? 1. . /LinuxKernelDebug101 哪種方式最容易除錯? 1. . CareerAdvice 我如何獲得像核心駭客的工作? 1. . UpstreamMerge 我如何讓我的程式碼進入上游核心? |
Line 7: | Line 16: |
/KernelCompilation How do I compile a kernel? 2. |
核心新手 問題 |
Line 10: | Line 18: |
/KernelCrossCompilation How do I cross compile a kernel? 3. |
1. . /VariousKernelTrees 各類型的核心分支 有何作用? 1. . /WhereDoIBegin 我從何開始? 1. . /People 在 KernelNewBies 上我可以在#kernelnewbies遇到誰? 1. . /DoINeedToKnowAssembler 我需要知到組合語言以便客探索核心嗎? 1. . /DoINeedToKnowHardware 我需要知道許多硬體相關以探索核心嗎? 1. . DoesNotWork 我建構我自己的核心, 但他沒有如期作用. 問題出在哪? |
Line 13: | Line 25: |
/DisklessImages An Introduction to Diskless Booting. 4. |
核心探索 |
Line 16: | Line 27: |
/HowToApplyAPatch How do I apply a patch? 5. |
1. . /VariousKernelTrees 為何有不同的核心分支? 1. . /System.map 是什麼檔? 1. . /MajorMinor XXX 有什麼 主要/ 次要的東西? 1. . /CodingStyle 我該使用那種編寫程式風格? 1. . /LikelyUnlikely 巨集 likely() 和 unlikely() 代表什麼意思? 1. . /Preemption 先佔式是什麼意思 ? 這在Linux底下可用嗎? 1. . /LibraryFunctionsInKernel 我可以在核心裡使用函式庫功能嗎? 1. . /SyscallTrace 如何偵測系統呼叫? 1. . /LinkedLists 核心如何實作 連結串列? 1. . /WhyWritingFilesFromKernelIsBad 為何從核心讀/寫檔案是不好的, 如何換個方式達成目地? |
Line 19: | Line 38: |
KernelHackingTools Are there any good IDEs? How do I handle all this code? 6. |
捕捉 Linux 核心 |
Line 22: | Line 40: |
/CompileVendorDriver How do I compile a 3rd party device driver ? 7. |
1. . /get current get_current() 如何運作? 1. . /current current 巨集如何幫助你 存取 行程相關的記錄? 1. . /ExternAndStaticInlineVariable extern 和 static inline 之間有何不同? 1. . /DoWhile0 為何有核心裡的 #defines 大量使用 do { ... } while (0)? 1. . /LikelyUnlikely 巨集 likely() 和 unlikely() 意思為何? 1. . /ContainerOf 什麼是 container_of ? 它如合運作 ? 1. . /InitExitMacros __init 和 __exit 巨集有何作用 ? 1. . /WhereIs bad udelay 現在, __bad_udelay 在那裡定義? 1. . /asmlinkage asmlinkage 是什麼? 1. . /down 那個 jmp 1b 在那作何用處? 1. . /TestWpBit test_wp_bit 巧妙, 或 例外修正如何運作. 1. . /BUG BUG() 功能如何運作? 1. . /StackTrace 1. 為何有個功能在我的堆疊中沒有被呼叫? 1. 我如何手動取得堆疊? 1. . BootSectorAndKernelImage 為何核心不再直接從磁片開機? 1. . /FastpathAndSlowpath "Fast path" 和 "Slow path" 術語之間的差別在哪 ? |
Line 25: | Line 58: |
/LinuxKernelModuleCompile How can I compile a Linux Kernel Module ? 8. |
硬體問題 |
Line 28: | Line 60: |
/LinuxKernelDebug101 Whats the easiest way to debug ? 9. |
1. . /HyperthreadingDoesNotWork 我的 CPU 說它可以 執行超執行緒. 為何我只看到一道執行緒?? |
Line 31: | Line 62: |
CareerAdvice How do I get a job as kernel hacker? 10. |
檔案系統問題 |
Line 34: | Line 64: |
UpstreamMerge How do I get my code into the upstream kernel? | 1. /InotifyDnotify Inotify vs Dnotify 架構: 如何使用它? 2. /procfs /proc 檔案系統如何運作? |
Line 36: | Line 67: |
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 |
記憶體管理問題 1. /devkmem /dev/kmem的目地為何? 如何使用它? |
如果你正在撰寫回答常用問答集, 請把它加到 FAQInProgress.
我如何 ... ?
. /KernelCompilation 我如何 編譯核心?
. /KernelCrossCompilation 我如何跨平臺編譯核心?
. /DisklessImages 無磁碟開機簡介.
- . /HowToApplyAPatch 我如何應用修補程式.
. KernelHackingTools 有任何好的IDE嗎? 我如何處理這些程式碼?
. /CompileVendorDriver 我如何編譯第三方設備驅動程式?
. /LinuxKernelModuleCompile 我如何編譯Linux核心模組?
. /LinuxKernelDebug101 哪種方式最容易除錯?
. CareerAdvice 我如何獲得像核心駭客的工作?
. UpstreamMerge 我如何讓我的程式碼進入上游核心?
核心新手 問題
. /VariousKernelTrees 各類型的核心分支 有何作用?
- . /WhereDoIBegin 我從何開始?
. /People 在 KernelNewBies 上我可以在#kernelnewbies遇到誰?
- . /DoINeedToKnowAssembler 我需要知到組合語言以便客探索核心嗎?
- . /DoINeedToKnowHardware 我需要知道許多硬體相關以探索核心嗎?
. DoesNotWork 我建構我自己的核心, 但他沒有如期作用. 問題出在哪?
核心探索
. /VariousKernelTrees 為何有不同的核心分支?
- . /System.map 是什麼檔?
. /MajorMinor XXX 有什麼 主要/ 次要的東西?
. /CodingStyle 我該使用那種編寫程式風格?
. /LikelyUnlikely 巨集 likely() 和 unlikely() 代表什麼意思?
- . /Preemption 先佔式是什麼意思 ? 這在Linux底下可用嗎?
. /LibraryFunctionsInKernel 我可以在核心裡使用函式庫功能嗎?
. /SyscallTrace 如何偵測系統呼叫?
. /LinkedLists 核心如何實作 連結串列?
. /WhyWritingFilesFromKernelIsBad 為何從核心讀/寫檔案是不好的, 如何換個方式達成目地?
捕捉 Linux 核心
- . /get current get_current() 如何運作?
- . /current current 巨集如何幫助你 存取 行程相關的記錄?
. /ExternAndStaticInlineVariable extern 和 static inline 之間有何不同?
. /DoWhile0 為何有核心裡的 #defines 大量使用 do { ... } while (0)?
. /LikelyUnlikely 巨集 likely() 和 unlikely() 意思為何?
. /ContainerOf 什麼是 container_of ? 它如合運作 ?
. /InitExitMacros init 和 exit 巨集有何作用 ?
. /WhereIs bad udelay 現在, bad_udelay 在那裡定義?
- . /asmlinkage asmlinkage 是什麼?
- . /down 那個 jmp 1b 在那作何用處?
. /TestWpBit test_wp_bit 巧妙, 或 例外修正如何運作.
- . /BUG BUG() 功能如何運作?
- 為何有個功能在我的堆疊中沒有被呼叫?
- 我如何手動取得堆疊?
. BootSectorAndKernelImage 為何核心不再直接從磁片開機?
. /FastpathAndSlowpath "Fast path" 和 "Slow path" 術語之間的差別在哪 ?
硬體問題
. /HyperthreadingDoesNotWork 我的 CPU 說它可以 執行超執行緒. 為何我只看到一道執行緒??
檔案系統問題
/InotifyDnotify Inotify vs Dnotify 架構: 如何使用它?
- /procfs /proc 檔案系統如何運作?
記憶體管理問題
- /devkmem /dev/kmem的目地為何? 如何使用它?