source: chapter06/kernel-inst.xml@ 1e12b0b2

10.0 10.0-rc1 10.1 10.1-rc1 11.0 11.0-rc1 11.0-rc2 11.0-rc3 11.1 11.1-rc1 11.2 11.2-rc1 11.3 11.3-rc1 12.0 12.0-rc1 12.1 12.1-rc1 6.0 6.1 6.1.1 6.3 6.4 6.5 6.6 6.7 6.8 7.0 7.1 7.2 7.3 7.4 7.5 7.5-systemd 7.6 7.6-systemd 7.7 7.7-systemd 7.8 7.8-systemd 7.9 7.9-systemd 8.0 8.1 8.2 8.3 8.4 9.0 9.1 arm bdubbs/gcc13 ml-11.0 multilib renodr/libudev-from-systemd s6-init trunk v5_0 v5_1 v5_1_1 xry111/arm64 xry111/arm64-12.0 xry111/clfs-ng xry111/lfs-next xry111/loongarch xry111/loongarch-12.0 xry111/loongarch-12.1 xry111/mips64el xry111/pip3 xry111/rust-wip-20221008 xry111/update-glibc
Last change on this file since 1e12b0b2 was c058597, checked in by Matthew Burgess <matthew@…>, 21 years ago

Removed instruction to delete /bin/pwd symlink from kernel-headers install in chapter 6

git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@2728 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689

  • Property mode set to 100644
File size: 2.7 KB
RevLine 
[ef2b63b]1<sect2><title>&nbsp;</title><para>&nbsp;</para></sect2>
2
[1987d72]3<sect2>
[a20338e]4<title>Installation of the kernel headers</title>
[1987d72]5
[bed61bb]6<para>We won't be compiling a new kernel yet -- we'll do that when we have
7finished the installation of all the packages. But as some packages need the
[ef2b63b]8kernel header files, we're going to unpack the kernel archive now, set it up
9and copy the header files so they can be found by these packages.</para>
[1987d72]10
[14d5c7f1]11<para>It is important to note that the files in the kernel source directory
[9922b26]12are not owned by <emphasis>root</emphasis>. Whenever you unpack a package as
13user <emphasis>root</emphasis> (like we do here inside chroot), the files end
14up having the user and group IDs of whatever they were on the packager's
15computer. This is usually not a
[14d5c7f1]16problem for any other package you install because you remove the source
17tree after the installation. But the Linux kernel source tree is often kept
[9922b26]18around for a long time, so there's a chance that whatever user ID the packager
19used will be assigned to somebody on your machine and then that person would
20have write access to the kernel source.</para>
[14d5c7f1]21
[9c2045d]22<para>In light of this, you might want to run <userinput>chown -R 0:0</userinput>
23on the <filename>linux-&kernel-version;</filename> directory
[ef2b63b]24to ensure all files are owned by user <emphasis>root</emphasis>.</para>
25
26<para>Prepare for header installation:</para>
27
28<para><screen><userinput>make mrproper</userinput></screen></para>
29
30<para>This ensures that the kernel tree is absolutely clean. The kernel team
31recommends that this command be issued prior to <emphasis>each</emphasis> kernel
32compilation. You shouldn't rely on the source tree being clean after
33untarring.</para>
34
35<para>Create the <filename>include/linux/version.h</filename> file:</para>
36
37<para><screen><userinput>make include/linux/version.h</userinput></screen></para>
38
39<para>Create the platform-specific <filename>include/asm</filename>
40symlink:</para>
41
42<para><screen><userinput>make symlinks</userinput></screen></para>
43
44<para>Install the platform specific-header files:</para>
45
[4a7a683]46<para><screen><userinput>cp -HR include/asm /usr/include
[ef2b63b]47cp -R include/asm-generic /usr/include</userinput></screen></para>
48
49<para>Install the cross-platform kernel header files:</para>
50
51<para><screen><userinput>cp -R include/linux /usr/include</userinput></screen></para>
52
53<para>There are a few kernel header files which make use of the
54<filename>autoconf.h</filename> header file. Since we do not yet configure the
55kernel, we need to create this file ourselves in order to avoid compilation
[9922b26]56failures. Create an empty <filename>autoconf.h</filename> file:</para>
[ef2b63b]57
58<para><screen><userinput>touch /usr/include/linux/autoconf.h</userinput></screen></para>
59
[1987d72]60</sect2>
61
Note: See TracBrowser for help on using the repository browser.