Changeset f23b5ee in clfs-embedded for BOOK/bootable/mips
- Timestamp:
- Nov 18, 2006, 11:16:54 AM (18 years ago)
- Branches:
- master
- Children:
- 9b0a535
- Parents:
- 428c8a6
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
BOOK/bootable/mips/kernel.xml
r428c8a6 rf23b5ee 15 15 </indexterm> 16 16 17 <sect2 role="package"><title/> 18 <para>The Linux package contains the Linux kernel.</para> 19 20 </sect2> 17 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" 18 href="../x86/kernel.xml" 19 xpointer="xpointer(//*[@role='package'])"/> 21 20 22 21 <sect2 role="installation"> 23 22 <title>Installation of the kernel</title> 24 23 25 <para os="a">Building the kernel involves a few steps—configuration, 26 compilation, and installation. Read the <filename>README</filename> 27 file in the kernel source tree for alternative methods to the way this 28 book configures the kernel.</para> 24 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" 25 href="../x86/kernel.xml" 26 xpointer="xpointer(//*[@os='a'])"/> 29 27 30 <para os="b">Prepare for compilation by running the following command:</para> 28 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" 29 href="../x86/kernel.xml" 30 xpointer="xpointer(//*[@os='b'])"/> 31 31 32 <screen os="c"><userinput>make mrproper</userinput></screen> 32 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" 33 href="../x86/kernel.xml" 34 xpointer="xpointer(//*[@os='c'])"/> 33 35 34 <para os="d">This ensures that the kernel tree is absolutely clean. The 35 kernel team recommends that this command be issued prior to each 36 kernel compilation. Do not rely on the source tree being clean after 37 un-tarring.</para> 36 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" 37 href="../x86/kernel.xml" 38 xpointer="xpointer(//*[@os='d'])"/> 38 39 39 <para os="h">Configure the kernel via a menu-driven interface. 40 Please note that the udev bootscript requires "rtc" and "tmpfs" to be 41 enabled and built into the kernel, not as modules. BLFS has 42 some information regarding particular kernel configuration requirements of 43 packages outside of CLFS at <ulink 44 url="&blfs-root;view/svn/longindex.html#kernel-config-index"/>:</para> 40 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" 41 href="../x86/kernel.xml" 42 xpointer="xpointer(//*[@os='e'])"/> 45 43 46 <screen os="i"><userinput>make ARCH=mips CROSS_COMPILE=${CLFS_TARGET}- menuconfig</userinput></screen> 44 <screen os="f"><userinput>make ARCH=mips CROSS_COMPILE=${CLFS_TARGET}- menuconfig</userinput></screen> 45 <screen os="j"><userinput>make ARCH=mips CROSS_COMPILE=${CLFS_TARGET}-</userinput></screen> 47 46 48 <para os="j">Alternatively, <command>make oldconfig</command> may be more49 appropriate in some situations. See the <filename>README</filename>50 file for more information.</para>47 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" 48 href="../x86/kernel.xml" 49 xpointer="xpointer(//*[@os='g'])"/> 51 50 52 <para os="k">If desired, skip kernel configuration by copying the kernel 53 config file, <filename>.config</filename>, from the host system 54 (assuming it is available) to the root directory of the unpacked kernel 55 sources. However, we do not recommend this option. It is often better 56 to explore all the configuration menus and create the kernel configuration 57 from scratch.</para> 51 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" 52 href="../x86/kernel.xml" 53 xpointer="xpointer(//*[@os='h'])"/> 58 54 59 <para os="m">Compile the kernel image and modules:</para> 55 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" 56 href="../x86/kernel.xml" 57 xpointer="xpointer(//*[@os='i'])"/> 60 58 61 <screen os=" n"><userinput>make ARCH=mips CROSS_COMPILE=${CLFS_TARGET}-</userinput></screen>59 <screen os="j"><userinput>make ARCH=mips CROSS_COMPILE=${CLFS_TARGET}-</userinput></screen> 62 60 63 <para os="o">If using kernel modules, an 64 <filename>/etc/modprobe.conf</filename> file may be needed. 65 Information pertaining to modules and kernel configuration is 66 located in the kernel documentation in the <filename 67 class="directory">Documentation</filename> directory of the kernel 68 sources tree. Also, <filename>modprobe.conf(5)</filename> may 69 be of interest.</para> 61 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" 62 href="../x86/kernel.xml" 63 xpointer="xpointer(//*[@os='k'])"/> 70 64 71 <para os="p">Be very careful when reading other documentation relating to 72 kernel modules because it usually applies to 2.4.x kernels only. As 73 far as we know, kernel configuration issues specific to Hotplug and 74 Udev are not documented. The problem is that Udev will create a device 75 node only if Hotplug or a user-written script inserts the corresponding 76 module into the kernel, and not all modules are detectable by Hotplug. 77 Note that statements like the one below in the 78 <filename>/etc/modprobe.conf</filename> file do not work with Udev:</para> 65 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" 66 href="../x86/kernel.xml" 67 xpointer="xpointer(//*[@os='l'])"/> 79 68 80 <screen os="q"><literal>alias char-major-XXX some-module</literal></screen> 69 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" 70 href="../x86/kernel.xml" 71 xpointer="xpointer(//*[@os='m'])"/> 81 72 82 <para os="r">Because of the complications with Udev and modules,83 we strongly recommend starting with a completely non-modular kernel84 configuration, especially if this is the first time using Udev.</para>73 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" 74 href="../x86/kernel.xml" 75 xpointer="xpointer(//*[@os='n'])"/> 85 76 86 <para os="s">Install the modules, if the kernel configuration uses 87 them:</para> 77 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" 78 href="../x86/kernel.xml" 79 xpointer="xpointer(//*[@os='o'])"/> 88 80 89 <screen os=" t"><userinput>make ARCH=mips CROSS_COMPILE=${CLFS_TARGET}- \81 <screen os="p"><userinput>make ARCH=mips CROSS_COMPILE=${CLFS_TARGET}- \ 90 82 INSTALL_MOD_PATH=${CLFS} modules_install</userinput></screen> 91 83 92 <para os="u">After kernel compilation is complete, additional steps are93 required to complete the installation. Some files need to be copied to94 the <filename class="directory">${CLFS}/boot</filename> directory.</para>84 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" 85 href="../x86/kernel.xml" 86 xpointer="xpointer(//*[@os='q'])"/> 95 87 96 <para os="v">Issue the following command to install the kernel:</para> 88 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" 89 href="../x86/kernel.xml" 90 xpointer="xpointer(//*[@os='r'])"/> 97 91 98 <screen><userinput>cp vmlinux ${CLFS}/boot/clfskernel-&linux-version;</userinput></screen> 92 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" 93 href="../x86/kernel.xml" 94 xpointer="xpointer(//*[@os='s'])"/> 99 95 100 <para os="w"><filename>System.map</filename> is a symbol file for the kernel. 101 It maps the function entry points of every function in the kernel API, 102 as well as the addresses of the kernel data structures for the running 103 kernel. Issue the following command to install the map file:</para> 96 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" 97 href="../x86/kernel.xml" 98 xpointer="xpointer(//*[@os='t'])"/> 104 99 105 <screen os="w1"><userinput>cp System.map ${CLFS}/boot/System.map-&linux-version;</userinput></screen> 100 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" 101 href="../x86/kernel.xml" 102 xpointer="xpointer(//*[@os='t'])"/> 106 103 107 <para os="x">The kernel configuration file <filename>.config</filename> 108 produced by the <command>make menuconfig</command> step above contains 109 all the configuration selections for the kernel that was just compiled. 110 It is a good idea to keep this file for future reference:</para> 104 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" 105 href="../x86/kernel.xml" 106 xpointer="xpointer(//*[@os='t'])"/> 111 107 112 <screen os="y"><userinput>cp .config ${CLFS}/boot/config-&linux-version;</userinput></screen> 108 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" 109 href="../x86/kernel.xml" 110 xpointer="xpointer(//*[@os='u'])"/> 113 111 114 <warning os="z"> 115 <para>Some kernel documentation recommends creating a symlink from 116 <filename class="symlink">/usr/src/linux</filename> pointing to the 117 kernel source directory. This is specific to kernels prior to the 118 2.6 series and <emphasis>must not</emphasis> be created on an CLFS 119 system as it can cause problems for packages you may wish to build 120 once your base CLFS system is complete.</para> 112 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" 113 href="../x86/kernel.xml" 114 xpointer="xpointer(//*[@os='v'])"/> 121 115 122 <para>Also, the headers in the system's <filename 123 class="directory">include</filename> directory should 124 <emphasis>always</emphasis> be the ones against which Glibc was 125 compiled (from the Linux-Headers package) and should 126 <emphasis>never</emphasis> be replaced by the kernel headers.</para> 127 </warning> 116 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" 117 href="../x86/kernel.xml" 118 xpointer="xpointer(//*[@os='w'])"/> 119 120 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" 121 href="../x86/kernel.xml" 122 xpointer="xpointer(//*[@os='x'])"/> 123 124 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" 125 href="../x86/kernel.xml" 126 xpointer="xpointer(//*[@os='y'])"/> 127 128 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" 129 href="../x86/kernel.xml" 130 xpointer="xpointer(//*[@os='z'])"/> 128 131 129 132 </sect2> 130 133 131 <sect2 id="contents-kernel" role="content"> 132 <title>Contents of Linux</title> 133 134 <segmentedlist> 135 <segtitle>Installed files</segtitle> 136 137 <seglistitem> 138 <seg>config-[linux-version], clfskernel-[linux-version], 139 and System.map-[linux-version]</seg> 140 </seglistitem> 141 </segmentedlist> 142 143 <variablelist> 144 <bridgehead renderas="sect3">Short Descriptions</bridgehead> 145 <?dbfo list-presentation="list"?> 146 <?dbhtml list-presentation="table"?> 147 148 <varlistentry id="config"> 149 <term><filename>config-[linux-version]</filename></term> 150 <listitem> 151 <para>Contains all the configuration selections for the kernel</para> 152 <indexterm zone="ch-bootable-kernel config"> 153 <primary sortas="e-/boot/config">/boot/config-[linux-version]</primary> 154 </indexterm> 155 </listitem> 156 </varlistentry> 157 158 <varlistentry id="clfskernel"> 159 <term><filename>clfskernel-[linux-version]</filename></term> 160 <listitem> 161 <para>The engine of the Linux system. When turning on the 162 computer, the kernel is the first part of the operating system 163 that gets loaded. It detects and initializes all components of 164 the computer's hardware, then makes these components available 165 as a tree of files to the software and turns a single CPU into 166 a multitasking machine capable of running scores of programs 167 seemingly at the same time.</para> 168 <indexterm zone="ch-bootable-kernel clfskernel"> 169 <primary sortas="b-clfskernel">clfskernel-[linux-version]</primary> 170 </indexterm> 171 </listitem> 172 </varlistentry> 173 174 <varlistentry id="System.map"> 175 <term><filename>System.map-[linux-version]</filename></term> 176 <listitem> 177 <para>A list of addresses and symbols; it maps the entry points 178 and addresses of all the functions and data structures in the 179 kernel</para> 180 <indexterm zone="ch-bootable-kernel System.map"> 181 <primary sortas="e-/boot/System.map">/boot/System.map-[linux-version]</primary> 182 </indexterm> 183 </listitem> 184 </varlistentry> 185 186 </variablelist> 187 188 </sect2> 134 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" 135 href="../x86/kernel.xml" 136 xpointer="xpointer(//*[@role='content'])"/> 189 137 190 138 </sect1>
Note:
See TracChangeset
for help on using the changeset viewer.