<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook V3.1//EN">

<article>

<!-- Header -->

 <artheader>

  <!-- title of HOWTO, include the word HOWTO -->

  <title>Red Hat Enterprise Linux Rebuild mini-HOWTO</title>

  <author>
     <firstname>Michael</firstname>
     <surname>Redinger</surname>
     <affiliation>
        <address>
           <email>Michael.Redinger@uibk.ac.at</email>
        </address>
     </affiliation>
  </author>

   <revhistory>
      <revision>
         <revnumber>0.2</revnumber>
         <date>2003-08-03</date>
         <authorinitials>mr</authorinitials>
          <revremark>
            Fixes, using RHL as a build host, more details.
         </revremark>
      </revision>

      <revision>
         <revnumber>0.1</revnumber>
         <date>2003-07-11</date>
         <authorinitials>mr</authorinitials>
          <revremark>
            Initial release.
         </revremark>
      </revision>

      <!-- Additional (*earlier*) revision histories go here -->
   </revhistory>

  <abstract>
    <indexterm>
      <primary>rhel-rebuild</primary>
    </indexterm>

    <para>This document describes how to build a Linux server based on the SRPMS
      from Red Hat Enterprise Linux 2.1.</para>

  </abstract>

 </artheader>


<!-- Section1: intro -->

 <sect1 id="intro">
   <title>Introduction</title>

  <para>Red Hat changed their support cycle for Red Hat Linux in 2002.
    According to the new policy, updates are only available for 1 year.
    Also, with the introduction of Red Hat Linux 9, the very nature of
    their <quote>retail version</quote> changed - it is now much more
    experimental, not suited for servers anymore.</para>

    <para>Red Hat also produces a product that focuses on server systems:
    Red Hat Enterprise Linux (RHEL) (ES and AS). This can be considered
    a <quote>real</quote> server system. The update cycles are slower and more
    conservative, each release is supported for 5 years. That is 
    exactly what a serious server administrator wants.
    However, these are high
    priced. As of July 2003, RHEL ES costs &dollar;349, RHEL AS a princely 
    &dollar;1490 - per server per year.</para>
    
    <para>This might be an acceptable price for one server. But if you have
    10+ servers, this is IMO too expensive.</para>

  <para>But Red Hat is still very committed to Open Source software and 
    therefore distributes source RPMS for all components of RHEL - including 
    the installer.
    Because of this it is possible to rebuild a server system based on the
    RHEL SRPMS.</para>
    
    <para>This document describes one way how this can be done.</para>

  <para>Let me repeat that this is about <quote>rebuilding a Linux server
    based on the Red Hat Enterprise Linux sources</quote>. That means that the
    resulting system is <emphasis>not Red Hat Enterprise Linux</emphasis>.
    Red Hat clearly states that others must not use the Red Hat trademark
    for derived work. See their 
    <ulink url="http://www.redhat.com/about/corporate/trademark/">Trademark Guidelines and Policies</ulink>.</para>

   <para>Please note that this document is work in progress and must be 
     considered <quote>alpha</quote>.
   </para>


<!-- Section2: copyright -->

  <sect2 id="copyright">
   <title>Copyright Information</title>

   <para>This document is copyrighted
    (<trademark class=copyright></trademark>) 2003 Michael Redinger and is
    distributed under the terms of the Linux Documentation Project
    (LDP) license, stated below.</para>

   <para>Unless otherwise stated, Linux HOWTO documents are
    copyrighted by their respective authors. Linux HOWTO documents may
    be reproduced and distributed in whole or in part, in any medium
    physical or electronic, as long as this copyright notice is
    retained on all copies. Commercial redistribution is allowed and
    encouraged; however, the author would like to be notified of any
    such distributions.</para>

   <para>All translations, derivative works, or aggregate works
    incorporating any Linux HOWTO documents must be covered under this
    copyright notice. That is, you may not produce a derivative work
    from a HOWTO and impose additional restrictions on its
    distribution. Exceptions to these rules may be granted under
    certain conditions; please contact the Linux HOWTO coordinator at
    the address given below.</para>

   <para>In short, we wish to promote dissemination of this
    information through as many channels as possible. However, we do
    wish to retain copyright on the HOWTO documents, and would like to
    be notified of any plans to redistribute the HOWTOs.</para>

   <para>If you have any questions, please contact 
    <email>linux-howto@metalab.unc.edu</email></para> 

  </sect2>

