version 6, including all changes.
.
Rev |
Author |
# |
Line |
3 |
perry |
1 |
MAKE-KPKG |
|
|
2 |
!!!MAKE-KPKG |
|
|
3 |
NAME |
|
|
4 |
SYNOPSIS |
|
|
5 |
DESCRIPTION |
|
|
6 |
OPTIONS |
|
|
7 |
TARGETS |
|
|
8 |
ENVIRONMENT VARIABLES |
|
|
9 |
FILES |
|
|
10 |
SEE ALSO |
|
|
11 |
AUTHOR |
|
|
12 |
---- |
|
|
13 |
!!NAME |
|
|
14 |
|
|
|
15 |
|
|
|
16 |
make-kpkg - build Debian kernel packages from Linux kernel sources |
|
|
17 |
!!SYNOPSIS |
|
|
18 |
|
|
|
19 |
|
|
|
20 |
__make-kpkg__ ''[[options]'' [[target [[target |
|
|
21 |
...]] |
|
|
22 |
!!DESCRIPTION |
|
|
23 |
|
|
|
24 |
|
|
|
25 |
This manual page explains the Debian __make-kpkg__ |
|
|
26 |
utility, which is used to create the kernel related Debian |
|
|
27 |
packages. This utility needs to be run from a top level |
|
|
28 |
Linux kernel source directory. |
|
|
29 |
!!OPTIONS |
|
|
30 |
|
|
|
31 |
|
|
|
32 |
__--help__ Print out a usage message. |
|
|
33 |
|
|
|
34 |
|
|
|
35 |
__--revision__ number |
|
|
36 |
|
|
|
37 |
|
|
|
38 |
Changes the Debian revision number for the packages produced |
|
|
39 |
to the argument __number.__ This has certain constraints: |
|
|
40 |
the --revision option only has an effect during the |
|
|
41 |
configure phase (in other words, if a file called |
|
|
42 |
''stamp-configure'' exists, this option has no effect -- |
|
|
43 |
run __make-kpkg clean__ or manually remove |
|
|
44 |
''stamp-configure'' and ''stamp-debian'' for it to |
|
|
45 |
have an effect -- I strongly suggest you run __make-kpkg |
|
|
46 |
clean__ unless you know what you are doing). Additionally, |
|
|
47 |
official source package maintainers provide their own |
|
|
48 |
version numbers and data for the official uploads, and hence |
|
|
49 |
a number of things, including the __Debian__ revision, is |
|
|
50 |
not modified by __make-kpkg.__ If you happen to have an |
|
|
51 |
official source, (that would mean that the file |
|
|
52 |
''debian/official'' exists), and want to use your own |
|
|
53 |
revision number, make sure you remove ''debian/official'' |
|
|
54 |
before running __make-kpkg clean__ for this option to |
|
|
55 |
have an effect. So, if you want to re-run __make-kpkg__ |
|
|
56 |
with a different revision number, you have to make sure you |
|
|
57 |
start with a clean slate. Secondly, the version may contain |
|
|
58 |
only alphanumerics and the characters + . (full stop and |
|
|
59 |
plus) and must contain a digit. (Look at the Policy manual |
|
|
60 |
for details). ''Actually, that is a lie: official kernel |
|
|
61 |
and modules maintainers have special dispensation to use |
|
|
62 |
hyphens, but it is strongly deprecated for most people, |
|
|
63 |
since no sanitization of the version number is done, and |
|
|
64 |
dpkg and friends may choke on it at the end of the compile |
|
|
65 |
unless one knows what one is doing.'' Optionally, you may |
|
|
66 |
prepend the revision with a digit followed by a colon (:). |
|
|
67 |
The default is __1.00.Custom__ unless the env variable |
|
|
68 |
__DEBIAN_REVISION_MANDATORY__ is set, in which case an |
|
|
69 |
error is generated if the revision is not set on the command |
|
|
70 |
line or the config file. |
|
|
71 |
|
|
|
72 |
|
|
|
73 |
__--append-to-version__ foo |
|
|
74 |
|
|
|
75 |
|
|
|
76 |
__--append_to_version__ foo |
|
|
77 |
|
|
|
78 |
|
|
|
79 |
This argument ( __foo__ ) is appended to the value of the |
|
|
80 |
EXTRAVERSION variable present in the kernel Makefile. Since |
|
|
81 |
EXTRAVERSION is a component of the kernel version, it is |
|
|
82 |
also added to the Debian package name, and, as such must |
|
|
83 |
obey the policy governing the package name. That means it |
|
|
84 |
may contain only __lowercase__ alphanumerics and the |
|
|
85 |
characters - + . (full stop, hyphen, and plus). Uppercase |
|
|
86 |
letters are not permitted under the Policy for a new |
|
|
87 |
package. This over rides the environment variable |
|
|
88 |
__APPEND_TO_VERSION__ Please note that you |
|
|
89 |
__must__ run a __make-kpkg__ |
|
|
90 |
''clean'' after configuring the kernel using ''make |
|
|
91 |
(x|menu)?config,'' since that creates the file |
|
|
92 |
''include/linux/version.h'' __without__ the |
|
|
93 |
''append_to_version'' data (foo). This file won't be |
|
|
94 |
updated by the make-kpkg run (make-kpkg creates version.h if |
|
|
95 |
it doesn't exist, but doesn't touch if exists), so the final |
|
|
96 |
kernel will _not_ have the append_to_version data in its |
|
|
97 |
version number it shall look for the modules and symbols in |
|
|
98 |
all the wrong places. The simpliest solution is either to |
|
|
99 |
remove include/linux/version.h after configuring and before |
|
|
100 |
compiling, or running __make-kpkg clean__ after |
|
|
101 |
configuring, before compiling. __Note__ also that once |
|
|
102 |
you use __--append_to_version__ foo for configuring, or |
|
|
103 |
building the kernel-image, you need to also use the same |
|
|
104 |
option in any later invocation of make-kpkg (say, for |
|
|
105 |
building stand alone modules, or something). |
|
|
106 |
__make-kpkg__ does not remember the argument foo in |
|
|
107 |
between invocations (this is different from the behaviour of |
|
|
108 |
--revision, which we do remember in between invocations). If |
|
|
109 |
you are annoyed by make-kpkg whining about using |
|
|
110 |
__--append_to_version__ and there already being a file |
|
|
111 |
from before, you can set the environment variable |
|
|
112 |
__VERSION_H_OK__ which shall shut off the |
|
|
113 |
warning. |
|
|
114 |
|
|
|
115 |
|
|
|
116 |
__--flavour foo__ |
|
|
117 |
|
|
|
118 |
|
|
|
119 |
This option is now deprecated in favour of |
|
|
120 |
__--append_to_version.__ Sets the kernel flavour to the |
|
|
121 |
argument __foo__. The flavour is also appended to the |
|
|
122 |
package name. You need a patched Makefile to make this work |
|
|
123 |
properly (see /usr/share/doc/kernel-package/ |
|
|
124 |
Flavours .gz). It may contain only |
|
|
125 |
__lowercase__ alphanumerics and the characters - + . |
|
|
126 |
(full stop, hyphen, and plus). Uppercase letter are not |
|
|
127 |
permitted under the Policy for a new package. |
|
|
128 |
__NOTE__ : Hyphens are discouraged. (Look |
|
|
129 |
at Chapters 4 of the Policy manual for details). Please note |
|
|
130 |
that you shall need to __make-kpkg__ ''clean'' |
|
|
131 |
__FIRST__ if you wish to recompile the kernel-image using |
|
|
132 |
a flavour. |
|
|
133 |
|
|
|
134 |
|
|
|
135 |
__--added-modules foo__ |
|
|
136 |
|
|
|
137 |
|
|
|
138 |
__--added_modules foo__ |
|
|
139 |
|
|
|
140 |
|
|
|
141 |
The argument should be a comma separated list of additional |
|
|
142 |
add-on modules (not in the main kernel tree) that you wish |
|
|
143 |
to build when you invoke the modules_blah targets. You may |
|
|
144 |
give full path names of the directory the modules reside in, |
|
|
145 |
or just the module name if it can be found in |
|
|
146 |
__MODULE_LOC,__ which defaults to |
|
|
147 |
''/usr/src/modules.'' The default is that all modules in |
|
|
148 |
__MODULE_LOC,__ are compiled when the modules_blah |
|
|
149 |
targets are invoked. |
|
|
150 |
|
|
|
151 |
|
|
|
152 |
__--added-patches foo__ |
|
|
153 |
|
|
|
154 |
|
|
|
155 |
__--added_patches foo__ |
|
|
156 |
|
|
|
157 |
|
|
|
158 |
The argument should be a comma separated list of additional |
|
|
159 |
patches to the kernel sources. This requires the |
|
|
160 |
''patch_the_kernel'' configuration option to be set to |
|
|
161 |
YES (this, in turn, can be overridden by the environment |
|
|
162 |
variable __PATCH_THE_KERNEL__ ). |
|
|
163 |
|
|
|
164 |
|
|
|
165 |
Unlike the treatment of the modules, you may only give the |
|
|
166 |
patch name (not the full path name of the patch file). It |
|
|
167 |
shall be applied during the configure phase (and removed in |
|
|
168 |
the clean phase) if it can be found in the directories |
|
|
169 |
__ALL_PATCH_DIR/{apply,unpatch}/,__ which defaults to a |
|
|
170 |
subdirectory of ''/usr/src/kernel-patches/.'' The default |
|
|
171 |
is that all patches are applied if requested (Either by |
|
|
172 |
setting the configuration option __patch_the_kernel__ or |
|
|
173 |
the env variable __PATCH_THE_KERNEL__ to YES). Please |
|
|
174 |
note that the patches are uninstalled from the source when |
|
|
175 |
you run the clean target. This cleanup can be prevented by |
|
|
176 |
setting the env variable |
|
|
177 |
__NO_UNPATCH_BY_DEFAULT__ |
|
|
178 |
|
|
|
179 |
|
|
|
180 |
Some times it would be convenient to have the patches |
|
|
181 |
applied when one asks for specific patches using this |
|
|
182 |
option, without also having to explicitly set the |
|
|
183 |
envirnonment variable. Since setting the environment |
|
|
184 |
variable __PATCH_THE_KERNEL__ to YES could be dangerous, |
|
|
185 |
(for in that case all patches may be installed when you want |
|
|
186 |
none, and did not specify the applied_pacthes option), You |
|
|
187 |
may also set the variable PATCH_THE_KERNEL to ''AUTO,'' |
|
|
188 |
in which case PATCH_THE_KERNEL shall be set to YES for you |
|
|
189 |
when you invoke __--added-patches foo,__ but not |
|
|
190 |
otherwise. |
|
|
191 |
|
|
|
192 |
|
|
|
193 |
__--arch foo__ |
|
|
194 |
|
|
|
195 |
|
|
|
196 |
This is useful for setting the architecture when you are |
|
|
197 |
cross compiling. If you are not cross compiling, the |
|
|
198 |
architecture is determined automatically. The same effect |
|
|
199 |
can be achieved by setting the environment variable |
|
|
200 |
__KPKG_ARCH__ |
|
|
201 |
|
|
|
202 |
|
|
|
203 |
__--cross-compile foo__ |
|
|
204 |
|
|
|
205 |
|
|
|
206 |
__--cross_compile foo__ |
|
|
207 |
|
|
|
208 |
|
|
|
209 |
This is useful for setting the target string when you are |
|
|
210 |
cross compiling. The same effect can be achieved by setting |
|
|
211 |
the environment variable __CROSS_COMPILE__ |
|
|
212 |
|
|
|
213 |
|
|
|
214 |
__--subarch foo__ |
|
|
215 |
|
|
|
216 |
|
|
|
217 |
Some architectures (the Alpha, and the m68k) require a |
|
|
218 |
different kernel for each subarchitecture. This option |
|
|
219 |
provides a way of specifying it as an argument to |
|
|
220 |
__make-kpkg__. __Please note__ that additional support |
|
|
221 |
for subarchitectures may be required in the kernel sources |
|
|
222 |
to actually make this do anything. The same effect can be |
|
|
223 |
achieved by setting the environment variable |
|
|
224 |
__KPKG_SUBARCH__ |
|
|
225 |
|
|
|
226 |
|
|
|
227 |
__--arch-in-name__ |
|
|
228 |
|
|
|
229 |
|
|
|
230 |
__--arch_in_name__ |
|
|
231 |
|
|
|
232 |
|
|
|
233 |
This option uses an extended name for the kernel image |
|
|
234 |
package by embedding the subarchitecture in the image name, |
|
|
235 |
so one could write a script to create multiple |
|
|
236 |
subarchitectures one after the other. You may also do this |
|
|
237 |
by setting the environment variable __ARCH_IN_NAME. Please |
|
|
238 |
note__ that only the package ''name'' is affected, not |
|
|
239 |
modules locations etc. |
|
|
240 |
|
|
|
241 |
|
|
|
242 |
__--pgpsign__ name |
|
|
243 |
|
|
|
244 |
|
|
|
245 |
Set the string used to sign the __changes__ file for any |
|
|
246 |
external modules in ''/usr/src/modules/'' using PGP. This |
|
|
247 |
option will override the builtin default and the site wide |
|
|
248 |
customizations stored in the file |
|
|
249 |
''/etc/kernel-pkg.conf'' or |
|
|
250 |
''~/.kernel-pkg.conf.'' |
|
|
251 |
|
|
|
252 |
|
|
|
253 |
__--config__ target |
|
|
254 |
|
|
|
255 |
|
|
|
256 |
Change the type of configure done from the default |
|
|
257 |
oldconfig. ''target'' must be one of |
|
|
258 |
oldconfig, config, menuconfig, |
|
|
259 |
xconfig; or old, menu, or |
|
|
260 |
x. This option is particularly useful when using |
|
|
261 |
PATCH_THE_KERNEL if some of the patches |
|
|
262 |
change what configuration options are |
|
|
263 |
available. |
|
|
264 |
|
|
|
265 |
|
|
|
266 |
__--targets__ |
|
|
267 |
|
|
|
268 |
|
|
|
269 |
Prints out a list of known targets. See the Section |
|
|
270 |
__Targets__ below. |
|
|
271 |
|
|
|
272 |
|
|
|
273 |
__--noexec__ |
|
|
274 |
|
|
|
275 |
|
|
|
276 |
Pass a __-n__ option to the ''make'' process so that |
|
|
277 |
commands are merely printed to the screen but not actually |
|
|
278 |
executed. This is very useful for debugging. |
|
|
279 |
|
|
|
280 |
|
|
|
281 |
__--initrd__ |
|
|
282 |
|
|
|
283 |
|
|
|
284 |
If __make-kpkg__ is generating a ''kernel-image'' |
|
|
285 |
package, perform any actions necessary for a kernel loaded |
|
|
286 |
using __initrd.__ This may include extra dependencies, |
|
|
287 |
and modifications to maintainer scripts. It has no effect |
|
|
288 |
when __make-kpkg is not making a__ ''kernel-image'' |
|
|
289 |
package. The same effect can be achieved by setting the |
|
|
290 |
environment variable __INITRD__ to any non empty value. |
|
|
291 |
To avoid a warning at install time, please read |
|
|
292 |
kernel-img.conf(5), and add a ''warn_initrd'' directive |
|
|
293 |
in that file. |
|
|
294 |
|
|
|
295 |
|
|
|
296 |
__--zimage__ |
|
|
297 |
|
|
|
298 |
|
|
|
299 |
Makes a zImage kernel rather than a bzImage kernel (the |
|
|
300 |
default). Useful for people having problems with bzImage |
|
|
301 |
kernels. |
|
|
302 |
|
|
|
303 |
|
|
|
304 |
__--bzimage__ |
|
|
305 |
|
|
|
306 |
|
|
|
307 |
Makes a bzImage kernel. Useful for people who want a bzImage |
|
|
308 |
kernel on sites where the default is zImage |
|
|
309 |
kernels. |
|
|
310 |
|
|
|
311 |
|
|
|
312 |
__--rootcmd foo__ |
|
|
313 |
|
|
|
314 |
|
|
|
315 |
The command that provides a means of gaining super user |
|
|
316 |
access (for example, `sudo' or `fakeroot') as needed by |
|
|
317 |
dpkg-buildpackages' -r option. |
|
|
318 |
|
|
|
319 |
|
|
|
320 |
__--us__ |
|
|
321 |
|
|
|
322 |
|
|
|
323 |
This option is passed to dpkg-buildpackage, and directs that |
|
|
324 |
package not to sign the source. This is only relevant for |
|
|
325 |
the buildpackage target. |
|
|
326 |
|
|
|
327 |
|
|
|
328 |
__--uc__ |
|
|
329 |
|
|
|
330 |
|
|
|
331 |
This option is passed to dpkg-buildpackage, and directs that |
|
|
332 |
package not to sign the changelog. This is only relevant for |
|
|
333 |
the buildpackage target. |
|
|
334 |
|
|
|
335 |
|
|
|
336 |
The options maybe shortened to the smallest unique string, |
|
|
337 |
and may be entered with either a - or a -- prefix, and you |
|
|
338 |
may use a space or an = symbol between an option string and |
|
|
339 |
a value. You may also use the form option=value; for details |
|
|
340 |
these and other variant forms supported, please read man |
|
|
341 |
Getopt::Long (3perl). |
|
|
342 |
!!TARGETS |
|
|
343 |
|
|
|
344 |
|
|
|
345 |
__clean__ |
|
|
346 |
|
|
|
347 |
|
|
|
348 |
Cleans the kernel source directory of all files created by |
|
|
349 |
target __build,__ and runs a make distclean. (Please look |
|
|
350 |
at a Linux kernel Makefile for details). Please note that |
|
|
351 |
although we take care of the list of current kernel |
|
|
352 |
configuration contained in the file ''.config,'' the file |
|
|
353 |
''include/linux/autoconf.h'' is not |
|
|
354 |
preserved. |
|
|
355 |
|
|
|
356 |
|
|
|
357 |
__buildpackage__ |
|
|
358 |
|
|
|
359 |
|
|
|
360 |
This target runs the targets __clean,__ and |
|
|
361 |
__binary,__ and produces the complete package using |
|
|
362 |
__dpkg-buildpackage__ |
|
|
363 |
|
|
|
364 |
|
|
|
365 |
__binary__ |
|
|
366 |
|
|
|
367 |
|
|
|
368 |
This target produces all four Debian kernel packages by |
|
|
369 |
running the targets __kernel_source, kernel_headers, |
|
|
370 |
kernel_doc__ and __kernel_image.__ |
|
|
371 |
|
|
|
372 |
|
|
|
373 |
__kernel_source__ |
|
|
374 |
|
|
|
375 |
|
|
|
376 |
This target produces a debianised package of the Linux |
|
|
377 |
kernel sources. |
|
|
378 |
|
|
|
379 |
|
|
|
380 |
__kernel_headers__ |
|
|
381 |
|
|
|
382 |
|
|
|
383 |
This target produces a Debian package containing the header |
|
|
384 |
files included in the Linux kernel. |
|
|
385 |
|
|
|
386 |
|
|
|
387 |
__kernel_doc__ |
|
|
388 |
|
|
|
389 |
|
|
|
390 |
This target produces a Debian package containing the |
|
|
391 |
documentation included in the Linux kernel. |
|
|
392 |
|
|
|
393 |
|
|
|
394 |
__kernel_image__ |
|
|
395 |
|
|
|
396 |
|
|
|
397 |
This target produces a Debian package of the Linux kernel |
|
|
398 |
source image, and any modules configured in the kernel |
|
|
399 |
configuration file ''.config.'' If there is no |
|
|
400 |
''.config'' file in the kernel source directory, a |
|
|
401 |
default configuration is provided similar to the one used to |
|
|
402 |
create the __Debian__ boot-floppies. At install time, it |
|
|
403 |
updates symbolic links in the symlink destination directory |
|
|
404 |
(the root directory by default) to point to the new kernel |
|
|
405 |
image in the image directory, which is nominally |
|
|
406 |
''/boot.'' If the symbolic link already points to the |
|
|
407 |
current kernel image, no action is taken. If a prior |
|
|
408 |
symbolic link exists, it is rotated out with a suffix.old, |
|
|
409 |
and a new symbolic link, properly updated is installed in |
|
|
410 |
its place (the variable minimal_swap in |
|
|
411 |
''/etc/kernel-img.conf'' further modifies this |
|
|
412 |
behaviour). On installation, it also offers to run the Linux |
|
|
413 |
loader, ''LILO'' (or alternates like ''loadlin, SILO, |
|
|
414 |
QUIK, VMELILO, ZIPL, yaboot, PALO'' or ''GRUB'' ), |
|
|
415 |
creating a configuration file for supported boot loaders if |
|
|
416 |
needed. At that time it also offers to put the new kernel on |
|
|
417 |
a floppy, formatting the floppy if needed. On deletion, the |
|
|
418 |
package checks the version of the kernel running, and |
|
|
419 |
refuses to delete a running kernel. ''grub'' rates a |
|
|
420 |
special mention here, since grub may not need to be rerun |
|
|
421 |
after installing a kernel image, though an automated change |
|
|
422 |
to the menu list would be nice on install and removal of |
|
|
423 |
kernel image packages. Please see the documentation about |
|
|
424 |
hooks in __kernel-img.conf(5).__ These hooks are |
|
|
425 |
variables that can be pointed to scripts that add or remove |
|
|
426 |
a line from the grub menu list at kernel image install and |
|
|
427 |
remove times. A sample script to add lines to a grub menu |
|
|
428 |
file is included in the dir |
|
|
429 |
|
|
|
430 |
|
|
|
431 |
__build__ |
|
|
432 |
|
|
|
433 |
|
|
|
434 |
This target, used by target __kernel_image__ above, |
|
|
435 |
compiles the Linux kernel image. |
|
|
436 |
|
|
|
437 |
|
|
|
438 |
__modules__ |
|
|
439 |
|
|
|
440 |
|
|
|
441 |
This target allows you to build all add-on modules and |
|
|
442 |
packages that are very dependent on the precise kernel |
|
|
443 |
version they are compiled for at the same time you build |
|
|
444 |
your kernel image. This target expects to find the modules |
|
|
445 |
or packages under /usr/src/modules, and, for all such |
|
|
446 |
directories, changes to /usr/src/modules/x, and runs the |
|
|
447 |
__kdist__ rule in the local ''debian.rules'' file. |
|
|
448 |
This target should create the __Debian__ module |
|
|
449 |
package(s), and may also produce a compressed tar file, and |
|
|
450 |
a compressed diff file, with ''md5sums'' recorded in a |
|
|
451 |
changes file using __dpkg-genchanges.__ The file is |
|
|
452 |
signed by the same identity that would be used to sign the |
|
|
453 |
kernel packages. This option is used by maintainers |
|
|
454 |
uploading the package to the Debian archives. |
|
|
455 |
|
|
|
456 |
|
|
|
457 |
__modules_config__ |
|
|
458 |
|
|
|
459 |
|
|
|
460 |
This target allows you to configure all packages under |
|
|
461 |
__/usr/src/modules.__ This is useful if you need to |
|
|
462 |
manually modify some aspects of the configuration, or if you |
|
|
463 |
want to manually compile the add on modules. |
|
|
464 |
|
|
|
465 |
|
|
|
466 |
__modules_image__ |
|
|
467 |
|
|
|
468 |
|
|
|
469 |
This target allows you to build all packages under |
|
|
470 |
__/usr/src/modules,__ but does not create the source or |
|
|
471 |
diff files, and does not create and sign a changes file. |
|
|
472 |
This is the only modules related option you need if you just |
|
|
473 |
want to compile the add on modules image files for |
|
|
474 |
installation on one or more machines. Generally called |
|
|
475 |
inconjunction with __kernel_image,__ especially if also |
|
|
476 |
using the option __append_to_version__ (prevents spurious |
|
|
477 |
warnings). |
|
|
478 |
|
|
|
479 |
|
|
|
480 |
__modules_clean__ |
|
|
481 |
|
|
|
482 |
|
|
|
483 |
This target allows you to clean all packages under |
|
|
484 |
__/usr/src/modules,__ and this sould be all that is |
|
|
485 |
needed to undo the effect of any of the other modules_ |
|
|
486 |
targets. |
|
|
487 |
|
|
|
488 |
|
|
|
489 |
__configure__ |
|
|
490 |
|
|
|
491 |
|
|
|
492 |
This target runs configure (actually, __config_target,__ |
|
|
493 |
set by __--config__ which defaults to ''oldconfig'' ) |
|
|
494 |
early, so you may edit files generated by __make config__ |
|
|
495 |
in the kernel source directory and not have them stomped by |
|
|
496 |
__make-kpkg__ later. |
|
|
497 |
|
|
|
498 |
|
|
|
499 |
__debian__ |
|
|
500 |
|
|
|
501 |
|
|
|
502 |
This target creates the ''./debian'' directory, and |
|
|
503 |
optionally patches the source. This is called by the |
|
|
504 |
__configure__ target. You may use this target to have the |
|
|
505 |
sources patched, and then manually run the configuration |
|
|
506 |
step. |
|
|
507 |
|
|
|
508 |
|
|
|
509 |
__libc-kheaders__ |
|
|
510 |
|
|
|
511 |
|
|
|
512 |
This is a special target for the libc-dev maintainer, who |
|
|
513 |
can use it to create the headers package that libc needs. |
|
|
514 |
Please note that it is dangerous to create a libc-kheaders |
|
|
515 |
package that is different fomr the headers libc was compiled |
|
|
516 |
with; it is __known__ to subtly break systems. Please |
|
|
517 |
look at ''/usr/share/kernel-package/README.headers'' for |
|
|
518 |
details. Creating and installing a self created |
|
|
519 |
libc-kheaders package may break your system unless you know |
|
|
520 |
what you are doing. You have been warned. |
|
|
521 |
!!ENVIRONMENT VARIABLES |
|
|
522 |
|
|
|
523 |
|
|
|
524 |
The following variables (documented aboce) affect |
|
|
525 |
__make-kpkg:__ ''DEBIAN_REVISION_MANDATORY |
|
|
526 |
APPEND_TO_VERSION VERSION_H_OK PATCH_THE_KERNEL |
|
|
527 |
NO_UNPATCH_BY_DEFAULT KPKG_ARCH CROSS_COMPILE KPKG_SUBARCH |
|
|
528 |
ARCH_IN_NAME INITRD'' |
|
|
529 |
!!FILES |
|
|
530 |
|
|
|
531 |
|
|
|
532 |
Apart from the runtime options, the ''debian.rules'' file |
|
|
533 |
run by __make-kpkg__ also looks for a per user |
|
|
534 |
configuration file ''~/.kernel-pkg.conf.'' Failing that, |
|
|
535 |
it looks for site-wide defaults in the file |
|
|
536 |
''/etc/kernel-pkg.conf.'' The default configuration |
|
|
537 |
allows there to be a site wide override for the full name |
|
|
538 |
and email address of the person responsible for maintaining |
|
|
539 |
the kernel packages on the site, but the |
|
|
540 |
''/etc/kernel-pkg.conf'' (or ''~/.kernel-pkg.conf.'' ) |
|
|
541 |
file is actually a Makefile snippet, and any legal make |
|
|
542 |
directives may be included in there. __Note:__ Caution is |
|
|
543 |
urged with this file, since you can totally change the way |
|
|
544 |
that the make is run by suitably editing this file. Please |
|
|
545 |
look at ''/usr/share/doc/kernel-package/Problems.gz'' for |
|
|
546 |
a list of known problems while compiling kernel images. |
|
|
547 |
Extensive tutorial like documentation is also available in |
|
|
548 |
''/usr/share/doc/kernel-package/README.gz'' and it is |
|
|
549 |
recommended that one read that before using this |
|
|
550 |
utility. |
|
|
551 |
!!SEE ALSO |
|
|
552 |
|
|
|
553 |
|
4 |
perry |
554 |
kernel-pkg.conf(5), __kernel-img.conf__(5), |
|
|
555 |
Getopt::Long(3perl), __dpkg-deb__(1), |
|
|
556 |
dpkg-source(1), make(1), __The Programmers |
3 |
perry |
557 |
manual, The GNU Make manual,__ and the extensive |
|
|
558 |
documentation in the directory |
|
|
559 |
__/usr/share/doc/kernel-package__ |
|
|
560 |
!!AUTHOR |
|
|
561 |
|
|
|
562 |
|
|
|
563 |
This manual page was written by Manoj Srivastava |
|
|
564 |
---- |
5 |
EthanGlasserCamp |
565 |
|
6 |
RobSharp |
566 |
make-kpkg builds packages with files which have root ownership and so forth. Therefore, to use make-kpkg, you need to either have root permissions, or use fakeroot. Here's kind of a walkthrough: http://www.differentpla.net/node/view/153 |
5 |
EthanGlasserCamp |
567 |
|
|
|
568 |
--EthanGlasserCamp |