Mercurial > hg > kdocs
annotate master.idx @ 68:1f41643cfe8e
Move and update the cross compile stuff, note differences between pipe/file/tty,
add a few quick notes about OLS papers to link to.
author | Rob Landley <rob@landley.net> |
---|---|
date | Wed, 10 Oct 2007 16:49:45 -0500 |
parents | 992a411c98b6 |
children | 0c10e3aad7d2 |
rev | line source |
---|---|
47
0df6348fc276
Teach indexsections to output index and contents in one pass, and put index
Rob Landley <rob@landley.net>
parents:
40
diff
changeset
|
1 <html> |
39
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
2 <title>Linux Kernel Documentation</title> |
47
0df6348fc276
Teach indexsections to output index and contents in one pass, and put index
Rob Landley <rob@landley.net>
parents:
40
diff
changeset
|
3 <body> |
0df6348fc276
Teach indexsections to output index and contents in one pass, and put index
Rob Landley <rob@landley.net>
parents:
40
diff
changeset
|
4 |
0df6348fc276
Teach indexsections to output index and contents in one pass, and put index
Rob Landley <rob@landley.net>
parents:
40
diff
changeset
|
5 <h2>Linux Kernel Documentation Index</h2> |
0df6348fc276
Teach indexsections to output index and contents in one pass, and put index
Rob Landley <rob@landley.net>
parents:
40
diff
changeset
|
6 |
0df6348fc276
Teach indexsections to output index and contents in one pass, and put index
Rob Landley <rob@landley.net>
parents:
40
diff
changeset
|
7 <p>This page collects and organizes documentation about the Linux kernel, taken |
0df6348fc276
Teach indexsections to output index and contents in one pass, and put index
Rob Landley <rob@landley.net>
parents:
40
diff
changeset
|
8 from many different sources. What is the kernel, how do you build it, how do |
0df6348fc276
Teach indexsections to output index and contents in one pass, and put index
Rob Landley <rob@landley.net>
parents:
40
diff
changeset
|
9 you use it, how do you change it...</p> |
0df6348fc276
Teach indexsections to output index and contents in one pass, and put index
Rob Landley <rob@landley.net>
parents:
40
diff
changeset
|
10 |
0df6348fc276
Teach indexsections to output index and contents in one pass, and put index
Rob Landley <rob@landley.net>
parents:
40
diff
changeset
|
11 <p>This is a work in progress, and probably always will be. Please let us know |
0df6348fc276
Teach indexsections to output index and contents in one pass, and put index
Rob Landley <rob@landley.net>
parents:
40
diff
changeset
|
12 on the |
0df6348fc276
Teach indexsections to output index and contents in one pass, and put index
Rob Landley <rob@landley.net>
parents:
40
diff
changeset
|
13 <a href=http://vger.kernel.org/vger-lists.html#linux-doc>linux-doc</a> mailing |
0df6348fc276
Teach indexsections to output index and contents in one pass, and put index
Rob Landley <rob@landley.net>
parents:
40
diff
changeset
|
14 list (on vger.kernel.org) about any documentation you'd like added to this |
0df6348fc276
Teach indexsections to output index and contents in one pass, and put index
Rob Landley <rob@landley.net>
parents:
40
diff
changeset
|
15 index, and feel free to ask about any topics that aren't covered here yet. |
0df6348fc276
Teach indexsections to output index and contents in one pass, and put index
Rob Landley <rob@landley.net>
parents:
40
diff
changeset
|
16 This index is maintained by Rob Landley <rob@landley.net>, and tracked in |
0df6348fc276
Teach indexsections to output index and contents in one pass, and put index
Rob Landley <rob@landley.net>
parents:
40
diff
changeset
|
17 <a href=http://landley.net/hg/kdocs>this mercurial repostiory</a>. The |
0df6348fc276
Teach indexsections to output index and contents in one pass, and put index
Rob Landley <rob@landley.net>
parents:
40
diff
changeset
|
18 cannonical location for the page is <a href=http://kernel.org/doc>here</a>.</p> |
0df6348fc276
Teach indexsections to output index and contents in one pass, and put index
Rob Landley <rob@landley.net>
parents:
40
diff
changeset
|
19 |
0df6348fc276
Teach indexsections to output index and contents in one pass, and put index
Rob Landley <rob@landley.net>
parents:
40
diff
changeset
|
20 <hr> |
0df6348fc276
Teach indexsections to output index and contents in one pass, and put index
Rob Landley <rob@landley.net>
parents:
40
diff
changeset
|
21 |
0df6348fc276
Teach indexsections to output index and contents in one pass, and put index
Rob Landley <rob@landley.net>
parents:
40
diff
changeset
|
22 <put_index_here> |
0df6348fc276
Teach indexsections to output index and contents in one pass, and put index
Rob Landley <rob@landley.net>
parents:
40
diff
changeset
|
23 |
0df6348fc276
Teach indexsections to output index and contents in one pass, and put index
Rob Landley <rob@landley.net>
parents:
40
diff
changeset
|
24 <hr> |
39
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
25 |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
26 <span id="Sources of documentation"> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
27 |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
28 <p>These are various upstream sources of documentation, many of which are linked |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
29 into the <a href=http://kernel.org/doc>linux kernel documentation index</a>.</p> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
30 |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
31 <ul> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
32 <li><a href=Documentation>Text files in the kernel's Documentation directory.</a></li> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
33 <li><a href=htmldocs>Output of kernel's "make htmldocs".</a></li> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
34 <li><a href=menuconfig>Menuconfig help</a></li> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
35 <li><a href=readme>Linux kernel README files</a></li> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
36 <li><a href=xmlman>html version of man-pages package</a></li> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
37 <li><a href=http://lwn.net/Kernel/Index/>Linux Weekly News kernel articles</a></li> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
38 <li>Linux Device Drivers book (<a href=http://lwn.net/Kernel/LDD3/>third edition</a>) (<a href=http://www.xml.com/ldd/chapter/book/>second edition</a>)</li> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
39 <li><a href=ols>Ottawa Linux Symposium papers</li> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
40 <li><a href=http://www.linuxjournal.com/xstatic/magazine/archives>Linux Journal archives</a></li> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
41 <li><a href=http://www.ibm.com/developerworks/views/linux/library.jsp>IBM Developerworks Linux Library</a> (also <a href=http://www.ibm.com/developerworks/linux/library/l-linux-kernel/>here</a>) |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
42 </li> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
43 <li><a href=http://www.tux.org/lkml/>Linux Kernel Mailing List FAQ</a></li> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
44 <li><a href=http://kernelplanet.org>Kernel Planet (blog aggregator)</a></li> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
45 <li><a href=video.html>Selected videos of interest</a></li> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
46 <li><a href=local>Some locally produced docs</a></li> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
47 </ul> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
48 |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
49 <span id="Standards"> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
50 <ul> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
51 <li><a href=http://www.opengroup.org/onlinepubs/009695399/>Single Unix Specification v3</a> (Also known as Open Group Base Specifications issue 6, and closely overlapping with Posix. See especially <a href=http://www.opengroup.org/onlinepubs/009695399/idx/xsh.html>system interfaces</a>)</li> |
62 | 52 <li><a href=http://www.open-std.org/jtc1/sc22/wg14/www/standards>ISO/IEC C9899</a> the "C99" standard, defining the C programming language.</a></li> |
39
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
53 <li><a href=http://www.linux-foundation.org/spec/refspecs/>Linux Foundation's specs page</a> (ELF, Dwarf, ABI...)</li> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
54 </ul> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
55 </span id="Standards"> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
56 |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
57 <span id="Translations"> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
58 <ul> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
59 <li><a href=http://tlktp.sourceforge.net/>Linux Kernel Translation Project</a></li> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
60 <li><a href=http://kernelnewbies.org/RegionalNewbies>Kernel Newbies regional pages</a></li> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
61 <li><a href=http://www.linux.or.jp/JF/index.html>Japanese</a></li> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
62 <li><a href=http://zh-kernel.org/docs>Chinese</a></li> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
63 </ul> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
64 </span id="Translations"> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
65 |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
66 </span id="Sources of documentation"> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
67 |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
68 <span id="Building from source"> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
69 <span id="User interface"> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
70 <span id="Configuring"> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
71 </span> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
72 <span id="building"> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
73 <span id="Building out of tree"> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
74 </span> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
75 </span> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
76 <span id="Installing"> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
77 </span> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
78 <span id="running"> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
79 </span> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
80 <span id="debugging"> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
81 <span id="QEMU"> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
82 </span> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
83 </span> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
84 <span id="cross compiling"> |
68
1f41643cfe8e
Move and update the cross compile stuff, note differences between pipe/file/tty,
Rob Landley <rob@landley.net>
parents:
67
diff
changeset
|
85 <span id="Cross compiling vs native compiling"> |
1f41643cfe8e
Move and update the cross compile stuff, note differences between pipe/file/tty,
Rob Landley <rob@landley.net>
parents:
67
diff
changeset
|
86 <p>By default, Linux builds for the same architecture the host system is |
1f41643cfe8e
Move and update the cross compile stuff, note differences between pipe/file/tty,
Rob Landley <rob@landley.net>
parents:
67
diff
changeset
|
87 running. This is called "native compiling". An x86 system building an x86 |
1f41643cfe8e
Move and update the cross compile stuff, note differences between pipe/file/tty,
Rob Landley <rob@landley.net>
parents:
67
diff
changeset
|
88 kernel, x86-64 building x86-64, or powerpc building powerpc are all examples |
1f41643cfe8e
Move and update the cross compile stuff, note differences between pipe/file/tty,
Rob Landley <rob@landley.net>
parents:
67
diff
changeset
|
89 of native compiling.</p> |
1f41643cfe8e
Move and update the cross compile stuff, note differences between pipe/file/tty,
Rob Landley <rob@landley.net>
parents:
67
diff
changeset
|
90 |
1f41643cfe8e
Move and update the cross compile stuff, note differences between pipe/file/tty,
Rob Landley <rob@landley.net>
parents:
67
diff
changeset
|
91 <p>Building different binaries than the host runs is called cross compiling. |
1f41643cfe8e
Move and update the cross compile stuff, note differences between pipe/file/tty,
Rob Landley <rob@landley.net>
parents:
67
diff
changeset
|
92 <a href=http://landley.net/writing/docs/cross-compiling.html>Cross |
1f41643cfe8e
Move and update the cross compile stuff, note differences between pipe/file/tty,
Rob Landley <rob@landley.net>
parents:
67
diff
changeset
|
93 compiling is hard</a>. The build system for the Linux kernel supports cross |
1f41643cfe8e
Move and update the cross compile stuff, note differences between pipe/file/tty,
Rob Landley <rob@landley.net>
parents:
67
diff
changeset
|
94 compiling via a two step process: 1) Specify a different architecture (ARCH) |
1f41643cfe8e
Move and update the cross compile stuff, note differences between pipe/file/tty,
Rob Landley <rob@landley.net>
parents:
67
diff
changeset
|
95 during the configure, make, and install stages. 2) Supply a cross compiler |
1f41643cfe8e
Move and update the cross compile stuff, note differences between pipe/file/tty,
Rob Landley <rob@landley.net>
parents:
67
diff
changeset
|
96 (CROSS_COMPILE) which can output the correct kind of binary code. An |
1f41643cfe8e
Move and update the cross compile stuff, note differences between pipe/file/tty,
Rob Landley <rob@landley.net>
parents:
67
diff
changeset
|
97 example cross compile command line (building the "arm" architecture) looks |
1f41643cfe8e
Move and update the cross compile stuff, note differences between pipe/file/tty,
Rob Landley <rob@landley.net>
parents:
67
diff
changeset
|
98 like:</p> |
1f41643cfe8e
Move and update the cross compile stuff, note differences between pipe/file/tty,
Rob Landley <rob@landley.net>
parents:
67
diff
changeset
|
99 |
1f41643cfe8e
Move and update the cross compile stuff, note differences between pipe/file/tty,
Rob Landley <rob@landley.net>
parents:
67
diff
changeset
|
100 <blockquote> |
1f41643cfe8e
Move and update the cross compile stuff, note differences between pipe/file/tty,
Rob Landley <rob@landley.net>
parents:
67
diff
changeset
|
101 <pre>make ARCH=arm menuconfig |
1f41643cfe8e
Move and update the cross compile stuff, note differences between pipe/file/tty,
Rob Landley <rob@landley.net>
parents:
67
diff
changeset
|
102 make ARCH=arm CROSS_COMPILE=armv5l- |
1f41643cfe8e
Move and update the cross compile stuff, note differences between pipe/file/tty,
Rob Landley <rob@landley.net>
parents:
67
diff
changeset
|
103 </pre> |
1f41643cfe8e
Move and update the cross compile stuff, note differences between pipe/file/tty,
Rob Landley <rob@landley.net>
parents:
67
diff
changeset
|
104 </blockquote> |
1f41643cfe8e
Move and update the cross compile stuff, note differences between pipe/file/tty,
Rob Landley <rob@landley.net>
parents:
67
diff
changeset
|
105 |
1f41643cfe8e
Move and update the cross compile stuff, note differences between pipe/file/tty,
Rob Landley <rob@landley.net>
parents:
67
diff
changeset
|
106 <p>To specify a different architecture than the host, either define the "ARCH" |
1f41643cfe8e
Move and update the cross compile stuff, note differences between pipe/file/tty,
Rob Landley <rob@landley.net>
parents:
67
diff
changeset
|
107 environment variable or else add "ARCH=xxx" to the make command line for each |
1f41643cfe8e
Move and update the cross compile stuff, note differences between pipe/file/tty,
Rob Landley <rob@landley.net>
parents:
67
diff
changeset
|
108 of the make config, make, and make install stages. The acceptable values for |
1f41643cfe8e
Move and update the cross compile stuff, note differences between pipe/file/tty,
Rob Landley <rob@landley.net>
parents:
67
diff
changeset
|
109 ARCH are the names of the directories in the "arch" subdirectory of the Linux |
1f41643cfe8e
Move and update the cross compile stuff, note differences between pipe/file/tty,
Rob Landley <rob@landley.net>
parents:
67
diff
changeset
|
110 kernel source code, see <a href="#Architectures">Architectures</a> for |
1f41643cfe8e
Move and update the cross compile stuff, note differences between pipe/file/tty,
Rob Landley <rob@landley.net>
parents:
67
diff
changeset
|
111 details. All stages of the build must use the same ARCH value, and building a |
1f41643cfe8e
Move and update the cross compile stuff, note differences between pipe/file/tty,
Rob Landley <rob@landley.net>
parents:
67
diff
changeset
|
112 second architecture in the same source directory requires "make distclean". |
1f41643cfe8e
Move and update the cross compile stuff, note differences between pipe/file/tty,
Rob Landley <rob@landley.net>
parents:
67
diff
changeset
|
113 (Just "make clean" isn't sufficient, things like the include/asm symlink need |
1f41643cfe8e
Move and update the cross compile stuff, note differences between pipe/file/tty,
Rob Landley <rob@landley.net>
parents:
67
diff
changeset
|
114 to be removed and recreated.)</p> |
1f41643cfe8e
Move and update the cross compile stuff, note differences between pipe/file/tty,
Rob Landley <rob@landley.net>
parents:
67
diff
changeset
|
115 |
1f41643cfe8e
Move and update the cross compile stuff, note differences between pipe/file/tty,
Rob Landley <rob@landley.net>
parents:
67
diff
changeset
|
116 <p>To specify a cross compiler prefix, define the CROSS_COMPILE environment |
1f41643cfe8e
Move and update the cross compile stuff, note differences between pipe/file/tty,
Rob Landley <rob@landley.net>
parents:
67
diff
changeset
|
117 variable (or add CROSS_COMPILE= to each make command line). Native compiler |
1f41643cfe8e
Move and update the cross compile stuff, note differences between pipe/file/tty,
Rob Landley <rob@landley.net>
parents:
67
diff
changeset
|
118 tools, which output code aimed at the environment they're running in, usually |
1f41643cfe8e
Move and update the cross compile stuff, note differences between pipe/file/tty,
Rob Landley <rob@landley.net>
parents:
67
diff
changeset
|
119 have a simple name ("gcc", "ld", "strip"). Cross compilers usually add a |
1f41643cfe8e
Move and update the cross compile stuff, note differences between pipe/file/tty,
Rob Landley <rob@landley.net>
parents:
67
diff
changeset
|
120 prefix to the name of each tool, indicating the target they produce code for. |
1f41643cfe8e
Move and update the cross compile stuff, note differences between pipe/file/tty,
Rob Landley <rob@landley.net>
parents:
67
diff
changeset
|
121 To tell the Linux kernel build to use a cross compiler named "armv4l-gcc" (and |
1f41643cfe8e
Move and update the cross compile stuff, note differences between pipe/file/tty,
Rob Landley <rob@landley.net>
parents:
67
diff
changeset
|
122 corresponding "armv4l-ld" and "armv4l-strip") specify "CROSS_COMPILE=armv4l-". |
1f41643cfe8e
Move and update the cross compile stuff, note differences between pipe/file/tty,
Rob Landley <rob@landley.net>
parents:
67
diff
changeset
|
123 (Prefixes ending in a dash are common, and forgetting the trailing dash in |
1f41643cfe8e
Move and update the cross compile stuff, note differences between pipe/file/tty,
Rob Landley <rob@landley.net>
parents:
67
diff
changeset
|
124 CROSS_COMPILE is a common mistake. Don't forget to add the cross compiler |
1f41643cfe8e
Move and update the cross compile stuff, note differences between pipe/file/tty,
Rob Landley <rob@landley.net>
parents:
67
diff
changeset
|
125 tools to your $PATH.)</p> |
1f41643cfe8e
Move and update the cross compile stuff, note differences between pipe/file/tty,
Rob Landley <rob@landley.net>
parents:
67
diff
changeset
|
126 </span> |
1f41643cfe8e
Move and update the cross compile stuff, note differences between pipe/file/tty,
Rob Landley <rob@landley.net>
parents:
67
diff
changeset
|
127 |
1f41643cfe8e
Move and update the cross compile stuff, note differences between pipe/file/tty,
Rob Landley <rob@landley.net>
parents:
67
diff
changeset
|
128 |
1f41643cfe8e
Move and update the cross compile stuff, note differences between pipe/file/tty,
Rob Landley <rob@landley.net>
parents:
67
diff
changeset
|
129 |
39
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
130 <span id="User Mode Linux"> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
131 </span> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
132 </span> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
133 </span> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
134 <span id="Infrastructure"> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
135 <span id="kconfig"> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
136 </span> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
137 <span id="kbuild"> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
138 </span> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
139 <span id="build and link (tmppiggy)"> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
140 </span> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
141 </span> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
142 </span> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
143 |
47
0df6348fc276
Teach indexsections to output index and contents in one pass, and put index
Rob Landley <rob@landley.net>
parents:
40
diff
changeset
|
144 <span id="Installing and using the kernel"> |
0df6348fc276
Teach indexsections to output index and contents in one pass, and put index
Rob Landley <rob@landley.net>
parents:
40
diff
changeset
|
145 <span id="Installing"> |
0df6348fc276
Teach indexsections to output index and contents in one pass, and put index
Rob Landley <rob@landley.net>
parents:
40
diff
changeset
|
146 <span id="Kernel image"> |
0df6348fc276
Teach indexsections to output index and contents in one pass, and put index
Rob Landley <rob@landley.net>
parents:
40
diff
changeset
|
147 </span> |
0df6348fc276
Teach indexsections to output index and contents in one pass, and put index
Rob Landley <rob@landley.net>
parents:
40
diff
changeset
|
148 <span id="Bootloader"> |
0df6348fc276
Teach indexsections to output index and contents in one pass, and put index
Rob Landley <rob@landley.net>
parents:
40
diff
changeset
|
149 </span> |
0df6348fc276
Teach indexsections to output index and contents in one pass, and put index
Rob Landley <rob@landley.net>
parents:
40
diff
changeset
|
150 </span> |
0df6348fc276
Teach indexsections to output index and contents in one pass, and put index
Rob Landley <rob@landley.net>
parents:
40
diff
changeset
|
151 <span id="A working Linux root filesystem"> |
0df6348fc276
Teach indexsections to output index and contents in one pass, and put index
Rob Landley <rob@landley.net>
parents:
40
diff
changeset
|
152 <span id="Finding and mounting /"> |
0df6348fc276
Teach indexsections to output index and contents in one pass, and put index
Rob Landley <rob@landley.net>
parents:
40
diff
changeset
|
153 <span id="initramfs, switch_root vs pivot_root, /dev/console"> |
0df6348fc276
Teach indexsections to output index and contents in one pass, and put index
Rob Landley <rob@landley.net>
parents:
40
diff
changeset
|
154 </span> |
0df6348fc276
Teach indexsections to output index and contents in one pass, and put index
Rob Landley <rob@landley.net>
parents:
40
diff
changeset
|
155 </span> |
61
3ea83bc83471
Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents:
53
diff
changeset
|
156 <span id="Running programs"> |
3ea83bc83471
Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents:
53
diff
changeset
|
157 <span id="init program and PID 1"> |
3ea83bc83471
Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents:
53
diff
changeset
|
158 <span id="What does daemonizing really mean?"> |
3ea83bc83471
Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents:
53
diff
changeset
|
159 </span> |
3ea83bc83471
Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents:
53
diff
changeset
|
160 </span> |
3ea83bc83471
Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents:
53
diff
changeset
|
161 <span id="Executable formats"> |
3ea83bc83471
Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents:
53
diff
changeset
|
162 <p>The Linux kernel runs programs in response to the |
3ea83bc83471
Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents:
53
diff
changeset
|
163 <a href=xmlman/man3/exec.html>exec</a> syscall, which is called on a |
3ea83bc83471
Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents:
53
diff
changeset
|
164 file. This file must have the |
3ea83bc83471
Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents:
53
diff
changeset
|
165 executable bit set, and must be on a filesystem that implements mmap() and which |
3ea83bc83471
Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents:
53
diff
changeset
|
166 isn't mounted with the "noexec" option. The kernel understands |
3ea83bc83471
Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents:
53
diff
changeset
|
167 several different <a href="#executable_file_formats">executable file |
3ea83bc83471
Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents:
53
diff
changeset
|
168 formats</a>, the most common of which are shell scripts and ELF binaries.</p> |
3ea83bc83471
Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents:
53
diff
changeset
|
169 <span id="Shell scripts"> |
3ea83bc83471
Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents:
53
diff
changeset
|
170 <p>If the first two bytes of an executable file are the characters "#!", the |
3ea83bc83471
Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents:
53
diff
changeset
|
171 file is treated as a script file. The kernel parses the first line of the file |
3ea83bc83471
Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents:
53
diff
changeset
|
172 (until the first newline), and the first argument (immediately following |
3ea83bc83471
Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents:
53
diff
changeset
|
173 the #! with no space) is used as absolute path to the script's interpreter, |
3ea83bc83471
Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents:
53
diff
changeset
|
174 which must be an executable file. Any additional arguments on the first |
3ea83bc83471
Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents:
53
diff
changeset
|
175 line of the file (separated by whitespace) are passed as the first arguments |
3ea83bc83471
Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents:
53
diff
changeset
|
176 to that interpreter executable. The interpreter's next argument is the name of |
3ea83bc83471
Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents:
53
diff
changeset
|
177 the script file, followed by the arguments given on the command line.</p> |
3ea83bc83471
Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents:
53
diff
changeset
|
178 |
3ea83bc83471
Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents:
53
diff
changeset
|
179 <p>To see this behavior in action, run the following:</p> |
3ea83bc83471
Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents:
53
diff
changeset
|
180 <blockquote> |
3ea83bc83471
Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents:
53
diff
changeset
|
181 <pre>echo "#!/bin/echo hello" > temp |
3ea83bc83471
Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents:
53
diff
changeset
|
182 chmod +x temp |
3ea83bc83471
Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents:
53
diff
changeset
|
183 ./temp one two three |
3ea83bc83471
Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents:
53
diff
changeset
|
184 </pre> |
3ea83bc83471
Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents:
53
diff
changeset
|
185 </blockquote> |
3ea83bc83471
Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents:
53
diff
changeset
|
186 |
3ea83bc83471
Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents:
53
diff
changeset
|
187 <p>The result should be:</p> |
3ea83bc83471
Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents:
53
diff
changeset
|
188 <blockquote>hello ./temp one two three</blockquote> |
3ea83bc83471
Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents:
53
diff
changeset
|
189 |
3ea83bc83471
Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents:
53
diff
changeset
|
190 <p>This is how shell scripts, perl, python, and other scripting languages |
3ea83bc83471
Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents:
53
diff
changeset
|
191 work. Even C code can be run as a script by installing the |
3ea83bc83471
Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents:
53
diff
changeset
|
192 <a href=http://en.wikipedia.org/wiki/Tiny_C_Compiler>tinycc</a> package, |
3ea83bc83471
Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents:
53
diff
changeset
|
193 adding "#!/usr/bin/tcc -run" to the start of the .c file, and setting the |
3ea83bc83471
Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents:
53
diff
changeset
|
194 executable bit on the .c file.</p> |
3ea83bc83471
Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents:
53
diff
changeset
|
195 </span> |
3ea83bc83471
Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents:
53
diff
changeset
|
196 <span id="ELF"> |
3ea83bc83471
Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents:
53
diff
changeset
|
197 <span id="Shared libraries"> |
3ea83bc83471
Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents:
53
diff
changeset
|
198 </span> |
3ea83bc83471
Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents:
53
diff
changeset
|
199 </span> |
47
0df6348fc276
Teach indexsections to output index and contents in one pass, and put index
Rob Landley <rob@landley.net>
parents:
40
diff
changeset
|
200 </span> |
61
3ea83bc83471
Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents:
53
diff
changeset
|
201 |
3ea83bc83471
Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents:
53
diff
changeset
|
202 <span id="C library"> |
3ea83bc83471
Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents:
53
diff
changeset
|
203 <p>Most userspace programs access operating system functionality through a C |
3ea83bc83471
Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents:
53
diff
changeset
|
204 library, usually installed at "/lib/libc.so.*". The C library wraps system |
3ea83bc83471
Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents:
53
diff
changeset
|
205 calls, and provides implementations of various standard functions.</p> |
3ea83bc83471
Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents:
53
diff
changeset
|
206 |
3ea83bc83471
Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents:
53
diff
changeset
|
207 <p>Because almost all other programming languages are implemented in C |
3ea83bc83471
Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents:
53
diff
changeset
|
208 (including python, perl, php, java, javascript, ruby, flash, and just about |
3ea83bc83471
Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents:
53
diff
changeset
|
209 everything else), programs written in other languages also make use of the |
3ea83bc83471
Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents:
53
diff
changeset
|
210 C library to access operating system services.</p> |
3ea83bc83471
Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents:
53
diff
changeset
|
211 |
3ea83bc83471
Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents:
53
diff
changeset
|
212 <p>The most common C library implementations for Linux are |
3ea83bc83471
Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents:
53
diff
changeset
|
213 <a href=http://www.linuxfromscratch.org/lfs/view/6.2/chapter06/glibc.html>glibc</a> |
3ea83bc83471
Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents:
53
diff
changeset
|
214 and <a href=http://uClibc.org>uClibc</a>. Both are full-featured |
3ea83bc83471
Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents:
53
diff
changeset
|
215 implementations capable of supporting a full-featured desktop Linux |
3ea83bc83471
Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents:
53
diff
changeset
|
216 distribution.</p> |
3ea83bc83471
Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents:
53
diff
changeset
|
217 |
3ea83bc83471
Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents:
53
diff
changeset
|
218 <p>The main advantage of glibc is that it's the standard implementation used by the |
3ea83bc83471
Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents:
53
diff
changeset
|
219 largest desktop and server distributions, and has more features than any other |
3ea83bc83471
Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents:
53
diff
changeset
|
220 implementation. The main advantage of uClibc is that it's much smaller and |
3ea83bc83471
Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents:
53
diff
changeset
|
221 simpler than glibc while still implementing almost all the same functionality. |
3ea83bc83471
Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents:
53
diff
changeset
|
222 For comparison, a "hello world" program statically linked against glibc is half |
3ea83bc83471
Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents:
53
diff
changeset
|
223 a megabyte when stripped, while the same program statically linked against |
3ea83bc83471
Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents:
53
diff
changeset
|
224 uClibc strips down to 7k.</p> |
3ea83bc83471
Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents:
53
diff
changeset
|
225 |
3ea83bc83471
Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents:
53
diff
changeset
|
226 <p>Other commonly used special-purpose C library implementations include |
3ea83bc83471
Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents:
53
diff
changeset
|
227 <a href=http://en.wikipedia.org/wiki/Klibc>klibc</a> and |
3ea83bc83471
Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents:
53
diff
changeset
|
228 <a href=http://www.sourceware.org/newlib/>newlib</a>.</p> |
3ea83bc83471
Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents:
53
diff
changeset
|
229 |
3ea83bc83471
Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents:
53
diff
changeset
|
230 <span id="Exporting kernel headers"> |
3ea83bc83471
Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents:
53
diff
changeset
|
231 <p>Building a C library from source code requires a special set |
3ea83bc83471
Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents:
53
diff
changeset
|
232 of Linux kernel header files, which describe the API of the specific version |
3ea83bc83471
Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents:
53
diff
changeset
|
233 of the Linux kernel the C library will interface with. However, the header |
3ea83bc83471
Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents:
53
diff
changeset
|
234 files in the kernel source code are designed to build the kernel and contain |
3ea83bc83471
Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents:
53
diff
changeset
|
235 a lot of internal information that would only confuse userspace. These |
3ea83bc83471
Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents:
53
diff
changeset
|
236 kernel headers must be "exported", filtering them for use by user space.</p> |
3ea83bc83471
Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents:
53
diff
changeset
|
237 |
3ea83bc83471
Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents:
53
diff
changeset
|
238 <p>Modern Linux kernels (based on 2.6.19.1 and newer) export kernel headers via |
3ea83bc83471
Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents:
53
diff
changeset
|
239 the "make headers_install" command. See |
3ea83bc83471
Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents:
53
diff
changeset
|
240 <a href=local/headers_install.txt>exporting kernel headers for use by |
3ea83bc83471
Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents:
53
diff
changeset
|
241 userspace</a> for more information.</p> |
3ea83bc83471
Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents:
53
diff
changeset
|
242 </span> |
3ea83bc83471
Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents:
53
diff
changeset
|
243 </span> |
3ea83bc83471
Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents:
53
diff
changeset
|
244 <span id="Dynamic loader"> |
3ea83bc83471
Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents:
53
diff
changeset
|
245 </span> |
47
0df6348fc276
Teach indexsections to output index and contents in one pass, and put index
Rob Landley <rob@landley.net>
parents:
40
diff
changeset
|
246 </span> |
0df6348fc276
Teach indexsections to output index and contents in one pass, and put index
Rob Landley <rob@landley.net>
parents:
40
diff
changeset
|
247 <span id="FHS directories"> |
0df6348fc276
Teach indexsections to output index and contents in one pass, and put index
Rob Landley <rob@landley.net>
parents:
40
diff
changeset
|
248 <p>FHS spec</p> |
0df6348fc276
Teach indexsections to output index and contents in one pass, and put index
Rob Landley <rob@landley.net>
parents:
40
diff
changeset
|
249 <a href="pending/hotplug.txt">populating /dev from sysfs</a>. |
0df6348fc276
Teach indexsections to output index and contents in one pass, and put index
Rob Landley <rob@landley.net>
parents:
40
diff
changeset
|
250 </span> |
0df6348fc276
Teach indexsections to output index and contents in one pass, and put index
Rob Landley <rob@landley.net>
parents:
40
diff
changeset
|
251 </span> |
0df6348fc276
Teach indexsections to output index and contents in one pass, and put index
Rob Landley <rob@landley.net>
parents:
40
diff
changeset
|
252 </span> |
0df6348fc276
Teach indexsections to output index and contents in one pass, and put index
Rob Landley <rob@landley.net>
parents:
40
diff
changeset
|
253 |
39
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
254 <span id="Reading the source code"> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
255 <span id="Source code layout"> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
256 <span id="Following the boot process"> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
257 </span> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
258 <span id="Major subsystems"> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
259 </span> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
260 <span id="Architectures"> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
261 </span> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
262 </span> |
49
aa424ac2ce30
Generate index.html from master.idx.
Rob Landley <rob@landley.net>
parents:
47
diff
changeset
|
263 <span id="Concept vs implementation"> |
aa424ac2ce30
Generate index.html from master.idx.
Rob Landley <rob@landley.net>
parents:
47
diff
changeset
|
264 <p>Often the first implementation of a concept gets replaced. |
aa424ac2ce30
Generate index.html from master.idx.
Rob Landley <rob@landley.net>
parents:
47
diff
changeset
|
265 Journaling != reiserfs, virtualization != xen, devfs gave way to udev... |
aa424ac2ce30
Generate index.html from master.idx.
Rob Landley <rob@landley.net>
parents:
47
diff
changeset
|
266 Don't let your excitement for the concept blind you to the possibility |
aa424ac2ce30
Generate index.html from master.idx.
Rob Landley <rob@landley.net>
parents:
47
diff
changeset
|
267 of alternate implementations.</p> |
aa424ac2ce30
Generate index.html from master.idx.
Rob Landley <rob@landley.net>
parents:
47
diff
changeset
|
268 </span> |
39
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
269 <span id="Concepts"> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
270 <span id="rbtree"> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
271 </span> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
272 <span id="rcu"> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
273 </span> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
274 </span> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
275 </span> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
276 |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
277 <span id="Kernel infrastructure"> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
278 <span id="Process Scheduler"> |
67
992a411c98b6
History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents:
62
diff
changeset
|
279 |
992a411c98b6
History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents:
62
diff
changeset
|
280 <span id="History of the Linux Process Scheduler"> |
992a411c98b6
History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents:
62
diff
changeset
|
281 <p>The original Linux process scheduler was a simple design based on |
992a411c98b6
History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents:
62
diff
changeset
|
282 a goodness() function that recalculated the priority of every task at every |
992a411c98b6
History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents:
62
diff
changeset
|
283 context switch, to find the next task to switch to. This served almost |
992a411c98b6
History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents:
62
diff
changeset
|
284 unchanged through the 2.4 series, but didn't scale to large numbers of |
992a411c98b6
History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents:
62
diff
changeset
|
285 processes, nor to SMP. By 2001 there were calls for |
992a411c98b6
History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents:
62
diff
changeset
|
286 change (such as <a href=ols/2001/elss.pdf>this OLS paper</a>), and the |
992a411c98b6
History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents:
62
diff
changeset
|
287 issue <a href=http://mirell.org/kernel-traffic/kernel-traffic/kt20020107_149.html#1>came to a head</a> in December 2001.</p> |
992a411c98b6
History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents:
62
diff
changeset
|
288 |
992a411c98b6
History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents:
62
diff
changeset
|
289 <p>In January 2002, Ingo Molnar |
992a411c98b6
History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents:
62
diff
changeset
|
290 <a href=http://mirell.org/kernel-traffic/kernel-traffic/kt20020114_150.html#4>introduced the "O(1)" process scheduler</a> for the 2.5 kernel series, a design |
992a411c98b6
History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents:
62
diff
changeset
|
291 based on separate "active" and "expired" arrays, one per processor. As the name |
992a411c98b6
History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents:
62
diff
changeset
|
292 implied, this found the next task to switch to in constant time no matter |
992a411c98b6
History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents:
62
diff
changeset
|
293 how many processes the system was running.</p> |
992a411c98b6
History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents:
62
diff
changeset
|
294 |
992a411c98b6
History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents:
62
diff
changeset
|
295 <p>Other developers (<a href=http://mirell.org/kernel-traffic/kernel-traffic/kt20020513_166.html#4>such as Con Colivas</a>) started working on it, |
992a411c98b6
History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents:
62
diff
changeset
|
296 and began a period of extensive scheduler development. The early history |
992a411c98b6
History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents:
62
diff
changeset
|
297 of Linux O(1) scheduler development was covered by the website Kernel |
992a411c98b6
History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents:
62
diff
changeset
|
298 Traffic.</p> |
992a411c98b6
History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents:
62
diff
changeset
|
299 |
992a411c98b6
History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents:
62
diff
changeset
|
300 <p>During 2002 this work included |
992a411c98b6
History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents:
62
diff
changeset
|
301 <a href=http://mirell.org/kernel-traffic/kernel-traffic/kt20020121_151.html#8>preemption</a>, |
992a411c98b6
History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents:
62
diff
changeset
|
302 <a href=http://mirell.org/kernel-traffic/kernel-traffic/kt20020121_151.html#9>User Mode Linux support</a>, |
992a411c98b6
History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents:
62
diff
changeset
|
303 <a href=http://mirell.org/kernel-traffic/kernel-traffic/kt20020211_153.html#2>new drops</a>, |
992a411c98b6
History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents:
62
diff
changeset
|
304 <a href=http://mirell.org/kernel-traffic/kernel-traffic/kt20020211_153.html#7>runtime tuning</a>, |
992a411c98b6
History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents:
62
diff
changeset
|
305 <a href=http://mirell.org/kernel-traffic/kernel-traffic/kt20020304_156.html#6>NUMA support</a>, |
992a411c98b6
History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents:
62
diff
changeset
|
306 <a href=http://mirell.org/kernel-traffic/kernel-traffic/kt20020429_164.html#4>cpu affinity</a>, |
992a411c98b6
History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents:
62
diff
changeset
|
307 <a href=http://mirell.org/kernel-traffic/kernel-traffic/kt20020617_171.html#4>scheduler hints</a>, |
992a411c98b6
History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents:
62
diff
changeset
|
308 <a href=http://mirell.org/kernel-traffic/kernel-traffic/kt20020701_173.html#1>64-bit support</a>, |
992a411c98b6
History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents:
62
diff
changeset
|
309 <a href=http://mirell.org/kernel-traffic/kernel-traffic/kt20020715_175.html#5>backports to the 2.4 kernel</a>, |
992a411c98b6
History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents:
62
diff
changeset
|
310 <a href=http://mirell.org/kernel-traffic/kernel-traffic/kt20020715_175.html#4>SCHED_IDLE</a>, |
992a411c98b6
History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents:
62
diff
changeset
|
311 discussion of <a href=http://mirell.org/kernel-traffic/kernel-traffic/kt20020729_177.html#1>gang scheduling</a>, |
992a411c98b6
History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents:
62
diff
changeset
|
312 <a href=http://mirell.org/kernel-traffic/kernel-traffic/kt20021014_188.html#4>more NUMA</a>, |
992a411c98b6
History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents:
62
diff
changeset
|
313 <a href=http://mirell.org/kernel-traffic/kernel-traffic/kt20021118_192.html#9>even more NUMA</a>). By the end of 2002, the O(1) scheduler was becoming |
992a411c98b6
History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents:
62
diff
changeset
|
314 the standard <a href=http://mirell.org/kernel-traffic/kernel-traffic/kt20021223_197.html#1>even in the 2.4 series</a>.</p> |
992a411c98b6
History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents:
62
diff
changeset
|
315 |
992a411c98b6
History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents:
62
diff
changeset
|
316 <p>2003 saw support added for |
992a411c98b6
History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents:
62
diff
changeset
|
317 <a href=http://mirell.org/kernel-traffic/kernel-traffic/kt20030124_202.html#14>hyperthreading as a NUMA variant</a>, |
992a411c98b6
History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents:
62
diff
changeset
|
318 <a href=http://mirell.org/kernel-traffic/kernel-traffic/kt20030330_211.html#3>interactivity bugfix</a>, |
992a411c98b6
History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents:
62
diff
changeset
|
319 <a href=http://mirell.org/kernel-traffic/kernel-traffic/kt20030616_219.html#4>starvation and affinity bugfixes</a>, |
992a411c98b6
History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents:
62
diff
changeset
|
320 <a href=http://mirell.org/kernel-traffic/kernel-traffic/kt20030616_219.html#8>more NUMA improvements</a>, |
992a411c98b6
History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents:
62
diff
changeset
|
321 <a href=http://mirell.org/kernel-traffic/kernel-traffic/kt20030811_227.html#2>interactivity improvements</a>, |
992a411c98b6
History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents:
62
diff
changeset
|
322 <a href=http://mirell.org/kernel-traffic/kernel-traffic/kt20030811_227.html#8>even more NUMA improvements</a>, |
992a411c98b6
History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents:
62
diff
changeset
|
323 a proposal for <a href=http://mirell.org/kernel-traffic/kernel-traffic/kt20031026_237.html#7>Variable Scheduling Timeouts</a> (the first rumblings of what |
992a411c98b6
History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents:
62
diff
changeset
|
324 would later come to be called "dynamic ticks"), |
992a411c98b6
History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents:
62
diff
changeset
|
325 <a href=http://mirell.org/kernel-traffic/kernel-traffic/kt20031201_243.html#10>more on hyperthreading</a>...</p> |
992a411c98b6
History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents:
62
diff
changeset
|
326 |
992a411c98b6
History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents:
62
diff
changeset
|
327 <p>In 2004 there was work on <a href=http://mirell.org/kernel-traffic/kernel-traffic/kt20040120_248.html#2>load balancing and priority handling</a>, and |
992a411c98b6
History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents:
62
diff
changeset
|
328 <a href=http://mirell.org/kernel-traffic/kernel-traffic/kt20040212_252.html#5>still more work on hyperthreading</a>...</p> |
992a411c98b6
History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents:
62
diff
changeset
|
329 |
992a411c98b6
History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents:
62
diff
changeset
|
330 <p>In 2004 developers proposed several extensive changes to the O(1) scheduler. |
992a411c98b6
History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents:
62
diff
changeset
|
331 Linux Weekly News wrote about Nick Piggin's |
992a411c98b6
History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents:
62
diff
changeset
|
332 <a href=http://lwn.net/Articles/80911/>domain-based scheduler</a> |
992a411c98b6
History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents:
62
diff
changeset
|
333 and Con Colivas' <a href=http://lwn.net/Articles/87729/>staircase scheduler</a>. The follow-up article <a href=http://lwn.net/Articles/96554/>Scheduler tweaks get serious</a> covers both. Nick's scheduling domains |
992a411c98b6
History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents:
62
diff
changeset
|
334 were merged into the 2.6 series.</p> |
992a411c98b6
History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents:
62
diff
changeset
|
335 |
992a411c98b6
History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents:
62
diff
changeset
|
336 <p>Linux Weekly News also wrote about other scheduler work:</p> |
992a411c98b6
History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents:
62
diff
changeset
|
337 |
992a411c98b6
History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents:
62
diff
changeset
|
338 <ul> |
992a411c98b6
History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents:
62
diff
changeset
|
339 <li><a href=http://lwn.net/Articles/83633/>Filtered wakeups</a></li> |
992a411c98b6
History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents:
62
diff
changeset
|
340 <li><a href=http://lwn.net/Articles/105366/>When should a process be migrated</a></li> |
992a411c98b6
History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents:
62
diff
changeset
|
341 <li><a href=http://lwn.net/Articles/109458/>Pluggable and realtime schedulers</a></li> |
992a411c98b6
History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents:
62
diff
changeset
|
342 <li><a href=http://lwn.net/Articles/120797/>Low latency for audio applications:</a></li> |
992a411c98b6
History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents:
62
diff
changeset
|
343 <li><a href=http://lwn.net/Articles/176635/>Solving starvation problems in the scheduler:</a></li> |
992a411c98b6
History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents:
62
diff
changeset
|
344 <li><a href=http://lwn.net/Articles/186438/>SMPnice</a></li> |
992a411c98b6
History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents:
62
diff
changeset
|
345 </ul> |
992a411c98b6
History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents:
62
diff
changeset
|
346 |
992a411c98b6
History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents:
62
diff
changeset
|
347 <p>In 2007, Con Colivas proposed a new scheduler, <a href=http://lwn.net/Articles/224865/>The Rotating Staircase Deadline Scheduler</a>, which |
992a411c98b6
History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents:
62
diff
changeset
|
348 <a href=http://lwn.net/Articles/226054/>hit a snag</a>. Ingo |
992a411c98b6
History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents:
62
diff
changeset
|
349 Molnar came up with a new scheduler, which he named the |
992a411c98b6
History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents:
62
diff
changeset
|
350 <a href=http://lwn.net/Articles/230501/>Completely Fair Scheduler</a>, |
992a411c98b6
History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents:
62
diff
changeset
|
351 described in the LWN writeups |
992a411c98b6
History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents:
62
diff
changeset
|
352 <a href=http://lwn.net/Articles/230574/>Schedulers: the plot thickens</a>, |
992a411c98b6
History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents:
62
diff
changeset
|
353 <a href=http://lwn.net/Articles/231672/>this week in the scheduling discussion</a>, and |
992a411c98b6
History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents:
62
diff
changeset
|
354 <a href=http://lwn.net/Articles/240474/>CFS group scheduling</a>.</p> |
992a411c98b6
History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents:
62
diff
changeset
|
355 |
992a411c98b6
History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents:
62
diff
changeset
|
356 <p>The CFS scheduler was merged into 2.6.23.</p> |
992a411c98b6
History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents:
62
diff
changeset
|
357 </span> |
992a411c98b6
History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents:
62
diff
changeset
|
358 |
39
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
359 <span id="fork, exec"> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
360 </span> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
361 <span id="sleep"> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
362 </span> |
67
992a411c98b6
History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents:
62
diff
changeset
|
363 </span> |
39
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
364 <span id="Timers"> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
365 <span id="Interrupt handling"> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
366 </span> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
367 </span> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
368 <span id="memory management"> |
47
0df6348fc276
Teach indexsections to output index and contents in one pass, and put index
Rob Landley <rob@landley.net>
parents:
40
diff
changeset
|
369 <ul> |
0df6348fc276
Teach indexsections to output index and contents in one pass, and put index
Rob Landley <rob@landley.net>
parents:
40
diff
changeset
|
370 <li><a href="gorman">Understanding the Linux Virtual Memory Manager</a>, by Mel Gorman.</li> |
0df6348fc276
Teach indexsections to output index and contents in one pass, and put index
Rob Landley <rob@landley.net>
parents:
40
diff
changeset
|
371 <li><a href=http://lwn.net/Articles/250967/>What every programmer should know about memory</a> by Ulrich Drepper.</li> |
0df6348fc276
Teach indexsections to output index and contents in one pass, and put index
Rob Landley <rob@landley.net>
parents:
40
diff
changeset
|
372 <li>Ars technica ram guide, parts |
0df6348fc276
Teach indexsections to output index and contents in one pass, and put index
Rob Landley <rob@landley.net>
parents:
40
diff
changeset
|
373 <a href=http://arstechnica.com/paedia/r/ram_guide/ram_guide.part1-1.html>one</a> |
0df6348fc276
Teach indexsections to output index and contents in one pass, and put index
Rob Landley <rob@landley.net>
parents:
40
diff
changeset
|
374 <a href=http://arstechnica.com/paedia/r/ram_guide/ram_guide.part1-1.html>two</a> |
0df6348fc276
Teach indexsections to output index and contents in one pass, and put index
Rob Landley <rob@landley.net>
parents:
40
diff
changeset
|
375 <a href=http://arstechnica.com/paedia/r/ram_guide/ram_guide.part3-1.html>three</a></li> |
39
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
376 <span id="mmap, DMA"> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
377 </span> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
378 </span> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
379 <span id="vfs"> |
68
1f41643cfe8e
Move and update the cross compile stuff, note differences between pipe/file/tty,
Rob Landley <rob@landley.net>
parents:
67
diff
changeset
|
380 <span id="Pipes, files, and ttys"> |
1f41643cfe8e
Move and update the cross compile stuff, note differences between pipe/file/tty,
Rob Landley <rob@landley.net>
parents:
67
diff
changeset
|
381 <p>A pipe can be read from or written to, transmitting a sequence of bytes |
1f41643cfe8e
Move and update the cross compile stuff, note differences between pipe/file/tty,
Rob Landley <rob@landley.net>
parents:
67
diff
changeset
|
382 in order.</p> |
1f41643cfe8e
Move and update the cross compile stuff, note differences between pipe/file/tty,
Rob Landley <rob@landley.net>
parents:
67
diff
changeset
|
383 |
1f41643cfe8e
Move and update the cross compile stuff, note differences between pipe/file/tty,
Rob Landley <rob@landley.net>
parents:
67
diff
changeset
|
384 <p>A file can do what a pipe can, and adds the ability to seek to a location, |
1f41643cfe8e
Move and update the cross compile stuff, note differences between pipe/file/tty,
Rob Landley <rob@landley.net>
parents:
67
diff
changeset
|
385 query the current location, and query the length of the file (all of which are |
1f41643cfe8e
Move and update the cross compile stuff, note differences between pipe/file/tty,
Rob Landley <rob@landley.net>
parents:
67
diff
changeset
|
386 an integer number off bytes from the beginning of the file).</p> |
1f41643cfe8e
Move and update the cross compile stuff, note differences between pipe/file/tty,
Rob Landley <rob@landley.net>
parents:
67
diff
changeset
|
387 |
1f41643cfe8e
Move and update the cross compile stuff, note differences between pipe/file/tty,
Rob Landley <rob@landley.net>
parents:
67
diff
changeset
|
388 <p>A tty can do what a pipe can, and adds a speed (in bits per second) |
1f41643cfe8e
Move and update the cross compile stuff, note differences between pipe/file/tty,
Rob Landley <rob@landley.net>
parents:
67
diff
changeset
|
389 and cursor location (X and Y, with the upper left corner at 0,0). Oh, and |
1f41643cfe8e
Move and update the cross compile stuff, note differences between pipe/file/tty,
Rob Landley <rob@landley.net>
parents:
67
diff
changeset
|
390 you can make it go beep.</p> |
1f41643cfe8e
Move and update the cross compile stuff, note differences between pipe/file/tty,
Rob Landley <rob@landley.net>
parents:
67
diff
changeset
|
391 |
1f41643cfe8e
Move and update the cross compile stuff, note differences between pipe/file/tty,
Rob Landley <rob@landley.net>
parents:
67
diff
changeset
|
392 <p>Note that you can't call lseek() on a tty and you can't call termios |
1f41643cfe8e
Move and update the cross compile stuff, note differences between pipe/file/tty,
Rob Landley <rob@landley.net>
parents:
67
diff
changeset
|
393 (man 3 termios) functions on a file. Each can be treated as a pipe.</p> |
1f41643cfe8e
Move and update the cross compile stuff, note differences between pipe/file/tty,
Rob Landley <rob@landley.net>
parents:
67
diff
changeset
|
394 </span> |
39
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
395 <span id="Filesystems"> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
396 <span id="Types of filesystems (see /proc/filesystems)"> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
397 <span id="Block backed"> |
68
1f41643cfe8e
Move and update the cross compile stuff, note differences between pipe/file/tty,
Rob Landley <rob@landley.net>
parents:
67
diff
changeset
|
398 ols/2001/jffs2.pdf |
39
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
399 </span> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
400 <span id="Ram backed"> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
401 <span id="ramfs"> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
402 </span> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
403 <span id="tmpfs"> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
404 </span> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
405 </span> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
406 <span id="Synthetic"> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
407 <span id="proc"> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
408 </span> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
409 <span id="sys"> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
410 </span> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
411 <span id="internal (pipefs)"> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
412 </span> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
413 <span id="usbfs"> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
414 </span> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
415 <span id="devpts"> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
416 </span> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
417 <span id="rootfs"> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
418 </span> |
53
87598e3a8e3c
Quick note about devfs (obsolete) and first half of hotplug-history.html.
Rob Landley <rob@landley.net>
parents:
49
diff
changeset
|
419 <span id="devfs (obsolete)"> |
87598e3a8e3c
Quick note about devfs (obsolete) and first half of hotplug-history.html.
Rob Landley <rob@landley.net>
parents:
49
diff
changeset
|
420 <p>Devfs was the first attempt to do a dynamic /dev directory which could change |
87598e3a8e3c
Quick note about devfs (obsolete) and first half of hotplug-history.html.
Rob Landley <rob@landley.net>
parents:
49
diff
changeset
|
421 in response to hotpluggable hardware, by doing the seemingly obvious thing of |
87598e3a8e3c
Quick note about devfs (obsolete) and first half of hotplug-history.html.
Rob Landley <rob@landley.net>
parents:
49
diff
changeset
|
422 creating a kernel filesystem to mount on /dev which would adjust itself as |
87598e3a8e3c
Quick note about devfs (obsolete) and first half of hotplug-history.html.
Rob Landley <rob@landley.net>
parents:
49
diff
changeset
|
423 the kernel detected changes in the available hardware.</p> |
87598e3a8e3c
Quick note about devfs (obsolete) and first half of hotplug-history.html.
Rob Landley <rob@landley.net>
parents:
49
diff
changeset
|
424 |
87598e3a8e3c
Quick note about devfs (obsolete) and first half of hotplug-history.html.
Rob Landley <rob@landley.net>
parents:
49
diff
changeset
|
425 <p>Devfs was an interesting learning experience, but turned out to be the wrong |
87598e3a8e3c
Quick note about devfs (obsolete) and first half of hotplug-history.html.
Rob Landley <rob@landley.net>
parents:
49
diff
changeset
|
426 approach, and was replaced by sysfs and udev. Devfs was removed in kernel |
87598e3a8e3c
Quick note about devfs (obsolete) and first half of hotplug-history.html.
Rob Landley <rob@landley.net>
parents:
49
diff
changeset
|
427 version 2.6.18. See |
87598e3a8e3c
Quick note about devfs (obsolete) and first half of hotplug-history.html.
Rob Landley <rob@landley.net>
parents:
49
diff
changeset
|
428 <a href=local/hotplug-history.html>the history of hotplug</a> for details.</p> |
87598e3a8e3c
Quick note about devfs (obsolete) and first half of hotplug-history.html.
Rob Landley <rob@landley.net>
parents:
49
diff
changeset
|
429 |
87598e3a8e3c
Quick note about devfs (obsolete) and first half of hotplug-history.html.
Rob Landley <rob@landley.net>
parents:
49
diff
changeset
|
430 </span> |
39
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
431 </span> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
432 <span id="Network"> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
433 <span id="nfs"> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
434 </span> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
435 <span id="smb/cifs"> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
436 </span> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
437 <span id="FUSE"> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
438 </span> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
439 </span> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
440 </span> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
441 <span id="Filesystem drivers"> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
442 <span id="Using"> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
443 </span> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
444 <span id="Writing"> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
445 </span> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
446 </span> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
447 </span> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
448 </span> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
449 |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
450 <span id="Drivers"> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
451 <span id="Filesystem"> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
452 </span> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
453 <span id="Block (block layer, scsi layer)"> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
454 <span id="SCSI layer"> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
455 <ul> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
456 <li><a href="Documentation/scsi">Documentation/scsi</a> scsi.txt scsi_mid_low_api.txt scsi-generic.txt scsi_eh.txt</li> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
457 <li><a href="http://sg.torque.net/sg/p/sg_v3_ho.html">SCSI Generic (sg) HOWTO</a></li> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
458 <li><a href="xmlman/man4/sd.html">man 4 sd</a></li> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
459 <li><a href="http://www.t10.org/scsi-3.htm">SCSI standards</a></li> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
460 </ul> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
461 </span> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
462 </span> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
463 <span id="Character"> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
464 <span id="serial"> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
465 </span> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
466 <span id="keyboard"> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
467 </span> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
468 <span id="tty"> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
469 <span id="pty"> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
470 </span> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
471 </span> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
472 <span id="audio"> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
473 </span> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
474 <span id="null"> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
475 </span> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
476 <span id="random/urandom"> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
477 </span> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
478 <span id="zero"> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
479 </span> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
480 </span> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
481 <span id="DRI"> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
482 </span> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
483 <span id="Network"> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
484 </span> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
485 </span> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
486 |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
487 <span id="Hotplug"> |
67
992a411c98b6
History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents:
62
diff
changeset
|
488 http://kernel.org/ols/2001/hotplug.pdf |
992a411c98b6
History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents:
62
diff
changeset
|
489 local/hotplug-history.html |
39
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
490 </span> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
491 <span id="Input core"> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
492 </span> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
493 <span id="Network"> |
68
1f41643cfe8e
Move and update the cross compile stuff, note differences between pipe/file/tty,
Rob Landley <rob@landley.net>
parents:
67
diff
changeset
|
494 <pre> |
1f41643cfe8e
Move and update the cross compile stuff, note differences between pipe/file/tty,
Rob Landley <rob@landley.net>
parents:
67
diff
changeset
|
495 physical |
1f41643cfe8e
Move and update the cross compile stuff, note differences between pipe/file/tty,
Rob Landley <rob@landley.net>
parents:
67
diff
changeset
|
496 plip |
1f41643cfe8e
Move and update the cross compile stuff, note differences between pipe/file/tty,
Rob Landley <rob@landley.net>
parents:
67
diff
changeset
|
497 serial/slip/ppp |
1f41643cfe8e
Move and update the cross compile stuff, note differences between pipe/file/tty,
Rob Landley <rob@landley.net>
parents:
67
diff
changeset
|
498 ethernet |
1f41643cfe8e
Move and update the cross compile stuff, note differences between pipe/file/tty,
Rob Landley <rob@landley.net>
parents:
67
diff
changeset
|
499 routing |
1f41643cfe8e
Move and update the cross compile stuff, note differences between pipe/file/tty,
Rob Landley <rob@landley.net>
parents:
67
diff
changeset
|
500 ipv4 |
1f41643cfe8e
Move and update the cross compile stuff, note differences between pipe/file/tty,
Rob Landley <rob@landley.net>
parents:
67
diff
changeset
|
501 ipv6 ols/2001/mipl.pdf |
1f41643cfe8e
Move and update the cross compile stuff, note differences between pipe/file/tty,
Rob Landley <rob@landley.net>
parents:
67
diff
changeset
|
502 </pre> |
39
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
503 </span> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
504 <span id="Modules"> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
505 <span id="Exported symbols"> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
506 <p>EXPORT_SYMBOL() vs EXPORT_SYMBOL_GPL()</p> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
507 <p>List of exported symbols.</p> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
508 </span> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
509 </span> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
510 <span id="Busses"> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
511 </span> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
512 <span id="API (how userspace talks to the kernel)"> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
513 <span id="Syscalls"> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
514 </span> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
515 <span id="ioctls"> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
516 </span> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
517 <span id="executable file formats"> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
518 <span id="a.out"> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
519 </span> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
520 <span id="elf"> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
521 <span id="css, bss, etc."> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
522 </span> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
523 </span> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
524 <span id="#!"> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
525 </span> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
526 <span id="flat"> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
527 </span> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
528 <span id="misc"> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
529 </span> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
530 </span> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
531 <span id="Device nodes"> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
532 </span> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
533 <span id="Pipes (new pipe infrastructure)"> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
534 </span> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
535 <span id="Synthetic filesystems (as API)"> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
536 </span> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
537 </span> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
538 </span> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
539 |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
540 <span id="Hardware"> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
541 <span id="Architectures"> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
542 <pre> |
67
992a411c98b6
History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents:
62
diff
changeset
|
543 alpha |
992a411c98b6
History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents:
62
diff
changeset
|
544 arm |
992a411c98b6
History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents:
62
diff
changeset
|
545 avr32 |
992a411c98b6
History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents:
62
diff
changeset
|
546 blackfin |
992a411c98b6
History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents:
62
diff
changeset
|
547 cris |
992a411c98b6
History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents:
62
diff
changeset
|
548 frv |
992a411c98b6
History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents:
62
diff
changeset
|
549 h8300 |
992a411c98b6
History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents:
62
diff
changeset
|
550 i386 |
992a411c98b6
History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents:
62
diff
changeset
|
551 ia64 |
992a411c98b6
History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents:
62
diff
changeset
|
552 m32r |
992a411c98b6
History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents:
62
diff
changeset
|
553 m68k |
992a411c98b6
History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents:
62
diff
changeset
|
554 m68knommu |
992a411c98b6
History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents:
62
diff
changeset
|
555 mips |
992a411c98b6
History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents:
62
diff
changeset
|
556 parisc |
68
1f41643cfe8e
Move and update the cross compile stuff, note differences between pipe/file/tty,
Rob Landley <rob@landley.net>
parents:
67
diff
changeset
|
557 powerpc ols/2001/iseries.pdf |
67
992a411c98b6
History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents:
62
diff
changeset
|
558 ppc |
992a411c98b6
History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents:
62
diff
changeset
|
559 s390 |
992a411c98b6
History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents:
62
diff
changeset
|
560 sh |
992a411c98b6
History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents:
62
diff
changeset
|
561 sh64 |
992a411c98b6
History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents:
62
diff
changeset
|
562 sparc |
992a411c98b6
History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents:
62
diff
changeset
|
563 sparc64 |
992a411c98b6
History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents:
62
diff
changeset
|
564 um |
992a411c98b6
History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents:
62
diff
changeset
|
565 v850 |
992a411c98b6
History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents:
62
diff
changeset
|
566 x86_64 |
992a411c98b6
History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents:
62
diff
changeset
|
567 xtensa |
992a411c98b6
History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents:
62
diff
changeset
|
568 |
39
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
569 include/asm-generic |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
570 uml |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
571 </pre> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
572 </span> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
573 <span id="DMA, IRQ, MMU (mmap), IOMMU, port I/O"> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
574 </span> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
575 <span id="Busses"> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
576 <span id="PCI, USB"> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
577 </span> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
578 </span> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
579 </span> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
580 |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
581 <span id="Following Linux development"> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
582 <span id="Distibutions."> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
583 </span> |
49
aa424ac2ce30
Generate index.html from master.idx.
Rob Landley <rob@landley.net>
parents:
47
diff
changeset
|
584 <span id="Releases"> |
aa424ac2ce30
Generate index.html from master.idx.
Rob Landley <rob@landley.net>
parents:
47
diff
changeset
|
585 <span id="Source control"> |
aa424ac2ce30
Generate index.html from master.idx.
Rob Landley <rob@landley.net>
parents:
47
diff
changeset
|
586 </span> |
aa424ac2ce30
Generate index.html from master.idx.
Rob Landley <rob@landley.net>
parents:
47
diff
changeset
|
587 </span> |
39
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
588 <span id="community"> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
589 <pre> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
590 CATB |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
591 http://vger.kernel.org/vger-lists.html |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
592 http://www.tux.org/lkml/ |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
593 lwn, kernel traffic, kernelplanet. |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
594 http://www.kernel.org/faq |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
595 http://www.kernel.org/kdist/rss.xml |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
596 git/mercurial |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
597 Documentation/{CodingStyle,SubmitChecklist} |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
598 The four layer (developer, maintainer, subsystem, linus) model. |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
599 Politics |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
600 Stable API nonsense |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
601 Why reiser4 not in. |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
602 </pre> |
47
0df6348fc276
Teach indexsections to output index and contents in one pass, and put index
Rob Landley <rob@landley.net>
parents:
40
diff
changeset
|
603 </span id="community"> |
0df6348fc276
Teach indexsections to output index and contents in one pass, and put index
Rob Landley <rob@landley.net>
parents:
40
diff
changeset
|
604 <span id="Submitting Patches"> |
0df6348fc276
Teach indexsections to output index and contents in one pass, and put index
Rob Landley <rob@landley.net>
parents:
40
diff
changeset
|
605 </span> |
0df6348fc276
Teach indexsections to output index and contents in one pass, and put index
Rob Landley <rob@landley.net>
parents:
40
diff
changeset
|
606 </span> |
0df6348fc276
Teach indexsections to output index and contents in one pass, and put index
Rob Landley <rob@landley.net>
parents:
40
diff
changeset
|
607 |
39
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
608 |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
609 <span id="Glossary"> |
33e0b133a517
Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
610 </span> |
47
0df6348fc276
Teach indexsections to output index and contents in one pass, and put index
Rob Landley <rob@landley.net>
parents:
40
diff
changeset
|
611 </body> |
0df6348fc276
Teach indexsections to output index and contents in one pass, and put index
Rob Landley <rob@landley.net>
parents:
40
diff
changeset
|
612 </html> |