[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: