This column is an introduction to installing Linux onto your computer, getting
it running, and beginning to explore the best OS in the universe.
This column is an introduction to installing Linux onto your computer, getting
it running, and beginning to explore the best OS in the universe.
Linux runs on an extremely wide range of hardware, so guaranteeing every possible combination is
virtually impossible. Still, Linux “out of the box” often supports computers equipped with standard
components. If Windows can run on a computer, then chances are that Linux can too.
You probably know that Linux is Open Source Software. This means that anyone can modify its
internal workings. As a result there are thousands of people all over the world working on it all
the time. So if you’ve just obtained a copy of Linux and it doesn’t support your particular video
card (or modem or network card), then all is not lost: a recent upgrade that may support your
hardware could be available on the Internet or from whoever provided you with Linux. Unless your
computer or peripherals are particularly rare or unusual, chances are Linux already supports it, or
There are many sources from which you can get Linux, and many versions available. You can get it
for free from sites on the Internet, you can buy a packaged copy (“distribution”), or you can buy any
one of a number of books about Linux that will include a distribution. I’m using a Red Hat packaged
version (5.2), and I will assume for the remainder of this article that you are too. Installing one
of the other distributions is a similar experience. The important thing is to get a recent copy.
According to Red Hat, their 5.2 distribution requires:
* An IBM compatible PC
* 8 MB of memory (“RAM”) minimum
* CD-ROM drive (IDE or SCSI)
* One or more disk drives (total disk capacity of 40 MB or more)
* 3.5″ floppy disk drive (as drive A)
These are really bare minimums and are uncomfortably small. Linux will certainly run in a
machine with 8 MB memory and a 40 MB disk, and for some specialized applications you might install
it with less than that. For a typical desktop system, however, you really want to have at least 32
MB of memory and at least 500 MB of disk space. Your processor doesn’t have to be from Intel, but it
does need to be compatible. My PC has an AMD K6 processor. Cyrix also makes Intel-compatible
You’ll need a video card of some sort as well. Although Linux supports a wide variety of
hardware, video cards are still occasionally a problem. For instance, I just installed Red Hat 5.2
on a recently-purchased PC. I got a very fancy new graphics card, and when I finished installing
Linux I found that this card was not supported.
In my case I was fortunate. I discovered that there was new software available from Red Hat’s
web site that could support my hardware, and I was able to download and install it. Of course, I had
to use another computer for the download.
I’m going to assume that you plan to run X-Windows on this system (I’ll explain that later). To
do that you will want your monitor to be at least 14 inches. Video adapters are measured in the
“resolution” and the number of colors that they can display. You’ll want your resolution to be at
least 800 by 600 pixels (“800×600″) and you’ll want at least 256 colors.
If you’re using a computer that you already have, perhaps an older one, then the choice of
hardware is already made and there’s not much we can do about it. If you’re buying a new machine to
run Linux, then its best not buy anything particularly obscure or esoteric. If I’d been careful
enough to check first I would have found that the current Red Hat didn’t support my graphics card
and I could have saved myself a little trouble.
If the hardware you have is not supported by your distribution, then there may still be a
solution for you out on the Internet. If you’re not sure whether your hardware is supported, refer
to the Installation Guide that comes with your distribution for a short list of the main types of
hardware it supports. If you have Internet access then you can check Red Hat’s website (http//:www.redhat.com) for a more complete list.
The process of installing Red Hat Linux is mostly automated. The software does a good job of
detecting the hardware you are using. There are two main areas where you will be asked questions
during the installation:
* You will be asked about the kind of video hardware you have
* You will be asked to make some decisions about how to use your disk drives
* You’ll also be asked about which packages you want to install (we’ll discuss that
The PC you’re installing on does not need to have DOS or Windows running on it now. If it does
that’s fine. That will prove that the machine is working, and it will also make taking the following
Whether you’re running Windows now or not, compile a list of what hardware you have. For the
part it will be sufficient to know the manufacturer’s name and the model.
The list should include:
* The number of serial ports
* What type of modem (if any), and what serial port it is connected to (COM1, COM2 or COM3
are the most common)
* The network adapter
* The video card (amount of video memory on the card)
* The sound card
* The monitor
You will also need to know something about the disk drives in your PC. Typically, disk drives
use either an “IDE” or a “SCSI” interface. You should know which interface your disk drives use, as
well as the number of drives and their storage capacity.
If you are currently running Windows 95, 98, or NT on your PC then it should be easy to
determine your disk drive configuration. Find the desktop icon that says “My Computer” and double
click on it. In the window that comes up select “View” from the menu bar, and then select
“Details” from that menu [see Figure 1].
The result will be similar to Figure 2. In the figure below the important details to note are
that I have a 3.5″ floppy as drive A (you’ll need this, too), and I also have two disk drives. Their
sizes are 1.99 gigabytes (GB) and 0.99 GB. A gigabyte is 1000 megabytes. So my 0.99 GB drive is 990
megabytes. Of course, the type and sizes of your drives will be different than mine:
You can also use Windows to gather some information about your monitor and video card. As above,
double click on “My Computer”, and then double click on “Control Panel.” Your setup might differ
from this one, but you should see something resembling Figure 3.
Now double click on “Display” (Figure 4).
Select the “Settings” tab (Figure 5).
Select the “Display Type” button (Figure 6).
This shows me the type of video card (“adapter”) I have, the model (“Adapter String”), and how
much memory that adapter has on it (2 MB).
More information about your modem can be found in the “Control Panel” too. From the window shown
in Figure 3, select the “Modems” (Figure 7).
You will want to take a note of the modem manufacturer, the model and
which port it is attached to.
Now you have your inventory. If you can’t complete this inventory then don’t worry, the
installation does a pretty good job on it’s own of figuring out what hardware you have.
A Word About Partitioning
If you know what a disk partition is then just skip ahead to the next section. Most people
understand the “file cabinet” analogy that disks contain “folders” and “files”, but there’s more to
it than that.
Think about the disk as a closet. You and your significant other have just moved into a new
apartment and the bedroom has a large empty closet. Before you use the closet you have to put up a
horizontal pole from which to hang your clothes. You may also put in some shelves. Since there are
two of you, you install some vertical shelving and divide it into two sections. The point is that
before you use this storage closet you install some things that help you divide up the space and
make it usable, rather than just tossing things in a pile on the floor where you’ll never find them
A disk drive is vaguely like that closet. It has a “size” (or “capacity”). In my case you saw
above that my biggest drive has a capacity of 1.99 GB. Before the computer can use that storage it
has to put some bookkeeping information into it. It can also optionally divide that larger space
into a number of smaller spaces. Each of those smaller spaces is fully independent. I can stuff my
side of the closet full and not bother my partner, who is a neat-freak. This process is called
“partitioning”, and the individual spaces prepared on the disk are called “partitions”. They act
like separate virtual drives on your real physical drive.
Why do you need to know all this? When installing Linux you will be asked how you want to
partition your disks. Partitioning the disk is required, even if you choose to make one large
partition. That’s just the way computers work. As at home, I may have a closet all to myself, but
I’ll still want some shelves and a pole in there on which to hang my clothes.
It may seem easiest to make just one large partition, but there are some good reasons why you
won’t want to do this. One reason is that you might want to backup your disk to a tape. One impact
of partitioning is that backups are usually done on a partition basis. If you have a tape drive that
you intend to use for backup then you may want to consider the capacity of a tape when planning a
partition size. For instance, if the tape can hold one gigabyte, then you may want to restrict your
partition sizes to one gigabyte or less. That way, each partition will fit on a backup tape.
While you’re installing Linux you will be asked to specify the partitions that you want. It’s
best to understand what that request is about, and plan your response to it now, so in this section
we’ll plan our partitioning arrangement.
Linux requires at least two partitions. It doesn’t matter if they’re on the same disk or on
different disks. Red Hat recommends that you have at least four partitions. You can have almost any
number of partitions that you want. Red Hat can justify specific uses for ten. At the minimum you
will always have one partition, called a “swap” partition, and a second referred to as a “Linux
native” partition. The swap partition is where data is stored when the computer memory starts to get
full, and so the size required for this partition is related to the amount of memory that you have.
The rule of thumb is to try to make your swap partition twice the size of the physical memory that
Linux (and UNIX systems in general) are usually set up with different partitions for holding
different kinds of information. The operating system, and subsystems like mail and news generally
run without much user intervention. The mail and news programs need storage space for incoming and
outgoing messages, but you don’t want them to fill your disks up and cause problems for other pieces
of the system. Remember that Linux will treat each partition as if it were a separate drive. This
means that if one partition fills up, it won’t make the whole system unusable!
Red Hat recommends the following minimum partitioning:
* Swap – typically twice the size of your computer memory, not more than 127 MB, not
less than the amount of memory in the computer
* Root – 50 MB to 100 MB. This is where the core, required Linux software, and
configuration files are stored. This partition often contains the storage space for subsystems like
mail and news. Since this is the case, I recommend making this a little larger than Red Hat
suggests, maybe 200-300 MB.
* /usr – 300 MB to 700 MB. Linux includes a good deal of optional software (games for
instance) which you may or may not choose to install. This partition is where much of the optional
software is stored.
* /home – This is typically where your personal data will be stored, and so the size
depends on how much data you intend to have. 50 MB is an acceptable bare minimum.
Additional optional partitions prescribed by Red Hat are:
/usr/local,/usr/src, /tmp, /var, /opt,
and/boot. These partitions are optional and so I won’t discuss them here. If you don’t make
these partitions, don’t worry — the data that would go into them just becomes part of your root and
As I said earlier, only two partitions are required: swap and native. If you are going for the
barest minimum, then plan to make your swap twice the size of your memory, and your native all the
rest of your drive. If your native ends up with less than 50 MB then make the swap smaller. If the
swap ends up the same size as your memory or less, you should really consider getting a bigger disk
drive. If your native partition is larger than 1 GB then you might want to think about breaking it
into smaller partitions, say, one for /usr and one for root. You can have more than one
swap partition, so if you have more than one disk drive you can consider putting a small swap
partition on each. The 127 MB limit only applies to the maximum size of an individual swap partition
and not to the total swap space.
Since my computer has two disk drives, and each drive can have one or more partitions, then I
could certainly put one partition on each and use all of my disk. On the other hand it’s a good rule
of thumb that if a partition (particularly the root) is larger than 1 GB, then you ought to consider
breaking it up. This will simplify backup as I mentioned above, and it will also make things simpler
if I decide next year to add another disk drive.
Given the partition requirements above, and the disk drives that I have, I chose the
I will take the .99 GB drive and divide it into partitions as follows:
* Swap – 100 MB
* Root – 100 MB
* /usr/src – 500 MB
* /var – 100 MB
* /tmp – the remaining space
(approximately 190 MB)
I will take the 1.99 GB drive and partition it as follows:
* Swap – 100 MB
* /usr – 800 MB
* /home – the remaining space (approximately 1 GB)
Take an inventory of your disks and try to figure out a way to sandwich two or four partitions
into it: swap (size requirement described above), root (50 to 100 MB), /usr (300 MB to 700
MB), and /home. /home can use whatever space is left. /home is for your
own use and is not used by Red Hat, so the size of /home is entirely up to you. The
partitions that are most likely to gradually fill over time as you use your system are /home
and /var. /usr and /usr/src will hold the Red Hat software and so your needs
here will depend upon what packages you decide to install.
If you can, try to be generous with /usr. It isn’t fun when you almost finish the
installation, decide to install extra packages, and then run out of room on the partition before the
The process of partitioning a disk completely erases what was previously on that disk, so if
your system has Windows on it you should be aware of that. You have several options:
* If you don’t want Windows anymore, then just partition your disks as described above.
* Windows also uses disk partitions. On some Windows systems you may have a “C:” drive and a
“D:” drive. These may or may not be on the same physical disk drive. You may choose keep the “C:”
drive for Windows and re-partition the “D:” drive for Linux.
* You may keep the existing Windows disks and partitions, add a new disk drive to the
computer, and dedicate that drive to Linux.
Linux is content to live in a computer with Windows. At any one time you can only use Windows or
Linux (you can’t have both running together), and when you start the computer up you can have a
choice of which you will use. This is known as a “multiple boot” system.
If you do decide to try a multiple boot installation, then be sure to back up your Windows disk
before you begin. If you add a separate disk for Linux then you might even consider disconnecting
the Windows disk before you begin the Linux installation. This way there’s no chance of accidentally
damaging the Windows disk.
Now you know what kind of video hardware you have, what disk drives you have, and you’ve planned
how you’ll set up your partitions. Next time we’ll pick up at this point and complete the
If you feel like reading up a little between now and next time, I recommend:
1. The Complete Red Hat Linux Installation Guide 5.2. Red Hat Software, Inc., 1998 (this is
the guide that comes with your Red Hat distribution).
2. Oualline, S. Discover Linux. Foster City, CA: IDG Books Worldwide,1997.
Hal Moroff has been developing UNIX systems and applications for 20+ years. He’s new enough to
Linux that he’s finding new things every day. He can be reached at