LDP/LDP/howto/docbook/IBM7248-HOWTO.sgml

2667 lines
98 KiB
Plaintext
Raw Blame History

<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook V3.1//EN" [
<!ENTITY aindex SYSTEM "index.sgml">
]>
<article>
<!-- Header -->
<artheader>
<title>Installing LinuxPPC-2000 Q4 on the IBM RS/6000 43P model 7248 HOWTO</title>
<author>
<firstname>Ingvar</firstname>
<surname>Hagelund</surname>
<affiliation>
<address>
<email>ingvar@linpro.no</email>
</address>
</affiliation>
</author>
<revhistory>
<revision>
<revnumber>1.52</revnumber>
<date>2001-08-29</date>
<authorinitials>ih</authorinitials>
<revremark>
Added a chapter on Linux 2.4.
Fixed some dead and wrong links.
Fixed a lot of typos.
</revremark>
</revision>
<revision>
<revnumber>1.51</revnumber>
<date>2001-04-06</date>
<authorinitials>ih</authorinitials>
<revremark>Download site for LinuxPPC-2000 Q4 cd images</revremark>
</revision>
<revision>
<revnumber>1.50</revnumber>
<date>2001-02-06</date>
<authorinitials>ih</authorinitials>
<revremark>Now supports LinuxPPC-2000 Q4</revremark>
</revision>
<revision>
<revnumber>1.40</revnumber>
<date>2000-12-14</date>
<authorinitials>ih</authorinitials>
<revremark>Translated to SGML. This is the initial release for LDP</revremark>
</revision>
</revhistory>
<abstract>
<indexterm>
<primary>abstract</primary>
</indexterm>
<para>
This document describes the installation of LinuxPPC-2000 Q4 on
the IBM RS/6000 43P model 7248 series.
</para>
</abstract>
</artheader>
<!-- Section 1: intro -->
<sect1 id="intro">
<title>Introducion</title>
<indexterm>
<primary>introduction</primary>
</indexterm>
<para>
This document describes how to install LinuxPPC on the IBM
RS/6000 43P 7248 series, that is, the 43P-100, 43P-120 and
43P-133. It describes quite in detail anything to get one of
these boxes from a non working stage to a networked X
workstation. This relase covers LinuxPPC-2000 Q4. For older
versions of LinuxPPC, please have a look at my homepage at
<ulink url="http://users.linpro.no/ingvar/43p">
http://users.linpro.no/ingvar/43p</ulink>.
</para>
<para>
Some years ago I got a couple of old 7248s for free and I did
not have any OS to run on them. So I gathered some bits and
pieces from the net, and got it to install LinuxPPC-1999. Later,
I found that a lot of other people may have the same problems
that I had, so I wrote this document to help. It has been
availble for some time in HTML form only. Now, it's moved
to SGML and a part of the LDP.
</para>
<!-- Section2: copyright and stuff -->
<sect2 id="copyright">
<title>Copyright Information and Legal stuff</title>
<indexterm>
<primary>copyright</primary>
</indexterm>
<para>
This document is copyrighted (c) 2001 Ingvar Hagelund and is
distributed under the terms of the Linux Documentation Project
(LDP) licence, 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>
<para>
"Linux" is a registrated trademark owned by Linus Torvalds. "IBM" and
"RS/6000" are trademarks owned by IBM Corporation. "MS-DOS" is a
trademark owned by Microsoft Corporation.
</para>
<para>
Updated: August 27, 2001.
</para>
</sect2>
<!-- Section2: disclaimer -->
<sect2 id="disclaimer">
<title>Disclaimer and scope</title>
<indexterm>
<primary>disclaimer</primary>
</indexterm>
<para>
This document is made after own experiences on a 43P
7248-132. The things I did might or might not work for
you. You are on your own. I take no responsibility whatsoever
for any damage, loss or expenses because of something you
might have done because this document said so. If you want to
give me feedback on errors, typos, or anything that can make
this document better, please feel free to contact me by
sending an e-mail to <email>ingvar@linpro.no</email>
</para>
<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
this is highly unlikely, I do not take any responsibility for
that.
</para>
<para>
This document is about installing LinuxPPC-2000 Q4 on the IBM
RS/6000 43P, model 7248. The methods described in this
document may or may not work on other machines or models. They
may or may not work on other Linux distributions. Don't ask me
about this, as I have not tested others. Look in the <xref
LinkEnd="resources"> for other resources
on this. If you find that these instructions work on other
models or distributions, please let me know, and I'll add that
info here.
</para>
<para>
All copyrights are held by their 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>
<para>
You are strongly recommended to take a backup of your system
before major installation and backups at regular intervals.
</para>
<para>
Note that the 7248-132 and 43P-132 is two terms for the same
model, and the same goes for 7248-133 and 43P-133. These four
terms describes almost the exactly same model, with
modifications so small, I have not been able to find them. You
can safly assume that they are all the same machine.
</para>
<para>
If you feel that this document makes your life better, makes you
glad and happy, or if you just are in a good mood, and have
nothing to do, feel free to donate hardware, money, pizzas,
e-mailed thankyous, postcards or anything to me. I can be
reached at:
<address>
e-mail: <email>ingvar@linpro.no</email>
snail-mail: Ingvar Hagelund, Asperudlia 15, NO-1258 OSLO, NORWAY.
</address>
</para>
</sect2>
<!-- Section2: newversions-->
<sect2 id="new-versions">
<title>New versions</title>
<indexterm>
<primary>versions</primary>
</indexterm>
<para>
Version 1.52
<itemizedlist>
<listitem> <para> Added a chapter on Linux-2.4 </para> </listitem>
<listitem> <para> Fixed some wrong links and typos </para> </listitem>
</itemizedlist>
</para>
<para>
Version 1.51
<itemizedlist>
<listitem> <para> Download site for LinuxPPC-2000 Q4 cd images </para> </listitem>
</itemizedlist>
</para>
<para>
Version 1.50
<itemizedlist>
<listitem> <para> Updated to cover LinuxPPC-2000 Q4 </para> </listitem>
</itemizedlist>
</para>
<para>
Version 1.41:
<itemizedlist>
<listitem> <para> Made some small changes to the kernel chapter. </para> </listitem>
</itemizedlist>
</para>
<para>
Version 1.40:
<itemizedlist>
<listitem> <para> Added a FAQ section. </para> </listitem>
<listitem> <para> Reformatted howto to SGML. </para> </listitem>
<listitem> <para> New copyright notices. </para> </listitem>
<listitem> <para> Ready for bundling with the LPD. </para> </listitem>
</itemizedlist>
</para>
<para>
If you are reading an offline version of this document, please
note that an up to date HTML version can be found at
<ulink url="http://users.linpro.no/ingvar/43p">
http://users.linpro.no/ingvar/43p</ulink>.
</para>
</sect2>
<!-- Section2: Credits -->
<sect2 id="Credits">
<title>Credits</title>
<indexterm>
<primary>credits</primary>
</indexterm>
<para>
A lot of people have given me suggestions and help on these
pages. I might have forgotten some of them, and if so, I
apologize. Please send me a note to me at
<email>ingvar@linpro.no</email>, and I'll list you here. Thanks to
all of you, I could not have done this without you.
</para>
<para>
Ingvar
</para>
<para>
Here is list of people that have been helpful, in a completely
unordered fashion :-)
</para>
<para>Ingvar Hagelund</para>
<para>James Rooker </para>
<para>Mike McCammant </para>
<para>Alberto Varesio </para>
<para>Rolf Brudeseth </para>
<para>Ian Dale </para>
<para>Hollis R Blanchard </para>
<para>Linar Yusupov </para>
<para>Cort Dougan </para>
<para>Roger Bonussen </para>
<para>Rolf Zimmerli </para>
<para>Philippe Senot </para>
<para>John Roebuck </para>
<para>Jacopo Silva </para>
<para>Martin Espenschied </para>
<para>Dan Burcaw </para>
<para>www.linuxppc.com</para>
<para>Tor Arne Rein </para>
<para>Chien-Yu Chen </para>
<para>Wadamori Naoki </para>
<para>Arne Chr. J&oslash;rgensen</para>
<para>Doc Shipley </para>
<para>Thomas M. Nymand </para>
<para>Alberto Varesio </para>
<para>Pat Berge </para>
<para>Kazunori Aoshima </para>
<para>David Monro </para>
<para>Matt Porter </para>
<para>Olaf Hering </para>
<para>Xavier Piednoir </para>
<para>Steve Cornett </para>
<para>Greg Ferguson </para>
</sect2>
<!-- Section2: feedback -->
<sect2 id="feedback">
<title>Feedback</title>
<indexterm>
<primary>feedback</primary>
</indexterm>
<para>
Feedback is most certainly welcome for this document. Without
your submissions and input, this document wouldn't exist. Please
send your additions, comments and criticisms to the following
e-mail address : <email>ingvar@linpro.no</email>.
</para>
</sect2>
<!-- Section2: translations -->
<sect2 id="translations">
<title>Translations</title>
<indexterm>
<primary>translations</primary>
</indexterm>
<para>
This document exists in English only. If you want to translate
this document into an other language, please do so, just give me a
note, and read the copyright notices above.
</para>
</sect2>
</sect1>
<!-- Section1: intro: END -->
<!-- Section1: overview -->
<sect1 id="overview">
<title>Overview</title>
<indexterm>
<primary>overview</primary>
</indexterm>
<!-- Section2: The 7248-->
<sect2 id="hardware">
<title>The IBM RS6000 43P 7248-133</title>
<indexterm>
<primary>7248</primary> <secondary>7248-133</secondary>
</indexterm>
<para>
This chapter contains a short overview over the 7248-133 and Linux
for PowerPC. The data for the other 7248 models should not be too
different from this.
</para>
<para>
The IBM RS/6000 43P model 7248-133 is a not extremely new PReP
based PowerPC workstation which was produced from 1995 through
1997. The 43P series includes a lot of machines, both CHRP
and PReP based. Our model has among other things this to offer:
</para>
<para>
<itemizedlist>
<listitem> <para> PReP architecture </para> </listitem>
<listitem> <para> 132MHz PowerPC model 604 processor </para> </listitem>
<listitem> <para> 512K synchronous L2 cache </para> </listitem>
<listitem> <para> Max 192MB RAM (EDO) </para> </listitem>
<listitem> <para> Integrated ncr53c810 SCSI-2 controller </para> </listitem>
<listitem> <para> Integrated IDE controller </para> </listitem>
<listitem> <para> Integrated AMD PCnet32 PCI ethernet adapter </para> </listitem>
<listitem> <para> Integrated IBM E15 2MB graphics adapter based on the S3
Vision864 chip </para> </listitem>
<listitem> <para> Integrated Crystal Audio cs4232 sound adapter </para> </listitem>
<listitem> <para> 1.44MB Floppy disk drive </para> </listitem>
<listitem> <para> IBM 8X SCSI CD-ROM drive </para> </listitem>
<listitem> <para> Usually equipped with a 1.2MB IBM DPES 31080 SCSI
hardisk </para> </listitem>
</itemizedlist>
</para>
<para>
You can find more information at IBM's sales manual for this machine, found at <ulink url="http://www2.ibmlink.ibm.com/cgi-bin/master?xh=OE4LvmcyB*zbt11USenGnF9332&amp;request=salesmanual&amp;parms=H%5f7248%2d132&amp;xhi=salesmanual%5e&amp;xfr=F">this horrible URL</ulink>
</para>
<para>
Linux has a native port to the PowerPC processor, and all
official code is maintained in the main kernel tree.
The main part of the port was done by Gary Thomas. The story of
the port <ulink url="http://gate.crashing.org/doc/ppc/doc003.htm">
can be found here</ulink>. For more information on running Linux on
the PowerPC processor, check out the LinuxPPC homepage
<ulink url="http://www.penguinppc.org">http://www.penguinppc.org</ulink>.
</para>
</sect2>
<!-- Section2: Installation procedure -->
<sect2 id="procedure">
<title>What's the matter, why not use the original installation procedure?</title>
<para>
The LinuxPPC-2000 Q4 distribution is made primary for the
PowerMac Apple Macintosh. The installation programs has
therefore no direct support for the 7248 nor the PReP
architechture in general. But no worries, we'll make a few
hacks, some manual configuration, and make it work anyway.
Don't despair, this document will lead you through it, step by
step.
</para>
</sect2>
<!-- Section2: What to do -->
<sect2 id="todo-overview">
<title>An overview on what to do</title>
<para>
Here is what we are going to do:
<itemizedlist>
<listitem> <para>Set up the hardware properly ("BIOS settings") with
IBM's System Management Services (SMS)</para> </listitem>
<listitem> <para>Get installation files from CD or FTP</para> </listitem>
<listitem> <para>Make boot floppies</para> </listitem>
<listitem> <para>Get the machine to boot and start the installation program</para> </listitem>
<listitem> <para>Partition the hard drives</para> </listitem>
<listitem> <para>Install the system</para> </listitem>
<listitem> <para>Boot the system</para> </listitem>
<listitem> <para>Set up networking</para> </listitem>
<listitem> <para>Update the kernel and set up X</para> </listitem>
<listitem> <para>Set up sound</para> </listitem>
</itemizedlist>
</para>
</sect2>
</sect1>
<!-- Section1: Overview: END -->
<!-- Section1: SMS -->
<sect1 id="SMS">
<title>Setting up the hardware with SMS</title>
<indexterm>
<primary>SMS</primary>
</indexterm>
<para>
This chapter describes how to configure the system's Firmware
to use the hardware properly. To do this we are going to use a
software tool from IBM called System Management Services, SMS.
</para>
<!-- Section2: BIOS -->
<sect2 id="BIOS">
<title>Where is the BIOS?</title>
<indexterm>
<primary>bios</primary>
</indexterm>
<para>
Lots of Linux users are familiar with the x86 platform, and
immidiatly ask "What key may I press to access the
BIOS". Well, on the 7248-133 it's not that easy, but it's not
very difficult either. This is a real UNIX machine, and real
UNIX machines don't have a BIOS. They have some sort of
Firmware instead. There is not much to yell about, 'cause to
the users, it's almost the same thing. Firmware often seem to
have lots of bugs in them, just like the BIOSes in the PC
world. They often are more selective on what kind of hardware
they support too. For hardware system management on our 7248,
IBM has a software program to be booted from floppy disk,
called "SMS" - "System Management Services". With this you can
access the Firmware. You can get floppy images and MS-DOS
programs for creating those
<ulink url="http://www.austin.ibm.com/support/micro/downproc.html">
here</ulink>. You might also want to upgrade your Firmware. Check
the README files on the link about this.
</para>
</sect2>
<!-- Section2: How to use the SMS -->
<sect2 id="sms-howto">
<title>How to use the SMS</title>
<para>
To boot the SMS, turn off the machine, insert the SMS floppy,
push the power button and press the F4 key while the system
check icons pop up in the bottom of the screen. (If you prefer a
text based interface, try F2 instead.) Basic usage is outside
the scope of this document, but it's not very difficult.
</para>
</sect2>
<!-- Section2: What settings to use -->
<sect2 id="settings">
<title>What settings to use</title>
<para>
You should have a little look over your system to see whats
actually there. Then you should check the boot sequence, as it's
quite important to make your system boot right. The sequence
should be: (You guessed it) Floppy disk -> CD-player -> first
SCSI harddisk -> second SCSI harddisk -> etc.
</para>
</sect2>
<!-- Section2: More info about the hardware -->
<sect2 id="hardware-info">
<title>More info about the hardware</title>
<indexterm>
<primary>hardware</primary>
</indexterm>
<para>
You might find good references in <ulink url="http://www2.ibmlink.ibm.com/cgi-bin/master?xh=OE4LvmcyB*zbt11USenGnF9332&amp;request=salesmanual&amp;parms=H%5f7248%2d132&amp;xhi=salesmanual%5e&amp;xfr=F">
IBM's salesmanual</ulink> for our model.
</para>
<para>
There are also some
<ulink url="http://www.rs6000.ibm.com/resource/hardware_docs/">
reference manuals in pdf format</ulink>
for free download from <ulink url="http://www.rs6000.ibm.com">the IBM
RS/6000</ulink> pages that might come handy.
</para>
</sect2>
</sect1>
<!-- Section1: SMS : END -->
<!-- Section1: Getting the installation files -->
<sect1 id="Get-the-installation-files">
<title>Get the installation files</title>
<indexterm> <primary>installation files</primary> </indexterm>
<para>
This chapter describes how to get your hands on a copy of the
LinuxPPC-2000 Q4 operating system.
</para>
<!-- Section2: Buying a CD -->
<sect2 id="cd">
<title>Buying a CD</title>
<indexterm>
<primary>CD</primary>
</indexterm>
<para>
The easiest way to get all the files you need is perhaps just to
buy an official CD set. You may order the CD set directly from <ulink
url="http://order.linuxppc.com">http://order.linuxppc.com</ulink>
or you may try to find a local reseller, linuxppc.com has <ulink
url="http://www.linuxppc.com/getlinux/">a list here</ulink>.
</para>
</sect2>
<!-- Section2: Download CD images over FTP -->
<sect2 id="ftp-images">
<title>Download CD images over FTP</title>
<indexterm>
<primary>FTP</primary>
</indexterm>
<para>
The other way around is to download preformatted CD images,
and burn them out yourself. You can download installation CD
images for example from <ulink url="http:www.linuxiso.org/linuxppc.html">
Linuxiso.org</ulink>.
You should download the LinuxPPC-2000 Q4 install image and the
LinuxPPC-2000 Q4 software image. There are some interesting readme
files on the download sites on burning the files to a
CD-ROM.
</para>
<para>
To make a CD, you need some CD burning software package. This
is outside the scope of this document, allthough any good CD
burning software should be able to do it. Remark that the
images are in HFS format, and NOT the usual iso9660 format.
</para>
</sect2>
<!-- Section2: Network installation -->
<sect2 id="network-install">
<title>Network installation</title>
<indexterm>
<primary>Network-install</primary>
</indexterm>
<para>
Other Linux distributions have often support for direct
installation via a network connection. This is not currently
supported in LinuxPPC-2000 Q4, at least not on these machines,
yet.
</para>
</sect2>
</sect1>
<!-- Section1: Get the installation files: END -->
<!-- Section1: Make boot floppies -->
<sect1 id="floppies">
<title>Make boot floppies</title>
<indexterm>
<primary>floppies</primary>
</indexterm>
<para>
In this chapter we will learn how to make useable boot floppies
from files downloaded from the Internet.
</para>
<!-- Section2: What floppies to make -->
<sect2 id="what-floppies">
<title>What floppies to make</title>
<para>
To install LinuxPPC-2000 Q4 on the 7248 you need three floppies: One
bootfloppy, and two ramdisk floppies.
</para>
<para>
The bootfloppy is a precompiled Linux kernel image
called <ulink url="http://users.linpro.no/ingvar/43p/images/carolina_bootimage_2.2.18_with_fb">
carolina_bootimage_2.2.18_with_fb</ulink>, and it can be found
in the <ulink url="http://users.linpro.no/ingvar/43p/images">
images</ulink> directory on my homepage.
</para>
<para>
The ramdisk floppies are in the ramdisk.image.gz file found
in the install directory on a LinuxPPC ftp mirror or on the
CD. But it would be easier, at least for ms-dos users to
download 1.44MB sliced images, also from my
<ulink url="http://users.linpro.no/ingvar/43p/images">
images</ulink> directory over http.
</para>
<para>
If you use Netscape or another web browser to download the files,
you should check that the sizes of the downloaded files are
correct. Some versions of Netscape tend to uncompress compressed
files, and we want to keep them compressed. This yields especially
for the ramdisk.image.gz file(s). If strange freezes or other things
happens at boot time, try using another program for downloading
the files, like wget or lynx.
</para>
</sect2>
<!-- Sect2: How to make the bootfloppies -->
<sect2 id="floppies-howto">
<title>How to make the bootfloppies</title>
<para>
Use always errorfree 1.44MB floppies for these images. The
commands shown here is for a working Linux system. They
might work on other UNIX systems as well. On some systems
you may have to be root to write directly to the floppy drive.
In those cases, just su root before issuing the commands.
</para>
<para>
For MS-DOS, you may use the rawrite util. You can download
rawrite from several places, for example a RedHat mirror as
<ulink url="ftp://ftp.freesoftware.com/pub/linux/redhat/redhat-6.1/i386/dosutils/">
ftp://ftp.freesoftware.com</ulink>. More information on how to
use rawrite <ulink url="http://www.redhat.com/support/manuals/RHL-6.1-Manual/install-guide/ch-making-diskettes.html">here.</ulink>
</para>
<para>
To make the bootfloppy, insert a floppy in the drive, cd
to the directory containing the bootfloppy image and issue
the command:
<screen>
dd if=carolina_bootimage_2.2.18_with_fb of=/dev/fd0 bs=36b conv=sync
</screen>
Label the disk "Boot floppy" or whatever you like.
</para>
<para>
To make the first ramdisk floppy, insert a floppy in the drive,
cd to the directory containing the ramdisk image, and issue
the command:
<screen>
dd if=ramdisk-2000-Q4-floppy-image.1 of=/dev/fd0 bs=36b conv=sync
</screen>
(If you use the ramdisk.image.gz from the CD or a ftp mirror, try
dd if=ramdisk.image.gz of=/dev/fd0 bs=36b conv=sync count=80 )
Label the disk "Ramdisk root floppy (#1)" or whatever you like.
</para>
<para>
To make the second ramdisk floppy, insert a floppy in the drive,
cd to the directory containing the ramdisk image, and issue
the command
<screen>
dd if=ramdisk-2000-Q4-floppy-image.2 of=/dev/fd0 bs=36b conv=sync
</screen>
(If you use the ramdisk.image.gz from the CD or a ftp mirror, try
dd if=ramdisk.image.gz of=/dev/fd0 bs=36b conv=sync skip=80)
Label the disk "Ramdisk floppy #2" or whatever you like.
</para>
</sect2>
</sect1>
<!-- Sect1: Make boot floppes: END -->
<!-- Sect1: Boot the machine and start the installation program -->
<sect1 id="install-program">
<title>Boot the machine and start the installation program</title>
<indexterm>
<primary>installation program</primary>
</indexterm>
<para>
In this chapter we will find out how to get the installation
program up and running.
</para>
<!-- Sect2: Boot the machine -->
<sect2 id="Boot">
<title>Boot the machine</title>
<indexterm>
<primary>boot</primary>
</indexterm>
<para>
To boot the 7248, just insert the bootdisk and switch on the
machine. Insert the installation CD at the PowerPC splash
screen. If it won't boot off the floppy drive, check SMS settings
(<xref LinkEnd="SMS">), and try to force a floppy boot
by pressing F5 (or F6) at the bootscreen while the check icons pop
up in the bottom of the screen. After a while, the screen blanks
out, and Linux will boot. At this point, you can shout a little
"hooray" for yourself, if there are not too many in the room,
and Tux, the Linux Penguin will show up in the upper left corner
of the screen. Insert the ramdisk root floppy and ramdisk floppy
#2 when prompted.
</para>
<para>
After some seconds, the installation program will complain
about a lot of things. It can't find a usb mouse, it can't
start the Xpmac X-server, it can't open the local display, and
that kind of things. Don't worry, we'll take care of this in a
minute. Just press enter, and you'll be thrown to a standard
root bash prompt. For those of us who have used Unix systems
earlier, this is enough to give good vibrations. For all
others: Don't Panic [tm].
</para>
</sect2>
<!-- Sect2: Make some hacks -->
<sect2 id="hacks">
<title>Make some hacks</title>
<indexterm> <primary>hacks</primary> </indexterm>
<para>
To be able to start the installation program, we have to
change the standard PowerMac setup to something that is
useable for the 7248. This is what we are going to do in this
section. Remember that all commands are case sensitive.
</para>
<para>
First, let's set up mouse, to make them work
correctly with X. Issue these commands:
<screen>
rm -f /dev/mouse
ln -s /dev/psaux /dev/mouse
</screen>
Done! Now, that wasn't too difficult, was it? Let's continue with
some X configuration. Issue these commands:
<screen>
cd /etc
mv X11/XF86Config X11/XF86Config.old
cp XF86Config.PReP X11/XF86Config
rm -f /etc/X11/X
ln -s /usr/X11R6/bin/XF68_FBDev /etc/X11/X
</screen>
This XF86Config.PReP file is not complete, it so we have to
fix it. The easiest way to do this is to run Red Hat's
Xonfigurator program
<indexterm> <primary>Xconfigurator</primary> </indexterm>
<screen>
Xconfigurator
</screen>
and follow the instructions on the screen. The usage of
Xconfigurator is beyond the scope of this document, but it's
quite easy. If you need help, try the Xconfigurator section in
the <ulink url="http://europe.redhat.com/documentation/rhl6.0/english/install-guide/manual-html/doc064.php3">Red Hat Installation guide</ulink>.
Xconfigurator should figure out that we use the IBM E15 frame
buffer device by itself. Note that the frame buffer device has
only support for 256 colors, so only 8 bit mode should be
selected. Follow the on-screen instructions and enter values
that match your Screen. Resolutions of 800x600 or 1024x768
should be allright. Skip the test at the end. It will fail.
</para>
<para>
If you try it ouy, you will maybe conclude that the X-server
does not work. Again, Don't Panic [tm]. The reason for this is
that Xconfigurator presumes you have an X font server
running. You don't, so we have to add Font Paths
manually. Edit the configuration with
<screen>
vi /etc/X11/XF86Config
</screen>
(What? You don't like vi?
<ulink url="http://www.cs.uni.edu/Help/vi.html"> Read this</ulink> to
get started.)
</para>
<para>
Look for the line which contains the FontPath. Comment out
(that is: Put a '#' in front of) the existing line
containing something like "unix/:7100", and add these lines instead.
<screen>
FontPath "/usr/lib/X11/fonts/misc/:unscaled"
FontPath "/usr/lib/X11/fonts/cyrillic/:unscaled"
FontPath "/usr/lib/X11/fonts/100dpi/:unscaled"
FontPath "/usr/lib/X11/fonts/75dpi/:unscaled"
FontPath "/usr/lib/X11/fonts/Speedo/"
FontPath "/usr/lib/X11/fonts/Type1/"
FontPath "/usr/lib/X11/fonts/misc/"
FontPath "/usr/lib/X11/fonts/cyrillic/"
FontPath "/usr/lib/X11/fonts/100dpi/"
FontPath "/usr/lib/X11/fonts/75dpi/"
</screen>
</para>
<para>
You are now ready to start the installation program. Issue this
command, and go for it:
<screen>
start_installer
</screen>
</para>
</sect2>
</sect1>
<!-- Sect1: Boot the machine and start the installation program: END -->
<!-- Sect1: Install the system -->
<sect1 id="install-system">
<title>Install the system</title>
<para>
In this chapter we will get used to the LinuxPPC-2000 Q4
installation environment, partition the harddisk(s) and install
the operating system packages.
</para>
<!-- Sect2: The LinuxPPC-2000 Q4 installer -->
<sect2 id="installer">
<title>The LinuxPPC-2000 Q4 installer</title>
<indexterm>
<primary>LinuxPPC-2000 Q4 installer</primary>
</indexterm>
<para>
So, now we're actually getting somewhere! At least, so it
looks. This looks really cool, doesn't it? Press the right
mouse button on the background on the screen. What a cute
little menu! Notice that you can change the colors of the
screen with the <emphasis>Styles</emphasis> option. This is
the first installation program I've ever seen with changeable
colors :-) Note that you can move the windows on the screen
around by clicking and dragging on the blue top or right
borders. To bring a window to the front, try clicking on
it. Select <emphasis>xterm</emphasis> on the Blackbox
(background) menu. This will bring up a command line terminal
window which we will use to start some programs that can do
what the installation program can't.
</para>
<para>
Behold! There are even two (!) installation
programs. Unfortunately, they don't work. In the xterm
window, kill the installation programs. We have to do some more
hand-work.
<screen>
killall install_helper
</screen>
</para>
</sect2>
<!-- Sect2: Partition the harddisk(s) -->
<sect2 id="partition">
<title>Partition the harddisk(s)</title>
<indexterm>
<primary>partition</primary>
</indexterm>
<para>
The first thing to do is to partition the hard disk(s). Since
we have brutally killed the installation program, THERE IS
REALLY NO WAY TO DO THIS. I have framed you all the time. Just
shut down the machine and have a beer. Then visit some
friends.
</para>
<para>
Just kidding.
</para>
<para>
In the xterm window, issue the command
<screen>
fdisk /dev/sda
</screen>
This will start the good old fdisk program. Note: <emphasis>This
program will wipe away anything on the disks in the machine.</emphasis>
If there are something on the disks that you want to protect,
exit the program by hitting <emphasis>Q</emphasis> and press
Enter. If you like a menu driven program, we'll start using
cfdisk in a minute. For an overview on the fdisk commands, hit
<emphasis>?</emphasis>. To view the present partition scheme,
hit <emphasis>P</emphasis>. If there are lots of unknown AIX
information there, hit <emphasis>D</emphasis>, and select 1,
<emphasis>D</emphasis> again and 2, and continue all the way up
to 5 to be sure all old AIX partitions are wiped away. Write the
changes to the disk by hitting <emphasis>W</emphasis>, and quit
the program by hitting <emphasis>Q</emphasis>. If there are no
AIX partitions on the disks, just quit with the
<emphasis>Q</emphasis> command. If you have more than one
harddisk in the machine, use the commands fdisk /dev/sdb for the
second harddisk, fdisk /dev/sdc for third and so on, and repeat
the steps from the first disk.
</para>
<para>
You could of course use fdisk to make the new partitions too,
but I prefer a more user friendly solution. At the shell prompt,
type
<screen>
cfdisk /dev/sda
</screen>
To start the cfdisk program on the first harddisk. Change to sdb
and sdc, and so on for more harddisks. Basic usage of cfdisk is outside
the scope of this document, but I have written a little starter.
You can read it in the <xref LinkEnd="cfdisk">.
</para>
<indexterm> <primary>partitions</primary></indexterm>
<para>
You should have at least these partitions:
<itemizedlist>
<listitem> <para>
A boot partition. It should be the first primary partition
on one of the SCSI drives, preferably the first (this
naming the partition to sda1). It must have type PReP boot
(type 41), and must be large enough to
hold a compressed Linux kernel image (zImage). Something like
5-10MB should do.
</para> </listitem>
<listitem> <para>
A swap partition. It can be either a primary or a logical
partition on any drive. Any size will do, but a guide may
be twice the size of you physical RAM. I have 64MB RAM, so
I have a swap partition on 128MB. Remember: This is only a
guide.
</para> </listitem>
<listitem> <para>
A system root partition. It can be either a primary or a
logical partition, and it should be big enough to hold the
main parts of the installation. You should write down the
device (disk and partition number, like sda5, for example)
for your system's root partition. You will need it later.
The easy way is just to use the rest of the harddisk space
for this. If you have several harddisks, big drives or
special requirements on safety and other things, you
should consider to make own partitions for /home, /usr,
/usr/local, and other parts of the system. Details on this
is outside the scope of this document, but there is a
good discussion on this in the Linux Partition HOWTO.
</para> </listitem>
</itemizedlist>
It is a <emphasis>VERY</emphasis> good tip to find a piece
of paper and write down which partitions you have made, what
you want to use them to, and where you want to mount
them. You will need this information later. When you have
finished partitioning your disks.
</para>
</sect2>
<!-- Section2: Mount partitions -->
<sect2 id="Mount-partitions">
<title>Mount the partitions</title>
<para>
So, we have some nice partitions. Let's use them. We have to
make filesystems on them, and then mount them to our existing
installation filesystem to be able to copy any files to
them. Now, I HOPE you have written down what partitions to use
where. First mount the root partition:
<screen>
mkdir /mnt/install
mke2fs /dev/sdxy
mount /dev/sdxy /mnt/install
</screen>
Of course, x and y are disk and partition number, as you have
written down. I use sda5 for my root partition, so I use the commands
'mke2fs /dev/sda5' and 'mount /dev/sda5'.
</para>
<para>
<20> If you have more partitions, mount them in the same way. I have
a 1GB partition at sdb1 which I want to use for the /usr system. So I write this:
<screen>
mkdir /install/usr
mke2fs /dev/sdb1
mount /dev/sdb1 /install/usr
</screen>
You may have other partitions and also other mount points, like
/usr, /tmp, /home, /var and other stuff. But I guess you've got
the point now.
</para>
</sect2>
<!-- Sect2: Select and install packages -->
<sect2 id="select-packages">
<title>Select and install packages</title>
<indexterm>
<primary>packages</primary>
</indexterm>
<para>
You have now cleared the first stage, and get 250 bonus
points. Congratulations. If the installation program had
worked, you had got no points at all, so be happy. The next
stage is to install packages. Here we can finally use some
semi-automatic programs. In the xterm window, type this:
<screen>
xupgrade --install --debug --path_to_root /mnt/install
</screen>
A new window will pop up. Select packages after your own
will. What packages should I select, you say. Oh, please! I
have no idea how you're going to use the machine :-). Press
Install. Aaah. There it goes! After some minutes (not to say
hours, it feels like that, doesn't it?) the install will be
complete.
</para>
</sect2>
<!-- Sect2: Make a root password and exit -->
<sect2 id="rootpwd">
<title>Make a root password and exit</title>
<indexterm>
<primary>password</primary>
</indexterm>
<para>
Before we finalize the installation, it's a cool thing to have
a root password. Enter your new installation, and make a
funny, not-easy-to-guess password like this:
<screen>
chroot /mnt/install
passwd
(You will be prompted for the new password twice)
</screen>
You are still inside the freshly installed system (the chroot
command does that magic). Now, let's fix some other stuff
while we're at it. The mouse and the keyboard are not
right. Same goes for the timezone. If you are an experienced
user you may want to add even more configuration at this
point.
<screen>
rm -f /dev/mouse
ln -s /dev/psaux /dev/mouse
kbdconfig
timeconfig
</screen>
</para>
<para>
Next, you may find that the /dev/cdrom link is not working properly,
it points to itself. It should point to /dev/scd0, so let's fix
this. Issue these commands:
<screen>
rm -f /dev/cdrom
ln -s /dev/scd0 /dev/cdrom
</screen>
You should now be able to mount the cdrom using /dev/cdrom.
Thanks to Thomas M. Nymand for this tip.
</para>
<para>
Now, you should be all ready. Issue the command
<screen>
exit
</screen>
to exit the installed system and return to the intallation system.
</para>
<para>
Finally, shutdown the system, remove the CD and floppy disk,
and take a break.
<screen>
reboot
</screen>
</para>
</sect2>
</sect1>
<!-- Sect1: Install the system: END -->
<!-- Sect1: Boot the machine -->
<sect1 id="boot-machine">
<title>Boot the machine</title>
<para>
In this chapter we will boot our fresh installed system for the
first time, and make some small custom changes to make it work
as it should
</para>
<indexterm> <primary>boot prompt</primary> </indexterm>
<para>
You are done! If everything worked, you should now be able to
reboot you're system, and start LinuxPPC-2000 Q4 for the first
time. Reinsert the boot floppy disk in the floppy drive, and
switch the machine on again. If it won't boot, try to hit F5 at
the splash screen while the system check icons pop up in the
bottom of the screen. At the boot prompt, ("Linux/PPC load:")
you must add a boot parameter to make the system find your root
partition. (That's usually the main system partition.) Press
backspace to remove what's already there, and add something
like this:
<screen>
root=/dev/sda5
</screen>
I use sda5 as sda5 is where I have installed my root partition,
that is, the partition mounted at "/". You might
have something different, and you should have written it down
when you partitioned you harddisk(s). You did, didn't you?
</para>
<para>
The system should boot up, and after a minute or so, greet
you with a login prompt. Congratulations, you have installed
LinuxPPC-2000 Q4 on your computer! From here, you have to know how
to use linux. This is absolutely outside the scope of this
document, but if you are a complete newbie, you could for
example check out
<ulink url="http://www.linuxdoc.org/LDP/lame/LAME/linux-admin-made-easy/book1.html">
Linux Administration Made Easy</ulink> by Steve Frampton, and start
at <ulink url="http://www.linuxdoc.org/LDP/lame/LAME/linux-admin-made-easy/c691.html">
chapter 6</ulink>, since you've already got your system up.
</para>
<para>
If you are not an US citizen, you should look over the X
configuration file to get your local keyboard. Use a text
editor like vi or pico, just like we did to get the
installation system to work. Try
<screen>
vi /etc/X11/XF86Config
</screen>
and scroll down to the Keyboard section. Check that you have
settings that suits you. Edit as you wish. You may also want to
remove LinuxPPC's annoying attempt to autoconfigurate X for you
when the machine boots into runlevel 5.
<screen>
rm -f /etc/rc.d/rc5.d/*Xautoconfig
</screen>
</para>
<para>
The next time you power-cycle the box, you must again boot from
the floppy. The bootloader arguments at the boot prompt
("Linux/PPC Load:") should be still be something like this:
<screen>
root=/dev/sda5
</screen>
Where of course, you may have something different from sda5,
according to where your root partition is.
</para>
<para>
This is the time to install the rest of the system, with all the
packages that are on the software CD. Login as root, open a
terminal window, insert the CD, mount it, and start the package upgrade program:
<screen>
mount -t HFS -o ro /dev/scd0 /mnt/cdrom
xupgrade
</screen>
</para>
</sect1>
<!-- Sect1: Boot the machine: END -->
<!-- Sect1: Set up networking -->
<sect1 id="network">
<title>Set up networking</title>
<indexterm>
<primary>network</primary>
</indexterm>
<para>
In this chapter we will set up TCP/IP networking on the
integrated ethernet adapter
</para>
<!-- Sect2: Support for the integrated ethernet adapter -->
<sect2 id="integrated">
<title>Support for the integrated ethernet adapter</title>
<indexterm>
<primary>ethernet</primary>
</indexterm>
<para>
The 7248-133 is equipped with an internal AMD PCnet 32 PCI
ethernet adapter. There is support for this adapter in the
Linux kernel source, and if you installed from my bootimage,
you should have support for it in your kernel
already. Otherwise, you can compile a new kernel. The
bootimage described in <xref LinkEnd="floppies">
has support for the adapter too.
</para>
</sect2>
<!-- Sect2: Configuration files -->
<sect2 id="network-config">
<title>Configuration files</title>
<para>
The configuration files to set up TCP/IP-networking over
ethernet on this box is the same manual configuration as on
any other RedHat-like Linux box elsewhere, but here, we do it
manually, without any tools other than your favourite text
editor. This only covers basic installation, and NO EXTRA
SECURITY AT ALL. There are plenty of other, and much better
sources about this topic than I can put up here. The files to
edit are found in the /etc directory and its
subdirectories. To edit the files, you should be logged in as
root.
</para>
</sect2>
<!-- Sect2: Set IP address and netmask -->
<sect2 id="ipaddress">
<title>Set IP address and netmask</title>
<indexterm>
<primary>ip address</primary>
</indexterm>
<para>
To set the IP address and netmask, make a file
<screen>
/etc/sysconfig/network-scripts/ifcfg-eth0
</screen>
That looks like this:
<screen>
DEVICE="eth0"
ONBOOT="yes"
IPADDR="111.122.133.144"
NETMASK="255.255.255.0"
</screen>
Of course, replace the numbers in the IPADDR and NETMASK fields
with the ones you should use. If you don't know, ask your system
administrator.
</para>
</sect2>
<!-- Sect2: Set hostname and gateway -->
<sect2 id="hostname-gateway">
<title>Set hostname and gateway</title>
<indexterm>
<primary>hostname</primary> <secondary>gateway</secondary>
</indexterm>
<para>
To set the hostname and gateway, edit the file
<screen>
/etc/sysconfig/network
</screen>
so it looks like this:
<screen>
NETWORKING=yes
FORWARD_IPV4="yes"
HOSTNAME=myhost.mydomain
GATEWAY="122.133.144.155"
</screen>
Of course, replace the values in the HOSTNAME and GATEWAY fields
with the ones you should use. If you don't know, ask your system
administrator.
</para>
</sect2>
<!-- Sect2: Nameserver specification -->
<sect2 id="nameserver">
<title>Nameserver specification</title>
<indexterm>
<primary>nameserver</primary>
</indexterm>
<para>
To specify a nameserver, edit the file
<screen>
/etc/resolv.conf
</screen>
so it looks like this:
<screen>
search mydomain
nameserver 133.144.155.166
</screen>
Of course, replace the values in the search and nameserver fields
with the ones you should use. If you don't know, ask your system
administrator.
</para>
</sect2>
<!-- Sect2: The hosts file -->
<sect2 id="hosts-file">
<title>The hosts file</title>
<indexterm>
<primary>hosts file</primary>
</indexterm>
<para>
Finally, edit the the file
<screen>
/etc/hosts
</screen>
so it looks like this:
<screen>
127.0.0.1 localhost localhost.localdomain
111.122.133.144 myhost.mydomain myhost loghost
</screen>
The last line should suit the values you added previously as
the system's <emphasis>IP-address</emphasis> and
<emphasis>hostname</emphasis>.
</para>
</sect2>
<!-- Sect2: Restart the network -->
<sect2 id="restart-network">
<title>Restart the network</title>
<para>
This should be everything you need to get started. Now restart
networking with the command
<screen>
/etc/rc.d/init.d/network restart
</screen>
</para>
<para>
And you should be all up. Note that there is a bug somewhere that
makes the netcard freeze the whole system when shutting down eth0.
According to Martin Espenschied, this is a known issue, and can be
fixed. When I know how, I'll put the information here. Till then,
remember to <emphasis>sync</emphasis> your system before shutting
down, and you should not miss any information. Remember my disclaimer in
<xref LinkEnd="disclaimer"> though.
</para>
<para>
An ugly hack to resolve this might just be to
<emphasis>NOT</emphasis> to shut down eth0 at shutdown/reboot. This can
be done by editing the file /etc/rc.d/init.d/network, and in the
stop) case, just comment away the ifdown command, and add a phoney
command, like this:
<screen>
action "Shutting down interface $i" echo does_nothing # ./ifdown $i boot
</screen>
Note that this is a <emphasis>rather ugly</emphasis> hack, that won't
actually solve the problem, it just hides it. The network won't
go properly down until you reboot the machine. This is actually
the "stupid Windows" way. I really hope that somebody have a
better fix on this later. Thanks to Doc Shipley for this tip.
</para>
</sect2>
</sect1>
<!-- Sect1: Set up networking: END -->
<!-- Sect1: Update the kernel and tune the X Window system -->
<sect1 id="kernel">
<title>Update the kernel and tune the X Window system</title>
<indexterm>
<primary>kernel</primary>
</indexterm>
<para>
In this chapter we will download the Linux kernel sources, add
a few patches, and compile and install our own custom kernel
on the harddisk. When we have successfully accomplished this
exciting event, we don't have to boot from the installation
boot floppy anymore.
</para>
<!-- Sect2: Why update the kernel -->
<sect2 id="Why-update-the-kernel">
<title>Why update the kernel</title>
<para>
The kernel we have used this far is a 2.2.18 kernel that I
have provided. This is a quite stable and good kernel, but
it's not sure that it's what you want. You should make your
own kernel so you know what patches you need and what modules
you can install when you really need them. Here are links to
all sources and patches, and a step by step guide to compile
your new kernel.
</para>
<para>
As for the installation we just have done, X does work, but
only when you boot from the boot floppy. Would it not have been
nice to be able to boot directly off the hard disk - and by
the way, what about sound support? Let's set up this together
as quickly as possible.
</para>
<para>
Before starting downloading files and compiling the kernel, check
that you have these packages installed:
<itemizedlist>
<listitem> <para>make </para> </listitem>
<listitem> <para>gcc </para> </listitem>
<listitem> <para>cpp </para> </listitem>
<listitem> <para>glibc </para> </listitem>
<listitem> <para>glibc-devel </para> </listitem>
<listitem> <para>ncurses-devel </para> </listitem>
<listitem> <para>kernel-headers </para> </listitem>
<listitem> <para>This list should probably be longer </para> </listitem>
</itemizedlist>
</para>
</sect2>
<!-- Sect2: What files to download -->
<sect2 id="What-files-to-download">
<title>What files to download</title>
<indexterm>
<primary>kernel version</primary> <secondary>kernel patches</secondary>
</indexterm>
<para>
We'll use the 2.2.18 kernel sources. The 2.2.19 kernel is
availble, but it has some problems with compiling on ppc, so
we'll stay with 2.2.18. To add better support for our Carolina
motherboard, well add two patches from David Monro's Carolina
page. This may sound complicated, but believe me, it's
not. Follow the steps below here, and we'll get you up in an
hour or so.
</para>
<para>
We're going to use the standard place for linux kernels,
that is /usr/src/ There might be a linux directory there
already, so let's rename it:
<screen>
mv /usr/src/linux /usr/src/linux.old
</screen>
When downloading the kernel source and patches, place all files
in /usr/src.
</para>
<para>
Begin with the
<ulink url="ftp://ftp.kernel.org/pub/linux/kernel/v2.2/linux-2.2.18.tar.gz">
linux-2.2.18.tar.gz</ulink> source from the
<ulink url="ftp://ftp.kernel.org/pub/linux/kernel/v2.2/">
/pub/linux/kernel/v2.2 directory</ulink> at <ulink url="ftp://ftp.kernel.org">
ftp.kernel.org</ulink> or a <ulink url="http://ftp.kernel.org/mirrors">
local mirror</ulink> (recommended for faster download).
</para>
<para>
Then, get the
<ulink url="http://www.amberdata.demon.co.uk/carolina/carolina.diff.gz">
Carolina patch</ulink> and the
<ulink url="http://www.amberdata.demon.co.uk/carolina/ibm_e15fb.diff.gz">
IBM E15 frame buffer patch</ulink> from David Monro's Carolina page at
<ulink url="http://www.amberdata.demon.co.uk/carolina">
http://www.amberdata.demon.co.uk/carolina</ulink>
</para>
</sect2>
<!-- Sect2: Unpacking and patching the source -->
<sect2 id="Unpacking-and-patching-the-source">
<title>Unpacking and patching the source</title>
<para>
The next step is to unpack and patch the source files you just
downloaded. cd to the directory where you downloaded the files,
and unpack the kernel source by issuing this command:
<screen>
tar xzvf linux-2.2.18.tar.gz
</screen>
</para>
<para>
(On some mirrors there are only bz2 files availble. If this is
the issue, use xvIf instead of xvzf.)
</para>
<para>
This will make a directory called "linux" with all the kernel
source. Now we shall add the patches. If the patches have the
extentions "gz", unpack them with gunzip like this:
<screen>
gunzip carolina.diff.gz
gunzip ibm_e15fb.diff.gz
</screen>
Now add the carolina patch by issuing the commands:
<screen>
mv linux new
patch -p0 &lt;carolina.diff
</screen>
Last, add the IBM E15 patch by issuing the command:
<screen>
patch -p0 &lt;ibm_e15fb.diff
</screen>
For a clean compile later, rename the kernel tree to its original
name by issuing this command:
<screen>
mv new linux
</screen>
If you get through these steps succesfully, the kernel source is
now ready for configuring.
</para>
</sect2>
<!-- Sect2: Configuring the kernel -->
<sect2 id="Configuring-the-kernel">
<title>Configuring the kernel</title>
<para>
The details of configuring the kernel are way outside the scope of
this document. To get more help, try
<ulink url="http://www.linuxdoc.org/HOWTO/Kernel-HOWTO.html">The Kernel
HOWTO</ulink>. Here, we'll just cover the basics to get a working
kernel. Download <ulink url="ingvar.config">
my kernel config file</ulink> into the linux directory in the
kernel tree top directory.
</para>
<para>
In the directory containing the linux kernel tree, start the
configuration program by issuing these commands:
<screen>
cd linux
make menuconfig
</screen>
Select the almost last option <emphasis>Load an Alternate Configuration
File</emphasis>. Press backspace to remove the text in the box, type
<emphasis>ingvar.config</emphasis> instead, and press enter. This
config file has support for most you'll need on this box,
including sound and the frame buffer device to run X. This
should be enough to get the kernel to compile, but while
you're in there, check over the different menus to get to know
your possibilities. Don't be afraid to change anything. You
can always load the configuration file again. A thing you
really should check, and possibly change, is the
<emphasis>Initial kernel command string</emphasis>, located in
the <emphasis>General setup</emphasis> submenu. Change the
value of the root device to the device where your root (/)
filesystem is mounted. If unsure, press
<emphasis>ALT+F2</emphasis>, log in and try the command
<emphasis>mount</emphasis>. Press <emphasis>ALT+F1</emphasis>
to get back again (supposed that you are on virtual terminal
1). Also check your own preferences on filesystems and other
stuff you might have special need for or interest in. If you
for some reason don't want (or need) to run X, eg. because the
console becomes much slower, remove support for the IBM E15
frame buffer in the Console drivers submenu.
</para>
<para>
In the main menu, save your new configuration for later use,
if you like, and select exit. Answer <emphasis>Yes</emphasis>
to the question about saving the changes. You are now ready to
compile the kernel.
</para>
</sect2>
<!-- Sect2: Compiling and installing the kernel -->
<sect2 id="Compiling-and-installing-the-kernel">
<title>Compiling and installing the kernel</title>
<para>
To compile the kernel is quite straightforward. If you're not in
there already, enter the linux directory in the top level of the
kernel tree, and issue this command series:
<screen>
make dep &amp;&amp; make clean &amp;&amp; make zImage &amp;&amp; make modules &amp;&amp; make modules_install
</screen>
Now, go and make yourself a cup of tea or coffee or have a
beer or a bible study for some minutes. This can take some
time. If everything is alright, you'll finally have a kernel
to install when the text stops scrolling after maybe as much
as 20 minutes, depending on your kernel configuration.
</para>
<para>
Now it's time to install your fresh-baked kernel. On RedHat-like
systems like LinuxPPC, we keep kernels and their setupfiles in
the /boot directory.
<screen>
cp /usr/src/linux/arch/ppc/boot/zImage /boot/vmlinuz-2.2.18
cp /usr/src/linux/System.map /boot/System.map-2.2.18
</screen>
Assuming that sda1 is your boot device, install the new kernel by
issuing this command:
<screen>
dd if=/boot/zimage-2.2.18 of=/dev/sda1
</screen>
We also want the System map link to point to our new System.map.
Issue these commands:
<screen>
mv /boot/System.map /boot/System.map.old
ln -s /boot/System.map-2.2.18 /boot/System.map
</screen>
There! You are ready to reboot. Light some candles, remove the boot
disk, and issue the command:
<screen>
reboot
</screen>
If everything works out, the system will go down nicely, and (assuming
you compiled in support for the E15 frame buffer) come up again
with Tux, the Linux Penguin Mascot smiling to you while booting.
</para>
</sect2>
<!-- Sect2: Set up X -->
<sect2 id="Set-up-X">
<title>Set up X</title>
<para>In this chapter we will set up X, if it does not work properly already.</para>
<para>
To set up X, check that you have installed the following packages:
<itemizedlist>
<listitem> <para>XFree86</para> </listitem>
<listitem> <para>XFree86-FBDev</para> </listitem>
<listitem> <para>XFree86-100dpi-fonts and/or XFree86-75dpi-fonts</para> </listitem>
<listitem> <para>Xconfigurator</para> </listitem>
<listitem> <para>Maybe more packages here...</para> </listitem>
</itemizedlist>
Then as root, just run the command:
<screen>
Xconfigurator
</screen>
And it will set up X for you. The usage of Xconfigurator is beyond
the scope of this document, but it's quite easy. If you need help,
try the Xconfigurator section in the <ulink url="http://europe.redhat.com/documentation/rhl6.0/english/install-guide/manual-html/doc064.php3">
Red Hat Installation guide</ulink>.
</para>
</sect2>
</sect1>
<!-- Sect1: Update the kernel and set up the X Window system: END -->
<!-- Sect1: Set up sound -->
<sect1 id="Set-up-sound">
<title>Set up sound</title>
<indexterm> <primary>sound</primary> </indexterm>
<para>In this chapter we will fix some sparkling sound from the built-in sound adapter.</para>
<!-- Sect2: Support for the integrated sound adapter -->
<sect2 id="Support-for-the-integrated-sound-adapter">
<title>Support for the integrated sound adapter</title>
<para>
The 7248 is equipped with an internal Crystal Audio cs4232 sound
adapter. There is support for this adapter in the Linux kernel
source, but this is not compiled into the standard installed
kernel. So, we have to compile a new kernel. If you are a total
beginner on compiling kernels, you should read the excellent
<ulink url="http://www.linuxdoc.org/HOWTO/Kernel-HOWTO.html">
kernel howto</ulink> on how to get started.
Download the kernel source from ftp.kernel.org or a mirror. I
tested this with kernel 2.2.10 and 2.2.16.
</para
</sect2>
<!-- Sect2: Configure and compile the kernel -->
<sect2 id="Configure-and-compile-the-kernel">
<title>Configure and compile the kernel</title>
<para>
You should configure the kernel as you wish. If you did follow
the steps in the last chapter, you have allready done this, and can
skip to the next section. If not, follow the steps as described in
the last chapter .
</para>
<para>
When configuring the kernel, check that the settings for sound
are correct. They should look like this:
<itemizedlist>
<listitem> <para>Sound: <emphasis>Y</emphasis> </para> </listitem>
<listitem> <para>OSS sound modules: <emphasis>Y</emphasis> </para> </listitem>
<listitem> <para>Generic OPL2/OPL3 FM synthesizer support:
<emphasis>M</emphasis></para> </listitem>
<listitem> <para>Support for Crystal CS4232 based (PnP) cards:
<emphasis>M</emphasis></para> </listitem>
</itemizedlist>
And check <emphasis>N</emphasis> for everything else in the sound
section.
</para>
</sect2>
<!-- Sect2: Configuring the modules -->
<sect2 id="Configuring-the-modules">
<title>Configuring the modules</title>
<para>
Before rebooting we must send some parameters to configure the
modules at boot time. This is done in /etc/conf.modules . Edit
this file, and add the following lines:
<screen>
alias sound cs4232
pre-install sound /sbin/insmod sound dmabuf=1
alias midi opl3
options opl3 io=0x388
options cs4232 io=0x534 irq=5 dma=1 dma2=0 mpuio=0x330 mpuirq=5
</screen>
</para>
</sect2>
<!-- Sect2: Reboot and pray -->
<sect2 id="Reboot-and-pray">
<title>Reboot and pray</title>
<para>
Now, just reboot and pray. If nothing works, you have done
something unwise when configuring the kernel. Boot from a floppy
and try again. If everything works, you should for example be able
to play an mp3 file using the mpg123 player from the console.
(And yes, <emphasis>of course</emphasis> you might have to
install the mpg123 package first.)
</para>
<para>
Note: I have not been able to get midi (the opl3 module)
working. If anybody has any tips on this, please let me know.
</para>
</sect2>
</sect1>
<!-- Sect1: Set up sound: END -->
<!-- Sect1: Linux version 2.4 -->
<sect1 id="linux-2.4">
<title>Linux-2.4</title>
<indexterm> <primary>linux-2.4</primary> </indexterm>
<para>
In this chapter we will see how to install the latest and
greatest (and most unstable) kernel. Linux version 2.4 has been
around for some months, and there is active development also on
the PowerPC branch. To get a working kernel, we'll have to use a
development tree with a lot of patches that hasn't got into
Linus' official source yet. To state this explicitly: You may
NOT use the official Linux 2.4 source tree, at least not without
third party patches.
</para>
<!-- Sect2: Get 2.4 source -->
<sect2 id="get-2.4-source">
<title>Get the 2.4 source</title>
<para>
First we must get the working 2.4 source. To get this, we'll
use the rsync tool, so check that you have it installed. Some
nice people have set up an rsync server of the BitKeeper
Linux/PPC development tree at source.mvista.com. Thanks so
very much to them, remember them in your heart and
prayers. Warning: Don't do this over a low-end link, like a
modem. It'll take forever. So, let's rock and roll. Issue
these commands:
<screen>
cd /usr/src
mv linux linux.old
mkdir linux-2.4
ln -s linux-2.4 linux
cd linux
rsync -avz --delete source.mvista.com::linuxppc_2_4_devel .
chown -R root.root .
</screen>
Note that you'll probably have to wait for some minutes to
rsync over all the sources. This is normal.
</para>
</sect2>
<!-- Sect2: Compile the 2.4 kernel -->
<sect2 id="compile-the-2.4-kernel">
<title>Compile the 2.4 kernel</title>
<para>
All right, so we have the source. Now, let's do some
configuring, and then compile a brand new kernel.
<screen>
make ibmchrp_config
make menuconfig
</screen>
Note that we don't need to apply any pathces as most of the
patches mentioned earlier are merged into this tree. Now
configure the kernel as you like. Most of the stuff mentioned
earlier should work. The very exception is the frame buffer
for the graphics card, so don't expect a graphical workstation
with 2.4, at least not yet, unlesss, though, someone gets a
vanilla graphics card working with the usual XFree86
drivers. I haven't tested this yet.
</para>
<para>
All done? Good. Now issue the usual command series to build
the kernel:
<screen>
make dep &amp;&amp; make clean &amp;&amp; make zImage &amp;&amp; make modules &amp;&amp; make modules_install
</screen>
</para>
</sect2>
<!-- Sect2: Install the 2.4 kernel -->
<sect2 id="install-the-2.4-kernel">
<title>Install the 2.4 kernel</title>
<para>
To install the 2.4 kernel, we use the same method as with the
2.2 kernel. Note that the zImage has changed name and
location in the source tree.
<screen>
cp arch/ppc/boot/images/zImage.prep /boot/vmlinuz-2.4.9
cp System.map /boot/System.map-2.4.9
dd if=/boot/vmlinuz-2.4.9 of=/dev/sda1
</screen>
Note that these commands are for a 2.4.9 kernel. If your
kernel source is newer, it's good behaviour to use it's
correct version and patchlevel in the name of the kernel
image. You can find the correct kernel version and patchlevel
with the command
<screen>
head Makefile
</screen>
Now again: Reboot and pray. If all goes well, you'll be up
running in a few seconds. If it doesn't work, just reboot with
the floppy disk as described earlier.
</para>
</sect2>
</sect1>
<!-- Sect1: Resources -->
<sect1 id="resources">
<title>Resources</title>
<indexterm> <primary>resources</primary> </indexterm>
<para>
In this chapter there is a list of resources which include
enough reading to make us experts in the field in
record-time.
</para>
<!-- Sect2: Other resources on Linux/PPC and 43P boxes -->
<sect2 id="Other-resources-on-Linux-PPC-and-43P-boxes">
<title>Other resources on Linux/PPC and 43P boxes</title>
<para>
<itemizedlist>
<listitem> <para>
<ulink url="http://penguinppc.org">penguinppc.org</ulink>
our home for Linux on the PowerPC.
</para> </listitem>
<listitem> <para>
<ulink url="http://linuxppc.org/dev/prep/">Linux/PPC PReP page</ulink>
</para> </listitem>
<listitem> <para>
<ulink url="http://linuxppc.org/dev/chrp/">Linux/PPC CHRP page</ulink>
</para> </listitem>
<listitem> <para>
<ulink url="http://www.amberdata.demon.co.uk/carolina/">Kernel patches,
utilities and hints</ulink> for IBM PPC workstations with Carolina
motherboard (like the 7248) by David Monro. (Including frame
buffer support to actually get X up and working!)
</para> </listitem>
<listitem> <para>
<ulink url="http://sourceforge.net/projects/ppclinux">PowerPC Linux</ulink>
project pages at <ulink url="http://www.sourceforge.net">sourceforge.net</ulink>
</para> </listitem>
<listitem> <para>
<ulink url="http://oss.software.ibm.com/developerworks/opensource/linux/projects/ppc/">
IBM's Linux on PPC project pages</ulink>
</para> </listitem>
<listitem> <para>
<ulink url="http://penguinppc.org/~hollis/linux/carolina/">
Hollis Blanchard's page</ulink> for installing Linux on the
PowerSeries 850. Add this to David's and my pages, and you
should be able to get LinuxPPC-2000 Q4 up on the 850 too :-)
</para> </listitem>
<listitem> <para>
<ulink url="http://ftp.linuxppc.org/linuxppc-1999/install/PREP-CHRP-BeBox/README">
The Linuxppc-1999 installation instructions for PReP</ulink>
Simple instructions from the ftp site
</para> </listitem>
<listitem> <para>
<ulink url="http://ppc.linux.or.jp/~aoshimak/index.html">
More info about Linux on PReP machines</ulink>
by Kazunori Aoshima
</para> </listitem>
<listitem> <para>
<ulink url="http://users.linpro.no/ingvar/43p/appendices/arne_notes.html">
A newbie's encounter with
LinuxPPC</ulink> is a document which describes a newbie user's
results and experiences on installing linuxppc using own
experience and this document. Thanks to Arne C. J&oslash;rgensen
for this document.
</para> </listitem>
<listitem> <para>
<ulink url="http://users.linpro.no/ingvar/43p/appendices/easyPPC.html">A very
short view</ulink> on how to set up LinuxPPC on the 7248 the quick and
easy way. Also by Arne C. J&oslash;rgensen.
</para> </listitem>
<listitem> <para>
<ulink url="http://lists.linuxppc.org">The linuxppc mailing
lists.</ulink> Especially interesting is of course the workstation list.
</para> </listitem>
<listitem> <para>
<ulink url="http://www.fsmlabs.com/linuxppcbk.html">Some kernel
developpment stuff</ulink>
</para> </listitem>
<listitem> <para>
<ulink url="http://www2.ibmlink.ibm.com/cgi-bin/master?xh=OE4LvmcyB*zbt11USenGnF9332&amp;request=salesmanual&amp;parms=H%5f7248%2d132&amp;xhi=salesmanual%5e&amp;xfr=F">
IBM Sales Manual for the 7248-133</ulink> (Detailed description)
</para> </listitem>
<listitem> <para>
<ulink url="http://beta.austin.ibm.com/support/micro/7248100.html">
Description on 7248 microcode</ulink> from IBM
</para> </listitem>
<listitem> <para>
<ulink url="http://www-4.ibm.com/software/year2000/support62.html">
Year 2000 info</ulink> from IBM
</para> </listitem>
<listitem> <para>
<ulink url="http://www.rs6000.ibm.com/resource/aix_resource/Pubs/Doc_Overview/hwbooksb.html#7248usr">
Order documentation</ulink> for the 7248 from IBM
</para> </listitem>
<listitem> <para>
<ulink url="http://www.rs6000.ibm.com/resource/hardware_docs/">
Online books for 43P</ulink> from IBM, not the 7248, unfortunately.
</para> </listitem>
<listitem> <para>
<ulink url="ftp://ftp.austin.ibm.com/pub/technology/spec/">PReP specification</ulink> from IBM
</para> </listitem>
<listitem> <para>
<ulink url="http://penguinppc.org/embedded/cross-compiling">
Cross Development for Linux/PPC from i386</ulink> by Matt Porter
</para> </listitem>
</itemizedlist>
</para>
</sect2>
<!-- Sect2: Installing other flavours of Linux on the 7248 -->
<sect2 id="Other-flavours">
<title>Installing other flavours of Linux on the 7248</title>
<para>
<itemizedlist>
<listitem> <para>
<ulink url="http://www.debian.org/~porter/install-prep.en.html">
Installation instructions for Debian GNU/Linux on PReP
machines.</ulink> (Note: The bootdisk included in the Debian distro
does not work on the 7248-133 because of a SCSI driver
bug. You might use the bootdisk described in <xref LinkEnd="floppies">
instead. It works.)
</para> </listitem>
<listitem> <para>
<ulink url="http://www.yellowdoglinux.com/support/faq_rs6k.shtml">
Installation instructions for Yellow Dog Linux on RS/6000</ulink>:
Yellow Dog Linux claims to support some, but not all,
43Ps. The 7248-133 is not on the list, but some ideas from
this document, including the bootdisk mentioned in <xref
LinkEnd="floppies"> does actually work.
</para> </listitem>
<listitem> <para>
<ulink url="http://www.suse.com/products/susesoft/PPC/index.html">
SuSE's ppc pages</ulink>. SuSE does include support for PowerPC
in their newest version.
</para> </listitem>
<listitem> <para>
<ulink url="http://www.netbsd.org">NetBSD</ulink> is working on a
port to PReP PowerPCs. (Yes, I know. NetBSD is not a Linux
flavour, but I thought I might mention it here anyway.) There is a
<ulink url="http://www.asahi-net.or.jp/~aw9k-nnk/n/prep.html">a
special page</ulink> for our PReP architecture where the 7248 is
mentioned explicit.
</para> </listitem>
</itemizedlist>
</para>
</sect2>
</sect1>
<!-- Sect1: Resources: END -->
<!-- Sect1: Todo -->
<sect1 id="Todo">
<title>Todo</title>
<indexterm> <primary>todo</primary> </indexterm>
<para>
There are some things that might be added to this document. If you have
comments, things to add or want to help, please send an e-mail to
<email>ingvar@linpro.no</email>
</para>
<para>
<itemizedlist>
<listitem> <para>
Get rid of that annoying freeze at eth0 shutdown. This
should be a part of the networking chapter. If you know
something about this, please let me know.
</para> </listitem>
<listitem> <para>
Dual Boot with AIX. We need some kind of a bootloader. Does
such a thing exist? We know quik does not work on the PReP boxes.
</para> </listitem>
<listitem> <para>
Get midi to work. Is this possible?
</para> </listitem>
</itemizedlist>
</para>
</sect1>
<!-- Sect1: Todo: END -->
<!-- Sect1: FAQ -->
<sect1 id="faq">
<title>Frequently Asked Questions</title>
<indexterm>
<primary>Frequently Asked Questions</primary>
<secondary>FAQ</secondary>
</indexterm>
<para>
In this final chapter I've included som frequently asked
questions. This list should probably be much longer. Please let
me know if you have something to add.
</para>
<!-- Sect2: XF68 or XF86 -->
<sect2 id="XF68-or-XF86">
<title>XF68 or XF86</title>
<para>What is right, XF68 or XF86?</para>
<para>
I have got a lot of questions conserning the name of the
X-server in the installation program. I have called it
"XF68_FBDev". On some CDs the server has got another name,
"XF86_FBDev". The reason for this naming convention and
confusion is purely historical. The Linux Frame Buffer Device
was first developped on m68k Macintoshes, and the XFree86
server for the device was hence called XF68_FBDev. Later on
the Frame Buffer Device was ported to other platforms like the
x86 clones and PowerPC. What is the right name? The question
is left as an exersice for the reader.
</para>
</sect2>
<sect2 id="snow">
<title>There is "snow" on my X desktop</title>
<para>How can I configure X so it removes the "snow" on my desktop?</para>
<para>
The easy answer is: You can't. The kernel frame buffer device
made by David Monro is still in an early stage, though working
very well. Distortions in the picture when moving the mouse
or scrolling a window are perfectly normal at eg
1024x768@60Hz. If you are a hacker, please fix it and post a
patch to David. We would all love it very much.
</para>
</sect2>
<sect2 id="supported-hardware">
<title>I can't get my hardware to work</title>
<para>How can I get my new ultra whizbang XYZ card to work?</para>
<para>
The 7248 is a PC-like box with ISA and PCI interfaces, so one
should think that using "normal" PC hardware made for the x86
platform should work flawlessly. Sadly to say, it doesn't. The
drivers often have to be ported, and there are not that many
Carolina motherboard kernel hackers out there. In addition,
much hardware made for the x86 platforms uses BIOS calls to
work properly. As the 7248 and its relatives does not have
such a BIOS, it's extremely difficult to get this hardware to
run under Linux. Note: Linux-2.4 has fixed many of these
problems. See below.
</para>
<para>
That said, there are working hardware for this box that runs
with Linux. For questions about this, please contact the
Workstation list, see <xref LinkEnd="resources">.
</para>
<para>
Update: With the latest versions of the Linux 2.4 bk
development tree (NOT the official Linux 2.4 sources), many of
the problems stated above are fixed, and much more hardware is
supported. For example did I put a standard eepro100 card in
my box, and it worked flawlessly. This means you can use the
7248 for example as a packet-filtering firewall. I've also
heard rumours on plain standard ISA Soundblaster cards
working. Try and see if your card works. If it's interesting,
send me an email, and I'll put a note here. See <xref
LinkEnd="linux-2.4"> for notes on building and installing a
2.4 kernel.
<para>
</sect2>
<sect2 id="more-distros">
<title>Me wants another distro!</title>
<para>Why do you not support more distributions in your howto?</para>
<para>
There is one easy answer for this: I have not got the time to
do this. I got LinuxPPC-1999 to work on my 7248 a year or so
ago, and have not changed away from LinuxPPC since then. I
plan to install Debian some time in the future, and have tried
both SuSE and Yellow Dog, and have found that much of the
steps are quite equal. The most troublesome part is to get the
machine to boot the installation program. From there, each
installer should do the job more or less itself. Getting X and
sound to work should be more or less similar for all
distributions, so just read the steps in this howto and try to
make it work on your own. Feedback for this document is very
welcome.
</para>
</sect2>
<sect2 id="floppies-and-distros">
<title>Boot floppies on other distributions</title>
<para>Can I use the floppies mentioned in this howto for other distributions</para>
<para>
The bootfloppy mentioned in this howto should have support for
all the hardware in the 7248, so you should be able to boot
any distribution which uses the same floppy based
installation scheme, that is, with the installation program on a
ramdisk on one or more floppy disks. This means you should be
able to boot LinuxPPC, SuSE, Yellow Dog and Debian with the
bootimage. You have to have each distributions own installer
ramdisk floppies, though.
</para>
</sect2>
<sect2 id="mount-prep-partition">
<title>The PReP boot partition?</title>
<indexterm> <primary>PReP boot partition</primary> </indexterm>
<para>Where should I mount the PReP boot partition?</para>
<para>
To be able to understand the answer for this question, it's
important that the reader understands how the 7248 boots into
Linux. This is a three step procedure. First, the Firmware
(which behaves in the same way as a PC BIOS) looks for
something to boot. Usually, it should check the floppy drive,
the CD drive, and then the first SCSI disk. On the SCSI disk
it will look for a special partition called a PReP boot
partition. On this partition, it will read the first program
it can find there. If this is a Linux kernel bootloader, it
will read and run this, and then the bootloader boots
Linux. From here, Linux is in charge.
</para>
<para>
Many have asked where they should mount the PReP boot
partition (the type 41 partition). This is a common
misunderstanding. The PReP boot partition, usually located on
/dev/sda1, should NOT be mounted anywhere. The files on this
partition, usually only a single Linux kernel with a static
linked kernel loader, are only used by the firmware when
booting. The operating system does not use these files after
the kernel has booted, so there is no need for mounting that
partition.
</para>
<para>
Some people mix the meaning of the /boot directory and the PReP
boot partition. Both use to contain kernels, but their use are
different. /boot is used for storing kernels for later use,
and for bookholding system info. The /boot directory is NOT
read by the Firmware at boot time, so changing the contents of
this directory does not change the way the Firmware loads
Linux.
</para>
<para>
To be able to load a new kernel, you have to replace the
existing kernel on the PReP partition. This is done with the
dd command, see <xref LinkEnd="kernel"> for details.
</para>
</sect2>
<sect2 id="ram">
<indexterm> <primary>RAM</primary> </indexterm>
<title>It won't boot at all. Could it be bad RAM?</title>
<para>
The machine won't boot at all. I suspect the RAM could be the
problem. What kind of RAM should I use for this box?
</para>
<para>
The 7248 and it's cousines with Carolina motherboard do use
special RAM, more specifically, they use only parity
RAM. David Monro states that is is possible to make them work
with other types of RAM if you remove the cache. Look at <xref
LinkEnd="resources"> for details.
</para>
</sect2>
</sect1>
<!-- Sect1: FAQ: END -->
<!-- Sect1: Using cdisk to partition your harddisk -->
<sect1 id="cfdisk">
<title>Appendix: Using cfdisk to partition your harddisk</title>
<indexterm>
<primary>partitioning</primary><secondary>cfdisk</secondary>
</indexterm>
<!-- Sect2: Harddisk names -->
<sect2 id="Harddisk-names">
<title>Hardisk names</title>
<para>
SCSI harddisks are named with sdx, where x is a hardisk
letter. The disk with the lowest SCSI ID on the first
controller will become sda, the next lower sdb, an so on.
</para>
<para>
If you have IDE harddisks, they are called hda, hdb, hdc, and
so on instead, where hda is the master disk on the first
controller, hdb is the slave disk on the first controller, hdc
is the master disk on the second controller, and so on.
</para>
</sect2>
<!-- Sect2: Harddisk partitions -->
<sect2 id="Harddisk-partitions">
<title>Harddisk partitions</title>
<para>
GNU/Linux systems usually use a partition scheme where a harddisk can
have up to four primary partitions. If you want more, you have
to make one of these an extended partition where you can make
several logical partitions. The partitions are named with the
disk they belong to, and a number. The first primary partition
on the first SCSI disk is therefore sda1, the second primary
partition is sda2, and so on. The first and second logical
partition on an extended partition on the first SCSI disk is
sda5 and sda6, and so on. If this makes absolutely no sense to
you at all, try to read <xref LinkEnd="More-on-partitioning">.
</para>
</sect2>
<!-- Sect2: Starting cfdisk -->
<sect2 id="Starting-cfdisk">
<title>Starting cfdisk</title>
<para>
you start cfdisk from the command line with the command
<screen>
cfdisk /dev/sdx
</screen>
where x is the SCSI hardisk letter, like a, b, c, d, etc. So if I
want to partition the first harddisk on the SCSI controller, I'll
enter the command
<screen>
cfdisk /dev/sda
</screen>
</para>
</sect2>
<!-- Sect2: Using cfdisk -->
<sect2 id="Using-cfdisk">
<title>Using cfdisk</title>
<sect3 id="The-user-interface">
<title>The user interface</title>
<para>
After you have started cfdisk you'll get an interface where
the current partition table is listed with the names and
some data about each partition, and some command buttons on
the bottom of the screen. To change between partitions, use
the up and down arrow keys. To change between commands, use
the left and right arrow keys.
</para>
</sect3>
<sect3 id="Deleting-a-partition">
<title>Deleting a partition</title>
<para>
To delete an existing partition, highlight it with the up and down
keys, select the <emphasis>Delete</emphasis> command with the left and right arrow
keys, and press Enter.
</para>
</sect3>
<sect3 id="Making-a-new-partition">
<title>Making a new partition</title>
<para>
To make a new partition, select the <emphasis>New</emphasis>
command with the left and right arrow keys, and press
enter. You'll get the choice between a primary and a logical
partition. If you want a logical partition, the program will
automatically make an extended partition for you. Then you
must choose the size of the partition (in MB). If you can't
enter a value in MB, return to the main screen with the Esc
key, and select MB with the <emphasis>Units</emphasis>
command.
</para>
</sect3>
<sect3 id="Set-the-type-of-a-partition">
<title>Set the type of a partition</title>
<para>
To set the type of a partition, for bootable PReP, Linux
swap or Linux ext2, highlight the actual partition, and
select the <emphasis>Type</emphasis> command. You'll get a
list over different types. Press space, and you'll get even
more. Find what type you need, and enter the number at the
prompt.
</para>
</sect3>
<sect3 id="Make-a-partition-bootable">
<title>Make a partition bootable</title>
<para>
To be able to boot from a primary partition, you need to
make it bootable. Highlight the actual partition and select
the <emphasis>Bootable</emphasis> command.
</para>
</sect3>
<sect3 id="Write-the-result-to-disk-and-quit">
<title>Write the result to disk and quit</title>
<para>
When you are content with the layout of the disk, select the
<emphasis>Write</emphasis> command. The partition table will
be written to disk. Remember that <emphasis>this will
destroy all data on partitions you have deleted</emphasis>
or changed. You should therefore be very sure that you want
to do this before actually press the Return key.
</para>
<para>
To exit the program, select the <emphasis>Quit</emphasis> command.
</para>
</sect3>
</sect2>
</sect1>
<!-- Sect2: Using cfdisk: END -->
<!-- Sect1: More on partitioning -->
<sect1 id="More-on-partitioning">
<title>Appendix: More on partitioning</title>
<para>
After several questions on what partitioning
really is, I'll just quote an answer I gave in
a mail once.
</para>
<para>
Okay, here goes:
</para>
<para>
In an operating system you need several different filesystems
for several different applications. For example, you need a
swap filesystem because your main memory can't hold all
information the operating system needs, so some of it has to be
temporary written to disk. You may also need some special
filesystem from which the machine reads the operating system
when you switch it on. Finally, you need of course one or more
filesystems to store the operating system program files and your
user files. It may be a good idea to put these in different
places (ie. on different filesystems) in case you have to
reinstall the operating system, but don't want to scratch all
your work.
</para>
<para>
The best thing is maybe to have all these filesystems on
different disks. But one has seldom more than one or two disks
in a computer. So what we do is to slice up the disk(s) in
several slices (partitions) and use the slices for several
filesystems. Then the operating system mounts the filesystems
together to one single file tree, so it is easy to access the
files.
</para>
<para>
(Other operating systems, like MS-DOS and NT use
some other technology: They do not bind the slices
together to one file tree, but keeps them separate
as "stations". What is the best scheme? You figure!)
</para>
<para>
Here a thought example with one 2GB disk on a 7248:
The mount point shows where in the file tree a
filesystem is mounted.
</para>
<para>
<screen>
Partition Size Type Mountpoint Bootable
----------------------------------------------------------------
/dev/sda1 10MB 41 (PReP Boot) (Not mounted) yes
/dev/sda2 150MB 82 (Linux Swap) (Not mounted) -
/dev/sda3 1840MB 83 (Linux ext2) / (Root partition) -
</screen>
This would give a bootprompt command like this:
<screen>
root=/dev/sda3
</screen>
</para>
<para>
If you want, you could add own partitions for important
directories like /home, /boot, /var, /usr/local and
so on. Here is an other example with two disks,
actually my own configuration with two disks:
<screen>
Partition Size Type Mountpoint Bootable
----------------------------------------------------------------
/dev/sda1 20MB 43 (PReP Boot) (Not mounted) yes
/dev/sda2 133MB 82 (Linux Swap) (Not mounted) -
/dev/sda5 930MB 83 (Linux ext2) / (Root partition) -
/dev/sdb1 315MB 83 (Linux ext2) /home -
/dev/sdb2 770MB 83 (Linux ext2) /usr/local -
</screen>
This would give a bootprompt command like this:
<screen>
root=/dev/sda5
</screen>
Before you ask:
<itemizedlist>
<listitem> <para>
ext2 is Linux' standard filesystem
</para> </listitem>
<listitem> <para>
Linux uses the old partition scheme from MSDOS. This means
that if there are more than 3 partitions on one disk, one uses
an extended partition (sda3) that may hold several logical
partitions (sda5, sda6, sda7, ...)
</para> </listitem>
<listitem> <para>
Yes, my partition scheme is a bad one. My root partition was
filled up in a couple of weeks or so. Don't use it. It is an
example only.
</para> </listitem>
</itemizedlist>
</para>
<para>
Hope this clears up some things.
</para>
</sect1>
<!-- Sect2: More on partitioning: END -->
<!-- &aindex; -->
&aindex;
</article>