source: chapter08/kernel-inst.xml@ fbcfacd

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 fbcfacd was fbcfacd, checked in by Jeremy Utley <jeremy@…>, 21 years ago

Reverting my past changes accidentally removed by Alex

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

  • Property mode set to 100644
File size: 3.6 KB
Line 
1<sect2><title>&nbsp;</title><para>&nbsp;</para></sect2>
2
3<sect2>
4<title>Installation of the kernel</title>
5
6<para>Building the kernel involves a few steps: configuration,
7compilation, and installation. If you don't like the way this
8book configures the kernel, view the <filename>README</filename>
9file in the kernel source tree for alternative methods.</para>
10
11<para>Prepare for compilation by running the following command:</para>
12
13<para><screen><userinput>make mrproper</userinput></screen></para>
14
15<para>This ensures that the kernel tree is absolutely clean. The kernel
16team recommends that this command be issued prior to
17<emphasis>each</emphasis> kernel compilation. You shouldn't rely
18on the source tree being clean after untarring.</para>
19
20<para>Configure the kernel via a menu-driven interface:</para>
21
22<para><screen><userinput>make menuconfig</userinput></screen></para>
23
24<para><userinput>make oldconfig</userinput> may be more appropriate
25in some situations. See the <filename>README</filename> file for
26more information.</para>
27
28<para>If you wish, you may skip kernel configuration by copying the
29kernel config file, <filename>.config</filename>, from your host
30system to the
31<filename class="directory">$LFS/usr/src/linux-&kernel-version;</filename>
32directory.</para>
33
34<para>It's important to note that to be compliant with Posix shared memory
35requirements, we must enable the tmpfs filesystem option, and mount a tmpfs
36filesystem at /dev/shm.</para>
37
38<para>Verify dependencies and create dependency information files:</para>
39
40<para><screen><userinput>make CC=/opt/gcc-2.95.3/bin/gcc dep</userinput></screen></para>
41
42<para>Compile the kernel image:</para>
43
44<para><screen><userinput>make CC=/opt/gcc-2.95.3/bin/gcc bzImage</userinput></screen></para>
45
46<para>Compile the drivers which have been configured as modules:</para>
47
48<para><screen><userinput>make CC=/opt/gcc-2.95.3/bin/gcc modules</userinput></screen></para>
49
50<para>If you intend to use kernel modules, you will need an
51<filename>/etc/modules.conf</filename> file. Information pertaining
52to modules and to kernel configuration in general may be found in the
53kernel documentation, which is stored stored in
54<filename>/usr/src/linux-&kernel-version;/Documentation</filename>. The
55modules.conf man page and the kernel HOWTO at
56<ulink url="&tldp-root;HOWTO/Kernel-HOWTO.html"/> may also be of
57interest to you.</para>
58
59<para>Install the modules:</para>
60
61<para><screen><userinput>make CC=/opt/gcc-2.95.3/bin/gcc modules_install</userinput></screen></para>
62
63<para>As nothing is complete without documentation, build the manual pages
64that come with the kernel:</para>
65
66<para><screen><userinput>make mandocs</userinput></screen></para>
67
68<para>And install these pages:</para>
69
70<para><screen><userinput>cp -a Documentation/man /usr/share/man/man9</userinput></screen></para>
71
72<para>Kernel compilation has finished, but some of the files created
73still reside in the source tree. To complete the installation, two
74files should to be copied to the <filename>/boot</filename>
75directory.</para>
76
77<para>The path to the kernel file may vary depending on the platform
78you're using. Issue the following command to install the kernel:</para>
79
80<para><screen><userinput>cp arch/i386/boot/bzImage /boot/lfskernel</userinput></screen></para>
81
82<para><filename>System.map</filename> is a symbol file for the kernel.
83It maps the function entrypoints of every function in the kernel API,
84as well as the addresses of the kernel data structures for the running
85kernel. Issue the following command to install the map file:</para>
86
87<para><screen><userinput>cp System.map /boot</userinput></screen></para>
88
89</sect2>
Note: See TracBrowser for help on using the repository browser.