YAIE: Debian on a PowerTower Pro
Last week my partner and I performed a fresh install of Debian
potato onto a PowerTower Pro 225 (equivalent to an Apple PowerMac
9500). The good news is that the install worked, and was much
more hassle-free than the install process I went through for my
main machine (a PowerCenter 132; similar to an Apple 7200) a
little more than a year ago. The PowerTower Pro is now happily
running Debian GNU/Linux, but the trip was rougher than I would
have liked.
I hope that this message can provide some useful feedback about
the installation experience, and perhaps lead to some changes.
It's very important that the install experience be a good one,
because that process provides newcomers to Debian with their first
impression of the Debian system, and if their first impression is
that a system is arbitrary, confusing, and *broken*, then believe
me, they're going to go back to something that seems like it works
well out of the box. (LinuxPPC, for example, has a much glossier
installer (although it's nothing compared with Red Hat's or
Mandrake's) that generates a positive impression despite the fact
that the distribution itself is broken in many subtle ways.)
The quality of Debian's installer varies wildly; some parts seem
polished and others seem like the kinds of hacks we might have
seen five years ago. Debian's current installer isn't just likely
to put off an iMac owner who wants to play with that cool Linux
thing she's been hearing about, but may also alienate seasoned
hackers who have come to expect a certain degree of
professionalism and polish in an OS installer.
General Points
==============
The dialogs the installer presents are often confusing, badly
written, or misleading. During this installation there were many
times when a dialog flashed up and then disappeared so fast that
all I could tell was that a dialog had been there. Once or twice
I was able to make out one or two words giving me a guess at what
the dialog was about. I hope that this behavior is the result of
a bug in the installer and is not the intended behavior.
Another weakness of the current dialogs is that the consequences
of some choices are not made clear until after they have been
made. For example, the function of the Cancel button that appears
in many of the dialogs is unclear. Does it terminate the entire
install process, or does it merely allow you to back up a step?
(If the latter, the button should make its functionality clear by
being called ``Back'' or ``Previous''. If the former, an
additional Back button needs to be added, and the distinction
between the two needs to be made clear. It should go without
saying that a drastic action such as cancelling the installation
should require confirmation before taking place.)
Some of the choices the installer presented were inappropriate for
the particular hardware the installer was running on, and
sometimes entire interaction sequences lead nowhere (such as the
sequence for creating a boot floppy, which ended with the
installer informing me that that it couldn't create a boot floppy
on the PowerPC/PowerMac platform!).
Specific points, in chronological order
=======================================
The system in question is a PowerComputing PowerCenter Pro
(similar to Apple PowerMac 9500). 225 MHz 604e processor; 96 MB
RAM; IMS TwinTurbo video card. Two hard disks (one with MacOS,
one external drive for Linux), one SCSI Zip drive, one SCSI CD-ROM
drive.
Using files from
<ftp://ftp.ca.Debian.org/Debian/dists/potato/main/disks-powerpc/2.2.16-2000-07-20/powermac>
Initial boot using installation and root diskettes.
Fine, except for many complaints from the floppy driver of the
form:
swim3: expected cylinder <n>, got <n+1>
Debian installer starts
Configure keyboard
We have a ``mac-us-ext'', but I was surprised by the very
limited number of options. (I believe there were three,
only one of which was a non-US keyboard.)
Partitioning hard disk using pdisk
The first screen allows you to choose which disk to
partition. On our system, it offered us a menu with
/dev/sda, /dev/sdb, and /dev/sdc, but no hints as to which
disk was what. Since the kernel knows which disk
corresponds to what device (in /proc/scsi/scsi), it would be
more helpful to include that information in the dialog.
Once you've chosen a disk, you are unceremoniously dumped
into pdisk, without any instructions as to how the program
works or what you should do.
It would be nice if there were some information about the
number and size of partitions the user should create (how
would a new user have any idea that they need at least two
partitions -- root and swap, and that those partitions have
to be special types, or have special names?), as well as a
quick overview of the commands available within pdisk
(especially how to get help, how to save the partitions
they've created, and the fact that you can quit pdisk
*without* disturbing your existing partitions!). It would
be even better if the partitioning tool were more
user-friendly.
When creating a partition, pdisk expects the user to enter
the partition number. However, the display (from ``print'')
shows partitions labelled /dev/sdc<n> (where <n> is a
positive integer), not simply numbers.
Once you've chosen a partition to create (using the last
number listed, which is likely to be 4 on a Mac disk), pdisk
wants you to enter the starting block number, followed by
the number of blocks in the partition. An inexperienced
person isn't going to have any idea how big a ``block'' is,
or where a partition should start. In order to figure out
how to get a, say, 2 GB partition, you're going to need a
calculator or a scratch pad. Good luck if you're creating
lots of partitions. I've used partitioning tools for Linux
that are much more user-friendly. They allow you to specify
the size of partitions in ``real'' units (megabytes or
gigabytes), and can handle at least some of the details
related to start points.
When you're ready to save the partition map, pdisk says
Writing the map destroys what was there before. Is that
okay? [n/y]
which is horrible from a user-interface--design standpoint.
Stating that some destructive event is going to occur and
then asking if it's okay is a major no-no. Better would be
something along the lines of
IMPORTANT: You are about to overwrite the existing partition
map. Any filesystem partitions you have modified will be
DESTROYED. (If you were creating a partition from free
space, writing the map should not damage existing data.
Nevertheless, you have should have a backup of any data on
this disk you want to keep, just in case.)
Proceed? [n/y]
which makes it clear that the user is making the change, and
has the option to cancel.
Once you've said yes to ``Writing the map'', pdisk says
The partition table has been altered.
When I first read this message, I thought it was an error
message, telling me that it had it couldn't write the
partition map because something else had already changed it.
Wouldn't it be much better to say ``Partition map saved
successfully.''? (It would also probably be a good thing to
pick either ``partition table'' or ``partition map'', and
stick with that choice throughout.)
Initializing and activating the swap partition
Because we named the swap partition ``swap'', the installer
was able to figure out which partition to use. If a naive
user hadn't done so, they would have to remember what
partition they'd created for swap (assuming that they knew
enough to create a swap partition in the first place).
Perhaps the menu could include not only the partition device
name but also the name given to the partition?
Initializing and activating other partitions
A dialog appears that offers you the option to make the ext2
partition be compatible with Linux 2.0.x kernels. Is that a
reasonable question to ask given that the 2.0.x kernels
won't run on the PowerPC/PowerMac architecture? Even if
they did, or if someone might move the disk to another
machine running an older kernel, should the default be to
include these features?
Once you've decided to go ahead and initialize a partition,
a dialog box pops up warning you that initializing
partitions will cause them to lose all the data in that
partition. But the default is ``yes''! (By the time you've
repartitioned your disk you've pretty much already lost
access to any data, but the issue here is consistency: The
installer should either should assume that the user is
enough of an expert to default to "Yes" for *all*
dangerous-yet-common actions, or take the safe path of
defaulting to "No".)
Mount root partition
Install kernel and modules
One minor quibble: How many people are going to install the
base system from floppy rather than CD, network (http/ftp),
NFS, or files downloaded to a hard disk? (Remember that the
base system is 15.7 MB gzipped!) Why is floppy the default?
Everything else is fine up to the point where the installer
downloads rescue.bin and drivers.bin.
Specifying Debian mirror
The installer requires you to enter the entire name of your
Debian mirror, including the site and the path to the
distribution. Given that the path should be the same for
any major mirror, wouldn't it be better to present a list of
mirrors, perhaps organized by country, and fill in the rest
automagically?
At or near the top of the list could be an option to enter
the information by hand, in case you wanted to use a local
or non-standard mirror.
Yet another option would be to have the installer connect to
a script on a Debian server that would redirect it to a
local mirror (ala CPAN).
Configure device driver modules
This procedure requires you to go through a bunch of lists
and sublists and pick drivers out by hand. Unfortunately,
it assumes that you actually know not only what each module
does, but that a particular module actually works on your
hardware. Some of the modules have useful descriptions, but
many of them are cryptic at best, and many others have no
descriptions at all!
Some examples:
* What is ``Network Block Device'' support for? Why
would we want it?
* Choosing nfsd causes the installer to ask you if it
should install the module in the kernel. Saying yes
asks for command-line arguments -- but how would anyone
who hadn't done the installation before know what to
type here? What kind of command-line arguments are
even available? (And are those arguments to the nfsd
module or to modprobe?)
* The SCSI options don't include either MESH or 53C94,
the standard PowerMac SCSI interfaces. Various other
menus also don't include PowerMac-specific drivers.
* The dmasound driver is described as ``Amiga or Atari
DMA sound support''. There's no mention of the
PowerMac, and if you didn't already know that these
machines use DMA sound, you might not be able to get
sound working. (I know that the
current kernel documentation also omits mention of the
PowerMac, but the text of the option does.)
Also, it's not clear why you have to pick drivers in the
first place. The installer is running, so it presumably has
some idea of what hardware is on your system and what
modules it needs to run -- is this procedure meant to
configure some future kernel? It could be much more
abstract -- ``Do you want NFS support?'' ``Do you want SCSI
support?'' -- and have the installer do the work of choosing
the correct driver modules.
In any case, picking modules is pointless. For every one we
tried (and we tried a bunch; at least one from every
submenu), we got the error message
modprobe: Can't locate module XXX
Installation failed.
Poking around, we discovered that there *were* no modules in
/lib/modules. There was a tar file in /tmp, but it had
apparently never been unpacked, or else was unpacked to
somewhere the installer didn't know about.
Install the base system
The same dialog asking for a Debian mirror appears that we
saw before, and it hasn't been updated with the information
we provided last time! That's especially tricky, because
the dialog starts by showing the end of the (very long)
string, giving the impression that it *is* using the
information you provided earlier; the only way you'd know it
had been reset would be to scroll back to the beginning and
check.
After that, a dialog flashes by too fast to read. Our best
guess is that it had something to do with a DNS lookup, but
there's no way to tell.
Configure the base system
Set the time zone
Presents one of the most bizarre screens I've ever seen.
There are two lists: one that seems (at first glance) to
contain continents or country names, and one which lists
time zone abbreviations (among other things). A logical
interpretation is that choosing a country/continent in
the first list should cause the second list to present
the time zones in that continent/country. Not so. The
two lists are apparently completely independent. Given
that, why are they separate? (By the way, ``Arctic'',
``Etc'', ``Indian'', and ``SystemV'' are neither
countries nor continents, which means that your initial
impression about the contents of the first list is
wrong.)
Once you choose something that seems like a possibility
from one of the lists and hit OK, you get a screen
showing choices within that group (which I expected to
see in the second list on the first page).
Why not let the user choose their continent, then present
them with a list of countries on that continent, then
with a list of cities/time zones in that country? Or
even just present a list of cities and let people choose
one that they know is in their time zone. (That's pretty
much what the Mac OS does.) Experts who wanted one of
the weird choices could always change the time zone later
by hand or use an ``expert time-zone--setting'' dialog
that lets them type in whatever they want or presents
them with a more complex set of choices.
Make Linux bootable directly from the hard disk
Runs Quik, apparently. A dialog appears with lots of text,
but it disappears before you can even focus on it. (All I
managed to catch was the word ``Quik''.) Exactly what
happened here, and whether or not it actually worked, is
completely unclear.
Make a boot floppy
Seems like a good idea, especially since we don't know if
the last step actually did anything or not.
The installer instructs you to insert a blank floppy into
the ``first'' floppy drive. Macs, of course, only have one
floppy, so it's kind of pointless to tell users to use the
first drive. Presumably that text comes from the x86
installer.
But our root floppy is still in the drive. The installer
hasn't ejected the disk, and Mac floppies, of course, can
only be ejected by software or by poking a bent paperclip
into a hole beneath the drive slot. We decide to overwrite
the root floppy with the boot floppy image (we can always
make another one, after all.)
At which point the installer tells us that
``Creating a boot floppy is still not possible for
PowerPC/PowerMac''
It isn't? Then why did the installer waste our time
pretending it was? Oh, yes, and yet another dialog flashes
by too fast to make out.
Reboot the system
The next dialog assumes that we have a working boot floppy,
and tells us to eject it before restarting the machine.
Only (1) we don't have a boot floppy, because the system
claimed it couldn't make one, and (2) we can't eject it,
because the computer is supposed to be smart enough to do
that for us.
Also, the dialog says ``Please take care of *that* before
you answer "Yes" to the following question.'' What,
exactly, is ``that'' meant to refer to? Ejecting the disk?
In any case, why do you have to answer ``yes'' to a separate
question? Why not choose ``Proceed'' or ``Reboot now'' or
something similarly meaningful?
We choose yes. The machine reboots. The floppy, of course,
is still in the drive, but luckily the Mac is smart enough
to recognize that it's not a bootable floppy (remember, it's
still a root floppy) and spits it out.
The machine then reboots into MacOS. Huh? What happened to
that Quik stuff we didn't actually get to read anything
about?
A workaround -- Booting with BootX
Now what do we do? Quik wasn't installed, apparently, and the
installer couldn't (or wouldn't) create a boot disk. Luckily, we
have BootX and the kernel image (``linux'') downloaded from the
installation floppies directory and we know how to use them. Not
everyone would.
The system boots
While booting, the kernel complains about ``Unresolved symbols in
pcmcia''. But that's fine, since we don't have PCMCIA hardware
anyway.
Configuration
Passwords and accounts
Once it's up, the system asks if we want to enable MD5 and
shadow passwords. Yes, we do. It has us set up a root and
user account. Fine.
PCMCIA stuff again
The system has figured out that we don't have PCMCIA
hardware, and wants to know if it should remove the packages
that support that hardware. Yes! But why didn't it ask
during the install? (Or, better, figure it out on its own?)
Apt configuration
Asks about the method to use (we choose http), then whether
we want to use non-us and non-free. Asking about non-free
here really does make it sound like non-free is part of
Debian, which is kind of uncool. I'm in favor of enabling
people to use non-free software if they need or want to, but
maybe that support should have its own dialog, or, even
better, shouldn't be asked about at all during the basic
installation/configuration process, and should require the
user to figure out how to get non-free software by reading
some documentation (which would, of course, contain plenty
of reasons to not use non-free before actually explaining
how to do it).
The system then ``tests apt sources'' by doing an apt-get
update.
Debian Task Installer
It's not completely clear what's in these tasks. For
example, with the ``X Window System'' and ``X Window System
Core'', don't you have a significant amount of overlap?
(Maybe ``X Window System'' should automatically include ``X
Window System Core'', or else be mutually exclusive.)
Also, it seems weird that the configuration program tests
the apt sources by doing an apt-get update, and then does
another update before downloading the packages. Why
wouldn't the files it just downloaded work?
anXious
Doesn't know about our video card (an IMS TwinTurbo), and
suggests running xviddetect. How many basic (as in
``shipped with'') cards are there for PowerMacs, and is it
at all reasonable for this utility to not know about most if
not all of them? Given that the only X server provided by
Debian for PowerPC is the fbdev server, why doesn't anXious
know that, and not suggest that we use other X servers that
won't work?
SCSI weirdness
The system tried to load /lib/modules/2.2.17/scsi/53c7,8xx.o,
and reports some ``unresolved symbols''. Why would it try
to load this module, which has nothing to do with the
hardware on the system? (Doesn't appear to be a problem
since I've rebuilt the kernel.)
Post-installation oddities
==========================
No X
X configuration for PowerPC is still nonexistent. The base
XF86_Config allowed X to start, but it used a bizarre video
mode (one that involved setting the display up as a window onto
a much larger virtual screen) leaving us to (1) figure out some
necessary kernel boot arguments, and (2) hack the XF86_Config
file by trial and error. Not a new complaint, I know, but how
difficult can it really be to port the tools that LinuxPPC has
to work properly on Debian? Will this configuration problem go
away with XFree86 4.X when it becomes available?
Running gdm
After installing GDM, which apparently isn't considered to be
an integral part of GNOME (?!), GNOME starts with twm, which is
not an GNOME-aware window manager. task-gnome-desktop installs
Window Maker, which *is* GNOME-aware. Shouldn't Window Maker
be set to be the default window manager, at least for GNOME?
/dev missing many useful devices
/dev is still grossly underpopulated, although it's better than
it was when we built my main system a year ago (at that time,
there were no /dev/sdc* devices, which was kind of a hassle
since my Linux disk was the third disk on the system). We had
to run MAKEDEV by hand to create additional devices -- why
can't the installation or configuration program do that
automatically?
The Debian kernel also doesn't include SCSI generic support, so
I had to build a new kernel to get that functionality. Once
that was done, we discovered that the /dev/sg* devices were
created with the wrong ownership and permissions, and had to
correct them by hand.
That's it! Thanks for reading so far.
CMC
+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
Behind the counter a boy with a shaven head stared vacantly into space,
a dozen spikes of microsoft protruding from the socket behind his ear.
+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
C.M. Connelly c@eskimo.com SHC, DS
+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
Reply to: