Fedora can be installed on and will run on a
wide variety of Intel-based hardware. This does not include
pre-Pentium legacy platforms, but many older PCs, workstations,
rackmounted systems, and multiprocessor servers are supported.
Small-, medium-, and even large-scale deployments of specially
tuned
Linux distributions are available through a number of
companies such as IBM, which offers hardware, software, and service
solutions (with more than 200 software solutions for clustering
applications alone).
It is always a good idea to explore your
hardware options extensively before jumping on board with a
specific vendor. You can buy computer hardware with a Linux
distribution
preinstalled
. At the time of this writing, Dell
Computer
offered
systems complete with Red Hat Enterprise Linux
(such as desktop PCs and workstations) through
http://www.dell.com/redhat/. IBM also offers Linux on its product
line, and more information can be found through
http://www.ibm.com/linux/. To find HP and preinstalled Linux
systems, browse to http://www.hp.com/linux/. You can also buy
low-cost desktop PCs with Linux through Wal-Mart's online store at
http://www.walmart.com (click to select the electronics
department).
In the first section of this chapter, you
learned to consider how Linux can be used in your environment and
how you can prepare for its installation and deployment. These
considerations also play a role in determining the types of
hardware you need in your installation. But the type of deployment
you choose also determines the hardware required for a successful
deployment of Linuxand post-deployment satisfaction. The range of
Linux hardware requirements and compatible hardware types is quite
wide,
especially
when you consider that Linux can be used with
mainframe computers as well as embedded devices.
Meeting the
Minimum Fedora Core Hardware Requirements
The Fedora Project publishes general minimum
hardware requirements for installing and using its base
distribution in a file named RELEASE NOTES on the first CD-ROM or
DVD, or available at http://fedora.redhat.com/docs/release-notes/.
For the current release, your PC should at least have a 200MHz
Pentium CPU, 620MB hard drive space, and 64MB RAM for using (and
installing) Fedora without a graphical interface. For obvious
reasons, a faster CPU, larger capacity hard drive, and more RAM are
desired. Servers and development workstations require more storage
and RAM.
Using Legacy
Hardware
If you have an older PC based on an Intel 486
CPU with only 32MB RAM and a 500MB hard drive (which can be hard to
find nowadays), you can install other Linux distributions such as
Debian from The Debian Project at http://www.debian.org/.
Caution
One caveat is that if you prepare a hard drive
with Linux in a PC with one CPU, such as a Pentium, and then
install the drive in a PC with a 486 CPU, you should either make
sure that a 486-based Linux kernel is installed, or perform a
post-install
of an appropriate kernel after moving the hard
drive.
Installing Fedora on legacy hardware will be
easier if you choose to use more recent Pentium-class PCs, but even
older Pentium PCs can be used and purchased at a fraction of their
original cost. Such PCs can easily handle many mundane but useful
tasks. Some of the
tasks
suitable for older hardware include
-
Acting as a firewall, router, or gateway
-
Audio jukebox and music file storage server
-
Handling electronic mail
-
Hosting a remote printer and providing remote
printing services
-
Network font server
-
Providing FTP server access
-
Remote logging capture
-
Secondary network-attached backup server
-
Serving as an Intranet (internal LAN) web
server
-
Unattended dial-up gateway, voice mailbox, or
fax machine
-
Use as a thin-client workstation for basic
desktop tasks
Older PCs can handle any task that does not
require a CPU with a lot of horsepower. To get the most out of your
hardware, do not install any more software than required (a good
idea in any case, especially if you are building a server). To get
a little performance boost, add as much RAM as economically and
practically
feasible
. If you cannot do this, cut down on memory
usage by turning off unwanted or unneeded services. You can also
recompile a custom Linux kernel to save a bit more memory and
increase performance (see Chapter 39, "Kernel and Module
Management").
Note
Fedora does not include XFree86 3.3.6. This
version might be important because older, legacy video cards are no
longer supported in the
newer
X11R6.8.2 distribution. You can
download version 3.3.6 from The XFree86 Project, Inc. through
http://ftp.xfree86.org/pub/XFree86/3.3.6/binaries/. Make sure to
choose the appropriate version for your operating system!
Planning for Hard
Drive Storage for Your Fedora Installation Class
Making room for Fedora requires you to decide on
how to use existing hard drive space. You might decide to replace
existing hard
drives
entirely, for example, or you might decide to
use only one operating system on your computer, making partitioning
unnecessary. A full install from this book's DVD will require at
least 7GB hard drive space just for the software, so if you plan to
install everything, a 10GB hard drive could be ideal for a
workstation. Note that depending on how you plan to use Linux, a
smaller capacity disk can be used, or a disk capacity many times
the
size
of your system will be required.
Note
The following recommended installations and
minimal storage requirements are based on a full install of the
freely
available version of Fedora Core distributed on the
Internet. The copy of Fedora included with this book is the same,
but you might find many additional software packages available from
third-party Fedora contributors. Installing additional software
will affect your storage requirements.
The Fedora installer offers a choice of
installation types or classes, and each has its own hard drive
storage requirements:
-
Workstation
You will need a minimum of 3GB hard drive storage, but much more if
you choose to install everything. This installation is intended for
developers and other users who want to use the entire spectrum of
Linux software offered by the distribution.
-
Personal
Desktop
This installation class is for SOHO (
small office
/
home
office
) users and
installs
a basic graphical desktop, along
with requisite office and Internet productivity software; you will
need around 2.3GB of storage if you do not customize the default
software selections.
-
Server
You
need at least 1.1GB of storage for the operating system and server
software, but you also must take into consideration other storage
requirements. For example, if you plan to run a website with a lot
of graphics or serve other files, you might need to add storage to
your system or accommodate remotely mounted storage locally.
-
Custom
This
installation supports a minimal install requiring a little more
than 600MB; however, you can also choose to install all the
software in the distribution; in which case, you'll need 7GB or
more of storage, along with several hundred megabytes of free space
for temporary files.
The storage requirements for each of these
classes can be revised somewhat, depending on the X desktop
environment you choose (such as KDE or GNOME). Choosing the Custom
install lets you choose specific software packages from the
group
package categories. Here are some software packages you might want
to consider passing up in the installation process for a minimalist
system:
Checking Hardware
Compatibility
Fedora software for Intel-based PCs is compiled
for the minimum x86 platform supported by the Linux kernel.
Note
The compatibility information in this chapter
relates
to Fedora. Other distributions might have different storage
and CPU requirements. Also bear in mind that Fedora is available
for x86-64 and PPC architectures as well. Consult the release notes
to get a detailed specification for these versions.
Specific issues regarding Linux hardware
compatibility can be researched online at a number of sites. Red
Hat offers a hardware compatibility database at
http://hardware.redhat.com/hcl/. You can select hardware class,
manufacturer, version of Red Hat Enterprise Linux, platform, and
status of support.
Other sites, such as the Linux-USB device
overview at http://www.qbik.ch/usb/devices/, offer an interactive
browsing of supported devices, and printer compatibility can be
researched at LinuxPrinting.org at http://linuxprinting.org/. Some
hardware categories to consider in your research include
-
Controller
cards
Such as SCSI, IDE, SATA, FireWire
-
CPUs
Intel,
AMD, Power, 64-bit, and Dual Core
-
Input devices
Keyboards
-
Modems
External, PCMCIA, PCI, and controllerless workarounds
-
Network cards
ISA, PCI, USB, and others
-
Pointing
devices
Mice, tablets, and possibly touchscreens
-
Printers
Various printer models
-
RAM
Issues
regarding types of system memory
-
Sound cards
Issues regarding support
-
Specific motherboard
models
Compatibility or other issues
-
Specific PCs,
servers, and laptop models
Compatibility
reports
, vendor
certification
-
Storage
devices
Removables, fixed, and others
-
Video cards
Console issues (X compatibility depends on version of X11R6 or
vendor-based X distribution used)
If you have a particular laptop or PC model, you
should also check with its manufacturer for Linux support issues.
Some manufacturers such as HP now offer a Linux operating system
preinstalled, or have an in-house Linux hardware certification
program. Laptop users will definitely want to browse to Linux on
Laptops at http://linux-laptop.net/.
If you cannot find compatibility answers in
various online databases, continue your research by reading the
Linux Hardware HOWTO at http://www.tldp.org/HOWTO/Hardware-HOWTO/.
At that address, you will find loads of general information and
links to additional sources of information.
Keep in mind that when PC hardware is
unsupported under Linux, it is
generally
because the manufacturer
cannot or will not release technical specifications or because no
one has taken the time and effort to develop a driver. If you hit a
roadblock with a particular piece of hardware, check the hardware
manufacturer's support web pages, or Google's Linux pages at
http://www.google.com/linux. You can then type in a specific search
request and hopefully find answers to how to make the hardware work
with Linux. This is also a good way to research answers to
questions about software issues.
Preparing for
Potential Hardware Problems
Fedora will work out-of-the-box with nearly
every Intel- or PowerPC-based motherboard and laptop; drivers for
thousands of different types of hardware peripherals are included.
But you can sometimes run into problems if Linux does not recognize
a hardware item, if Fedora does not correctly initialize the
hardware, or if an
initialized
item is incorrectly configured. For
these reasons, some hardware items are prone to creating problems
during an install. In the sections that follow, you learn some
important pointers for avoiding these problems or resolving those
that do occur.
Controllerless
Modems
As you read earlier, most Linux hardware-
related
installation problems stem from a lack of technical specifications
from the manufacturer, thwarting efforts of
open
source developers
to create a driver. In the recent past, one hardware item that
triggered both types of difficulties was the controllerless modem,
also colloquially known as a
WinModem
. The good news is that modem chipset
manufacturers have been more forthcoming with driver details. Some
original equipment manufacturers, such as IBM, have made a
concerted effort to provide Linux support. Support for the ACP
Mwave modem, used in ThinkPad 600/Es and 770s, is included in the
Linux kernel. Drivers have been developed for many of the
controllerless modem chipsets that
formally
did not work with
Linux.
If a driver is not available for your
controllerless modem, you have a few options. You can download the
driver's source code and build the driver yourself. Alternatively,
you can download a binary-only software package and install the
driver.
Some controllerless modems might also need to be
initialized and configured using a separate utility program. The
modem, if supported, should work normally after installing and
configuring the driver.
You can research Linux support for
controllerless modems by browsing to http://www.linmodems.org/.
Universal Serial
Bus Devices
Fedora supports hundreds of different Universal
Serial Bus (
USB
) devices. USB is a
design specification and a protocol used to enable a host computer
to talk to attached peripherals. Because of lack of manufacturer
and device ID information or lack of technical specifications
regarding certain chipsets, some devices might not work with
Fedora. USB 1.1 devices are designed to support data transfer
speeds between 1.5 and 12Mbps.
Common USB devices include
cameras
, keyboards,
mice, modems, network interfaces, printers,
scanners
, storage
devices, video (such as webcams), and hubs (to chain additional
devices). Some
problematic
USB devices (at the time of this
writing) include
-
Wireless
Many
802.11b/g wireless USB network adapters, with the exception of
those using Atmel chipsets
-
Scanners
Many
Canon, Visioneer, and Hewlett-Packard USB scanners
-
Webcams
Selected Logitech and Creative Labs webcams
Although some enlightened manufacturers are
aware of opportunities in the Linux
marketplace
, most still do not
support Linux. It pays to determine Linux support before you buy
any USB device; again, research Linux USB support and its current
state of development by browsing to
http://www.qbik.ch/usb/devices/.
The newer USB 2.0 specification enables devices
(such as hard and CD drives) to use speeds up to 480Mbps. Fedora
supports USB 2.0 with the
ehci-hcd
kernel module. This
driver, in development since early 2001, enables the use of many
forms of newer USB 2.0 devices as long as you have a supported USB
controller. Check out the current state of Linux USB 2.0 support by
browsing to http://www.linux-usb.org/usb2.html.
Motherboard-Based
Hardware
Small form factor PCs, thin
clients
,
notebooks
,
and embedded devices are part of a growing trend in the PC
industry. Manufacturers are cramming more functionality into fewer
chips to simplify design and lower power requirements. Today, many
computers come with built-in video graphics, audio chipsets, and
network interfaces, along with a host of peripheral support.
Common modern (1996-onward) PC motherboard form
factors are designed according to industry-assigned specifications
(usually from Intel), and are ATX (129.6 inches); MicroATX (9.69.6
inches); and FlexATX (97.5 inches). One of the newest and even
smaller motherboard forms is from VIA Technologies, Inc.the
mini-ITX (approximately 6.56.5 inches), which has an embedded CPU.
CPUs commonly used in all these motherboards will vary, and have
different socketing requirements based on chipset pins: Socket 478
for K7-type CPUs (from AMD); Socket 370 for Pentium IIIs and
Celerons from Intel, or C3s from VIA; and Socket 478 for Intel's
Pentium 4s (early versions of which used a 423-pin socket). Older
socket types are Socket A, Socket 7 (and Super 7), Slot 1, and Slot
2.
Fortunately, nearly all controllers, bridges,
and other chipsets are supported by Linux. Although flaky or
unsupported built-in hardware can (usually) be sidestepped by
installing a comparable PCI card component, cutting-edge notebook
users are at the most risk for compatibility problems because
internal
components
are not
user
-
replaceable
. Potential pitfalls
can be avoided through careful research (vote with your money for
Linux-compatible hardware), or by choosing PC motherboards with a
minimum of builtin features, and then using PCI (
Peripheral Component Interconnect
) or AGP
(
Accelerated Graphics Port
) cards
known to work.
CPU, Symmetric
Multiprocessing, and Memory Problems
Fedora supports all Intel-based Pentium CPUs.
Code is included in the Linux kernel to recognize the CPU type when
booting, and to then implement any required fixes to
overcome
architecture
bugs
(such as the now-infamous divide-by-zero error).
After you install Fedora Core, you can also rebuild the Linux
kernel to
specifically
support and take advantage of the host PC's
CPU. You might not realize extreme improvements in computational
speed, but you'll be assured that Linux is crafted for your CPU's
architecture, which can help stability and reliability. Details
about rebuilding the Linux kernel are in Chapter 39. Some of the
Intel-based CPUs with specific supporting code for Linux include
those from Advanced Micro Devices, Transmeta, and VIA
Technologies.
Fedora's Linux kernel also should automatically
recognize and use the amount of installed RAM. The Linux kernel
should also recognize and map out any memory holes in system memory
(perhaps used for video graphics).
If you are installing Fedora on a working,
stable PC, you should not have any problems related to the system's
memory. If you are
putting
together a new system, you need to avoid
combining or configuring the system in ways that will interfere
with its capability to process data. Some issues to be aware of
are
-
Do not expect similar CPU performance across
product lines from different manufacturers, such as AMD or VIA.
Some CPU models offer better floating point or integer math
operations, which are important for a number of CPU-
intensive
tasks
(such as graphics, audio, and video rendering or conversion). If
you need better performance, try to find a faster CPU compatible
with your motherboard, or switch to a CPU with better Floating
Point Unit (
FPU
) performance.
-
Overclocking can cause problems with
overheating
, memory access, and other hardware performance, and it
is not a good idea for any Linux system. Overclocking is a popular
geek pastime and a great way to get a bit of performance boost out
of slower CPUs by altering voltage settings and/or clock timings
via the BIOS. You can try to push your CPU to higher speeds, but
this approach is not recommended if your aim is system stability.
The Linux kernel will report the recognized CPU speed on booting
(which you can view using the
dmesg
command).
-
Along the same lines, CPU and motherboard
overheating will cause problems. Proper attachment of the CPU's
heatsink using a quality thermal paste (never use thermal tape),
along with one or more fans providing adequate airflow lessens the
chance of hardware damage and system failure.
-
You can run into problems if you switch the type
of CPU installed in your computer, and especially if your PC's BIOS
does not automatically recognize or configure for newly installed
mainboard hardware and components. In some instances, a system
reinstall is warranted, but BIOS issues should be resolved
first.
-
Not all CPUs support symmetric multiprocessing,
or SMP. Fedora readily supports use of two or more CPUs and, during
installation, automatically installs an appropriate Linux kernel.
You can avoid problems by reading the Linux SMP HOWTO (available
through http://www.tldp.org/). Note that some CPUs, such as the
current crop of VIA C3s, might not be used for SMP. Also, SMP
motherboards require that all CPUs be identical. This means that
you need two identical CPUs to take advantage of SMP.
-
Faulty or bad memory causes Linux kernel panics
or Signal 11 errors (segmentation faults),
causing
a system crash
or a program to abort execution. Linux is quite sensitive to faulty
hardware, but runs with great stability in a correctly configured
system with good hardware. Problems can arise from incorrect BIOS
settings, especially if video memory must occupy and use a portion
of system RAM. Always install quality (and appropriate) memory in
your PC to avoid problems.
Preparing and
Using a Hardware Inventory
Buying a
turn
-key Linux solution is one way to
avoid hardware problems, and many
vendors
are standing by, ready to
prescribe solutions. However, managing deployments aimed at using
existing hardware requires some information collection.
If you are a small business or individual user,
you are well advised to prepare detailed checklists of existing
hardware before attempting a migration to Linux. Not only do you
benefit from the collected information, but you might also be able
to sidestep or anticipate problems before, during, or after
installation. Problems are most likely to occur with newer
hardware, cutting-edge hardware such as new motherboard chipsets
and video cards, or extraneous hardware such as operating
system-specific scanners, printers, or wireless devices.
Table 2.2 provides a comprehensive checklist you
can use to take inventory of target hardware, such as the computer
and any peripherals. Veteran Linux users can take the collected
information to build custom systems by adding known hardware or
substituting cheaper but equivalent hardware.
Table 2.2. System and Peripheral
Inventory Checklist
|
Item
|
Errata
|
|
Audio Devices
|
Microphone:
Line out:
Line in:
|
|
BIOS
|
Type:
Revision:
ACPI:
APM:
|
|
CD-ROM Drive
|
Brand:
Type:
|
|
CD-RW Drive
|
Brand:
Type:
CD-R write speed:
CD Re-write speed:
CD-ROM read speed:
|
|
DVD Drive
|
Brand:
Type:
|
|
DVD+/-RW Drive
|
Brand:
Type:
|
|
Digital Camera
|
Brand:
Model:
Interface:
|
|
CPU
|
Brand:
Socket type:
Speed:
|
|
FireWire (IEEE 1394)
|
Chipset:
Device(s):
|
|
IrDA Port
|
Device number:
Port IRQ:
|
|
Keyboard
|
Brand:
Type:
|
|
Laptop
|
Brand:
Model:
Hibernation partition:
|
|
Legacy Ports
|
Parallel type:
Parallel IRQ:
RS-232 number(s):
RS-232 IRQ(s):
|
|
Mice
|
Brand:
Type:
|
|
Modem
|
Brand:
Type:
|
|
Motherboard
|
Brand:
Type:
Chipset:
|
|
Monitor(s)
|
Brand:
Model:
Horizontal freq:
Vertical freq:
Max. resolution:
|
|
Network Card
|
Wireless:
Brand:
Type:
Speed:
|
|
PCI Bus
|
Version:
Model:
Type:
|
|
PCMCIA
|
Controller:
Cardbus:
Brand:
Type:
|
|
Printer(s)
|
Brand:
Model:
|
|
System RAM
|
Amount:
Type:
Speed:
|
|
S-Video Port
|
Xsupport:
|
|
Scanner
|
Brand:
Model:
Interface type:
|
|
Sound Card
|
Chipset:
Type:
I/O addr:
IRQ:
DMA:
MPU addr:
|
|
Storage Device(s)
|
Removable:
Size:
Brand:
Model:
Controller(s):
Rotational speed:
|
|
Storage Device Controller
|
Type:
|
|
Tablet
|
Brand:
Model:
Interface:
|
|
Universal Serial Bus
|
Controller:
BIOS MPS setting:
BIOS Plug-n-Play setting:
Device(s):
|
|
Video Device(s)
|
Brand:
Model:
Xinerama:
Chipset:
VRAM:
|
Use the checklist in Table 2.2 as a general
guideline for recording your computer's hardware and other
capabilities. You can get quite a bit of information through
hardware manuals or other documentation included with your PC,
video, sound, or network interface card. Don't worry if you cannot
fill out the entire checklist; Fedora will most likely recognize
and automatically configure your PC's hardware during installation.
Much of this information can be displayed by the
dmesg
command after booting. However, some of these details, such as your
video card's graphics chipset and installed video RAM, can come in
handy if you need to perform troubleshooting. You can also use the
list as a postinstallation check-off sheet to see how well Fedora
works with your system.