<!-- Section2: disclaimer -->

  <sect2 id="disclaimer">
   <title>Disclaimer</title>


   <para>No liability for the contents of this documents can be accepted.
    Use the concepts, examples and other content at your own risk.
    As this is a new edition of this document, there may be errors
    and inaccuracies, that may of course be damaging to your system.
    Proceed with caution, and although system damage is highly unlikely,
    the author(s) do not take any responsibility for that.</para>

   <para>All copyrights are held by their respective owners, unless
    specifically noted otherwise.  Use of a term in this document
    should not be regarded as affecting the validity of any trademark
    or service mark.</para>

   <para>Naming of particular products or brands should not be seen 
    as endorsements.</para>

  </sect2>

<!-- Section2: newversions-->

  <sect2 id="newversions">
   <title>New Versions</title>

   <para>The newest version of this HOWTO will be made available on
    the website of the University of Innsbruck, in a variety of formats:</para>

   <para>
   <itemizedlist>
    <listitem><para><ulink url="http://www.uibk.ac.at/zid/software/unix/linux/rhel-rebuild.html">HTML</ulink>.</para></listitem>

    <listitem><para><ulink url="http://www.uibk.ac.at/zid/software/unix/linux/rhel-rebuild.pdf">PDF</ulink>.</para></listitem>

    <listitem><para><ulink url="http://www.uibk.ac.at/zid/software/unix/linux/rhel-rebuild.ps">Postscript (A4)</ulink>.</para></listitem>

    <listitem><para><ulink url="http://www.uibk.ac.at/zid/software/unix/linux/rhel-rebuild.sgml">SGML source</ulink>.</para></listitem>

   </itemizedlist>
   </para>

  </sect2>

<!-- Section2: credits -->

  <sect2 id="credits">
   <title>Credits</title>

   <para>Special thanks go to Josep M. 
     (<email>websurfer AT navegants DOT com</email>) who sent his description
     on how to use RHL 7.2 as a build host. I actually did never try this
     (but the mistakes in this description are, of course, mine).</para>

   <para>I would like to thank David L. Parsley for various invaluable 
     hints.</para>

   <para>Credits are also due to Red Hat and its really excellent employees
     for building an <quote>open</quote> distribution. The project described 
     herein would not have been possible otherwise.</para>

  </sect2>

<!-- Section2: feedback -->

  <sect2 id="feedback">
   <title>Feedback</title>

   <para>Feedback is most certainly welcome for this document. Please
    send your additions, comments and criticisms to the following
    email address : <email>Michael.Redinger@uibk.ac.at</email>.</para>

   </sect2>

</sect1>

<!-- Section1: intro: END -->

<sect1 id="gettingstarted">
  <title>Getting Started</title>


  <sect2 id="prerequisites">
    <title>Prerequisites</title> 

    <para>I assume that you are an experienced system administrator.
      You should also know how to handle RPM files - this includes
      installation and (re)building. Otherwise read the 
      <emphasis>RPM HOWTO</emphasis> first.</para>

    <para>I strongly recommend that you also read the
      <emphasis>Burning a RedHat CD HOWTO</emphasis> first. It describes
      how to build your own <quote>Red Hat</quote> CDs.</para>
  
      <para>Building a server based on RHEL SRPMS is just a special case of 
      what is
      described in <emphasis>Burning a RedHat CD HOWTO</emphasis>.
      Therefore I will not repeat
      the valuable information given in that document. Instead I will only
      focus on information that is not available therein.</para>

    <para>You will also need a build server - see below for details.</para>

  </sect2>


  <sect2 id="buildserver">
    <title>Build Server</title>


    <para>You will need a server for building the SRPMS and generate the
      distribution. I am using a RHEL AS system for this
      task. This means that you have to buy one RHEL system.
      However, I thought that this is definitely worth it: I can be
      sure that my build is very close or almost identical to the
      <quote>real</quote> product.</para>

    <para>As RHEL 2.1 is actually based on RHL 7.2, it is also possible
      to use RHL 7.2 as a build host.</para>

    <para>You should do an <quote><command>Everything</command></quote> 
      installation to include all packages
      (especially libraries and <filename>*-devel</filename>) that are
      needed for rebuilding the SRPMS.</para>

    <para>If you want to share the created RPMS with other you should
      include all available languages during installation.</para>


    <para>I also highly recommend applying all available RHEL updates. First I 
      thought it should be better to rebuild the SRPMS on a <quote>plain</quote>
      RHES installation, but I found that this does not work very well.</para>
  </sect2>

  <sect2 id="errcorrections">
    <title>Fix Red Hat Bugs</title>


    <para>First of all, let me repeat that you have to apply all updates
      available. Otherwise many packages will not build correctly.</para>

    <para>There is a link missing for the <command>gdk-pixbuf</command> 
      include
      files. If you do not add this link, most GNOME packages will not 
      build:</para>

