updated to RH9

This commit is contained in:
luigi 2003-10-19 11:27:20 +00:00
parent ae5173bf81
commit cd969cd96e
2 changed files with 241 additions and 125 deletions

View File

@ -59,9 +59,18 @@
</authorgroup>
<revhistory>
<revision>
<revnumber>v2.1</revnumber>
<date>2003-10-17</date>
<authorinitials>lb</authorinitials>
<revremark>
Added RedHat 9. Fixed some minor bugs. Thanks to all the people who have sent
in comments and patches.
</revremark>
</revision>
<revision>
<revnumber>v2.03</revnumber>
<date>2002-03-10</date>
<date>2003-03-10</date>
<authorinitials>lb</authorinitials>
<revremark>
Added some comments and fixes to the howto. The anaconda updates are now
@ -70,7 +79,7 @@
</revision>
<revision>
<revnumber>v2.02</revnumber>
<date>2002-03-06</date>
<date>2003-03-06</date>
<authorinitials>lb</authorinitials>
<revremark>
The signature checking now works for packages targeted to versions
@ -99,6 +108,7 @@
<copyright>
<year>2002</year>
<year>2003</year>
<holder>Luigi Bitonti</holder>
</copyright>
@ -110,7 +120,7 @@
<abstract>
<para>
This document describes how to make your own CDs from different releases of
the Red Hat Linux distribution (up to and including release 8.0), equivalent
the Red Hat Linux distribution (up to and including release 9), equivalent
to the ones commercially available from Red Hat.
The structure of the distribution is described, as well as the procedure
needed to include updated RPMS into the distribution. Some hints and
@ -141,15 +151,15 @@
</para>
<para>
This is what you will be taught in the next sections (hopefully). I will use the
i386 architecture and releases 7.3 and 8.0 of the distribution in the examples. The
i386 architecture and releases 7.3, 8.0 and 9 of the distribution in the examples. The
notes related to the previous releases (&lt;=6.1) were contained in a previous version of
this document and were compiled by the original authors. The notes related to release
6.2 are based on tests I've not completed (and I don't know if I ever will) and some
documents you can find linked in the <xref linkend="related-doc"> section.
The procedure given in the following sections for RedHat 7.3 and 8.0 is likely to work
on all platforms supported by Red Hat (Alpha, ppc, etc.), for all the 7.x (and maybe 8.x
on all platforms supported by Red Hat (Alpha, ppc, etc.), for all the 7.x (and maybe 8.x/9
in a not too far future) releases, but I have only tested it on the i386 platform with
Redhat Linux 7.3 and 8.0 (I would be interested in additional information).
Redhat Linux 7.3, 8.0 and 9 (I would be interested in additional information).
</para>
<note>
<para>
@ -198,20 +208,20 @@
Let's have a look at the distribution tree.
</para>
<sect2 id="redhat-main-tree" xreflabel="The Redhat 8.0 tree">
<title>Redhat 8.0 directories organization</title>
<sect2 id="redhat-main-tree" xreflabel="The Redhat 9 tree">
<title>Redhat 9 directories organization</title>
<para>
The latest distribution is, as of this writing, available only for the
i386 platform. The toplevel directory appears a bit shallow, given the
presence of a single architecture. (<ulink
url="ftp://ftp.redhat.com/pub/redhat/linux/8.0/en/os/">pub/redhat/linux/8.0/en/os/
url="ftp://ftp.redhat.com/pub/redhat/linux/9/en/os/">pub/redhat/linux/9/en/os/
</ulink>).
<screen>
i386/
</screen>
</para>
<para>
Otherwise, the toplevel directory, for releases slightly older than 8.0, contains
Otherwise, the toplevel directory, for releases slightly older than 9, contains
distributions for the different platforms. For example, the corresponding
directory for release 7.1 of Redhat Linux, is structured this way:
<screen>
@ -220,38 +230,41 @@
</para>
<para>
The root of the i386 directory looks like this:
The root of the i386 directory in a Redhat 9 distribution looks like this:
<screen>
-rwxr-xr-x 1 root root 248 Sep 10 21:19 autorun
drwxr-xr-x 7 root root 4096 Oct 25 10:43 dosutils
-rwxr-xr-x 1 root root 6194 Sep 10 21:19 EULA
-rwxr-xr-x 1 root root 18385 Sep 10 21:19 GPL
drwxr-xr-x 3 root root 4096 Oct 25 10:43 images
drwxr-xr-x 2 root root 4096 Oct 25 10:43 isolinux
-rw-r--r-- 1 root root 28320 Oct 24 22:36 pkgorder.txt
-rwxr-xr-x 1 root root 5350 Sep 10 21:19 README
-rwxr-xr-x 1 root root 13342 Sep 10 21:19 README-Accessibility
-rwxr-xr-x 1 root root 5781 Sep 10 21:19 README.de
-rwxr-xr-x 1 root root 5956 Sep 10 21:19 README.es
-rwxr-xr-x 1 root root 6351 Sep 10 21:19 README.fr
-rwxr-xr-x 1 root root 5684 Sep 10 21:19 README.it
-rwxr-xr-x 1 root root 6836 Sep 10 21:19 README.ja
-rwxr-xr-x 1 root root 6566 Sep 10 21:19 README.ko
-rwxr-xr-x 1 root root 4965 Sep 10 21:19 README.zh_CN
-rwxr-xr-x 1 root root 5267 Sep 10 21:19 README.zh_TW
drwxr-xr-x 4 root root 4096 Oct 25 10:43 RedHat
-rwxr-xr-x 1 root root 37493 Sep 10 21:19 RELEASE-NOTES
-rwxr-xr-x 1 root root 47340 Sep 10 21:19 RELEASE-NOTES-de.html
-rwxr-xr-x 1 root root 44726 Sep 10 21:19 RELEASE-NOTES-es.html
-rwxr-xr-x 1 root root 47994 Sep 10 21:19 RELEASE-NOTES-fr.html
-rwxr-xr-x 1 root root 42160 Sep 10 21:19 RELEASE-NOTES.html
-rwxr-xr-x 1 root root 44680 Sep 10 21:19 RELEASE-NOTES-it.html
-rwxr-xr-x 1 root root 56720 Sep 10 21:19 RELEASE-NOTES-ja.html
-rwxr-xr-x 1 root root 50814 Sep 10 21:19 RELEASE-NOTES-ko.html
-rwxr-xr-x 1 root root 37770 Sep 10 21:19 RELEASE-NOTES-zh_CN.html
-rwxr-xr-x 1 root root 39122 Sep 10 21:19 RELEASE-NOTES-zh_TW.html
-rwxr-xr-x 1 root root 1910 Sep 10 21:19 RPM-GPG-KEY
-rwxr-xr-x 1 root root 338 Sep 10 21:56 TRANS.TBL
-rwxr-xr-x 2 root root 248 Mar 14 2003 autorun
drwxr-xr-x 7 root root 4096 Mar 14 2003 dosutils
-rw-r--r-- 3 root root 6192 Mar 14 2003 EULA
-rw-r--r-- 3 root root 18385 Mar 14 2003 GPL
drwxr-xr-x 3 root root 2048 Mar 14 2003 images
drwxr-xr-x 2 root root 2048 Mar 14 2003 isolinux
-rw-r--r-- 3 root root 6127 Mar 14 2003 README
-rw-r--r-- 2 root root 13052 Mar 14 2003 README-Accessibility
-rw-r--r-- 2 root root 6686 Mar 14 2003 README.de
-rw-r--r-- 2 root root 6990 Mar 14 2003 README.es
-rw-r--r-- 2 root root 6492 Mar 14 2003 README.fr
-rw-r--r-- 2 root root 6805 Mar 14 2003 README.it
-rw-r--r-- 2 root root 7995 Mar 14 2003 README.ja
-rw-r--r-- 2 root root 7312 Mar 14 2003 README.ko
-rw-r--r-- 2 root root 5070 Mar 14 2003 README.pt
-rw-r--r-- 2 root root 6613 Mar 14 2003 README.pt_BR
-rw-r--r-- 2 root root 5879 Mar 14 2003 README.zh_CN
-rw-r--r-- 2 root root 5892 Mar 14 2003 README.zh_TW
drwxr-xr-x 4 root root 2048 Mar 14 2003 RedHat
-rw-r--r-- 2 root root 25824 Mar 14 2003 RELEASE-NOTES
-rw-r--r-- 2 root root 29902 Mar 14 2003 RELEASE-NOTES-de.html
-rw-r--r-- 2 root root 30409 Mar 14 2003 RELEASE-NOTES-es.html
-rw-r--r-- 2 root root 32354 Mar 14 2003 RELEASE-NOTES-fr.html
-rw-r--r-- 2 root root 30064 Mar 14 2003 RELEASE-NOTES.html
-rw-r--r-- 2 root root 29925 Mar 14 2003 RELEASE-NOTES-it.html
-rw-r--r-- 2 root root 34666 Mar 14 2003 RELEASE-NOTES-ja.html
-rw-r--r-- 2 root root 33520 Mar 14 2003 RELEASE-NOTES-ko.html
-rw-r--r-- 2 root root 29496 Mar 14 2003 RELEASE-NOTES-pt_BR.html
-rw-r--r-- 2 root root 22747 Mar 14 2003 RELEASE-NOTES-pt.html
-rw-r--r-- 2 root root 25217 Mar 14 2003 RELEASE-NOTES-zh_CN.html
-rw-r--r-- 2 root root 26645 Mar 14 2003 RELEASE-NOTES-zh_TW.html
-rw-r--r-- 3 root root 1910 Mar 14 2003 RPM-GPG-KEY
-r--r--r-- 1 root root 1823 Mar 14 2003 TRANS.TBL
</screen>
</para>
@ -262,14 +275,14 @@
<para>
The <filename class='directory'>images</filename> directory contains boot
and drivers floppy images that can be copied to a diskette if needed. In the
8.0 release, there are three boot disk images available. The first boot
image is called <filename>boot.img</filename>, and is required when installation
is performed directly from a CD-ROM. If installing from a NFS mounted disk or FTP
is required, the <filename>bootnet.img</filename> disk image is needed.
Installs through PCMCIA adapters need the <filename>pcmcia.img</filename>
floppy. See section <xref linkend="installation"> and references therein for
details and consult the README file in the directory for a more detailed explanation
of the various files.
9 release, there is only one boot disk image available. This boot image is named
<filename>bootdisk.img</filename>. A secondary driver disk is required beside
this one if the installation is not performed directly from a CD-ROM or HD. A
<filename>boot.iso</filename> file has now been added to boot a machine from
the cdrom drive and start (network) installations more easily (i.e. without messing up
with too many floppies). See section <xref linkend="installation"> and references
therein for details and consult the README file in the directory for a more detailed
explanation of the various files.
</para>
<para>
The <filename class="directory">isolinux</filename> directory contains
@ -360,6 +373,7 @@
drwxrwsr-x 4 root root 4096 Jul 13 10:13 7.2
drwxrwsr-x 3 root root 4096 Jul 13 10:14 7.3
drwxrwsr-x 3 root root 4096 Jul 13 10:14 8.0
drwxrwsr-x 3 root root 4096 Jul 13 10:14 9
</screen>
</para>
<para>
@ -384,6 +398,27 @@
</para>
</sect2>
<sect2>
<title>Differences for the 8.0 tree</title>
<para>
The 8.0 distribution layout is almost identical to the one just described. The only
major differences, in this respect, can be found in the images directory.
</para>
<para>
The <filename class='directory'>images</filename> directory contains boot
and drivers floppy images that can be copied to a diskette if needed. In the
8.0 release, there are three boot disk images available. The first boot
image is called <filename>boot.img</filename>, and is required when installation
is performed directly from a CD-ROM. If installing from a NFS mounted disk or FTP
is required, the <filename>bootnet.img</filename> disk image is needed.
Installs through PCMCIA adapters need the <filename>pcmcia.img</filename>
floppy. See section <xref linkend="installation"> and references therein for
details and consult the README file in the directory for a more detailed explanation
of the various files.
</para>
</sect2>
<sect2>
<title>Differences for the 7.x tree</title>
<para>
@ -395,8 +430,8 @@
to the way the installation CDs are made bootable in releases prior to 8.0
(<quote>floppy emulation</quote> has been superseded by <quote>no emulation</quote>
in release 8.0), while the second is an effect of the migration of
the <filename>comps</filename> file format to <emphasis>XML</emphasis> in Redhat 8.0
(that's why it was renamed <filename>comps.xml</filename>).
the <filename>comps</filename> file format to <emphasis>XML</emphasis> in Redhat
releases after 8.0 (that's why it was renamed <filename>comps.xml</filename>).
The <filename>Redhat/base/comps</filename> file is, in fact, a simple textual file
with a quite inflexible syntax in releases prior to and including Redhat 7.3.
</para>
@ -442,12 +477,12 @@
can be found in HTML format in the directory or on the Redhat website
(<ulink url="http://www.redhat.com/docs/manuals/linux/RHL-6.2-Manual/install-guide/">
Redhat 6.2 Installation guide</ulink>). Next, there are the reference guide
and the getting started guide. The documentation for the 7.x/8.x releases is on
and the getting started guide. The documentation for the 7.x/8.0/9 releases is on
a separate CD (in a different tree, on the ftp site).
</para>
<para>
The <filename class='directory'>images</filename> directory contains boot floppy
images that can be copied to a diskette if needed, like for 8.0 and 7.3. See
images that can be copied to a diskette if needed, like for 8.0, 7.3 and 9. See
section <xref linkend="installation"> and references therein for details. The
<filename class='directory'>misc</filename> directory contains source and
executables of a number of programs needed for the installation.
@ -469,7 +504,7 @@
already known to you. See the section <xref linkend="rpm-packages"> for more
informations. The <filename class='directory'>base</filename> directory
holds different book-keeping files needed during the installation process,
like for releases 7.3 and 8.0. The only noticeable differences being represented
like for releases 7.3, 8.0 and 9. The only noticeable differences being represented
by a single <filename>hdlist</filename> file and a missing
<filename>stage2.img</filename> file whose functionalities should be provided
by the files included in the <filename class='directory'>instimage</filename>
@ -478,7 +513,7 @@
</para>
<para>
The <filename class='directory'>updates</filename> directory is really similar
to the one described for release 8.0 with the only difference of having more
to the one described for release 9 with the only difference of having more
architecture related directories.
</para>
</sect2>
@ -559,9 +594,9 @@
<emphasis>.src.rpm</emphasis> and are situated in the
<filename class='directory'>SRPMS</filename> directory. These packages compose
the last two CDs and part of the third one out of the five which compose the 8.0 (or
7.3) release. For 6.2 (and previous, not too old, versions), things change a bit because
there is only one installation CD not comprising the SRPMS packages, which you can
burn on a different disc, if you want.
7.3) release. For release 9 they are on three separate CDs. For 6.2 (and previous,
not too old, versions), things change a bit because there is only one installation CD
not comprising the SRPMS packages, which you can burn on a different disc, if you want.
</para>
<para>
To obtain more informations on the Redhat package manager, I suggest you to read
@ -652,7 +687,7 @@
<para>
Create a directory to hold the installation files and <emphasis>cd</emphasis>
into it, then issue the command (which will download ~3Gb of data on your
hard drive, for RedHat 7.3 and 8.0):
hard drive):
</para>
<para>
<screen>
@ -693,7 +728,7 @@
website</ulink>. The key is imported by running the command:
<emphasis>gpg --import &lt;filename&gt; </emphasis> in releases up to and including
7.3, which is to be changed to read <emphasis>rpm --import &lt;filename&gt; </emphasis>
for release 8.0 (for more informations on this have a look at the
for releases 8.0 and 9 (for more informations on this have a look at the
<ulink url="http://www.gnupg.org/">GNU Privacy Guard</ulink> and at the
<ulink url="http://www.rpm.org/">RPM</ulink> - Redhat Package Manager websites).
</para>
@ -709,14 +744,14 @@
</screen>
</para>
<para>
For release 8.0 (and for future releases as well I guess):
For release 8.0 and 9 (and for future releases as well I guess):
<screen>
$ find . -name "*.rpm" -exec rpm -K {} \; |grep "NOT *OK"
</screen>
</para>
<para>
If you don't want to <quote>bother</quote> yourself with all these steps, I hope you
want at least to check for the integrity of the downloaded files (which doesn't mean
want to check (at least) for the integrity of the downloaded files (which doesn't mean
nobody has tampered with them), verifying the md5 signatures. This is done with:
</para>
<para>
@ -726,7 +761,7 @@
</screen>
</para>
<para>
For release 8.0 (and for future releases as well, I guess):
For release 8.0 and 9 (and for future releases as well, I guess):
<screen>
$ find . -name "*.rpm" -exec rpm -K --nosignature {} \; |grep "NOT *OK"
</screen>
@ -835,8 +870,6 @@
<para>
I haven't personally tested this procedure. It was the only proposed one
for the older versions of the howto (up to version 1.34, regarding RedHat &lt;=6.1).
Nevertheless, I believe this has had, so far, much more testing than my scripts,
so you want to maybe consider using it.
</para>
</note>
</sect2>
@ -882,7 +915,7 @@
<ulink url="rhcd-scripts/updatePerm.sh">
updatePerm.sh</ulink> script on your local copy of the distribution.
It is really needed only for version 6.2 and older, the only part useful to
the 7.3/8.0 releases procedure is the directories permissions update, even if the
the 7.3/8.0/9 releases procedure is the directories permissions update, even if the
rest won't hurt and things are kept coherent. It is almost equal to the
<filename>updatePerm</filename> script included in the previous version of
the howto, just some slight changes were made. Before using this script you
@ -1172,7 +1205,7 @@
The <filename>mkisofs</filename> and <filename>cdrecord</filename> steps can be
executed by means of a graphical frontend like
<ulink url="http://www.xcdroast.org/">X-CD-Roast</ulink> which should currently
support the creation of bootable CDs (I've never done it, so don't expect me
support the creation of bootable CDs (I've never used it, so don't expect me
to give you any explanation).
</para>
</sect4>
@ -1186,7 +1219,7 @@
The introduction of version 4 of the Redhat Package Manager (RPM), made the
procedure to update the anaconda installer fail. So the procedures listed will
work only if the updated packages were built using a version of the RPM
software which is older than or equal to 3.0.5 (so, basically, 3.0.4 or 3.0.5).
software which is older than or equal to 3.0.4 (so, basically, 3.0.4 or 3.0.5).
</para>
<para>
If you are using the original packages from Redhat, you have to avoid using
@ -1216,7 +1249,7 @@
</sect3>
<sect3 id="rh73-rebuild" xreflabel="Rebuilding the 7.3/8.0 installer">
<title>RedHat 8.0 and 7.3</title>
<title>RedHat 9, 8.0 and 7.3</title>
<para>
Once again a lot of things have changed with the release of the 7.x series of the
distribution. There are now more operations to complete to obtain a fresh and
@ -1224,9 +1257,9 @@
and now the tree has to be split to fit on the media. This is done by means of
the <filename>splitdistro</filename> script, which is written in python like most
of the anaconda installer. To complete this part, you <emphasis>must</emphasis> use
a Linux RedHat 7.3 or 8.0 machine with the <emphasis>anaconda-runtime</emphasis>
package installed (it will probably have version 7.3.7 or 8.0.4), depending on the
release you want to rebuild. The procedure is composed by seven steps:
a Linux RedHat 7.3, 8.0 or 9 machine with the <emphasis>anaconda-runtime</emphasis>
package installed (it will probably have version 7.3.7, 8.0.4 or 9.0.4), depending
on the release you want to rebuild. The procedure is composed by seven steps:
<orderedlist numeration='lowerroman'>
<listitem>
<para>
@ -1275,7 +1308,7 @@
invocation of the scripts which don't need this modification.
</para>
<para>
For redhat 8.0:
For redhat 9 and 8.0:
<programlisting>
$ chmod -R u+w /absolute-path-to-toplevel-dir
$ mkdir -p /absolute-path-to-toplevel-dir/i386
@ -1326,14 +1359,17 @@
now based on XML. It provides much more flexibility and ease of customization
as you can read in <xref linkend="comps-file">. If you have modified or intend to
modify the list of the installed packages, you need to complete this step. This,
in turn, implies having the
in turn, implies having the modified version of comps-9.tar.gz
<ulink url="rhcd-scripts/comps-9.tar.gz">
comps-9.tar.gz</ulink> (the original one doesn't work for me) or
<ulink url="http://rhlinux.redhat.com/anaconda/comps-8.0.tar.gz">
comps-8.0.tar.gz</ulink> package including the master comps file found on the
Redhat website and the <filename>comps-extras</filename> rpm package installed.
Follow these steps (only fo Redhat 8.0):
comps-8.0.tar.gz</ulink> package (depending on the release you are building)
including the master comps file found on the Redhat website and the
<filename>comps-extras</filename> rpm package installed.
Follow these steps for Redhat 9 and 8.0:
<programlisting>
$ cd /some-dir-of-your-choice
$ tar xzvf /path-to-comps-8.0.tar.gz/comps-8.0.tar.gz
$ tar xzvf /path-to-comps-9.tar.gz/comps-9.tar.gz
$ cd comps
$ make
$ cat comps-milan.xml |sed 's!&lt;/comps&gt;!!g' >comps-tmp.xml
@ -1344,11 +1380,12 @@
</programlisting>
Beside <quote>/absolute-path-to-toplevel-dir</quote>, you should take care of
assigning valid names to <quote>/some-dir-of-your-choice</quote> and
<quote>/path-to-comps-8.0.tar.gz</quote>. The rest of the commands can be just
copied.
<quote>/path-to-comps-9.tar.gz</quote>. The rest of the commands can be just
copied. And... you must (obviously) change 9 to read 8.0 if you are building
a Redhat 8.0 distribution.
</para>
<para>
Before issuing the <emphasis>make</emphasis> command, you should modify the file
Again, before issuing the <emphasis>make</emphasis> command, you should modify the file
<filename>comps-milan.xml.in</filename> using your favourite text editor and
following the guidelines and the suggestions found in <xref linkend="comps-file">
and on the
@ -1377,17 +1414,28 @@
<para>
This will rebuild the anaconda installer in your local copy of the distribution
using your updated packages.
For Redhat 9 execute:
<programlisting>
$ /usr/lib/anaconda-runtime/buildinstall \
--pkgorder /absolute-path-to-toplevel-dir/pkgorder.txt \
--comp dist-9 --product "Red Hat Linux" --version 9 \
--release "Redhat 9 (Shrike)" /absolute-path-to-toplevel-dir/i386
</programlisting>
Where, once again, <quote>/absolute-path-to-toplevel-dir</quote> is
the directory where the root of your local copy of the distribution is located.
</para>
<para>
For Redhat 8.0, the procedure is pretty much the same (the <quote>--product</quote>
option is missing):
<programlisting>
$ /usr/lib/anaconda-runtime/buildinstall \
--pkgorder /absolute-path-to-toplevel-dir/pkgorder.txt \
--comp dist-8.0 --version 8.0 --release "Redhat 8.0 (Psyche)" \
/absolute-path-to-toplevel-dir/i386
</programlisting>
Where, once again, <quote>/absolute-path-to-toplevel-dir</quote> is
the directory where the root of your local copy of the distribution is located.
</para>
<para>
For Redhat 7.3, the procedure is pretty much the same:
Or if you are still using Redhat 7.3 (as I am):
<programlisting>
$ /usr/lib/anaconda-runtime/buildinstall \
--pkgorder /absolute-path-to-toplevel-dir/pkgorder.txt \
@ -1410,7 +1458,7 @@
<para>
This will not work at all for Redhat 7.3 if you don't use the modified
version of the <filename>splitdistro</filename> script reported in the next
paragraph. For Redhat 8.0, a modified version of
paragraph. For Redhat 8.0 and 9, a modified version of
<filename>splitdistro</filename> is provided mainly because even if the problems
in the previous script were fixed, the execution now fails if there are
not enough packages to fill all the CDs (the first four completely and the
@ -1420,11 +1468,11 @@
<programlisting>
$ $/usr/lib/anaconda-runtime/splitdistro \
--fileorder /absolute-path-to-toplevel-dir/pkgorder.txt --release \
"Redhat 8.0 (Psyche)" /absolute-path-to-toplevel-dir i386
"Redhat 9 (Shrike)" /absolute-path-to-toplevel-dir i386
</programlisting>
The only thing you need to change for 7.3 is the string passed to the
<emphasis>--release</emphasis> option (which should be
<quote>Redhat 7.3 (Valhalla)</quote>)
The only thing you need to change for 8.0 and 7.3 is the string passed to the
<emphasis>--release</emphasis> option (which should read
<quote>Redhat 8.0 (Psyche)</quote> or <quote>Redhat 7.3 (Valhalla)</quote>)
</para>
<para>
For Redhat 7.3 the version of the
@ -1457,6 +1505,12 @@
failing, but generates the CDs without source packages) or there is one CD which
hasn't any package on it (instead of failing, generates an empty directory).
</para>
<para>
For Redhat 9 you can find a copy of the script with the same modifications
applied to the version included in release 8.0 here:
<ulink url="rhcd-scripts/splitdistro9">splitdistro9</ulink>. Everything said
for Redhat 8.0 in the previous paragraph applies to release 9.
</para>
</sect4>
<sect4>
@ -1464,7 +1518,7 @@
<para>
This is needed to recreate the hdlist and hdlist2 files, using some of
the informations obtained in the previous steps. There are no differences
between 7.3 and 8.0 for this execution of the program
between 7.3, 8.0 and 9 for this execution of the program
The command to issue is the following:
<programlisting>
$ /usr/lib/anaconda-runtime/genhdlist \
@ -1487,7 +1541,7 @@
<sect4>
<title>Generating the iso images</title>
<para>
Here you will prepare the 5 iso images to be burned on the actual CDs. There are
Here you will prepare the iso images to be burned on the actual CDs. There are
two different commands to be used for the first disc and for the rest of them.
This is due to the need of obtaining a first CD which is bootable. This is
actually, not strictly necessary, because you could use a boot floppy instead
@ -1498,15 +1552,16 @@
<para>
<programlisting>
$ mkdir /images-destination-dir
$ mkisofs -r -J -T -v -V "Red Hat 8.0 (Psyche) disc 1" \
$ mkisofs -r -J -T -v -V "Red Hat 9 (Shrike) disc 1" \
-c isolinux/boot.cat -b isolinux/isolinux.bin -no-emul-boot \
-boot-load-size 4 -boot-info-table -o /images-destination-dir/i386-disc1.iso .
</programlisting>
This is needed to burn the first (bootable) disc for RedHat 8.0 (with no floppy
This is needed to burn the first (bootable) disc for RedHat 8.0 and 9 (with no floppy
emulation) and is executed from the top level directory of the distribution. The
<filename class="directory">/images-destination-dir</filename> directory is
the container for the five iso images you are generating, and it must exist
before starting the procedure.
before starting the procedure. The only thing which needs to be changed for Redhat 8.0
is the volume name (it should be "Red Hat 8.0 (Psyche) disc 1").
</para>
<para>
<programlisting>
@ -1522,14 +1577,16 @@
The rest of the images can be written by means of this <quote>for</quote> loop
<programlisting>
$ for i in `echo 2 3 4 5` ; do mkisofs -r -J -T -v \
-V "Red Hat 8.0 (Psyche) disc ${i}" \
-V "Red Hat 9 (Shrike) disc ${i}" \
-o /images-destination-dir/i386-disc${i}.iso . ; done
</programlisting>
The loop just presented will prepare the last four images giving them the
correct numbers. As you can see, there are just two missing options from the
first run, and, as you can guess, they are needed only to create a bootable
CD. In <xref linkend="iso-image-create">, you can read a brief explanation of
the various options and their meanings (most of it was extracted from the man page).
the various options and their meanings (most of it was extracted from the man page).
Again if you are building a Redhat 8.0 you should change the volume name to read
"Red Hat 8.0 (Psyche) disc ${i}".
</para>
</sect4>
@ -1544,8 +1601,8 @@
The following commands permit to inject and verify an md5 signature on an iso
image:
<programlisting>
$ /usr/lib/anaconda/implantisomd5 iso-image
$ /usr/lib/anaconda/checkisomd5 iso-image
$ /usr/lib/anaconda-runtime/implantisomd5 iso-image
$ /usr/lib/anaconda-runtime/checkisomd5 iso-image
</programlisting>
</para>
<para>
@ -1562,7 +1619,7 @@
The
<ulink url="rhcd-scripts/updateBuild.sh">
updateBuild.sh</ulink> script will execute all the steps needed to rebuild the
distribution CDs for RedHat 7.3 or 8.0 in a single run (as root). Before using this
distribution CDs for RedHat 7.3, 8.0 or 9 in a single run (as root). Before using this
script you have to configure the <ulink url="rhcd-scripts/rhcd.conf">
rhcd.conf</ulink> configuration file after exporting a <emphasis>RHCDPATH</emphasis>
variable pointing to the directory where this file is. If you want to include
@ -1604,9 +1661,9 @@
will be wrong. The (optional) test can be done by issuing the command:
</para>
<para>
<screen>
<programlisting>
# mount -t iso9660 -o ro,loop=/dev/loop0 iso-image /mnt/cdrom
</screen>
</programlisting>
</para>
<para>
Where <quote>iso-image</quote> is the name you gave to the iso image file
@ -1614,9 +1671,9 @@
When you're done, don't forget to unmount it
</para>
<para>
<screen>
<programlisting>
# umount /mnt/cdrom
</screen>
</programlisting>
</para>
</sect2>
@ -1959,9 +2016,9 @@
</sect2>
<sect2>
<title>Format of comps file in RedHat version 8.0</title>
<title>Format of comps file in RedHat version 8.0 and 9</title>
<para>
With RedHat version 8.0, the format of the <filename>comps</filename> file
With RedHat version 8.0 and 9, the format of the <filename>comps</filename> file
has changed completely and now an XML file, whose name is <filename>comps.xml</filename>,
is used. Details on the file syntax can be found in the
<ulink url="http://rhlinux.redhat.com/anaconda/comps.html">anaconda comps</ulink> section
@ -1977,9 +2034,8 @@
<quote>Base</quote> and <quote>Core</quote>. The <quote>Base</quote> group should
represent the minimal possible installation.
</para>
<sect4>
<title>Our first example revisited...</title>
<title>Our first example revisited for Redhat 8.0</title>
<para>
This time, to customize your installation you have to edit the
<filename>comps-milan.xml.in</filename> file with your favourite text editor.
@ -2010,9 +2066,8 @@
only ~220 packages (probably too many, again...).
</para>
</sect4>
<sect4>
<title>Our second example revisited...</title>
<title>Our second example revisited for Redhat 8.0</title>
<para>
In the <ulink url="rhcd-scripts/comps/comps-milan.xml.in.2">
second comps file</ulink> included, we build on the previous setup and strip
@ -2037,8 +2092,63 @@
</para>
</sect4>
</sect3>
</sect2>
<sect3 id="custom-comps-rh9" xreflabel="Customizing the 9 default installation">
<title>Customizing the default installation of RedHat version 9</title>
<para>
We will reproduce (again) the examples presented for release 7.3/8 taking into
account the modifications the various groups were submitted to.
</para>
<sect4>
<title>Our first example revisited for Redhat 9</title>
<para>
As in the case of 8.0, to customize your installation you have to edit the
<filename>comps-milan.xml.in</filename> file with your favourite text editor.
This file can be found in the
<ulink url="rhcd-scripts/comps-9.tar.gz">
comps-9.tar.gz</ulink> file among the script <emphasis>(as I said it is not
the same you can find on the Redhat website)</emphasis>. To add the packages
information to the file you create, you need to have the
<filename>comps-extras</filename> rpm package installed. The commands
to be issued to complete the operation are listed in
<xref linkend="upd-comps.xml"> and in the
<ulink url="http://rhlinux.redhat.com/anaconda/comps.html">documentation</ulink>.
After you create the file, you have to copy it to the
<filename>Redhat/base</filename> directory overwriting the original one.
If you are using <xref linkend="updatebuild-script">, you should only copy the
<filename>comps-milan.xml</filename>, (after having modified the
<filename>comps-milan.xml.in</filename> found in the
<filename>comps-9.tar.gz</filename> tar/gzip package and issued the
<emphasis>make</emphasis> command), to the destination you should have
already configured in the <emphasis>COMPSFILE</emphasis> variable
(<ulink url="rhcd-scripts/rhcd.conf">rhcd.conf</ulink>).
</para>
<para>
In the <ulink url="rhcd-scripts/comps/comps-milan.xml.in.1-9">
first comps file</ulink> included the <emphasis>libsafe</emphasis>
package was added to the <quote>Base</quote> group (component) and almost
every group (component) was deselected, apart from <quote>Base</quote> and
<quote>Core</quote>, so to have a default installation comprising
only ~240 packages (mmmhhh complexity is raising high...).
</para>
</sect4>
<sect4>
<title>Our second example revisited for Redhat 9</title>
<para>
In the <ulink url="rhcd-scripts/comps/comps-milan.xml.in.2-9">
second comps file</ulink> included, we build on the previous setup and strip
down the default installation a bit more (this time, there will be only ~175 packages
in the default installation). This is really similar to the example presented for
Redhat 8.0, so I will avoid boring you with the same explanations. Once again, similar
results can be obtained using <emphasis>kickstart</emphasis>, for more informations
about it you can read
<ulink url="http://www.redhat.com/docs/manuals/linux/RHL-9-Manual/custom-guide/ch-kickstart2.html">
The RedHat Linux Customization Guide</ulink>.
</para>
</sect4>
</sect3>
</sect2>
</sect1>
@ -2203,23 +2313,29 @@
<para>
<itemizedlist mark="opencircle">
<listitem>
<para>Morten Kjeldgaard, &lt;mok@imsb.au.dk&gt;</para>
<para>Morten Kjeldgaard, &lt;mok (at) imsb (dot) au (dot) dk&gt;</para>
</listitem> <!-- author of the previous versions (<1.34)-->
<listitem>
<para>Peter von der Ah&eacute;, &lt;pahe+rhcd@daimi.au.dk&gt;</para>
<para>Peter von der Ah&eacute;, &lt;pahe+rhcd (at) daimi (dot) au (dot) dk&gt;</para>
</listitem> <!-- author of the previous versions (<1.34)-->
<listitem>
<listitem>
<para>Giulia Tomaselli</para>
</listitem>
<listitem>
<para>Jacinta Conneely</para>
</listitem>
<listitem>
<para>Filippo Carcaci</para>
</listitem> <!-- hardware -->
<listitem>
<para>Guillaume Lelarge &lt;gleu@wanadoo.fr&gt;</para>
<para>Guillaume Lelarge &lt;gleu (at) wanadoo (dot) fr&gt;</para>
</listitem> <!-- review and french translation (pending) -->
<listitem>
<para>Alain Portal &lt;&gt;</para>
</listitem> <!-- found a bug in the code and sent in a patch -->
<para>Alain Portal &lt;aportal (at) univ-montp2 (dot) fr&gt;</para>
</listitem> <!-- found some bugs in the code and sent in patches -->
<listitem>
<para>All the people on the anaconda-devel and kickstart mailing lists</para>
</listitem> <!-- various suggestions and ideas -->
</itemizedlist>
</para>
</sect3>
@ -2229,31 +2345,31 @@
<para>
<itemizedlist mark="opencircle">
<listitem>
<para>Lars Christensen &lt;larsch@cs.auc.dk&gt;</para>
<para>Lars Christensen &lt;larsch (at) cs (dot) auc (dot) dk&gt;</para>
</listitem>
<listitem>
<para>Thomas Duffy &lt;tbd@cs.brown.edu&gt;</para>
<para>Thomas Duffy &lt;tbd (at) cs (dot) brown (dot) edu&gt;</para>
</listitem>
<listitem>
<para>Dawn Endico &lt;dawn@math.wayne.edu&gt;</para>
<para>Dawn Endico &lt;dawn (at) math (dot) wayne (dot) edu&gt;</para>
</listitem> <!-- Creating bootable CD -->
<listitem>
<para>Seva &lt;seva@null.cc.uic.edu&gt;</para>
<para>Seva &lt;seva (at) null (dot) cc (dot) uic (dot) edu&gt;</para>
</listitem>
<listitem>
<para>Michael Thomas Cope &lt;mcope@orion.ac.hmc.edu&gt;</para>
<para>Michael Thomas Cope &lt;mcope (at) orion (dot) ac (dot) hmc (dot) edu&gt;</para>
</listitem>
<listitem>
<para>Charles J. Fisher &lt;charles_fisher@bigfoot.com&gt;</para>
<para>Charles J. Fisher &lt;charles_fisher (at) bigfoot (dot) com&gt;</para>
</listitem>
<listitem>
<para>Eric Thomas &lt;eric.thomas@ericsson.com&gt;</para>
<para>Eric Thomas &lt;eric.thomas (at) ericsson (dot) com&gt;</para>
</listitem>
<listitem>
<para>Gordon Yuen &lt;gdccyuen@yahoo.com&gt;</para>
<para>Gordon Yuen &lt;gdccyuen (at) yahoo (dot) com&gt;</para>
</listitem> <!-- Comments on RH6.1, 19991220 -->
<listitem>
<para>Dave Morse &lt;morse@nichimen.com&gt;</para>
<para>Dave Morse &lt;morse (at) nichimen (dot) com&gt;</para>
</listitem> <!-- Suggested wget, 28.3.2000 -->
</itemizedlist>
</para>