aboutsummaryrefslogtreecommitdiffstats
path: root/chapter06/kernel-inst.xml
blob: ff09e3aa774e976fc170b059943d5db80c8dd6dd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
<sect2>
<title>Installation of the kernel headers</title>

<para>We won't be compiling a new kernel yet -- we'll do that when we have
finished the installation of all the packages. But as some packages need the
kernel header files, we're going to unpack the kernel archive now, set it up,
and copy the header files to where they will be found by these packages.</para>

<para>It is important to note that the files in the kernel source directory
are not owned by root. Whenever you unpack a package as user root (like we
do here inside chroot), the files end up having the user and group ID's of
whatever they were on the packager's computer. This is usually not a
problem for any other package you install because you remove the source
tree after the installation. But the Linux kernel source tree is often kept
around for a long time, so there's a chance whatever userid was used will
be assigned to somebody on your machine, and that person would get write
access to the kernel source.</para>

<para>In light of this, you might want to run <userinput>chown
0.0</userinput> on the linux-&kernel-version; directory to ensure all files
are owned by user <emphasis>root</emphasis>.</para>

<para>The kernel headers are installed by running the following
commands:</para>

<para><screen><userinput>ln -s /static/bin/pwd /bin/pwd &amp;&amp;
make mrproper &amp;&amp;
make include/linux/version.h &amp;&amp;
make symlinks &amp;&amp;
cp -HR include/asm /usr/include &amp;&amp;
cp -R include/asm-generic /usr/include &amp;&amp;
cp -R include/linux /usr/include &amp;&amp;
touch /usr/include/linux/autoconf.h &amp;&amp;
rm /bin/pwd</userinput></screen></para>

</sect2>