version 5, including all changes.
.
Rev |
Author |
# |
Line |
1 |
perry |
1 |
KERNEL-PACKAGE |
|
|
2 |
!!!KERNEL-PACKAGE |
|
|
3 |
NAME |
|
|
4 |
DESCRIPTION |
|
|
5 |
Advantages of using kernel-package |
|
|
6 |
Disadvantages of using make-kpkg |
|
|
7 |
FILES |
|
|
8 |
SEE ALSO |
|
|
9 |
BUGS |
|
|
10 |
AUTHOR |
|
|
11 |
---- |
|
|
12 |
!!NAME |
|
|
13 |
|
|
|
14 |
|
|
|
15 |
kernel-package - A system for creating kernel related packages |
|
|
16 |
!!DESCRIPTION |
|
|
17 |
|
|
|
18 |
|
|
|
19 |
The __kernel-package__ package grew out of desire to |
|
|
20 |
automate the routine steps required to compile and install a |
|
|
21 |
custom kernel. If you are looking for instructions on how to |
|
|
22 |
use __kernel-package,__ please have a look at the manual |
|
|
23 |
__make-kpkg (1).__ Configuring instructions are to be |
|
|
24 |
found in __kernel-pkg.conf(5).__ |
|
|
25 |
!!Advantages of using kernel-package |
|
|
26 |
|
|
|
27 |
|
|
|
28 |
__i) Convenience.__ |
|
|
29 |
|
|
|
30 |
|
|
|
31 |
I used to compile kernels manually, and it involved a series |
|
|
32 |
of steps to be taken in order; kernel-package was written to |
|
|
33 |
take all the required steps (it has grown beyond that now, |
|
|
34 |
but essentially, that is what it does). This is especially |
|
|
35 |
important to novices: __make-kpkg__ takes all the steps |
|
|
36 |
required to compile a kernel, and installation of kernels is |
|
|
37 |
a snap. |
|
|
38 |
|
|
|
39 |
|
|
|
40 |
__ii) Multiple images support__ |
|
|
41 |
|
|
|
42 |
|
|
|
43 |
It allows you to keep multiple version of kernel images on |
|
|
44 |
your machine with no fuss. |
|
|
45 |
|
|
|
46 |
|
|
|
47 |
__iii) Multiple Flavours of the same kernel |
|
|
48 |
version__ |
|
|
49 |
|
|
|
50 |
|
|
|
51 |
It has a facility for you to keep multiple flavours of the |
|
|
52 |
same kernel version on your machine (you could have a stable |
|
|
53 |
2.0.36 version, and a 2.0.36 version patched with the latest |
|
|
54 |
drivers, and not worry about contaminating the modules in |
|
|
55 |
''/lib/modules).'' |
|
|
56 |
|
|
|
57 |
|
|
|
58 |
__iv) Built in defaults__ |
|
|
59 |
|
|
|
60 |
|
|
|
61 |
It knows that some architectures do not have vmlinuz (using |
|
|
62 |
vmlinux instead), and other use zImage rather than bzImage, |
|
|
63 |
and calls the appropriate target, and takes care of moving |
|
|
64 |
the correct file into place. |
|
|
65 |
|
|
|
66 |
|
|
|
67 |
__v) Module hooks__ |
|
|
68 |
|
|
|
69 |
|
|
|
70 |
Several other kernel module packages are hooked into |
|
|
71 |
__kernel-package,__ so one can seamlessly compile, say, |
|
|
72 |
__pcmcia__ modules at the same time as one compiles a |
|
|
73 |
kernel, and be assured that the modules so compiled are |
|
|
74 |
compatible. |
|
|
75 |
|
|
|
76 |
|
|
|
77 |
__vi) dpkg support__ |
|
|
78 |
|
|
|
79 |
|
|
|
80 |
It enables you to use the package management system to keep |
|
|
81 |
track of the kernels created. Using make-kpkg creates a .deb |
|
|
82 |
file, and dpkg can track it for you. This facilitates the |
|
|
83 |
task of other packages that depend on the kernel |
|
|
84 |
packages. |
|
|
85 |
|
|
|
86 |
|
|
|
87 |
__vii) Configuration tracking__ |
|
|
88 |
|
|
|
89 |
|
|
|
90 |
It keeps track of the configuration file for each kernel |
|
|
91 |
image in ''/boot,'' which is part of the image package, |
|
|
92 |
and hence is the kernel image and the configuration file are |
|
|
93 |
always together. |
|
|
94 |
|
|
|
95 |
|
|
|
96 |
__viii) Multiple config files__ |
|
|
97 |
|
|
|
98 |
|
|
|
99 |
It allows you to specify a directory with config files, with |
|
|
100 |
separate config files for each sub-architecture (even allows |
|
|
101 |
for different config files for i386, i486, etc). It is |
|
|
102 |
really neat for people who need to compile kernels for a |
|
|
103 |
variety of sub architectures. |
|
|
104 |
|
|
|
105 |
|
|
|
106 |
__ix) Auxiliary kernel .deb packages__ |
|
|
107 |
|
|
|
108 |
|
|
|
109 |
It allows to create a package with the headers, or the |
|
|
110 |
sources, also as a deb file, and enables the package |
|
|
111 |
management system to keep track of those (and there are |
|
|
112 |
packages that depend on the package management system being |
|
|
113 |
aware of these packages). |
|
|
114 |
|
|
|
115 |
|
|
|
116 |
__x) Maintainer script services__ |
|
|
117 |
|
|
|
118 |
|
|
|
119 |
Since the kernel image package is a full fledged Debian |
|
|
120 |
package, it comes with maintainer scripts, which take care |
|
|
121 |
of details like offering to make a boot disk, manipulating |
|
|
122 |
symbolic links in / so that you can make boot loader scripts |
|
|
123 |
static (just refer to the symbolic links, rather than the |
|
|
124 |
real image files; the names of the symbolic links do not |
|
|
125 |
change, but the kernel image file names change with the |
|
|
126 |
version). |
|
|
127 |
|
|
|
128 |
|
|
|
129 |
__xi) Sub architecture support__ |
|
|
130 |
|
|
|
131 |
|
|
|
132 |
There is support for the multitudinous sub architectures |
|
|
133 |
that have blossomed under the umbrella of the m68k and |
|
|
134 |
power-PC architectures. |
|
|
135 |
|
|
|
136 |
|
|
|
137 |
__xii) kernel-patch support__ |
|
|
138 |
|
|
|
139 |
|
|
|
140 |
There is support there for optionally applying patches to |
|
|
141 |
the kernel provided as a kernel-patch .deb file, and |
|
|
142 |
building a patched kernel auto-magically, and still retain |
|
|
143 |
an UN-patched kernel source tree. |
|
|
144 |
|
|
|
145 |
|
|
|
146 |
__xiii) Portable kernel images__ |
|
|
147 |
|
|
|
148 |
|
|
|
149 |
Allows one to compile a kernel for another computer, for |
|
|
150 |
example using a fast machine to compile the kernel for |
|
|
151 |
installation on a slower machine. This is really nice since |
|
|
152 |
the modules are all included in the .deb; and one does not |
|
|
153 |
have to deal with modules manually. |
|
|
154 |
|
|
|
155 |
|
|
|
156 |
__xiv) Customizations on the target host__ |
|
|
157 |
|
|
|
158 |
|
|
|
159 |
The postinst looks at a configuration file on the |
|
|
160 |
installation machine (as opposed to the machine that the |
|
|
161 |
image was compiled on), and allows the local admin to decide |
|
|
162 |
on issues of symbolic links, and whether the boot loader |
|
|
163 |
stuff must be run, and whether one wants to create a boot |
|
|
164 |
floppy or not. |
|
|
165 |
|
|
|
166 |
|
|
|
167 |
__xv) runtime hooks__ |
|
|
168 |
|
|
|
169 |
|
|
|
170 |
The postinst and the postrm scripts allow the local admin on |
|
|
171 |
the installation machine to add a script into runtime hooks; |
|
|
172 |
this can allow, amongst other things, grub users to add and |
|
|
173 |
remove kernel image stanzas from the grub menu (example |
|
|
174 |
scripts to do this are in the package). |
|
|
175 |
|
|
|
176 |
|
|
|
177 |
__xvi) Append descriptive bits to the kernel |
|
|
178 |
version__ |
|
|
179 |
|
|
|
180 |
|
|
|
181 |
One can append to the kernel version on the command line, or |
|
|
182 |
by setting an environment variable. So if your kernel is |
|
|
183 |
called kernel-image-2.4.1John.Home; it is unlikely to be |
|
|
184 |
overridden by the official 2.4.1 kernel, since they are not |
|
|
185 |
the same version. |
|
|
186 |
!!Disadvantages of using make-kpkg |
|
|
187 |
|
|
|
188 |
|
|
|
189 |
__i) Automation.__ |
|
|
190 |
|
|
|
191 |
|
|
|
192 |
This is a cookie cutter approach to compiling kernels, and |
|
|
193 |
there are people who like being close to the bare |
|
|
194 |
metal. |
|
|
195 |
|
|
|
196 |
|
|
|
197 |
__ii) Non traditional__ |
|
|
198 |
|
|
|
199 |
|
|
|
200 |
This is not how it is done in the non-Debian world. This |
|
|
201 |
flouts tradition. (It has been pointed out, though, that |
|
|
202 |
this is fast becoming Debian tradition). |
|
|
203 |
|
|
|
204 |
|
|
|
205 |
__iii) Needs superuser__ |
|
|
206 |
|
|
|
207 |
|
|
|
208 |
It forces you to use __fakeroot__ or __sudo__ or |
|
|
209 |
__super__ or be root to create a kernel image .deb file |
|
|
210 |
(this is not as bad as it used to be before |
|
|
211 |
__fakeroot)__ |
|
|
212 |
!!FILES |
|
|
213 |
|
|
|
214 |
|
|
|
215 |
''/etc/kernel-pkg.conf. |
|
|
216 |
/etc/kernel-img.conf.'' |
|
|
217 |
!!SEE ALSO |
|
|
218 |
|
|
|
219 |
|
4 |
perry |
220 |
make-kpkg(1), make(1), __The GNU Make |
1 |
perry |
221 |
manual.__ |
|
|
222 |
!!BUGS |
|
|
223 |
|
|
|
224 |
|
|
|
225 |
There are no bugs. Any resemblance thereof is delirium. |
|
|
226 |
Really. |
|
|
227 |
!!AUTHOR |
|
|
228 |
|
|
|
229 |
|
|
|
230 |
This manual page was written by Manoj Srivastava |
|
|
231 |
---- |
5 |
ColinMarquardt |
232 |
|
|
|
233 |
See also: http://newbiedoc.sourceforge.net/system/kernel-pkg.html |