diff options
author | Timothy Bauscher <timothy@linuxfromscratch.org> | 2003-01-15 14:55:21 +0000 |
---|---|---|
committer | Timothy Bauscher <timothy@linuxfromscratch.org> | 2003-01-15 14:55:21 +0000 |
commit | ef2b63b1777eb787c62686c51f0257cbf06637c6 (patch) | |
tree | d73c876dfcb01444a85576c88f1333336d2e2b3b | |
parent | f8fe1c1eeb0612a83735906285a08f4b5cb56337 (diff) |
Converted kernel header install page to new layout.
git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@2333 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
-rw-r--r-- | chapter06/kernel-exp-headers.xml | 2 | ||||
-rw-r--r-- | chapter06/kernel-inst.xml | 72 | ||||
-rw-r--r-- | chapter06/kernel.xml | 5 | ||||
-rw-r--r-- | entities/kernel.ent | 1 |
4 files changed, 57 insertions, 23 deletions
diff --git a/chapter06/kernel-exp-headers.xml b/chapter06/kernel-exp-headers.xml index 4c37a00e0..699c67d8c 100644 --- a/chapter06/kernel-exp-headers.xml +++ b/chapter06/kernel-exp-headers.xml @@ -1,3 +1,5 @@ +<sect2><title> </title><para> </para></sect2> + <sect2> <title>Why we copy the kernel headers and don't symlink them</title> diff --git a/chapter06/kernel-inst.xml b/chapter06/kernel-inst.xml index ff09e3aa7..25e71ebd4 100644 --- a/chapter06/kernel-inst.xml +++ b/chapter06/kernel-inst.xml @@ -1,10 +1,12 @@ +<sect2><title> </title><para> </para></sect2> + <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> +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.</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 @@ -12,26 +14,58 @@ 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 +around for a long time, so there's a chance that whatever userid was used will +be assigned to somebody on your machine and that person would have 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 && -make mrproper && -make include/linux/version.h && -make symlinks && -cp -HR include/asm /usr/include && -cp -R include/asm-generic /usr/include && -cp -R include/linux /usr/include && -touch /usr/include/linux/autoconf.h && -rm /bin/pwd</userinput></screen></para> +0.0</userinput> on the <filename>linux-&kernel-version;</filename> directory +to ensure all files are owned by user <emphasis>root</emphasis>.</para> + +<para>Kernel header installation requires the <emphasis>pwd</emphasis> program. +In the kernel source, the path to the pwd program is hard-wired as /bin/pwd. +Create a symlink to account for that:</para> + +<para><screen><userinput>ln -s /static/bin/pwd /bin/pwd &&</userinput></screen></para> + +<para>Prepare for header installation:</para> + +<para><screen><userinput>make mrproper</userinput></screen></para> + +<para>This ensures that the kernel tree is absolutely clean. The kernel team +recommends that this command be issued prior to <emphasis>each</emphasis> kernel +compilation. You shouldn't rely on the source tree being clean after +untarring.</para> + +<para>Create the <filename>include/linux/version.h</filename> file:</para> + +<para><screen><userinput>make include/linux/version.h</userinput></screen></para> + +<para>Create the platform-specific <filename>include/asm</filename> +symlink:</para> + +<para><screen><userinput>make symlinks</userinput></screen></para> + +<para>Install the platform specific-header files:</para> + +<para><screen><userinput>cp -HR include/asm /usr/include && +cp -R include/asm-generic /usr/include</userinput></screen></para> + +<para>Install the cross-platform kernel header files:</para> + +<para><screen><userinput>cp -R include/linux /usr/include</userinput></screen></para> + +<para>There are a few kernel header files which make use of the +<filename>autoconf.h</filename> 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:</para> + +<para><screen><userinput>touch /usr/include/linux/autoconf.h</userinput></screen></para> + +<para>Since the <filename>/bin/pwd</filename> symlink we created earlier +was only temporary, it can now be removed:</para> + +<para><screen><userinput>rm /bin/pwd</userinput></screen></para> </sect2> diff --git a/chapter06/kernel.xml b/chapter06/kernel.xml index 74fb6bba0..f16c107ad 100644 --- a/chapter06/kernel.xml +++ b/chapter06/kernel.xml @@ -5,11 +5,10 @@ <screen>Estimated build time: &kernel-time-headers; Estimated required disk space: &kernel-compsize-headers;</screen> +&aa-kernel-shortdesc; +&aa-kernel-dep; &c6-kernel-inst; -&c6-kernel-exp; &c6-kernel-exp-headers; -&aa-kernel-desc; -&aa-kernel-dep; </sect1> diff --git a/entities/kernel.ent b/entities/kernel.ent index 95830673a..bf75cf0d8 100644 --- a/entities/kernel.ent +++ b/entities/kernel.ent @@ -2,7 +2,6 @@ <!ENTITY c6-kernel SYSTEM "../chapter06/kernel.xml"> <!ENTITY c6-kernel-inst SYSTEM "../chapter06/kernel-inst.xml"> -<!ENTITY c6-kernel-exp SYSTEM "../chapter06/kernel-exp.xml"> <!ENTITY c6-kernel-exp-headers SYSTEM "../chapter06/kernel-exp-headers.xml"> <!ENTITY c6-kernel-manpages SYSTEM "../chapter06/kernel-manpages.xml"> <!ENTITY c6-kernel-manpages-inst SYSTEM "../chapter06/kernel-manpages-inst.xml"> |