Changeset f23b5ee in clfs-embedded for BOOK/bootable


Ignore:
Timestamp:
Nov 18, 2006, 11:16:54 AM (18 years ago)
Author:
Jim Gifford <clfs@…>
Branches:
master
Children:
9b0a535
Parents:
428c8a6
Message:

Removed uclibc-headers
Update Kernel Build
Added depmod.pl for Modular Kernel builds

Location:
BOOK/bootable
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • BOOK/bootable/mips/kernel.xml

    r428c8a6 rf23b5ee  
    1515  </indexterm>
    1616
    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'])"/>
    2120
    2221  <sect2 role="installation">
    2322    <title>Installation of the kernel</title>
    2423
    25     <para os="a">Building the kernel involves a few steps&mdash;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'])"/>
    2927
    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'])"/>
    3131
    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'])"/>
    3335
    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'])"/>
    3839
    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'])"/>
    4543
    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>
    4746
    48     <para os="j">Alternatively, <command>make oldconfig</command> may be more
    49     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'])"/>
    5150
    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'])"/>
    5854
    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'])"/>
    6058
    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>
    6260
    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'])"/>
    7064
    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'])"/>
    7968
    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'])"/>
    8172
    82     <para os="r">Because of the complications with Udev and modules,
    83     we strongly recommend starting with a completely non-modular kernel
    84     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'])"/>
    8576
    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'])"/>
    8880
    89 <screen os="t"><userinput>make ARCH=mips CROSS_COMPILE=${CLFS_TARGET}- \
     81<screen os="p"><userinput>make ARCH=mips CROSS_COMPILE=${CLFS_TARGET}- \
    9082    INSTALL_MOD_PATH=${CLFS} modules_install</userinput></screen>
    9183
    92     <para os="u">After kernel compilation is complete, additional steps are
    93     required to complete the installation. Some files need to be copied to
    94     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'])"/>
    9587
    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'])"/>
    9791
    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'])"/>
    9995
    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'])"/>
    10499
    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'])"/>
    106103
    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'])"/>
    111107
    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'])"/>
    113111
    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'])"/>
    121115
    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'])"/>
    128131
    129132  </sect2>
    130133
    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'])"/>
    189137
    190138</sect1>
  • BOOK/bootable/x86/kernel.xml

    r428c8a6 rf23b5ee  
    3737    un-tarring.</para>
    3838
    39     <para os="h">Configure the kernel via a menu-driven interface.
     39    <para os="e">Configure the kernel via a menu-driven interface.
    4040    Please note that the udev bootscript requires "rtc" and "tmpfs" to be
    4141    enabled and built into the kernel, not as modules. BLFS has
     
    4444    url="&blfs-root;view/svn/longindex.html#kernel-config-index"/>:</para>
    4545
    46 <screen os="i"><userinput>make ARCH=i386 CROSS_COMPILE=${CLFS_TARGET}- menuconfig</userinput></screen>
     46<screen os="f"><userinput>make ARCH=i386 CROSS_COMPILE=${CLFS_TARGET}- menuconfig</userinput></screen>
    4747
    48     <para os="j">Alternatively, <command>make oldconfig</command> may be more
     48    <para os="g">Alternatively, <command>make oldconfig</command> may be more
    4949    appropriate in some situations. See the <filename>README</filename>
    5050    file for more information.</para>
    5151
    52     <para os="k">If desired, skip kernel configuration by copying the kernel
     52    <para os="h">If desired, skip kernel configuration by copying the kernel
    5353    config file, <filename>.config</filename>, from the host system
    5454    (assuming it is available) to the root directory of the unpacked kernel
     
    5757    from scratch.</para>
    5858
    59     <para os="m">Compile the kernel image and modules:</para>
     59    <para os="i">Compile the kernel image and modules:</para>
    6060
    61 <screen os="n"><userinput>make ARCH=i386 CROSS_COMPILE=${CLFS_TARGET}-</userinput></screen>
     61<screen os="j"><userinput>make ARCH=i386 CROSS_COMPILE=${CLFS_TARGET}-</userinput></screen>
    6262
    63     <para os="o">If using kernel modules, an
     63    <para os="k">If using kernel modules, an
    6464    <filename>/etc/modprobe.conf</filename> file may be needed.
    6565    Information pertaining to modules and kernel configuration is
     
    6969    be of interest.</para>
    7070
    71     <para os="p">Be very careful when reading other documentation relating to
     71    <para os="l">Be very careful when reading other documentation relating to
    7272    kernel modules because it usually applies to 2.4.x kernels only. As
    7373    far as we know, kernel configuration issues specific to Hotplug and
     
    7878    <filename>/etc/modprobe.conf</filename> file do not work with Udev:</para>
    7979
    80 <screen os="q"><literal>alias char-major-XXX some-module</literal></screen>
     80<screen os="m"><literal>alias char-major-XXX some-module</literal></screen>
    8181
    82     <para os="r">Because of the complications with Udev and modules,
     82    <para os="n">Because of the complications with Udev and modules,
    8383    we strongly recommend starting with a completely non-modular kernel
    8484    configuration, especially if this is the first time using Udev.</para>
    8585
    86     <para os="s">Install the modules, if the kernel configuration uses
     86    <para os="o">Install the modules, if the kernel configuration uses
    8787    them:</para>
    8888
    89 <screen os="t"><userinput>make ARCH=i386 CROSS_COMPILE=${CLFS_TARGET}- \
     89<screen os="p"><userinput>make ARCH=i386 CROSS_COMPILE=${CLFS_TARGET}- \
    9090    INSTALL_MOD_PATH=${CLFS} modules_install</userinput></screen>
    9191
    92     <para os="u">After kernel compilation is complete, additional steps are
     92    <para os="q">After kernel compilation is complete, additional steps are
    9393    required to complete the installation. Some files need to be copied to
    9494    the <filename class="directory">${CLFS}/boot</filename> directory.</para>
    9595
    96     <para os="v">Issue the following command to install the kernel:</para>
     96    <para os="r">Issue the following command to install the kernel:</para>
    9797
    98 <screen><userinput>cp vmlinux ${CLFS}/boot/clfskernel-&linux-version;</userinput></screen>
     98<screen os="s"><userinput>cp vmlinux ${CLFS}/boot/clfskernel-&linux-version;</userinput></screen>
    9999
    100     <para os="w"><filename>System.map</filename> is a symbol file for the kernel.
     100    <para os="t"><filename>System.map</filename> is a symbol file for the kernel.
    101101    It maps the function entry points of every function in the kernel API,
    102102    as well as the addresses of the kernel data structures for the running
    103103    kernel. Issue the following command to install the map file:</para>
    104104
    105 <screen os="w1"><userinput>cp System.map ${CLFS}/boot/System.map-&linux-version;</userinput></screen>
     105<screen os="u"><userinput>cp System.map ${CLFS}/boot/System.map-&linux-version;</userinput></screen>
     106
     107    <para os="v">If we compiled our kernel with modules and we made sure depmod.pl
     108    is avaiable from busybox, we need to create the module dependency list by
     109    issuing the following command:</para>
     110
     111<screen os="w"><userinput>${CLFS}/cross-tools/bin/depmod.pl -F ${CLFS}/boot/System.map -b ${CLFS}/lib/modules/&linux-version;</userinput></screen>
    106112
    107113    <para os="x">The kernel configuration file <filename>.config</filename>
Note: See TracChangeset for help on using the changeset viewer.