From 73aedd1d35747ff2fad4ddf514dca810721a612a Mon Sep 17 00:00:00 2001 From: Alex Gronenwoud Date: Sat, 1 Nov 2003 22:31:50 +0000 Subject: Merging caption and installation sections for all packages in chapters 5 and 6. git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@3052 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689 --- chapter06/kernel.xml | 63 ++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 61 insertions(+), 2 deletions(-) (limited to 'chapter06/kernel.xml') diff --git a/chapter06/kernel.xml b/chapter06/kernel.xml index f16c107ad..f154f00c5 100644 --- a/chapter06/kernel.xml +++ b/chapter06/kernel.xml @@ -7,8 +7,67 @@ Estimated required disk space: &kernel-compsize-headers; &aa-kernel-shortdesc; &aa-kernel-dep; -&c6-kernel-inst; -&c6-kernel-exp-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 + + -- cgit v1.2.3-54-g00ecf