Lines Matching refs:kernel
1 HOWTO do Linux kernel development
5 instructions on how to become a Linux kernel developer and how to learn
6 to work with the Linux kernel development community. It tries to not
7 contain anything related to the technical aspects of kernel programming,
18 So, you want to learn how to become a Linux kernel developer? Or you
25 The kernel is written mostly in C, with some architecture-dependent
27 kernel development. Assembly (any architecture) is not required unless
35 The kernel is written using GNU C and the GNU toolchain. While it
37 not featured in the standard. The kernel is a freestanding C
41 difficult to understand the assumptions the kernel has on the toolchain
59 The Linux kernel source code is released under the GPL. Please see the
62 contact a lawyer, and do not ask on the Linux kernel mailing list. The
73 The Linux kernel source tree has a large range of documents that are
74 invaluable for learning how to interact with the kernel community. When
75 new features are added to the kernel, it is recommended that new
77 When a kernel change causes the interface that the kernel exposes to
81 linux-api@vger.kernel.org.
83 Here is a list of files that are in the kernel source tree that are
86 This file gives a short background on the Linux kernel and describes
87 what is necessary to do to configure and build the kernel. People
88 who are new to the kernel should start here.
92 packages that are necessary to build and run the kernel
96 This describes the Linux kernel coding style, and some of the
116 "Linux kernel patch submission format"
121 not have a stable API within the kernel, including things like:
124 - Mitigating rapid change within the kernel source tree (or
131 If you feel you have found a security problem in the Linux kernel,
132 please follow the steps in this document to help notify the kernel
136 This document describes how Linux kernel maintainers operate and the
138 for anyone new to kernel development (or anyone simply curious about
140 about the unique behavior of kernel maintainers.
143 This file describes the rules on how the stable kernel releases
147 Documentation/kernel-docs.txt
148 A list of external documentation that pertains to kernel
150 are looking for within the in-kernel documentation.
154 apply it to the different development branches of the kernel.
156 The kernel also has a large number of documents that can be
158 full description of the in-kernel API, and rules on how to handle
166 respectively from the main kernel source directory.
172 If you do not know anything about Linux kernel development, you should
176 of basic kernel development question (make sure to search the archives
180 learning about Linux kernel development.
184 some basic logistical information, like how to compile a kernel and
188 some task to start doing to join into the kernel development community,
192 problems that need to be cleaned up and fixed within the Linux kernel
194 will learn the basics of getting your patch into the Linux kernel tree,
198 If you already have a chunk of code that you want to put into the kernel
200 kernel-mentors project was created to help you out with this. It is a
202 http://selenic.com/mailman/listinfo/kernel-mentors
204 Before making any actual modifications to the Linux kernel code, it is
211 repository of the kernel code may be found at:
218 Linux kernel development process currently consists of a few different
219 main kernel "branches" and lots of different subsystem-specific kernel
221 - main 4.x kernel tree
222 - 4.x.y -stable kernel tree
223 - 4.x -git kernel patches
224 - subsystem specific kernel trees and patches
225 - the 4.x -next kernel tree for integration tests
227 4.x kernel tree
230 kernel.org in the pub/linux/kernel/v4.x/ directory. Its development
232 - As soon as a new kernel is released a two weeks window is open,
235 -next kernel for a few weeks. The preferred way to submit big changes
236 is using git (the kernel's source management tool, more information
239 - After two weeks a -rc1 kernel is released it is now possible to push
241 stability of the whole kernel. Please note that a whole new driver
250 release a new -rc kernel every week.
251 - Process continues until the kernel is considered "ready", the
254 linux-kernel mailing list. The goal is to reduce the length of
255 that list to zero before declaring the kernel to be "ready," but, in
259 It is worth mentioning what Andrew Morton wrote on the linux-kernel
260 mailing list about kernel releases:
261 "Nobody knows when a kernel will be released, because it's
265 4.x.y -stable kernel tree
269 regressions discovered in a given 4.x kernel.
272 kernel and are not interested in helping test development/experimental
275 If no 4.x.y kernel is available, then the highest numbered 4.x
276 kernel is the current stable kernel.
278 4.x.y are maintained by the "stable" team <stable@vger.kernel.org>, and
284 The file Documentation/stable_kernel_rules.txt in the kernel tree
290 These are daily snapshots of Linus' kernel tree which are managed in a
296 Subsystem Specific kernel trees and patches
298 The maintainers of the various kernel subsystems --- and also many
299 kernel subsystem developers --- expose their current state of
301 happening in the different areas of the kernel. In areas where
303 onto such a subsystem kernel tree so that conflicts between the
309 of them can be browsed at http://git.kernel.org/.
313 respective section below). For several kernel subsystems, this review
318 http://patchwork.kernel.org/.
320 4.x -next kernel tree for integration tests
326 http://git.kernel.org/?p=linux/kernel/git/next/linux-next.git
328 This way, the -next kernel gives a summary outlook onto what will be
329 expected to go into the mainline kernel at the next merge period.
330 Adventurous testers are very welcome to runtime-test the -next kernel.
336 bugzilla.kernel.org is where the Linux kernel developers track kernel
338 tool. For details on how to use the kernel bugzilla, please see:
339 http://bugzilla.kernel.org/page.cgi?id=faq.html
341 The file REPORTING-BUGS in the main kernel source directory has a good
342 template for how to report a possible kernel bug, and details what kind
343 of information is needed by the kernel developers to help track down the
351 bugs reported by other people. Not only you will help to make the kernel
357 To work in the already reported bug reports, go to http://bugzilla.kernel.org.
370 As some of the above documents describe, the majority of the core kernel
373 http://vger.kernel.org/vger-lists.html#linux-kernel
376 http://dir.gmane.org/gmane.linux.kernel
382 Most of the individual kernel subsystems also have their own separate
387 Many of the lists are hosted on kernel.org. Information on them can be
389 http://vger.kernel.org/vger-lists.html
422 The goal of the kernel community is to provide the best possible kernel
432 Remember, this is part of getting your patch into the kernel. You have
448 the kernel. Or at least be willing to prove your idea is worth it.
459 Differences between the kernel community and corporate structures
462 The kernel community works differently than most traditional corporate
485 Another way the kernel community is different than most traditional
489 The Linux kernel work environment is accepting of women and minorities
493 Most women who have worked in the Linux kernel and have expressed an
506 The Linux kernel community does not gladly accept large chunks of code
534 Here is an analogy from kernel developer Al Viro:
542 The same is true of kernel development. The maintainers and