1
- Linux kernel release 3.x <http://kernel.org/>
1
+ Linux kernel release 3.x <http://kernel.org/>
2
2
3
3
These are the release notes for Linux version 3. Read them carefully,
4
4
as they tell you what this is all about, explain how to install the
@@ -62,11 +62,11 @@ INSTALLING the kernel source:
62
62
directory where you have permissions (eg. your home directory) and
63
63
unpack it:
64
64
65
- gzip -cd linux-3.X.tar.gz | tar xvf -
65
+ gzip -cd linux-3.X.tar.gz | tar xvf -
66
66
67
67
or
68
68
69
- bzip2 -dc linux-3.X.tar.bz2 | tar xvf -
69
+ bzip2 -dc linux-3.X.tar.bz2 | tar xvf -
70
70
71
71
Replace "X" with the version number of the latest kernel.
72
72
@@ -80,11 +80,11 @@ INSTALLING the kernel source:
80
80
install by patching, get all the newer patch files, enter the
81
81
top level directory of the kernel source (linux-3.X) and execute:
82
82
83
- gzip -cd ../patch-3.x.gz | patch -p1
83
+ gzip -cd ../patch-3.x.gz | patch -p1
84
84
85
85
or
86
86
87
- bzip2 -dc ../patch-3.x.bz2 | patch -p1
87
+ bzip2 -dc ../patch-3.x.bz2 | patch -p1
88
88
89
89
Replace "x" for all versions bigger than the version "X" of your current
90
90
source tree, _in_order_, and you should be ok. You may want to remove
@@ -105,16 +105,16 @@ INSTALLING the kernel source:
105
105
process. It determines the current kernel version and applies any
106
106
patches found.
107
107
108
- linux/scripts/patch-kernel linux
108
+ linux/scripts/patch-kernel linux
109
109
110
110
The first argument in the command above is the location of the
111
111
kernel source. Patches are applied from the current directory, but
112
112
an alternative directory can be specified as the second argument.
113
113
114
114
- Make sure you have no stale .o files and dependencies lying around:
115
115
116
- cd linux
117
- make mrproper
116
+ cd linux
117
+ make mrproper
118
118
119
119
You should now have the sources correctly installed.
120
120
@@ -137,8 +137,8 @@ BUILD directory for the kernel:
137
137
place for the output files (including .config).
138
138
Example:
139
139
140
- kernel source code: /usr/src/linux-3.X
141
- build directory: /home/name/build/kernel
140
+ kernel source code: /usr/src/linux-3.X
141
+ build directory: /home/name/build/kernel
142
142
143
143
To configure and build the kernel, use:
144
144
@@ -161,76 +161,76 @@ CONFIGURING the kernel:
161
161
162
162
- Alternative configuration commands are:
163
163
164
- "make config" Plain text interface.
164
+ "make config" Plain text interface.
165
165
166
- "make menuconfig" Text based color menus, radiolists & dialogs.
166
+ "make menuconfig" Text based color menus, radiolists & dialogs.
167
167
168
- "make nconfig" Enhanced text based color menus.
168
+ "make nconfig" Enhanced text based color menus.
169
169
170
- "make xconfig" X windows (Qt) based configuration tool.
170
+ "make xconfig" X windows (Qt) based configuration tool.
171
171
172
- "make gconfig" X windows (Gtk) based configuration tool.
172
+ "make gconfig" X windows (Gtk) based configuration tool.
173
173
174
- "make oldconfig" Default all questions based on the contents of
175
- your existing ./.config file and asking about
176
- new config symbols.
174
+ "make oldconfig" Default all questions based on the contents of
175
+ your existing ./.config file and asking about
176
+ new config symbols.
177
177
178
- "make silentoldconfig"
179
- Like above, but avoids cluttering the screen
180
- with questions already answered.
181
- Additionally updates the dependencies.
178
+ "make silentoldconfig"
179
+ Like above, but avoids cluttering the screen
180
+ with questions already answered.
181
+ Additionally updates the dependencies.
182
182
183
- "make defconfig" Create a ./.config file by using the default
184
- symbol values from either arch/$ARCH/defconfig
185
- or arch/$ARCH/configs/${PLATFORM}_defconfig,
186
- depending on the architecture.
183
+ "make defconfig" Create a ./.config file by using the default
184
+ symbol values from either arch/$ARCH/defconfig
185
+ or arch/$ARCH/configs/${PLATFORM}_defconfig,
186
+ depending on the architecture.
187
187
188
- "make ${PLATFORM}_defconfig"
189
- Create a ./.config file by using the default
190
- symbol values from
191
- arch/$ARCH/configs/${PLATFORM}_defconfig.
192
- Use "make help" to get a list of all available
193
- platforms of your architecture.
188
+ "make ${PLATFORM}_defconfig"
189
+ Create a ./.config file by using the default
190
+ symbol values from
191
+ arch/$ARCH/configs/${PLATFORM}_defconfig.
192
+ Use "make help" to get a list of all available
193
+ platforms of your architecture.
194
194
195
- "make allyesconfig"
196
- Create a ./.config file by setting symbol
197
- values to 'y' as much as possible.
195
+ "make allyesconfig"
196
+ Create a ./.config file by setting symbol
197
+ values to 'y' as much as possible.
198
198
199
- "make allmodconfig"
200
- Create a ./.config file by setting symbol
201
- values to 'm' as much as possible.
199
+ "make allmodconfig"
200
+ Create a ./.config file by setting symbol
201
+ values to 'm' as much as possible.
202
202
203
- "make allnoconfig" Create a ./.config file by setting symbol
204
- values to 'n' as much as possible.
203
+ "make allnoconfig" Create a ./.config file by setting symbol
204
+ values to 'n' as much as possible.
205
205
206
- "make randconfig" Create a ./.config file by setting symbol
207
- values to random values.
206
+ "make randconfig" Create a ./.config file by setting symbol
207
+ values to random values.
208
208
209
209
You can find more information on using the Linux kernel config tools
210
210
in Documentation/kbuild/kconfig.txt.
211
211
212
- NOTES on "make config":
212
+ - NOTES on "make config":
213
213
214
- - Having unnecessary drivers will make the kernel bigger, and can
215
- under some circumstances lead to problems: probing for a
216
- nonexistent controller card may confuse your other controllers
214
+ - Having unnecessary drivers will make the kernel bigger, and can
215
+ under some circumstances lead to problems: probing for a
216
+ nonexistent controller card may confuse your other controllers
217
217
218
- - Compiling the kernel with "Processor type" set higher than 386
219
- will result in a kernel that does NOT work on a 386. The
220
- kernel will detect this on bootup, and give up.
218
+ - Compiling the kernel with "Processor type" set higher than 386
219
+ will result in a kernel that does NOT work on a 386. The
220
+ kernel will detect this on bootup, and give up.
221
221
222
- - A kernel with math-emulation compiled in will still use the
223
- coprocessor if one is present: the math emulation will just
224
- never get used in that case. The kernel will be slightly larger,
225
- but will work on different machines regardless of whether they
226
- have a math coprocessor or not.
222
+ - A kernel with math-emulation compiled in will still use the
223
+ coprocessor if one is present: the math emulation will just
224
+ never get used in that case. The kernel will be slightly larger,
225
+ but will work on different machines regardless of whether they
226
+ have a math coprocessor or not.
227
227
228
- - The "kernel hacking" configuration details usually result in a
229
- bigger or slower kernel (or both), and can even make the kernel
230
- less stable by configuring some routines to actively try to
231
- break bad code to find kernel problems (kmalloc()). Thus you
232
- should probably answer 'n' to the questions for
233
- "development", "experimental", or "debugging" features.
228
+ - The "kernel hacking" configuration details usually result in a
229
+ bigger or slower kernel (or both), and can even make the kernel
230
+ less stable by configuring some routines to actively try to
231
+ break bad code to find kernel problems (kmalloc()). Thus you
232
+ should probably answer 'n' to the questions for "development",
233
+ "experimental", or "debugging" features.
234
234
235
235
COMPILING the kernel:
236
236
@@ -257,7 +257,7 @@ COMPILING the kernel:
257
257
For this, use "verbose" build mode. This is done by inserting
258
258
"V=1" in the "make" command. E.g.:
259
259
260
- make V=1 all
260
+ make V=1 all
261
261
262
262
To have the build system also tell the reason for the rebuild of each
263
263
target, use "V=2". The default is "V=0".
@@ -320,14 +320,14 @@ IF SOMETHING GOES WRONG:
320
320
321
321
- If the bug results in a message like
322
322
323
- unable to handle kernel paging request at address C0000010
324
- Oops: 0002
325
- EIP: 0010:XXXXXXXX
326
- eax: xxxxxxxx ebx: xxxxxxxx ecx: xxxxxxxx edx: xxxxxxxx
327
- esi: xxxxxxxx edi: xxxxxxxx ebp: xxxxxxxx
328
- ds: xxxx es: xxxx fs: xxxx gs: xxxx
329
- Pid: xx, process nr: xx
330
- xx xx xx xx xx xx xx xx xx xx
323
+ unable to handle kernel paging request at address C0000010
324
+ Oops: 0002
325
+ EIP: 0010:XXXXXXXX
326
+ eax: xxxxxxxx ebx: xxxxxxxx ecx: xxxxxxxx edx: xxxxxxxx
327
+ esi: xxxxxxxx edi: xxxxxxxx ebp: xxxxxxxx
328
+ ds: xxxx es: xxxx fs: xxxx gs: xxxx
329
+ Pid: xx, process nr: xx
330
+ xx xx xx xx xx xx xx xx xx xx
331
331
332
332
or similar kernel debugging information on your screen or in your
333
333
system log, please duplicate it *exactly*. The dump may look
@@ -356,7 +356,7 @@ IF SOMETHING GOES WRONG:
356
356
the file 'linux/vmlinux'. To extract the namelist and match it against
357
357
the EIP from the kernel crash, do:
358
358
359
- nm vmlinux | sort | less
359
+ nm vmlinux | sort | less
360
360
361
361
This will give you a list of kernel addresses sorted in ascending
362
362
order, from which it is simple to find the function that contains the
0 commit comments