Installing Linux-&kernel-version; headers
Estimated build time: &kernel-time-headers;
Estimated required disk space: &kernel-compsize-headers;
Installation of the kernel headers
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 so they can be found by these packages.
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 IDs 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 that whatever user ID the packager
used will be assigned to somebody on your machine and then that person would
have write access to the kernel source.
In light of this, you might want to run chown -R 0:0
on the linux-&kernel-version; directory
to ensure all files are owned by user root.
Prepare for header installation:
make mrproper
This ensures that the kernel tree is absolutely clean. The kernel team
recommends that this command be issued prior to each kernel
compilation. You shouldn't rely on the source tree being clean after
untarring.
Create the include/linux/version.h file:
make include/linux/version.h
Create the platform-specific include/asm
symlink:
make symlinks
Install the platform specific-header files:
cp -HR include/asm /usr/include
cp -R include/asm-generic /usr/include
Install the cross-platform kernel header files:
cp -R include/linux /usr/include
There are a few kernel header files which make use of the
autoconf.h header file. Since we do not yet configure the
kernel, we need to create this file ourselves in order to avoid compilation
failures. Create an empty autoconf.h file:
touch /usr/include/linux/autoconf.h
&c6-kernel-exp-headers;