8 Linux is a POSIX-compatible modern operating system developed since
9 1991, released under the GPLv2, with contributions by thousands of
10 people. It is mostly written in C, with some assembly code.
12 It has grown from a non-portable Intel 386 code with thousands lines to
13 a portable code with support for dozens of architectures and hundreds
14 machines and millions of code.
16 # When there was no Linux
22 * Finnish student Linus Torvalds
27 * Torvalds and Tanenbaum flamewar
28 * People's contributions
32 Since version 1.2, it has supported more than only Intel x86
33 architectures, including now SPARC, PowerPC, ARM, Alpha, M68K, MIPS,
34 S/390, and many others.
36 Since version 2.0, it has supported SMP systems, now running in systems
37 with hundreds of processors, multi-core processors, etc. Since then, its
38 SMP support has put to scale, with most bottlenecks removed.
45 - Andrew Tridgell starts reverse-engineering the storage and
49 # GregKH presentations
51 * Linux's growth in the 2.6 cycle
55 # The old development model
58 * Major and minor versions and releases
59 * Even minor versions are stable
60 * Odd minor versions are for development
62 # There is no Linux 2.7
64 * Development cycles were getting long
65 * Sometimes, people talk about 3.0 and breaking stuff
66 * A new development model
68 # The new versioning model
70 * After a given release, there are stable point releases: 2.6.33.X
71 * Release candidates are published by Linus: 2.6.34-rcX
72 * There is a linux-next tree that will help development for the next
75 # The development model (or how Linus gets all those changes)
77 * There are subsystems and there are maintainers for those
78 * People Linus trusts who asks for pulls or send patches
79 * People send patches to maintainers and to LKML for review
80 * Andrew Morton does the "missing patches" collection
84 * Documentation/SubmittingPatches
85 * Documentation/CodingStyle
86 * Documentation/SubmitChecklist
89 # The tools people use
93 * scripts/checkpatch.pl
94 * scripts/get\\_maintainer.pl
100 * kernel.org distributes tarballs, patches and "subpatches"
101 * ketchup makes it easier to get the right files
102 * Reduces download time
103 * Do not forget to import GPG keys or disable signature verification
107 * Compare two files or two trees
109 * Include new files: -N
111 * Show C function: -p
115 * Apply changes in a patch file using standard input
116 * patch file is generated using diff
117 * Strip directory prefix: -p N
122 * Organize patch series into a directory
123 * QUILT\\_PATCHES environment variable
124 * quilt new name.patch
127 * quile edit src/file
131 * Never forget to do 'quilt add' before editing a file