<screen>
<command>( cd /usr/include/ ; ln -s gdk-pixbuf-1.0/gdk-pixbuf )</command>
</screen>


  </sect2>

</sect1>



<sect1 id="build">
  <title>Building the RPMS</title>


  <sect2 id="download">
    <title>Downloading the SRPMS</title>


  <para>First of all, download the SRPMS for RHEL AS from 
    <ulink url="ftp://ftp.redhat.com/pub/redhat/linux/enterprise/">ftp://ftp.redhat.com/pub/redhat/linux/enterprise/</ulink>
    or any mirror. Also download the updated SRPMS from 
    <ulink url="ftp://ftp.redhat.com/pub/redhat/linux/updates/enterprise/">ftp://ftp.redhat.com/pub/redhat/linux/updates/enterprise/</ulink>.</para>
  </sect2>


  <sect2 id="buildtree">
    <title>Create your build tree</title>


  <para>You probably only want to build the latest version of a package - so 
    merge the original SRPMS directory and the updated SRPMS and remove
    the old SRPMS.</para>

  <para>I used <command>updateCD.sh</command> from the 
    <command>rhcd-scripts</command> package mentioned in the 
    <emphasis>Burning a RedHat CD HOWTO</emphasis>. You can get
    it <ulink url="http://cvsview.tldp.org/index.cgi/*checkout*/LDP/howto/docbook/RedHat-CD-HOWTO/rhcd-scripts.tar.gz?rev=1.1&amp;sortby=author&amp;content-type=application/x-tar">from the LDP CVS archive</ulink>.</para>

  <para>Unpack <command>rhcd-scripts.tar.gz</command> somewhere on the build
    server (for example <filename>/usr/local/</filename>.
    Now change to <filename>rhcd-scripts/rpmvc/</filename> and run
    <command>make</command> to build the program <command>rvc</command>.</para>


    <para>Then create the configuration file 
      <filename>/usr/local/rhcd-scripts/rhcd.conf</filename>. If 
      the scripts are installed in 
      <filename>/usr/local/rhcpd-scripts/</filename>, the original source RPMS 
      are in <filename>/usr/local/es/2.1AS/i386/SRPMS/</filename> and the 
      source RPMS for
      the updates in <filename>/usr/local/updates/SRPMS/</filename>, then the
      configuration file looks like this:</para>

<screen>
<command>UPDDIR=/usr/local/updates/
ARCH=SRPMS
RHROOT=/usr/local/es/2.1AS/i386/SRPMS/
OLDDIR=/usr/local/SRPMS.old
CHECKSIG=0
USEGPG=0
RVC=/usr/local/rhcd-scripts/rpmvc/rvc</command>
</screen>

  <para>You also have to create the directory 
    <filename>/usr/local/SRPMS.old/</filename>. This is the directory
    the old SRPMS are move to.</para>

  <para>Now change to your updates SRPMS directory and remove the files
    <filename>kernel-2.4.18-e.31.src.rpm</filename> and 
    <filename>mkinitrd-3.4.24-0.ia64.2.src.rpm</filename>. These 
    SRPMS are for the ia64 platform only.</para>

  <para>There is a bug in the <command>updateCD.sh</command>. Almost at
    the end of the file there is a comment
    <quote><emphasis>Copy new boot image files to the right 
    place ...</emphasis></quote>. The next line is wrong and has to be
    replaced. Here is my patch:</para>

<screen>
<command>--- updateCD.sh.orig    2003-07-24 14:35:25.000000000 +0200
+++ updateCD.sh 2003-07-24 15:20:23.000000000 +0200
@@ -139,7 +139,7 @@
 fi
 
 # Copy new boot image files to the right place... (only for 6.x)
-if [ -d $IMGDIR ] ; then
+if [ -n "${IMGDIR}" -a -d "${IMGDIR}" ] ; then
     # directory where the updates have to be copied to
     ANACONDIR=${RHROOT}/misc/src/anaconda
     for bootimage in `ls -rt ${IMGDIR}/*` ; do</command>
</screen>

  <para>Now you can merge the two directories. Change to your
    <command>rhcd-scripts</command> directory, set the variable for the
    configuration file and run <command>updateCD.sh</command>:</para>

<screen>
<command>cd /usr/local/rhcd-scripts/
export RHCDPATH=/usr/local/rhcd-scripts
./updateCD.sh</command>
</screen>

  <para>This worked well for most of the packages. But I found that for some
    packages the new package was moved to the SRPM directory but the old
    one was not removed. So you might want to change to your SRPM 
    directory and run the following script to see if you have to move any
    packages manually:
  </para>

<screen>
<command>OLDNAME=""
NAME=""
for file in *.rpm ; do
   OLDNAME=$NAME
   NAME=$(rpm -pq --queryformat '%{NAME}' ${file})
   if [ "${NAME}" = "${OLDNAME}" ] ; then
      echo "${NAME}"
   fi
done</command>
</screen>

  </sect2>



  <sect2 id="rebuild">
    <title>Rebuilding the SRPMS</title>


    <para>Building the RPMS from the SRPMS is actually very easy - simply use
      <command>rpmbuild --rebuild [file]</command> for all the files:</para>

<screen>
<command>REPORTS=/usr/local/build.reports
[[ -d ${REPORTS} ]] || mkdir ${REPORTS}
for srpm in *.src.rpm ; do
  rpmbuild --rebuild ${srpm} > ${REPORTS}/${srpm}.out 2>&amp;1
done</command>
</screen>


    <note>
      <para>It is highly recommended that you do <emphasis>not</emphasis>
        build the packages as root but use a different user (and choose a
        <command>%_topdir</command> in your 
        <filename>~/.rpmmacros</filename>).</para>
    </note>

    <para>You probably want to move the SRPMS that built successfully to another
      directory. Suppose the SRPMS are in 
      <filename>/usr/local/es/2.1AS/i386/SRPMS/</filename>.
      Then make a directory
        <filename>/usr/local/es/2.1AS/i386/SRPMS.done/</filename>
      and start the build:</para>

<screen>
<command>REPORTS=/usr/local/build.reports
[[ -d ${REPORTS} ]] || mkdir ${REPORTS}
DONE=/usr/local/src/SRPMS.done
for srpm in *.src.rpm ; do
  rpmbuild --rebuild ${srpm} > ${REPORTS}/${srpm}.out 2>&amp;1
  if [ "${?}" = "0" ] ; then
    mv ${srpm} ${DONE}
  fi
done</command>
</screen>

 
    <para>You will find the successfully built RPM packages in 
      <filename>/usr/src/redhat/RPMS/i386/</filename> (for 
      <quote>i386</quote>)
      and <filename>/usr/src/redhat/RPMS/noarch/</filename> (for 
      architecture-independant packages).</para>

    <sect3 id="rebuild-rhel-host">
       <title>RHEL 2.1AS build host</title>

    <para><command>tetex</command> probably will not build correctly. 
      Install the <command>tetex</command> SRPM:</para>

<screen>
<command>rpm -ivh tetex-*.src.rpm</command>
</screen>
      <para>
      Then edit <filename>/usr/src/redhat/SPECS/tetex.spec</filename>. There
      you should find the following line:</para>

<screen>
<command>%define enable_japanese 1</command>
</screen>

      <para>Replace <quote><command>1</command></quote> with 
      <quote><command>0</command></quote>. This should do the trick,
      so you can now build the RPM:</para>

<screen>
rpmbuild -ba /usr/src/redhat/SPECS/tetex.spec
</screen>

      <para>This disables Japanese support for TeX. As I do not need this,
      that is the easiest workaround. If anybody finds a better solution,
      please let me know.</para>

    <para>When using RHEL AS as your build server, the packages 
      <command>ethtool</command> and 
      <command>redhat-config-network</command> will not build either.
      You have to downgrade your <command>kernel-headers</command> to
      the version that was shipped with RHEL AS.</para>

    <para>There is also a problem building the updated 
      <command>im</command> package on RHEL AS.
      Install the <command>im</command> SRPM:</para>

<screen>
<command>rpm -ivh im-*.src.rpm</command>
</screen>

     <para>Edit the the <command>im.spec</command> SPEC file and find the
       line that starts with <command>BuildRequires</command> and replace
       <command>glibc-kernheaders</command> with 
       <command>kernel-headers</command>. Now the package should build
       correctly:</para>

<screen>
<command>rpmbuild -ba /usr/src/redhat/SPECS/im.spec</command>
</screen>


    <para>RHEL includes some packages that are optimized for Pentium III
      systems - <quote>i686</quote> RPMS:
      <itemizedlist>
        <listitem><para>glibc</para></listitem>
        <listitem><para>kernel</para></listitem>
        <listitem><para>openssl</para></listitem>
      </itemizedlist>
      To build the <quote>i686</quote> RPMS, use the following 
      command:</para>

<screen>
<command>rpmbuild --target i686 [file]</command>
</screen>


    <para>Now all RPMS except <command>compat-glibc</command>,
      <command>compat-libs</command> and <command>nautilus</command>
      should have been built successfully. I just took these RPMS from
      RHL 7.2 (the <emphasis>compat</emphasis> RPMS are actually the same
      for RHL 7.2 and RHEL).</para>

    <para>Now there should be only the <command>rpmdb</command> left to be
      rebuilt. See below for a description how to rebuild it.</para>
    </sect3>


    <sect3 id="rebuild-rhl-host">
       <title>RHL 7.2 build host</title>

      <para>Section is based on what Josep M. told me.</para>

      <para>He started with a <quote>plain</quote> 7.2 installation.
        He also installed <command>dietlibc</command>,
        <command>modutils-devel</command> and <command>libmad</command>
        (he recompiled the 
        <command>dietlibc</command>, <command>modutils</command> and
        <command>libmad</command> packages
        from RHEL). Note that you have to rebuild and install 
        <command>dietlib</command> before rebuilding 
        <command>modutils</command>.</para>

      <para>Some packages did not compile correctly. So he now applied
        all updates available for RHL 7.2.</para>

      <para>Josep also updated to the <command>libxml2</command> and
        <command>libxml2-devel</command> from RHEL 2.1.</para>

      <para>Now he started building the SRPMS again.</para>

      <para>Apache did not build correctly, he ended up using the
        version <command>1.3.23</command> (a previous update version).</para>

      <para>There were also problems building Mozilla. He finally 
        compiled and installed the following packages from the RHEL 2.1
        SRPMS: <command>mozilla-nspr</command>,
        <command>mozilla-devel</command>,
        <command>mozilla</command>, <command>mozilla-psm</command>,
        <command>mozilla-mail</command>, <command>mozilla-nss</command>,
        <command>mozilla-chat</command>,
        <command>kdebindings-kmozilla</command>,
        <command>nautilus-mozilla</command>, <command>galeon</command>,
        <command>nautilus</command> and 
        <command>nautilus-devel</command>.</para>

      <para>As described above, you also have to build the <quote>i686</quote>
      RPM packages.</para>

      <para>The <command>compat-glibc</command> and 
        <command>compat-libs</command> cannot be built on RHL 7.2 either,
        just use the binary packages included in RHL 7.2.</para>.

      <para>See below for how to build the <command>rpmdb</command>
        package.</para>

    </sect3>

  </sect2>

</sect1>



<sect1 id="tree">
  <title>Build the distribution</title>


  <sect2 id="dist">
    <title>Build the distribution directory</title>


    <para>Let us suppose you want to use the directory
       <filename>/usr/local/es/2.1AS/i386/</filename> for your newly built 
       distribution.  Then you would have to put the RPMS in
       <filename>/usr/local/es/2.1AS/i386/RedHat/RPMS/</filename> (there is 
       a reason for adding <quote>i386</quote> here - it is used by the 
       <command>rpmdb</command>
       SPEC file). Simply copy all the RPMS to that directory (hint: do not
       forget the <command>noarch</command> and 
       <command>i686</command>
       packages) and set the permissions to <command>644</command>.
    </para>

    <para>Now you can also build your <command>rpmdb</command> package.
      Install the SRPM first:</para>

<screen>
<command>rpm -ivh rpmdb-redhat*.src.rpm</command>
</screen>


      <para>Now rename the SPEC file:</para>

<screen>
<command>SPECDIR="/usr/src/redhat/SPECS"
mv ${SPECDIR}/rpmdb-redhat.spec.in ${SPECDIR}/rpmdb-redhat.spec</command>
</screen>

      <para>Then edit the SPEC file and add the following lines at the beginning
      (they should be already there, but they are commented out):</para>

<screen>
<command>%define rpmdbname               redhat
%define rpmdbversion            2.1AS
%define rpmdbtree               /usr/local/es/2.1AS</command>
</screen>

       <para>Now you can build the <command>rpmdb</command>:</para>

<screen>
<command>rpmbuild -ba /usr/src/redhat/SPECS/rpmdb-redhat.spec</command>
</screen>


  </sect2>



  <sect2 id="installer">
    <title>Build the installer</title>


    <para>When I started working on <quote>rhel-rebuild</quote>, I thought this 
      would be 
      the biggest problem. As you know, you must not reuse any part of 
      RHEL but the SRPMS. So I thought it would be necessary to adapt the
      Red Hat Linux 7.3 installer.</para>

    <para>But there is an easy solution for this - Red Hat Enterprise Linux
      includes a script that generates the installer - including the
      floppy disk images. Make sure you have 
      <command>anaconda-runtime</command> installed. Then run the following
      programs:</para>

<screen>
<command>/usr/lib/anaconda-runtime/buildinstall /usr/local/es/2.1AS/i386/
/usr/lib/anaconda-runtime/genhdlist /usr/local/es/2.1AS/i386/</command>
</screen>


    </sect2>



  <sect2 id="comps">
    <title>Add the comps file</title>


    <para>Now you are still missing the file 
      <filename>RedHat/base/comps</filename>
      in your distribution directory. Again, see the 
      <emphasis>Burning a RedHat CD HOWTO</emphasis> for a description of
      what this is all about.</para>

    <para>You cannot use the <filename>comps</filename> file that comes
      with RHEL 2.1. So I decided to use the <filename>comps</filename>
      from RHL .7.2.</para>

    <para>This is actually quite easy - you basically just have to 
      remove the packages that are not included in RHEL 2.1. You also
      have to add a section <quote>Advanced Server</quote> to keep the
      installer satisfied.</para>

    <para>I also added some packages to the <filename>comps</filename>
      file that are included in RHEL 2.1 but not in RHL 7.2. Most of
      these packages are included in RHL 7.3 or RHL 9, so I had a look
      at these <filename>comps</filename> too. (If I had to do this again
      I would probably start with a RHL 7.3 comps file.)</para>

    <para>You can download my comps file here:
      <ulink url="comps-rhel-rebuild-2.1">http://www2.uibk.ac.at/zid/software/unix/linux/comps-rhel-rebuild-2.1</ulink>. Copy this file to
      <filename>/usr/local/es/2.1AS/i386/RedHat/base/comps</filename>.</para>

    <para>If you change the <filename>comps</filename> file you should
      check if there are any problems with it. There is a script included
      in the <command>anaconda-runtime</command>,
      <command>check-repository.py</command>, that does exactly this.
      You have to change one line to make it work. Edit the file
      <filename>/usr/lib/anaconda-runtime/check-repository.py</filename>
      and remove the following line:</para>

<screen>
<command>import todo</command>
</screen>

    <para>Now run the script:</para>

<screen>
<command>/usr/lib/anaconda-runtime/check-repository.py /usr/local/es/2.1AS/i386/</command>
</screen>

  </sect2>

</sect1>


<sect1 id="further">
  <title>Further steps</title>


  <para>I always use network based installs, so I am basically done now. 
  But you may want to burn this distribution on CD etc. Please see
  <emphasis>Burning a RedHat CD HOWTO</emphasis> for details.</para>

  <sect2 id="enjoy">
    <title>Enjoy!</title>


   <para>Well, that is it, folks! Build your installation floppy disc (or boot 
   from CD-ROM, use PXE network boot - whatever) and you are (hopefully) done.
   Enjoy!</para>

   </sect2>

</sect1>



<sect1 id="probs">
  <title>Problems</title>


  <para>When using the latest kernel (<command>2.4.9-e.25</command>),
    <filename>libredhat-kernel.so.1</filename>, which is needed by
    <command>glibc</command> is included in the <command>kernel-BOOT</command>
    package (which introduces a new dependency).</para>

  <para>When first booting a newly installed server, <command>sleep</command>
    complains that it cannot find <filename>libredhat-kernel.so.1</filename>.
    This works fine for subsequent boots.</para>

</sect1>



<sect1 id="faq">
  <title>Frequently Asked Questions</title>


  <note>
  <para>FIXME: get some FAQs ...</para>
  </note>

</sect1>




</article>

<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-namecase-general:t
sgml-general-insert-case:lower
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:nil
sgml-parent-document:nil
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
-->
