Size: 2734
Comment: move external links to the bottom - we need to organize our own content right
|
← Revision 94 as of 2022-10-23 20:46:09 ⇥
Size: 2162
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 1: | Line 1: |
'''Want to become a kernel hacker? Start here:''' | == Background on kernel development == * So you want to be a Linux kernel Hacker? [[KernelDevViewpoint|Read]] what the job is really like. * CareerAdvice for people who want to get a job hacking the kernel * [[StartKernelHacking|Getting started]] on kernel hacking |
Line 3: | Line 6: |
* find a lot of time to read KernelBooks * more ["Documents"] * [http://lxr.linux.no/linux Linux Cross Reference] - browse the source online |
== Kernel history == * Kernel release process [[KernelReleaseProcess]] * Tools used in kernel development [[KernelHackingTools]] == Sending patches == * [[FirstKernelPatch|First patch tutorial.]] * [[MailSetup|Setting up your mail client]] to not mangle patches * [[PatchSeries|Tips]] on how create a patch series * How to write a [[HowToWriteAChangelog| changelog]] * [[https://www.youtube.com/watch?feature=player_embedded&v=fMeH7wqOwXA#!|"I don't want your code"]] a presentation about grumpy kernel maintainers by Greg KH == Static Analysis Tools == * [[Sparse]] is an awesome tool that applies static analysis to find common kernel bugs. * [[http://coccinelle.lip6.fr/documentation.html|Coccinelle]] can be used to create scripts to find and fix common kernel bugs. == More information about the kernel == * [[SMPSynchronisation]] an intro on SMP locking * Useful kernel tutorials, presentations, and [[Documents]] |
Line 7: | Line 25: |
* http://lkml.org/ - here the real kernel hackers are talking * write a simple kernel loadable ["Module"] |
== How To ... == |
Line 10: | Line 28: |
* KernelDebug - debugging bugs * KernelSafari - taking apart the kernel to see how it works |
|
Line 11: | Line 31: |
* join http://www.KernelJanitors.org/, http://LinuxDriverProject.org/ ---- '''WANTED: volunteers to sort the information on this page, to make things easier to find.''' |
* join the [[http://janitor.kernelnewbies.org/|Kernel Janitors]] and/or [[http://LinuxDriverProject.org/|Linux Driver]] projects * KernelHackingTools to edit/navigate/hack the kernel source * write a simple kernel loadable [[Module]] |
Line 19: | Line 37: |
Discuss your questions on ["IRC"], the MailingList or the [http://forum.kernelnewbies.org/ web forum], if you cannot find your answers in these documents: | Discuss your questions on [[IRC]], the MailingList or the [[http://forum.kernelnewbies.org/|web forum]], if you cannot find your answers in these documents: |
Line 21: | Line 39: |
* ["New Kernel Hacking HOWTO"] (right now under-development on kernelnewbies) * ["Linux Kernel Tester's Guide"] * CareerAdvice for people who want to get a job hacking the kernel * From basic to advanced Linux Kernel articles (outdated) http://whatisthekernel.blogspot.com/ Move on to more hands-on activities: |
== Under development == * [[New_Kernel_Hacking_HOWTO]] (right now under-development on kernelnewbies) * [[Linux_Kernel_Tester's_Guide]] |
Line 27: | Line 43: |
* KernelHackingTools to edit/navigate/hack the kernel source * ["Testing"] * [http://mail.nl.linux.org/kernelnewbies/2003-08/msg00347.html Paper on Debugging Kernel OOPs and Hangs] == Some tutorials or projects to inspire you == * ["Drivers"] * ["Simple UDP Server"] * [http://www.linuxdevices.com/articles/AT5340618290.html Writing Portable Device Drivers][[BR]] * PowerManagement * ["SMPSynchronisation"] an intro on SMP locking * ["Networking"] everything network related Put your kernel hacking stuff here and let's help each other learn about the kernel.[[BR]] * KernelPorts --- External links: * [http://en.wikipedia.org/wiki/Linux_kernel Wikipedia article about the Linux kernel] - some history and background * [http://www.ibm.com/developerworks/linux/library/l-linux-kernel/ Anatomy of the Linux kernel] - short and valuable introduction to internals of the kernel * [http://www.makelinux.net/kernel_map Interactive Linux Kernel Map] and [http://www.makelinux.net/kernel_map_poster poster] - Have a look at Linux kernel source from a bird's eye view. * [http://tldp.org/HOWTO/KernelAnalysis-HOWTO.html KernelAnalysis-HOWTO] * [http://lxr.linux.no/linux Linux Cross Reference] - browse the source online * explore more documentation at [http://www.makelinux.net/reference Linux Technology Reference] * [http://tldp.org/HOWTO/Kernel-HOWTO/ Compiling the Linux kernel] or [http://www.osnews.com/story.php?news_id=443 OS News Article][[BR]] |
Background on kernel development
So you want to be a Linux kernel Hacker? Read what the job is really like.
CareerAdvice for people who want to get a job hacking the kernel
Getting started on kernel hacking
Kernel history
Kernel release process KernelReleaseProcess
Tools used in kernel development KernelHackingTools
Sending patches
Setting up your mail client to not mangle patches
Tips on how create a patch series
How to write a changelog
"I don't want your code" a presentation about grumpy kernel maintainers by Greg KH
Static Analysis Tools
Sparse is an awesome tool that applies static analysis to find common kernel bugs.
Coccinelle can be used to create scripts to find and fix common kernel bugs.
More information about the kernel
SMPSynchronisation an intro on SMP locking
Useful kernel tutorials, presentations, and Documents
LinuxChanges and http://LWN.net/Kernel - read about recent developments
How To ...
KernelBuild - build a custom kernel
KernelDebug - debugging bugs
KernelSafari - taking apart the kernel to see how it works
UpstreamMerge How to submit your patch to the upstream kernel.
join the Kernel Janitors and/or Linux Driver projects
KernelHackingTools to edit/navigate/hack the kernel source
write a simple kernel loadable Module
CompleteNewbiesClickHere for some ideas on how to get started.
Discuss your questions on IRC, the MailingList or the web forum, if you cannot find your answers in these documents:
Under development
New_Kernel_Hacking_HOWTO (right now under-development on kernelnewbies)