|
Taking Up the Slack(ware)
The Installation

Kurt Wall
Thursday, June 6, 2002 11:30:52 AM
As Slackware fans know, installing Slackware is strictly a console-based
affair. No eye-popping GUIs here, thank you very much. This alone sets
Slackware apart from other Linux distributions. Other than this
no-frills approach, installing Slackware is much like installing other
Linux distributions: pop the installation CD into the drive, reboot,
and start the process. If you cannot boot a CD-ROM drive, you can
start the installation using floppy disks. At this point, I ran into
one of those "installation details I wish were handled differently:":
as of Slackware 8.1, a floppy-based installation requires at least six
floppies. Yup. You read that correctly; six floppies. Back in the
good ole days, a floppy-based Slackware installation required a
boot disk, which contained the kernel, and a root disk, color.gz,
which held a compressed ramdisk image containing the installer and the
installation filesystem. Alas, the compressed image no longer fits on
a single floppy. Due to an apparent limitation of the boot disk (or
the Linux kernel, perhaps), you can either load a compressed ramdisk
from a single floppy, or read an uncompressed filesystem from multiple
floppies. So, why didn't I just boot the CD-ROM? Somehow, transporting
the bootable installation CD I'd made at work (and which booted at
work) to my home rendered the CD-ROM unbootable, so I was forced to
perform a floppy-based installation -- hence my discovery of the new
multi-floppy root disk. I digress, however, because most people's
bootable CD-ROMs won't mysteriously become unbootable.
If you boot from the CD-ROM, you can select the kernel image from
which to boot. One of the slickest features of Slackware 8.1 is that
you can boot a kernel with support for JFS (IBM's journaling
filesystem), XFS (SGI's well-regarded journaling filesystem),
ReiserFS (Hans Reiser's journaling filesystem), EXT3 (the journaling
extension to EXT2), or, of course, plain vanilla EXT2. If, like me,
you find yourself unable to boot from the CD-ROM, can make a boot disk
using one of these kernel images. There are other options, too,
including standard SCSI and IDE images, support for older SCSI drives,
USB, RAID, and kernels with Speakup speech support.
When the installer first boots, you are presented with a screenful of
information and a boot: prompt. You can either press Enter to boot
straight away or press F1. If you press F1, you will get instructions
telling you how to pass VESA video modes to the kernel before it loads
and a table of supported modes. Type "ramdisk vga=NNN", where NNN is
the mode number corresponding to the resolution and color depth you want,
and then press Enter to boot the kernel. Pressing F2 will take you
back to the initial boot screen. My complaint here is that the
mode I selected, 791, which corresponds to 1024x768@16k colors, didn't
work with my Matrox G400. The kernel complained about an invalid mode,
so I pressed Space to use the boring old 80x25 standard
console. Booting from the CD-ROM, though, F2 offers help selecting a
boot image, while F3 lists the images from which you can choose -- you
don't get to select the boot image when booting from a floppy because
the boot image is the one you selected.
Once the installer has booted, you select a keyboard map if you aren't
using a US keyboard, login, and start the installation with the "setup"
command. If you don't already have Linux partition set up, use "cfdisk"
or "fdisk" to partition your disk before using setup. After creating
and activating a swap partition, I configured my filesystem. Because I
had booted with an XFS boot disk, I was able to format my partitions
as XFS. All of the kernels support EXT2, EXT3, and ReiserFS; the JFS
image adds support for JFS and the XFS image (surprise!) adds support
for XFS.
My filesystem duly arranged, I selected my software. With Slackware,
you select disk sets, a hoary holdover from the days when Slackware
was installed from floppies. "Disk sets" are just collections of
related packages. These days, of course, CD-ROMs rule, but the
terminology hasn't caught up with the technology and the older term
is still used. The choice of disk sets includes:
- A : Basic Linux System
- AP : Applications that don't need X
- D : Development tools and utilities
- E : Emacs
- F : FAQs and HOWTOs
- GNOME: The GNOME desktop and GTK+
- KDE : The K Desktop Environment and Qt
- KDEI : KDE international packages
- L : Various libraries, including GLIBC
- N : Network programs, utilities, servers, and clients
- T : teTeX, LaTeX, and related typesetting software
- TCL : TCL and Tk
- X : Base X Window system
- XAP : X Window system applications and window managers
- Y : BSD games
Strictly speaking, you only need to install the components of disk set
A that are marked required in order to have a fully functioning,
albeit limited, Linux system. In fact, to get the bares bone system
possible, only select the A disk set and then, unselect all of the
packages disk A contains. You'll wind up with only a single package,
aaa_base, installed, which contains just enough to create a usable
system, a whopping total of 178MB of software -- try to reproduce
that with Red Hat, TurboLinux, SuSE, OpenLinux, and the like.
- full : Installs everything
- newbie : Prompts user before installing each package
- menu : Chooses groups of related packages
- expert : Selects individual packages
- custom : Uses custom tagfiles
- tagpath: Uses tagfiles in specific subdirectories
- help : Gives keystroke help for using the prompt modes
For completeness' sake, I chose the Full option, which installed about
2GB of software. The "tagfile" in the "custom" and "tagpath" options
is a file (named, not surprisingly, TAGFILE, that sets the defines what
packages from software sets to install or not install. Intended for
advanced or experienced users, tagfiles enable you to customize and
automate the installation process. I won't bore you with a complete
list of the packages available, but the highlights are:
- Kernel 2.4.18
- GLIBC 2.2.5
- XFree86 4.2.0
- KDE 3.0.1
- GNOME 1.4
- GNU Emacs 21.2
- Ghostscript 7.0.5
- BIND 9.2.1
- Apache 1.3.24
- Mozilla 1.0rc3
- Netscape Communicator 6.2.3
Other new additions to Slackware are my favorite window manager, XFCE,
WindowMaker (Blackbox 0.62 is in the "extra" packages not available by
default), LPRng (CUPS is another print manager in the "extra"
packages), and GCC 3.,1, also in the "extra" category. Most of the
applications have been upgraded to quite recent versions -- GCC 2.95.3
is still the preferred compiler, however. A few Slackware standards
have been put out to pasture, literally -- they've been moved in to
the "pasture" directory. Most notable among these retired packages is
the Xview, which contained the OpenWindows window
manager. XFree86-3.3.6 has also been retired.
After about 20 minutes, all of the software was installed and the
installer walked me through the standard post-installation
configuration process. First, I installed a kernel to boot the system,
selecting the XFS image from the CD-ROM. Next I created a boot floppy,
which uses SYSLINUX to boot the root filesystem. I passed up the
opportunity to make a spare boot disk, skipped the modem configuration
step, and declined to select a customized screen font for the
console. After a short interrupt while the installer ran Scrollkeeper
to update and install the GNOME documentation, I set up the
boot loader, LILO. Installing LILO was a breeze -- the installer has a
simple option that attempts to install LILO automatically and an
expert option if you need to exercise greater control over LILO's
configuration and installation. Even the simple option enables you to
select a VESA framebuffer video mode and to specify additional command
line options that will be passed to the kernel (using LILO's "append="
keyword) at boot time.
Next, I configured the mouse and permitted the installer to use start
GPM at boot time to enable console mouse services. Network
configuration was a snap, too: I provided my host and domain name, fed
the installer my static IP, netmask, gateway, and nameserver
addresses, and then let the installer probe for the NIC, which it
correctly identified as an Ether Pro 100. The configuration continued
with specifying my Sendmail configuration (standard SMTP), selecting
my timezone, and selecting the system's default window manager. If you
perform a full installation, you can choose my a number of window
managers, including
- GNOME
- XFCE
- Enlightenment
- WindowMaker
- KDE
- FVWM2
- FVWM95
- Sawfish (without GNOME)
- TWM
After setting the root password, the installation was complete, so I
exited the installer and rebooted, after being told, annoyingly, that
"Installation of Slackware GNU/Linux is complete." I say "annoyingly"
because I don't agree to the use of the phrase "GNU/Linux"-- but
that's another column.
In all, the installation was painless. One feature I hope will change
some day is that the installer, which is based on the dialog utility,
an ncurses-based console GUI, will become more fault tolerant in the
face of stray or accidental keystrokes. If you press Enter twice in a
way because your hand twitches after too much coffee, that second key
press carries over to the next dialog, causing you cause you to say
Yes where you would ordinarily have said No, to accept a default value
you might have preferred to change, or to install or not install
software unintentionally.
Next: First Impressions »
| Features |
 |

|
| Speed |
 |

|
| Value |
 |

|
| Usability |
 |

|
| Overall |
 |

|
|
|