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

3277 lines
111 KiB
Plaintext

<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook V3.1//EN" [
<!ENTITY aindex SYSTEM "index.sgml">
]>
<!-- Todo list for 2.0:
- Check Leigh's patches. Maybe fix split-ramdisk patches for 2.4 (yellowdog)
Fix in 2.1 (or later)
- Go from "you" to "we". Fix in 2.1 (or later)
- DONE General cleanup
- DONE Submit 2.0 to ldp
- Announce 2.0 on lists
- DONE Check post installation mdk
- DONE Drop 2.2 support? Check 2.4 installation on ydl.
(2.2 stays unless we get a working split-ramdisk on 2.4)
- DONE dist-upgrade from Dayton to Sirius
- DONE Produce a working X config
- SKIP Make David's patches apply to 2.2.x, x gt 18. (uneeded)
- SKIP Check 2.2 networking freeze bug. (drop dead)
- SKIP Nag list about non-working FB in 2.4 (uneeded)
-->
<article>
<!-- Header -->
<artheader>
<title>Installing GNU/Linux 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>2.0</revnumber>
<date>2003-06-02</date>
<authorinitials>ih</authorinitials>
<revremark>
2.0 is out.
</revremark>
</revision>
<revision>
<revnumber>1.64</revnumber>
<date>2003-06-01</date>
<authorinitials>ih</authorinitials>
<revremark>
YellowDog 3.0 (Sirius) is availble through dist-upgrade
</revremark>
</revision>
<revision>
<revnumber>1.63</revnumber>
<date>2003-05-26</date>
<authorinitials>ih</authorinitials>
<revremark>
Main parts of Suse, Yellowdog and Debian and Mandrake done.
</revremark>
</revision>
<revision>
<revnumber>1.62</revnumber>
<date>2003-02-26</date>
<authorinitials>ih</authorinitials>
<revremark>
Working on complete new version with several distributions.
</revremark>
</revision>
<revision>
<revnumber>1.6</revnumber>
<date>2002-12-19</date>
<authorinitials>ih</authorinitials>
<revremark>
Change from LinuxPPC to other distributions, first sketch
</revremark>
</revision>
<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 several Linux
distributions on the IBM RS/6000 43P model 7248 series.
</para>
</abstract>
</artheader>
<!-- Section 1: intro -->
<sect1 id="INTRO">
<title>Introduction</title>
<indexterm>
<primary>introduction</primary>
</indexterm>
<para>
This document describes how to install GNU/Linux 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 workstation
with a nice graphical user interfase. This relase covers several
Linux distributions. Earlier, this document described the
installation of several Linux distributions. Earlier, it only
covered the LinuxPPC distribution, which is now obsolete. If
you, for any particular reason, should be interested in versions
of LinuxPPC, please have a look at <ulink
url="http://users.linpro.no/ingvar/43p/start.html">my homepage
</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. Later I rewrote it
in SGML and it is now 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) 2003 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: June 1, 2003.
</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 GNU/Linux 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 than described. Please 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 the 43P-133 are two terms for the
same model, and the same goes for 7248-133 which I've also
seen referenced from time to time. These three terms describes
the exactly same model. 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 2.0
<itemizedlist>
<listitem> <para>2.0 is finally out.</para> </listitem>
<listitem> <para>Lots of updates. Now supports Debian, Mandrake, SuSE and YellowDog.</para> </listitem>
</itemizedlist>
</para>
<para>
Version 1.64
<itemizedlist>
<listitem> <para>YellowDog 3.0 (Sirius) is availble through a
dist-upgrade</para> </listitem>
<listitem> <para>Heading for 2.0.</para> </listitem>
</itemizedlist>
</para>
<para>
Version 1.63
<itemizedlist>
<listitem> <para>Most parts of Mandrake, YellowDog, SuSE and Debian
are done</para> </listitem>
<listitem> <para>Heading for 2.0.</para> </listitem>
</itemizedlist>
</para>
<para>
Version 1.62
<itemizedlist>
<listitem> <para>Working on complete new version with several
distributions</para> </listitem>
<listitem> <para>Heading for 2.0.</para> </listitem>
</itemizedlist>
</para>
<para>
Version 1.61
<itemizedlist>
<listitem> <para> Added an appendix on making SMS and firmware images from Linux </para> </listitem>
</itemizedlist>
</para>
<para>
Version 1.60
<itemizedlist>
<listitem> <para> First sketch for other distributions </para> </listitem>
</itemizedlist>
</para>
<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>
<para>Nader Salasshahri</para>
<para>Thomas Junker </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-132</title>
<indexterm>
<primary>7248</primary> <secondary>7248-132</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> Carolina type motherboard </para> </listitem>
<listitem> <para> 133MHz PowerPC model 604 processor </para> </listitem>
<listitem> <para> 512K synchronous L2 cache </para> </listitem>
<listitem> <para> Max 192MB RAM (?)</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 one 1.2GB 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://www.ibmlink.ibm.com/">
http://www.ibmlink.ibm.com/</ulink>. (click "United States",
"SalesManual", "Continue", and search for the product number
"7248" at the bottom)
</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
<ulink url="http://www.penguinppc.org/">Linux/PPC homepage/</ulink>.
</para>
</sect2>
<!-- Section2: Installation procedure -->
<sect2 id="PROCEDURE">
<title>What's the matter, why not use the original installation procedure?</title>
<para>
Most Linux distributions for PowerPC computers are aimed for
the Apple PowerMac computer series. Those who support other
hardware seems (naturally enough) to aim at quite modern
hardware. The IBM 7248 series are not Macintosh computers nor
very modern (although neither very old). This means that the
standard kernels, the standard installation routines, and the
standard system configurations do not fit our precious 7248
computers.
</para>
<para>
You should absolutely make no worries about this at all. 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 distributions -->
<sect2 id="WHAT-DISTRIBUTIONS">
<title>What distributions are supported</title>
<para>
The term "supported" here is maybe too strong, as few
distributions actually support the 7248. I will however in
this document try to describe how to install the following
Linux distributions on the 7248:
</para>
<para>
<itemizedlist>
<listitem><para>Debian GNU/Linux 3.0 ("Woody")</para></listitem>
<listitem><para>SuSE 7.3</para></listitem>
<listitem><para>YellowDog Linux 2.3/3.0 ("Dayton"/"Sirius") </para></listitem>
<listitem><para>Mandrake 9.1 ("Bamboo")</para></listitem>
</itemizedlist>
</para>
<para>
Some may ask where RedHat Linux is. RedHat does simply not
support 32 bits PowerPC processors at all, so end of
story. (Though there did exist a version of RedHat 7.2 for
some special IBM PowerPC based hardware. It was never a
success.) Those who are familiar with RedHat Linux should be
quite content with YellowDog anyway, as it is based on RedHat,
and feels very similar in use.
</para>
<para>
You should be able to build a Gentoo or Linux From Scrath
installation on the 7248. See the respective <ulink
url="http://www.gentoo.org/doc/en/gentoo-ppc-install.xml">
Gentoo</ulink> and <ulink
url="http://www.linuxfromscratch.org">LFS</ulink> web sites for
more information. You should probably be able to use some of
the information given in this document, but I have personally
never buildt a Gentoo or LFS installation, and probably never
will, so no details on those will be given in this document.
</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>Update the kernel</para> </listitem>
<listitem> <para>Set up X </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 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 images for SMS and for
updated firmware <ulink
url="http://techsupport.services.ibm.com/server/mdownload2/download.html">
here</ulink>. You should select MS-DOS images from the menu.
They are actually zip-files in disguise, so you should be able
to make those disks from a Linux box as well, using unzip and
mtools. (If you feel totally lost on this, I wrote a quick
help, look in <xref LinkEnd="MAKE-SMS-AND-FIRMWARE">)
</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 IBM's sales manual, some
clicking and searching from <ulink
url="http://www.ibmlink.ibm.com/">here</ulink>.
</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 one or
several Linux distributions able to run on the 7248.
</para>
<!-- Section2: Buying a CD -->
<sect2 id="CD">
<title>Buying a CD</title>
<indexterm>
<primary>CD</primary>
</indexterm>
<para>
<itemizedlist>
<listitem><para>Debian GNU/Linux</para>
<para>
Buying Debian CDs for PPC might be a tricky one. You
should scan<ulink
url="http://www.debian.org/CD/vendors/"> this
list</ulink> for availble local (or shipping) resellers
of Debian CDs, and ask them for a PPC
distribution. You may be lucky.
</para>
</listitem>
<listitem><para>SuSE</para>
<para>
You should be able to find a local reseller, or buy
directly off the net, <ulink
url="http://www.suse.com/us/private/products/suse_linux/ppc/index.html">
try this link</ulink>.
</para>
</listitem>
<listitem><para>YellowDog Linux</para>
<para>
You should be able to find a local reseller, or buy
directly off the net, <ulink
url="http://www.terrasoftsolutions.com/store/index.php?submit=ydl">
try this link</ulink>
</para>
</listitem>
<listitem><para>Mandrake</para>
<para>
You should be able to find a local reseller, or buy
directly off the net. Try this link: <ulink
url="http://www.linux-mandrake.com/en/ppc.php3">
http://www.mandrakesoft.com</ulink>
</para>
</listitem>
</itemizedlist>
</para>
</sect2>
<!-- Section2: Download CD images over FTP -->
<sect2 id="FTP-IMAGES">
<title>Download CD images over FTP or HTTP</title>
<indexterm>
<primary>FTP</primary>
</indexterm>
<para>
The other way around is to download preformatted CD images,
and burn them out yourself.
</para>
<para>
Before downloading installation images or doing a network
installation, please consider buying boxed set, or services
from the respective parties. Companies and organizations
building Free Software needs support and money to survive.
</para>
<para>
<itemizedlist>
<listitem>
<para>Debian GNU/Linux 3.0 "Woody"</para>
<para>Find download sites for Debian GNU/Linux ISO images
<ulink url="http://www.debian.org/CD/http-ftp/">
here</ulink>. Please use a local mirror. Remember to pick
the right platform, "powerpc".
</para>
</listitem>
<listitem>
<para>SuSE 7.3</para>
<para>Download the SuSE installer cd <ulink
url="ftp://ftp.suse.com/pub/suse/ppc/boot/">here</ulink>.
</para>
</listitem>
<listitem>
<para>YellowDog Linux 2.3 "Dayton"</para>
<para>ISO images for YellowDog Linux 2.3 are availble for
download from<ulink
url="http://www.yellowdoglinux.com/resources/ftp_mirrors.shtml">
YellowDog's FTP site</ulink> or from <ulink
url="http://www.linuxiso.org/distro.php?distro=12">
linuxiso.org</ulink>. Only the first CD of the CD set is
availble, but that's all you will need to install.
Afterwards, you may want to upgrade the system over the
net. You may also dist-upgrade to version 3.0
("Sirius"). This is described in <xref
LinkEnd="SIRIUS">.
</para>
</listitem>
<listitem>
<para>Mandrake Linux 9.1 ("Bamboo")</para>
<para>
ISO images for Mandrake Linux 9.1 for PPC are availble
for download at <ulink
url="http://www.mandrakelinux.com/en/ftp.php3">Mandrake's
download page</ulink>, please use a local mirror. You
can also download from <ulink
url="http://www.linuxiso.org/distro.php?distro=29">
linuxiso.org</ulink>
</para>
</listitem>
</itemizedlist>
</para>
<para>
To make a CD, you need some CD burning software package. This
is outside the scope of this document, allthough any decent CD
burning software on any platform should be able to do it.
</para>
</sect2>
<!-- Section2: Network installation -->
<sect2 id="NETWORK-INSTALL">
<title>Network installation</title>
<indexterm>
<primary>Network-install</primary>
</indexterm>
<para>
All distributions mentioned in this document are able to do a
network installation except for YellowDog. For the other
distributions, both installation from CD and over the network
will be described. The Mandrake installation is special,
because it needs a local mirror, made from a complete ftp site
mirror or from the CDs, see below.
</para>
<para>
All installation methods described in this document will be
initiated with a floppy disk boot image. The 7248 is also
capable of booting over the net (via tftp), and of course, by
cdrom. This will not be covered in the following.
</para>
<para>
Before downloading installation images or doing a network
installation, please consider buying boxed set, or services
from the respective parties. Companies and organizations
building Free Software needs support and money to survive.
</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>
Both installing via net or CD needs bootstrapping with floppy
disks. In this chapter we will learn where to get floppy images,
and how to make useable boot floppies from them.
</para>
<!-- Section2: What floppies to make -->
<sect2 id="WHAT-FLOPPIES">
<title>What floppies to make</title>
<para>
First we need a boot floppy. This will be a custom compiled
Linux kernel image able to boot on the 7248. Then we need one
or more ramdisk images.
<itemizedlist>
<listitem><para>Debian Woody</para>
<para>
For Debian, we need a boot floppy and one ramdisk
floppy. You can download necessary files from <ulink
url="http://users.linpro.no/ingvar/43p/images/Debian/">
http://users.linpro.no/ingvar/43p/images/Debian/</ulink>
. The files are called
<emphasis>debian-7248-boot.img</emphasis> and
<emphasis>debian-7248-ramdisk.img</emphasis> . (The
ramdisk image is the root.bin from Debian boot-floppies)
</para>
</listitem>
<listitem><para>Yellow Dog Dayton</para>
<para>
For Yellow Dog we need a boot floppy, and no less than
three ramdisk floppies, because of the size of the
installer. I have built custom ramdisk images for the
7248. The files are called
<emphasis>ydl-7248-boot.img</emphasis>,
<emphasis>ydl-7248-ramdisk-1.img</emphasis>,
<emphasis>ydl-7248-ramdisk-2.img</emphasis> and
<emphasis>ydl-7248-ramdisk-3.img</emphasis>, and are
available from <ulink
url="http://users.linpro.no/ingvar/43p/images/YellowDog/">
http://users.linpro.no/ingvar/43p/images/YellowDog/</ulink>.
You will need all the ramdisk files.
</para>
</listitem>
<listitem><para>SuSE 7.3</para>
<para>
For SuSE, we need a boot floppy and one ramdisk
floppy. You can download necessary files from <ulink
url="http://users.linpro.no/ingvar/43p/images/SuSE/">
http://users.linpro.no/ingvar/43p/images/SuSE/</ulink>
. The files are <emphasis>called
suse-7248-boot.img</emphasis> and
<emphasis>suse-7248-ramdisk.img</emphasis>. (The latter
is copied from ftp.suse.com)
</para>
</listitem>
<listitem><para>Mandrake Bamboo</para>
<para>
For Mandrake, we need a boot floppy and one ramdisk
floppy. You can download necessary files from <ulink
url="http://users.linpro.no/ingvar/43p/images/Mandrake/">
http://users.linpro.no/ingvar/43p/images/Mandrake/</ulink>
. The files are <emphasis>called
mdk-7248-boot.img</emphasis> and
<emphasis>mdk-7248-ramdisk.img</emphasis>. (The latter
is a copy of the all-r6sk.gz from the Mandrake cd)
</para>
</listitem>
</itemizedlist>
</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. If
strange things happen 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 boot floppies</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, so du a 'su root' before issuing the commands.
</para>
<para>
MS-DOS users may use the rawrite utility. You can download
rawrite from several places, for example a RedHat mirror as
<ulink
url="ftp://ftp.uninett.no/pub/linux/RedHat/redhat/7.3/es/os/i386/dosutils">
ftp://ftp.uninett.no/</ulink>. More information on how to use
rawrite <ulink
url="http://www.redhat.com/docs/manuals/linux/RHL-7.3-Manual/install-guide/s1-steps-install-cdrom.html#S2-STEPS-MAKE-DISKS">here.</ulink>
</para>
<para>
To make the boot floppy, insert a floppy in the drive, cd to
the directory containing the boot floppy image and issue the
following command, substitute "debian" to your distributon prefix if
necessary.
<screen>
dd if=debian-7248-boot.img of=/dev/fd0 bs=36b
</screen>
Label the disk "Boot floppy" or whatever you like.
</para>
<para>
To make a ramdisk floppy, insert a floppy in the drive, cd to
the directory containing the ramdisk image, and issue the
following command. Substitute the filename with an image for
your distribution of choice, like "ydl-7248-ramdisk-2.img" for
the second YellowDog ramdisk floppy image.
<screen>
dd if=debian-7248-ramdisk.img of=/dev/fd0 bs=36b
</screen>
Label the disk "Ramdisk floppy #1" or whatever you like.
Remember that Debian and SuSE has one ramdisk floppy. For
Yellow Dog, you need three.
</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 id="PARTITIONS">
<title>A note on partitions</title>
<para>
Below we will be asked about what partitions to make. We
should have at least these partitions:
<itemizedlist>
<listitem> <para>
A PReP 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.
</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>
</para>
<para>
You may of course add as many other partitions to your
system as you may wish, but this is the very minimum.
</para>
<para>
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.
</para>
<para>
For Debian and SuSE, we will use the
<emphasis>cfdisk</emphasis> program for partitioning. For
those unfamiliar with cfdisk and partitioning in general, I
have made two small appendices on this, just because I am a
very kind person. See <xref LinkEnd="cfdisk">.
</para>
</sect2>
<!-- Sect2: Boot the machine -->
<sect2 id="BOOT">
<title>Boot the machine and start the installer</title>
<indexterm>
<primary>boot</primary>
</indexterm>
<para>
To boot the 7248, just insert the boot floppy and turn the
machine on. 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 floppies when prompted.
</para>
</sect2>
<!-- Sect2: The Debian installer -->
<sect2 id="DEBIAN-INSTALLER">
<title>The Debian installer</title>
<indexterm> <primary>debian installer</primary> </indexterm>
<para>
You should just walk through the Debian installer like you
would on any Debian installation. More information on how to
use the installer can be found at your favourite Debian mirror,
a good reference should be
<ulink url="http://www.debian.org/debian/dists/woody/main/disks-powerpc/current/doc/install.en.html">this document</ulink>.
You would maybe
<ulink url="http://www.debian.org/debian/dists/woody/main/disks-powerpc/current/doc/ch-rescue-boot.en.html#s-dbootstrap-intro">start here</ulink>
as you already have been walked through the preliminary steps.
There are a few thing to remember though:
</para>
<itemizedlist>
<listitem><para>
Not all keyboard layouts are availble in the
installer. Pick one you are able to use. We will have
more to choose from once the system is installed.</para>
</listitem>
<listitem><para> At the "Partition a Hard Disk" step, our
partition program will be cfdisk. At this step we have to
add the PReP partition as mentioned above, a swap
partition and a root partition. Remember to write down
on a piece of paper what partition to use for the root
filesystem. Unless you have a really good memory, of
course.</para>
</listitem>
<listitem><para>
The steps "Install Kernel and Driver Modules", "Configure
Device Driver modules", "Configure PCMCIA Support", and
"Install Foreign Modules" can be skipped, as all necessary
driver are compiled into the boot floppy kernel.</para>
</listitem>
<listitem><para>
When installing the base system, we can choose either
network or cdrom. Both should work. (I have even installed
by floppy once, but this is something we really don't want
to do.)</para>
</listitem>
<listitem><para>
Skip the steps "Make System bootable" and "Make a Boot
Floppy" - they won't work. See the later chapter <xref
LinkEnd="Compiling-and-installing-the-kernel"> on how to
make the system boot from the harddisk.</para>
</listitem>
<listitem><para>
No bootloader will be installed, as there are no
availble bootloader for the PReP PPC platform (except
the one that's piggybacked onto the kernel). After the
installation is done, you will therefore have to boot
again from a floppy. See the next chapter for details.
</para>
</listitem>
</itemizedlist>
<para>
When you are finished installing the base system, reinsert
the boot floppy and choose "Reboot the system".
</para>
</sect2>
<!-- Sect2: The SuSE installer -->
<sect2 id="SUSE-INSTALLER">
<title>The SuSE installer</title>
<indexterm> <primary>suse installer</primary> </indexterm>
<para>
The SuSE installer should work without any hassle at all.
Prelimenary, I've only done ftp install, but any installation
method should do, provided you have access to the media. I
have not been able to find an online version of the
installation instructions, but it should be quite
strightforward. If you have bought the boxed set, you have
probably got a printed manual on dead trees. A few things to
look up for anyhow:
<itemizedlist>
<listitem>
<para>
When partition the hard disks, remember to make a PReP
boot partition as described above. As a general rule,
use /dev/sda1 for this.
</para>
</listitem>
<listitem>
<para>
If we're doing a ftp install, use the following path
from a SuSE mirror root: suse/ppc/current/. An European
mirror is available at <emphasis>194.71.11.20</emphasis>
(ftp.sunet.se) in
/pub/Linux/distributions/suse/suse/ppc/current/ . An
American mirror is availble at
<emphasis>140.221.9.138</emphasis> (mirror.mcs.anl.gov)
in /pub/ftp.suse.com/ppc/current/ . <ulink
url="http://www.suse.de/us/private/download/ftp/int_mirrors.html"
> There is a list of other mirrors here</ulink>
</para>
</listitem>
<listitem>
<para>
The download progress bar is broken on slow links, so
we don't care about it unless we're connected to a fat
pipe. Have patience.
</para>
</listitem>
<listitem>
<para>
When the installation is finished, we may get a blank
screen with nothing but a blinking cursor. Ensure that the
installation is done (check for availble shells or status
screens at VT2, 3 and 4. by pressing Alt+F2,F3,F4,F1,
there should be none). Reinsert the boot
floppy and power-cycle the box.
</para>
<para>
No bootloader will be installed, as there are no
availble bootloader for the PReP PPC platform (except
the one that's piggybacked onto the kernel). After the
installation is done, you will therefore have to boot
again from a floppy. See the next chapter for details.
</para>
</listitem>
</itemizedlist>
</para>
</sect2>
<!-- Sect2: The YellowDog installer -->
<sect2 id="YDL-INSTALLER">
<title>The Yellow Dog installer</title>
<indexterm> <primary>yellow dog installer</primary> </indexterm>
<para>
Just before the installer starts, I have added a small
pre-installation routine. Please follow the on-screen
instrucions. For someone who has done some sysadmin earlier,
the steps should be quite easy. For the beginner, it should
not be to difficult. Hop to a virtual terminal by hitting
Alt+F2. Type
<screen>
cfdisk /dev/sda
</screen>
to partition your first scsi harddisk. Change to sdb for your
second, and so on. If you think this is a little difficult,
I've written a small appendix on this <xref
LinkEnd="More-on-partitioning">. When done partitioning, run
for example
<screen>
mke2fs /dev/sda3
</screen>
to make an ext2 filesystem on your third partition on your
first hard disk. When you are finished, hop back to the main
screen by hitting Alt+F1, and press enter to continue
</para>
<para>
You should walk through the installer as you would walk
through any Yellow Dog installation (though only text-based
interface is availble). I have not found any comprehensive
online installation manual, but there is <ulink
url="http://www.yellowdoglinux.com/support/installation/guide.shtml">
some info here</ulink>. If you have bought a boxed set, you should
open the box and Read The Fine Manual if you have questions not
answered here.
</para>
<para>
There are a few things to look out
for, though:
<itemizedlist>
<listitem>
<para>
At the "Installing Profile Selection" screen (one of the first
screens), choose "Custom".
</para>
</listitem>
<listitem>
<para>
At the "Installation Setup" screen, only "Local CD/DVD" is
availble, so we'll have to choose ... well, you guessed it.
</para>
</listitem>
<listitem>
<para>
At the "Partition Disks" screen, we "Edit" each disk, but just
choose "Save" in the subscreens. "Add" and "Delete" won't
work. And besides, we already have done this, haven't we?
</para>
</listitem>
<listitem>
<para>
At the "Package Selection" screen, choose "Base Install",
unless you have a full CD set. The downloadable CD image
has only the base install packages.
</para>
</listitem>
<listitem>
<para>
At the "Sound Setup" screen, we'll get an error message
saying we are not one of those lucky bastards owning a Power
Macintosh computer. As this is something we should be
ashamed of. Ignore, sniff, and select "Ok". We'll fix
sound later.
</para>
</listitem>
<listitem>
<para>
At the "PReP Bootloader Installation" screen, the
installer yells that it can't find a PReP partition. A
little strange, as we just made one. (We did, remember
to do that, didn't we?). This installer just can't get
it, so continue to ignore it. Select "Ok".
</para>
</listitem>
<listitem>
<para>
The "X11 Configuration" screen just flips by, so I
guess that part was painless. Yeah, right.
</para>
</listitem>
<listitem>
<para>
No bootloader will be installed, as there are no
availble bootloader for the PReP PPC platform (except
the one that's piggybacked onto the kernel). After the
installation is done, you will therefore have to boot
again from a floppy. See the next chapter for details.
</para>
</listitem>
</itemizedlist>
</para>
</sect2>
<!-- Sect2: The Mandrake installer -->
<sect2 id="MANDRAKE-INSTALLER">
<title>The Mandrake installer</title>
<indexterm> <primary>mandrake installer</primary> </indexterm>
<para>
For the Mandrake installer, there are a few quite extensive
prerequisites necessary. For a CD install, we need to replace
the installer program on the first CD before burning out the CD
ISO image. For a network install, we need a complete local ftp
or http mirror, made from the Mandrake Bamboo ppc ftp
directory, or the three CDs. Actually, we only need to replace
one single file, but because the installer is unable to
change package source during the installation (this is one
reason why Debian is a wonderful distribution), we need
local copies of all the files.
</para>
<para>
If we don't like to hazzle around and tune things, we'll stick
to the CD installation. It's the easiest.
</para>
<sect3 id="mdk-cd">
<title>CD installation</title>
<indexterm>
<primary>Mandrake CD installation</primary>
</indexterm>
<para>
First we have to download the three Mandrake ISO images from
your favourite mirror. There exist ppc ISO images at least
at a Sweedish mirror at <ulink
url="ftp://ftp.chello.se/pub/linux/Mandrake-iso/ppc/">
ftp://ftp.chello.se/pub/linux/Mandrake-iso/ppc/</ulink>.
</para>
<para>
Then we must change the first image by replacing the
installer inside it. This could be done on any operating
system able to mount a CD ISO image. The instructions below
are made for running on RedHat Linux. We presume the images are
all put in /var/tmp.
</para>
<para>
First we mount the image by the loopback interface
<screen>
mount -o loop=/dev/loop0 /var/tmp/MandrakeLinux-9.1-CD1.ppc.iso /mnt/cdrom
</screen>
Then copy all files in the image to somewhere with plenty of
space, eg. /var/tmp, and unmount the image again:
<screen>
mkdir /var/tmp/bamboo1
cp -va /mnt/cdrom/* /var/tmp/bamboo1
umount /mnt/cdrom
</screen>
Now replace the installer image:
<screen>
cd /var/tmp/bamboo1/Mandrake/base
rm mdkinst_stage2.bz2
wget http://users.linpro.no/ingvar/43p/images/Mandrake/mdkinst_stage2.bz2
</screen>
Finally rebuild the installer image and, if you want, remove
the local copy of the cd contents:
<screen>
cd /var/tmp
mkisofs -r -o MandrakeLinux-9.1-CD1.ppc.iso bamboo1/
rm -rf bamboo1
</screen>
There. You now have a set of three working ISO images for
the 7248. Burn them out on CDs. Then insert the boot floppy
into the 7248 and turn the computer on. Disk-Jockey the
ramdisk floppy when prompted. Just do a normal CD
installation. See the installer notes below for details.
</para>
</sect3>
<sect3 id="mdk-network">
<title>Network installation</title>
<indexterm>
<primary>Mandrake network installation</primary>
</indexterm>
<para>
First you need a local http or ftp mirror with a patched
installer. This means that you need access to another
computer able to run a web or ftp server. Any Linux
distribution can do. A modern Windows or UNIX server should
also be able to do the job. The trick is to download all
necessary files, and change the installer file
Mandrake/base/mdkinst_stage2.bz with a patched one. Below
the steps to get this done with the Apache web server on
a RedHat Linux installtion, and with the CD iso image files,
is described. (A complete download of the ppc archive from a
Mandrake ftp mirror should work allright too, but I prefer
to have the iso images availble.)
</para>
<para>
Unless already done, install and start the Apache web server
on the system. This is described in the RedHat
documentation. Then download the three Mandrake CD images
from your favourite mirror. There exist ppc iso images at
least at a Sweedish mirror at <ulink
url="ftp://ftp.chello.se/pub/linux/Mandrake-iso/ppc/">
ftp://ftp.chello.se/pub/linux/Mandrake-iso/ppc/</ulink>.
<screen>
cd /somwhere/with/plenty/space
wget ftp://your.favourite.mirror/path/to/MandrakeLinux-9.1-CD1.ppc.iso
wget ftp://your.favourite.mirror/path/to/MandrakeLinux-9.1-CD2.ppc.iso
wget ftp://your.favourite.mirror/path/to/MandrakeLinux-9.1-CD3.ppc.iso
</screen>
Mount the images via the loopback interface:
<screen>
mkdir /mnt/bamboo1 /mnt/bamboo2 /mnt/bamboo3 /var/www/html/bamboo
mount -o loop=/dev/loop1 MandrakeLinux-9.1-CD1.ppc.iso /mnt/bamboo1
mount -o loop=/dev/loop2 MandrakeLinux-9.1-CD2.ppc.iso /mnt/bamboo2
mount -o loop=/dev/loop3 MandrakeLinux-9.1-CD3.ppc.iso /mnt/bamboo3
cd -
</screen>
Copy the base files, and symlink the package
directories, to a directory availble for the web server:
<screen>
for i in base mdkinst share; do
cp -va /mnt/bamboo1/Mandrake/$i /var/www/html/bamboo/Mandrake; done
ln -s /mnt/bamboo1/Mandrake/RPMS1 /var/www/html/bamboo/Mandrake
ln -s /mnt/bamboo2/Mandrake/RPMS2 /var/www/html/bamboo/Mandrake
ln -s /mnt/bamboo3/Mandrake/RPMS3 /var/www/html/bamboo/Mandrake
</screen>
Finally add my patched version of the installer image.
<screen>
cd /var/www/html/bamboo/Mandrake/base
mv mdkinst_stage2.bz2 mdkinst_stage2.orig.bz2
wget http://users.linpro.no/ingvar/43p/images/Mandrake/mdkinst_stage2.bz2
cd -
</screen>
You should now have a working local http mirror of the
Mandrake installation files. Now boot with the boot floppy,
and insert the ramdisk floppy when prompted. From the
installation menus, select network install, select http and
then give the address of the server where you just downloaded the
files. The http directory from the example above is "/bamboo"
</para>
</sect3>
<sect3 id="mdk-installer">
<title>Installer notes</title>
<indexterm>
<primary>Mandrake installer notes</primary>
</indexterm>
<para>
You will get an error when probing for a network and scsi
drivers. The driver module files don't exist. We don't
worry, as all necessary drivers are compiled into the running
kernel.
</para>
<para>
If all package files necessary are availble, the installer should
run without further errors.
</para>
<para>
The installer won't recognize the sound card, so sound won't
work. Don't worry about this. We'll fix it in a jiffy. Same
goes for XFree86, so we won't automagically get a working
graphical user interface either.
</para>
<para>
No bootloader will be installed, as there are no availble
bootloader for the PReP PPC platform (except the one that's
piggybacked onto the kernel). After the installation is
done, you will therefore have to boot again from a
floppy disk. See the next chapter for details.
</para>
</sect3>
</sect2>
</sect1>
<!-- Sect1: Install the system: END -->
<!-- Sect1: Post configuration -->
<sect1 id="POSTCONFIG">
<title>Post installation configuration</title>
<indexterm>
<primary>post installation configuration</primary>
</indexterm>
<para>
In this chapter we will boot our fresh installed system for the
first time, and learn how to finnish the post-installation
configuration of the various systems.
</para>
<sect2 id="BOOTPROMPT">
<title>The Boot Prompt</title>
<indexterm> <primary>boot prompt</primary> </indexterm>
<para>
If everything worked, you should now be able to reboot you're
system, and start your freshly installed Linux system 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/sda3
</screen>
I use sda3 as sda3 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). Luckily we did this, of course.
</para>
<para>
Note that we have to use this routine every time we boot
machine, until we make our own kernel that suits the
installation we just finished. This is described in <xref
LinkEnd="kernel">
</para>
<para>
The system should boot up and maybe even doing some post
configuration, see below.
</para>
</sect2>
<!-- Sect2: Debian -->
<sect2 id="POSTCONFIG-DEBIAN">
<title>Post installation configuration of Debian</title>
<para>
The post installation configuration of Debian is described in
detail in the document <ulink
url="http://www.debian.org/debian/dists/woody/main/disks-powerpc/current/doc/ch-init-config.en.html">
ch-init-config-en.html</ulink> at your favourite Debian
mirror. If you have cleared all previous stages, you get 400
bonus points, and can skip directly to paragraph 8.3.
</para>
<para>
By some strange reason, the Debian installer doesn't set up
the network according to the fixes in the installer. If you
want to use apt over a network connection, you should jump to
a virtual screen (Alt+F2), log in as root, and set up
networking. This is done by editing the file
/etc/networking/interfaces , but the syntax of that file is
way out of scope for this document. More information should be
found in the Debian documentationm. Use the command
<screen>
man interfaces
</screen>
to get the manual page. When you are done, run
<screen>
ifup eth0
</screen>
to take the link up. Then jump back to the installer screen by
pressing Alt+F1.
</para>
</sect2>
<!-- Sect2: SuSE -->
<sect2 id="POSTCONFIG-SUSE">
<title>Post configuration of SuSE</title>
<para>
The post installation configuration of SuSE should be quite
painless. Make up a root password and enter it twice. Done.
The rest should run automagically. Nice, eh?
</para>
</sect2>
<!-- Sect2: Yellow Dog -->
<sect2 id="POSTCONFIG-YDL">
<title>Post configuration of Yellow Dog</title>
<para>
YellowDog Linux does not have any post installation issues at
all, except the expected kernel errors caused by lacking
module directories. What a cool operating system! Look in
<xref LinkEnd="KERNEL"> for detailed instructions on how to
compile and install a working kernel.
</para>
<para>
There is some info at <ulink
url="http://www.yellowdoglinux.com/support/configuration/">this
url</ulink> if we want to dig into more configuration. But we want
to read the following chapters first.
</para>
<para>
Before taking another step you should go to a silent chamber
and think: "I've got Yellow Dog 2.3. YES! But should I be
content with that, now when YellowDog 3.0 is out? Should I
really?" If the answer to that question is "No" then skip to
<xref LinkEnd="SIRIUS">. If you pass over the start field in
the movement, you'll receive $2000 and a hotel.
</para>
</sect2>
<!-- Sect2: Mandrake -->
<sect2 id="POSTCONFIG-MDK">
<title>Post configuration of Mandrake</title>
<para>
Not much to mention here. The system should work more or less
out of the box. Wow! You will probably get some errors on
lacking kernel files. You will learn how to compile and
install a complete kernel in <xref LinkEnd="KERNEL">. You may
want to (re)configure your network. There does exist a tool
called "drakconnect" that should be able to do this, but I
never got it to behave. Configuring the local network is easy
though. Just fire up your favourite editor (at least vi is
installed) and edit the files mentioned below. This example
describes a static ip configuration. Generally, this is the
"RedHat" way to do things, so examples and documentation
should be easy to find. </para>
<para>
/etc/sysconfig/network
<screen>
NETWORKING=YES
HOSTNAME=barky
GATEWAY=192.168.0.1
</screen>
/etc/sysconfig/network-scripts/ifcfg-eth0
<screen>
DEVICE=eth0
BOOTPROTO=static
BROADCAST=192.168.0.255
IPADDR=192.168.0.5
NETMASK=255.255.255.0
ONBOOT=YES
</screen>
/etc/resolv.conf
<screen>
nameserver 192.168.0.2
</screen>
For a DHCP configuration, change BOOTPROTO to "dhcp", and skip
the BROADCAST, IPADDR, NETMASK, GATEWAY and nameserver
options.
</para>
<para>
I'm no Mandrake Guru. I actually never use Mandrake, and fixed
the installer just for the exercise. By some reason, eth0
doesn't get active at boot time with the configuration above,
though it does after a 'ifdown eth0; ifup eth0', so I just
put that in my rc.local. Go figure.
</para>
</sect2>
<!-- Sect2: Installation done -->
<sect2 id="POSTCONFIG-DONE">
<title>Installation: Done!</title>
<para>
After the post installation configuration, the system should
boot up to a ready state, and greet you with a login
prompt. Congratulations, you have installed GNU/Linux on your
7248. You are dismissed to have a beer or a cup of tea. Or
even coffee. 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.tldp.org/LDP/intro-linux/html/">Introduction
to Linux - A Hands on Guide</ulink> by Machtelt Garrels.
</para>
</sect2>
</sect1>
<!-- Sect1: Odds and ends -->
<sect1 id="ODDSNENDS">
<title>Odds and ends</title>
<indexterm>
<primary>odds and ends</primary>
</indexterm>
<!-- Sect2: Network hangs -->
<sect2 id="NETWORK-HANGS">
<title>Network hangs</title>
<para>
The following only affects 2.2 kernels.
</para>
<para>
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/init.d/network (or similar), 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. I really hope that
somebody have a better fix on this later. Thanks to Doc
Shipley for this tip.
</para>
</sect2>
</sect1>
<!-- Sect1: Compile a kernel -->
<sect1 id="KERNEL">
<title>Compile a kernel</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 complete 2.4 (2.2 for
YellowDog) 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, you have to boot
from 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:
<screen>
make
gcc
cpp
glibc-devel
ncurses-devel
kernel-headers
</screen>
(This list should probably be longer.)
</para>
<para>
Note that the names of
this packages may change slightly among the distributions.
</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 latest 2.4 kernel sources with a few patches,
among those the IBM-E15 frame buffer patch from David Monro, which
gives us a working frame buffer console able to run XFree86. 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/ . When downloading the kernel source and patches,
place all files in /usr/src .
</para>
<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.
</para>
<para>
Note: You may use the standard Linux kernel source from any
ftp.kernel.org mirror. A modern kernel like 2.4.21 should work
allright. I've found the devel tree more well functioning on
the 7248, so I stick with it.
</para>
<para>
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 .
chmod -R u+w .
</screen>
Note that you'll probably have to wait for some minutes to
rsync over all the sources. This is normal.
</para>
<para>
Then, get David Monro's <ulink
url="http://www.solinno.co.uk/7043-140/files/2.4.19-2/030-e15fb.diff">
IBM E15 frame buffer patch</ulink> from Leigh Brown's site
page at <ulink
url="http://www.solinno.co.uk/7043-140/files/2.4.19-2/">
http://www.solinno.co.uk/7043-140/files/2.4.19-2/</ulink>
</para>
</sect2>
<!-- Sect2: Patching the source -->
<sect2 id="PATCHING-THE-SOURCE">
<title>Patching the source</title>
<para>
The next step is to patch the source files you just
downloaded. First add the IBM E15 patch:
<screen>
cd /usr/src/linux
patch -p1 < ../030-e15fb.diff
</screen>
If you have more patches, add them the same way.
Now the kernel source is 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.tldp.org/HOWTO/Kernel-HOWTO.html">The Kernel
HOWTO</ulink>. Here, we'll just cover the basics to get a
working kernel. Download <ulink
url="http://users.linpro.no/ingvar/43p/images/kernels/ingvar.config-2.4">
my kernel config file</ulink> into the top directory of the
kernel tree , /usr/src/linux .
</para>
<para>
In the top directory (/usr/src/linux) start the
configuration program by issuing the following commands:
<screen>
make ibmchrp_config
cp ingvar.config-2.4 .config
make menuconfig
</screen>
Inside the kernel configuration system, we check over the
different menus to get to know our possibilities. Don't be
afraid to change anything. We can copy the original back, and
load the configuration system again. There are a few things to
check out before we go on compiling and installing:
</para>
<sect3 id="COMMANDSTRING">
<title>Initial kernel command string</title>
<para>
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. This
string is a space-separated list of options which are sent
to the kernel at boot time. This is actually configuring the
bootloader, and the closest we come to LILO, Grub or Yaboot
on the 7248. Change the value of the root device to the
device where your root (/) filesystem is mounted. This is
done with <emphasis>root=device</emphasis>. An example could
be <emphasis>root=/dev/sda3</emphasis>. If unsure, log in on
another terminal and check with the <emphasis>mount</emphasis>
command.
</para>
</sect3>
<sect3 id="KERNELSOUND">
<title>Support for the integrated sound adapter</title>
<para>
The 7248 is equipped with a built-in Crystal Audio cs4232
sound adapter. There is support for this adapter in the
Linux kernel. 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>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>
</sect3>
<sect3 id="KERNELFB">
<title>Support for framebuffer graphics</title>
<para>
Some minutes ago we patched in a driver for the IBM E15
framebuffer driver. This is needed to run X (and to get a
nice, smiling Tux when booting). If you for some reason
don't want (or need) to run X, or you don't prefer a
framebuffer console (it scrolls slower than standard VGA),
remove support for the IBM E15 frame buffer in the
<emphasis>Console drivers</emphasis> submenu.
</para>
</sect3>
<sect3 id="KERNELMISC">
<title>Support for other stuff</title>
<para>
Also check your own preferences on filesystems and other stuff
you might have special need for or interest in. The downloaded
config file should have sane values, though.
</para>
</sect3>
<sect3 id="KERNELSAVE">
<title>Save changes</title>
<para>
When we have finished configuring, save our new configuration
for later use, (at the bottom in the main menu) and select
exit. Answer <emphasis>Yes</emphasis> to the question about
saving the changes. You are now ready to compile the kernel.
</para>
</sect3>
</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>
cd /usr/src/linux
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 most
Linux-based systems like, we keep kernels and their setupfiles
in the /boot directory. Check what version you run with a look
at the Makefile, and add proper version numbers in the
commands below:
<screen>
head /usr/src/linux/Makefile
cp /usr/src/linux/arch/ppc/boot/images/zImage.prep /boot/vmlinuz-2.4.21
cp /usr/src/linux/System.map /boot/System.map-2.2.18
</screen>
Assuming that sda1 is your boot device with a PReP Boot
partition, and your kernel has version 2.4.21, install the new
kernel by issuing this command:
<screen>
dd if=/boot/zimage-2.4.21 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.4.21 /boot/System.map
</screen>
</para>
</sect2>
<!-- Sect2: Configure modules -->
<sect2 id="CONFIGURE-MODULES">
<title>Configure modules</title>
<para>
Before rebooting we must send some parameters to configure the
sound modules. On YellowDog, SuSE and Mandrake, this is done
in <emphasis>/etc/modules.conf</emphasis>. In Debian, use
<emphasis>/etc/modutils/sound</emphasis>. Edit this file, and
add the following lines:
<screen>
alias sound cs4232
pre-install sound /sbin/insmod sound dmabuf=1
options cs4232 io=0x534 irq=5 dma=1 dma2=0 mpuio=0x330 mpuirq=5
</screen>
On Debian, run <emphasis>/sbin/update-modules</emphasis> when
done.
</para>
</sect2>
<!-- Sect2: Pray and reboot -->
<sect2 id="PRAY-AND-REBOOT">
<title>Pray and reboot</title>
<para>
There! We are ready to reboot. Light some candles (some people
prefers to sacrifice chickens or even goats), remove the boot
floppy, and issue the command:
<screen>
reboot
</screen>
If everything worked, 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>
</sect1>
<!-- Sect1: Set up X -->
<sect1 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-100dpi-fonts and/or XFree86-75dpi-fonts</para> </listitem>
<listitem> <para>gdm, kdm or xdm</para> </listitem>
<listitem> <para>Maybe more packages here...</para> </listitem>
</itemizedlist>
Note that these package names are for rpm-based systems. For
Debian, do an
<screen>
apt-get install xserver-xfree86 xfonts-100dpi xfonts-base xbase-clients xdm
</screen>
to get the most important files.
</para>
<para>
Download my <ulink
url="http://users.linpro.no/ingvar/43p/images/XFree86/XF86Config-4.3">
XF86Config-4.3</ulink>, and copy it to /etc/X11/XF86Config. You
can now start X with the command startx. On Debian you may
start a graphical login screen with
<screen>
/etc/init.d/xdm start
</screen>
On YellowDog, SuSE and Mandrake, just hop to runlevel 5, and
it will start a display manager for you.
<screen>
/sbin/init 5
</screen>
</para>
</sect1>
<!-- Sect1: Update the kernel and set up the X Window system: END -->
<!-- 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://penguinppc.org/dev/prep/">Linux/PPC PReP page</ulink>
</para> </listitem>
<listitem> <para>
<ulink url="http://penguinppc.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://www.solinno.co.uk/7043-140/getstarted.php">
Linux on the RS/6000 7043-140</ulink> another old but
still popular IBM PReP Workstation. Page by Leigh Brown.
This page also has E15 frame buffer patches for Linux-2.4.
</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://lists.linuxppc.org">The linuxppc mailing
lists.</ulink> Especially interesting is of course the workstation list.
</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://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://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="ftp://ftp.software.ibm.com/rs6000/technology/spec/">
PReP specification documents</ulink> from IBM
</para> </listitem>
<listitem> <para>
<ulink url="ftp://ftp.software.ibm.com/rs6000/technology/spec/chrp/">
CHRP specification documents</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 OS'es on the 7248 -->
<sect2 id="OTHER-FLAVOURS">
<title>Installing other operating systems on the 7248</title>
<para>
<itemizedlist>
<listitem> <para>Of course, AIX should work like a dream...</para>
</listitem>
<listitem> <para>Rumors have been spread that once up in a
time, even Window NT and Sun Solaris could run on this
machine. Oh, well. Don't.</para>
</listitem>
<listitem> <para>
<ulink url="http://www.netbsd.org">NetBSD</ulink> does of course
work on PReP PowerPCs. It probably also works on your
Remington typewriter from the early 50s. There is a
<ulink url="http://www.netbsd.org/Ports/prep/">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 in 2.2 kernels.
If you know something about this, please let me know. Another
solution is of course to stop using 2.2.
</para> </listitem>
<listitem> <para>
Dual Boot with AIX. We need some kind of a bootloader. Does
such a thing exist? Rumors says that Leigh Brown has something
in the brewing.
</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 mentioned in older
versions of this document. 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
exercise 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 or Leigh. We would all love it very much. note that
lower resolutions like 800x600 og even 640x480 works great.
And no, there are only 8bit colors availble.
</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
always do. 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.
</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="KERNEL"> for notes on building and installing a
2.4 kernel.
</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 bootloader, 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. The
specifications are as follows: 72-pin SIMM, 5 Volt, Fast Page
Memory with Parity, 70 ns. David Monro states that it is
possible to make Carolinas work with other types of RAM if you
remove the cache. Look at <xref LinkEnd="resources"> for
details.
</para>
</sect2>
<sect2 id="SCSI-HANG">
<indexterm> <primary>parity</primary> </indexterm>
<title>Kernel boots, but stops at "Parity checking"</title>
<para>
And now I thought it would work, but it stops at "Parity
checking". I can't get a step further. Can you help me,
please? Has this something to do with bad RAM chips? Or is it
something wrong with my scsi devices?
</para>
<para>
You use a 2.2 kernel, don't you?
</para>
<para>
This message comes from the SCSI subsystem, so it has nothing
to do with your RAM. Sometimes, by uknown reason, the Linux
NCR driver in the 2.2-series caused the scsi controller to
hang in some uninterruptible state, which endured, even
bypassing reboot. The solution then was to boot AIX or even
Windows NT for PPC (yes, such a beast exists, but you really
don't want it), which resat the controller in proper
condition. Alternatively, switch off the machine, pull out the
battery inside, let it stay out for a couple of weeks or so,
and fit things back together. The 2.4 driver fixed this
problem.
</para>
<para>
Boot a 2.4 kernel, and you should be allright.
</para>
<para>
This could of course also be a real SCSI parity problem. If a
2.4 kernel doesn't help, check your SCSI devices for wireing
and termination problems.
</para>
</sect2>
</sect1>
<!-- Sect1: FAQ: END -->
<!-- Sect1: Upgrading Dayton to Sirius -->
<sect1 id="SIRIUS">
<title>Appendix: Updating from YellowDog 2.3 (Dayton) to 3.0 (Sirius)</title>
<indexterm>
<primary>Sirius</primary>
<secondary>dist-upgrade</secondary>
<tertiary>YellowDog 3.0</tertiary>
</indexterm>
<para>
Here's how to update Yellow Dog Linux from 2.3 (Dayton) to 3.0
(Sirius). This assumes being done just after finishing the base
install (ie: very few packages installed)
</para>
<para>
If we are running X (the following is based on the "base" install, so
we probably aren't), switch to text mode (/sbin/init 3). We assume
we have some network access, the fatter the better. We are going to
download some packages manually, so check that you're able to do
that. Some console-based download tool like ncftp (ftp) or lynx (http)
might come handy.
</para>
<para>
Note for the following: If you get errors from rpm that are not noted
here, you can always do an
<screen>
rm -f /var/lib/rpm/__* ; rpm --rebuilddb
</screen>
This repairs the rpm database in most cases.
</para>
<para>
First, ensure that we are running latest versions of all
software. This may not be necessary, but whatever.
<screen>
apt-get update; apt-get dist-upgrade
</screen>
Now we change /etc/apt/sources.list to include repositories for 3.0
Note that there are only three repositories for 3.0: base, main,
update. Fire up your favourite editor (at least vi should be
installed) and update the file. A working sources.list may look like
like this:
<screen>
rpm ftp://ftp.uninett.no/linux/yellowdog/apt 3.0 base main update
rpm-src ftp://ftp.uninett.no/linux/yellowdog/apt 3.0 base main update
</screen>
Now let's update the package list and check how far-fetched a
complete dist-upgrade is:
<screen>
apt-get update
apt-get -s dist-upgrade
</screen>
Woha! Lots of errors there. Let's resolve the worst of them. Start
with removing lots of packages. Note that after this, we can't read
man pages.
<screen>
rpm -e kudzu kernel-pcmcia-cs rpm-python yup yi pspell aspell groff man
</screen>
What's status now?
<screen>
apt-get -s dist-upgrade again
</screen>
Still errors, and quite unresolvable. We have to take some more
low-level action. The really pain is to get a new version of rpm
installed, so let's start with that. Manually download the following
packages:
<screen>
glibc-2.3.1-51a.ppc.rpm
glibc-common-2.3.1-51a.ppc.rpm
libelf-0.8.2-2.ppc.rpm
popt-1.7-9d.ppc.rpm
rpm-4.1-9d.ppc.rpm
librpm404-4.0.4-8x.27.ppc.rpm
apt-0.5.5cnc4.1-1b.ppc.rpm
libgcc-3.2.2-2a.ppc.rpm
libstdc++-3.2.2-2a.ppc.rpm
expat-1.95.4-1.ppc.rpm
fontconfig-2.1-3.ppc.rpm
freetype-2.1.3-4.ppc.rpm
XFree86-libs-4.3.0-2.1c.ppc.rpm
XFree86-libs-data-4.3.0-2.1c.ppc.rpm
XFree86-Mesa-libGL-4.3.0-2.1c.ppc.rpm
</screen>
We don't have use for apt for a while, so let's just remove it:
<screen>
rpm -e apt
</screen>
So far, so good. Now, let's upgrade glibc and rpm. This is the most
critical part. If we succeed in this, the rest is simple. If we get
this wrong, a reinstall may be the only solution. rpm has some
dependencies, so we have to include them now.
<screen>
rpm -Uvh glibc-common-2.3.1-51a.ppc.rpm \
glibc-2.3.1-51a.ppc.rpm \
libelf-0.8.2-2.ppc.rpm \
popt-1.7-9d.ppc.rpm \
rpm-4.1-9d.ppc.rpm \
librpm404-4.0.4-8x.27.ppc.rpm
</screen>
If your setup is like mine, we're stuck with the following
unresolvable error:
<screen>
rpmlib(PartialHardlinkSets) <= 4.0.4-1 is needed by glibc-common-2.3.1-51a
</screen>
This seems to be a problem overseen by the packagers of YellowDog (and
to be honest, I think they inherited this error from RedHat), so we
just ignore it, use some force, and hope this won't bite us later.
<screen>
rpm -Uvh --nodeps --force glibc-2.3.1-51a.ppc.rpm \
glibc-common-2.3.1-51a.ppc.rpm \
libelf-0.8.2-2.ppc.rpm \
popt-1.7-9d.ppc.rpm \
rpm-4.1-9d.ppc.rpm \
librpm404-4.0.4-8x.27.ppc.rpm
</screen>
Uh-oh. Ugly errors from rpm. Let's check if the rpm database still works.
<screen>
rpm -qa
</screen>
Well, looks like we've really done it. Now what? Sorry to say, but
I've tricked you into ruining your computer installation. Get out
and get a life instead of looking on these old dust-collectors. Just
kidding. Luckily, rpm is able to rebuild it's databases, so we just
remove the old one and build a new.
<screen>
rm -f /var/lib/rpm/__*
rpm --rebuilddb
</screen>
Now the database should work again, right?
<screen>
rpm -qa
</screen>
If this works, we collect 250 bonus points and two silver stars, and
can continue our quest for 3.0. Find the dagger and throw it at the
dragon.
</para>
<para>
If we don't have any special parameters for nsswitch and
gconv-modules, we'll use the new ones (if existing):
<screen>
mv -f /etc/nsswitch.conf.rpmnew /etc/nsswitch.conf
mv -f /usr/lib/gconv/gconv-modules.rpmnew /usr/lib/gconv/gconv-modules
</screen>
Now let's reinstall apt. Is also have a lot of dependencies that have
to be fixed:
<screen>
rpm -Uvh apt-0.5.5cnc4.1-1b.ppc.rpm \
expat-1.95.4-1.ppc.rpm \
freetype-2.1.3-4.ppc.rpm \
fontconfig-2.1-3.ppc.rpm \
libgcc-3.2.2-2a.ppc.rpm \
libstdc++-3.2.2-2a.ppc.rpm \
XFree86-libs-4.3.0-2.1c.ppc.rpm \
XFree86-libs-data-4.3.0-2.1c.ppc.rpm \
XFree86-Mesa-libGL-4.3.0-2.1c.ppc.rpm \
</screen>
I've sometimes got rpm to hang at this place. It's a known bug in
rpm and can hit you anytime. If you experience this, get another
terminal (Alt+F2 if you're on the main console) , kill rpm, and
remove and rebuild the database. Then do the wanted rpm command
again.
<screen>
killall -9 rpm
rm -f /var/lib/rpm/__*
rpm --rebuilddb
</screen>
Now; the installation of apt may have changed our sources.list, so
check it out, and copy back the original if you want to.
<screen>
mv /etc/apt/sources.list /etc/apt/sources.list.3.0.orig
mv -f /etc/apt/sources.list.rpmsave /etc/apt/sources.list
</screen>
We should now probably resync the local apt database and check the
status
<screen>
apt-get update && apt-get -s dist-upgrade
</screen>
Still some unresolved dependencies, but we're getting there. With
apt installed, the rest is like chewing boiled fish. Nothing to care
about. Ouch! a bone.
<screen>
apt-get install pam
</screen>
Drags in the following packages:
chkconfig cyrus-sasl cyrus-sasl-gssapi cyrus-sasl-md5 cyrus-sasl-plain db4
hesiod openldap openssh openssh-clients openssh-server openssl perl
perl-Filter python sendmail
</para>
<para>
Unless you have done some special pam configuration, use the new values for
system authetication. Then go on updating.
<screen>
mv -f /etc/pam.d/system-auth.rpmnew /etc/pam.d/system-auth
apt-get install passwd
</screen>
Drags in the following packages:
glib2 libuser
<screen>
apt-get install kbd
</screen>
Drags in the following packages:
initscripts util-linux
<screen>
apt-get install compat-db compat-pwdb
</screen>
Drags in the following packages:
compat-libstdc++
<screen>
apt-get -s dist-upgrade
</screen>
If no errors, we're with all the difficult parts. Good! Now the
final hurdle: A full dist-upgrade. Do an
<screen>
apt-get -y dist-upgrade
</screen>
and enjoy getting to the end of this quest. You get all the
points. Just kiss the frog and you'll get the princess too. You may
want to reboot, just to check that everything comes up like you
wish.
</para>
<para>
You may want to reinstall some packages again. For example "man" may
become handy.
<screen>
apt-get install kudzu rpm-python pspell aspell groff man
</screen>
That's all there is to it. It wasn't that difficult, was it?
</para>
</sect1>
<!-- Sect1: 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>Hard disk 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 often uses a partition scheme inherited from
MS-DOS. With this, 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>
<!-- Sect1: 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>
GNU/Linux often uses the old partition scheme from MS-DOS. This means
that if there are more than 4 partitions on one disk, one uses
an extended partition (sda4) 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>
<!-- Sect1: More on partitioning: END -->
<!-- Sect1: Make SMS and firmware floppies from Linux -->
<sect1 id="MAKE-SMS-AND-FIRMWARE">
<title>Appendix: Make SMS and firmware floppies from Linux</title>
<para>
This appendix will show how to make SMS and firmware floppies from
Linux or another UNIX-like operating system
</para>
<sect2 id="SMS-WHY">
<title>Why?</title>
<para>
Some people, like myself, seldom have access to boxes running
AIX or MS-DOS, so I thought it could be handy to show how to
make these utility floppies from a system running Linux (or any
other UNIX like box).
</para>
</sect2>
<sect2 id="SMS-HOW">
<title>How?</title>
<para>
To do this, you need the mtools package and the unzip program.
Any reasonable Linux distribution should include these tools.
I also use wget for downloading.
</para>
<para>
You will have to download the last version of SMS and firmware
from IBM. If you want more information on the files, look <ulink
url="http://techsupport.services.ibm.com/server/mdownload2/download.html/">
here</ulink>.
</para>
<para>
You also have to get a password to access the files. To obtain
this, you have to <ulink
url="http://techsupport.services.ibm.com/server/mdownload2/flicense.html">
agree to this EULA</ulink>.
</para>
<para>
The downloaded file is nothing but a ZIP-archive in
disguise. Download it to a suitable directory, and unzip ip like
this:
<screen>
mkdir ibmdownload; cd ibmdownload
wget http://techsupport.services.ibm.com/server/mdownload2/7248100.exe
unzip 7248100.exe
</screen>
You will have to enter the mentioned password when prompted.
</para>
<para>
In the contents of the archive, there's among the files another
ZIP archive, containg the SMS software. Put the contents of this
into a subdirectory like this:
<screen>
mkdir sms; cd sms
unzip ../sms107.exe
</screen>
Now label a floppy disk "SMS", and put it into your floppy
drive. Then format the floppy and copy the SMS files to it like
this:
<screen>
mformat a:
mcopy *.* a:
cd ..
</screen>
Remove the floppy, insert another labeled "Firmware", and continue
with the firmware files:
<screen>
mformat a:
mcopy *.6xe a:
mcopy p93h4940.im* a:
cd ..
</screen>
Woho! You're done. Now that wasn't difficult, was it?
</para>
</sect2>
</sect1>
<!-- Sect1: Make SMS and firmware floppies from Linux: END -->
<!-- &aindex; -->
&aindex;
</article>