home | O'Reilly's CD bookshelfs | FreeBSD | Linux | Cisco | Cisco Exam    

Book HomeRunning LinuxSearch this book

C.3. Identifying Your Alpha System

There are many different Alpha systems, each requiring different installation methods. Because different Linux kernels are compiled to meet these variations in CPU and system designs, you must identify your Alpha hardware to correctly choose boot disks and kernel disks for various distributions.

Before you install an operating system, you must know the machine's graphics options and audio components, system memory, CPU class, disk-drive interfaces and sizes, existing operating systems/filesystems (if any), and attached peripherals, especially any CD-ROM drive and floppy drives. Some Alpha systems require firmware configuration changes and even actual hardware changes to complete a Linux installation.

Which Linux distribution you choose to install may depend on the hardware you have and any other operating systems that you run on it. After you gather your hardware information, you can determine which distribution best suits your needs. You can always build any source packages from other installations once you have a bootable system. Here are a few examples of hardware factors that dictate your choice of distribution or method of installation:

Once you have gathered your hardware data and selected your Linux distribution, choose your installation method. Alpha systems vary more than typical PC systems (having been engineered to be used as everything from basic display terminals to supercomputers), so you should evaluate your hardware and choose the booting method you will use with your Linux distribution. Otherwise, you may find that you cannot complete the installation as you expected, or that Linux will be difficult to boot without rebuilding the installation.

Most Alpha installations use Milo, which is the easiest and most reliable method for installing Linux. The Milo utility is a mini-kernel that shares some of the same low-level PALcode (the language in which the firmware of an Alpha system is written) with the Linux kernel. Milo passes its hardware configuration definitions to Linux when it bootstraps the kernel, and Linux uses those definitions to interface with the PALcode segment that is co-resident in system memory with the Linux kernel. While there are alternatives to the Milo miniloader, you cannot use the usual Intel Linux boot management utilities to prepare an Alpha system for Linux installation, because they cannot provide the necessary firmware interface support.

If you add a CD-ROM drive to your system to install Linux, check your hardware documentation and Linux package documentation to determine that the CD-ROM will be recognized natively in the BIOS or that your Milo loader will support that drive. Standard SCSI CD-ROM drives are supported by Milo using integral SCSI controllers and several popular add-on controllers,[4] and an ATAPI(EIDE) CD-ROM is supported for some systems, especially those with a built-in ATAPI controller. But if the CD-ROM drive is not accessible as a native drive expected on a particular system, your system firmware or the Milo miniloader that bootstraps the Linux kernel may not recognize it.

[4]The current Red Hat distribution of Milo recognizes the NCR 810 family of SCSI controllers; Adaptec1740, 2940, and 3940 series SCSI controllers; and QLOGIC ISP controllers. The Milo SHOW command causes Milo to display a list of its supported devices.

Although network installation of Linux (storing the files on one machine and downloading them over the network to the machine where you want Linux to run) should be possible, major distributions have had persistent problems supporting this capability. We are not going to describe the technique. We assume you are installing Linux on a stand-alone Alpha system. You can configure it for network use later.


Configuring and setting booting behavior on some older Alpha systems requires changing jumper settings on the motherboard or changing system data stored in nonvolatile RAM, or both. You may need to change jumper settings initially for installation and again afterward to configure the system.

In typical Linux CD-ROM installation, you generally proceed as follows:

  1. Collect system hardware information to select the correct installation files and procedures. Look at your system hardware manuals or system administration manuals. Get bug reports and review patches to the current software distribution that you will use to install your package. Collect current software installation documentation if you believe the information provided by the vendor is obsolete or incomplete.

  2. Consider the size of your hard-disk drives and decide how they are (or will be) partitioned for Linux. "Section 3.1.2, "Drives and Partitions Under Linux"" in Chapter 3, "Installation and Initial Configuration", offers basic considerations for allocating disk space and partitioning, although you must adjust the numbers for Alpha. The installation utilities that you choose will support one or another disk-partitioning method, but cannot be used for all partitioning requirements.

  3. Determine how you want Linux to boot when the installation is complete. This may affect your choice of installation method.

  4. Choose your Linux installation method based on your hardware and its firmware, your disk-partitioning requirements, and Linux's booting behavior. For almost all installations, we think that Milo is the best firmware utility for loading Linux.

  5. Create the correct data diskettes (Milo, kernel image, and ramdisk image) diskettes for your system.

  6. Configure your system hardware as needed to support the installation of Linux.

  7. If you use the usual Milo installation procedure, create the correct Milo image diskette for your system.

  8. Power up the system, access its console (older systems use ARC, while newer ones use AlphaBIOS or SRM as described later), and load your Linux loader (usually the LINLOAD.EXE program, which is then used to load Milo). If you have Windows NT installed on your system, you can use the NT OSloader to load Milo; otherwise you will use system firmware to load a bootstrap loader that will then be used to prepare the system to install Linux.

  9. Load Milo, use Milo to boot the kernel, and run the CD-ROM installation program.

  10. Perform any additional disk partitioning and formatting for your system booting requirements.

  11. Load additional Linux utilities, applications, compilers, and programming languages or libraries. Recompiling a current, stable release of the Linux kernel tailored to your system requirements is highly recommended.

  12. When you are happy with your Linux installation, set it up to autoboot or boot from a boot manager selection menu. For some older systems, this may also require setting jumpers. Most systems require changes in the firmware console or installation of a bootstrap program (probably a Milo version) in system nonvolatile RAM.

An alternate procedure is required for those systems that Milo cannot configure; these alternatives are dependent on your system configuration and maintenance firmware. Like other systems, each Alpha contains at least one firmware program stored in system ROM or flash ROM that provides a configuration-program execution environment. Systems set up for Tru64 Unix or Open VMS have a System Reference Maintenance console or SRM. Systems set up for Windows NT usually have the Alpha Reference Console (ARC) firmware. Newer systems may have an AlphaBIOS instead of ARC; SRM is usually provided if the system was sold with DU.


Firmware programs are small and efficient. Alpha system ROMs typically include space to hold several of them, along with other essential programs, such as debugging and diagnostic tools (which should not be overwritten).

Once Linux is installed, many systems provide a flash-RAM management utility (FMU) to allow you to "blow" a Milo image into system nonvolatile RAM. Other such utilities may come with your purchase of a commercial OS release or a developer package. Some are distributed on an EPROM chip that you install. Because ARC and AlphaBIOS firmware provide a graphical interface environment, they take more space, and you will not find both of them on a standard system. AlphaBIOS is a replacement for ARC that attempts to make OS installation on Alpha systems more uniform and automatic--more like OS installation on an Intel-architectured PC.

Booting Linux can be made as automatic as booting MS-DOS or Windows. We do not recommend that you use an FMU until you are satisfied with your tuned-up Linux installation.

Because all systems that are configured to run Windows NT are provided with a floppy drive that Milo can use to install Linux, the two main installation paths involve Milo (and ARC or AlphaBIOS), SRM and Milo, or other loader utilities. We focus on Milo-based installation methods for consistent and predictable results and offer an installation solution for any significant Alpha platform. If you do not like the specific solution that we describe, you will learn about other installation options as you review your resource materials.

C.3.3. Limitations of the SRM Console Firmware

The SRM console can load data from IDE/ATAPI, SCSI, or floppy drives. It uses a system's native SCSI drive controller to access a recognized SCSI device for booting. SRM can read a SCSI floppy drive. SRM can access authentic MS-DOS-format filesystems (but not those created by Linux fdisk), BSD-labeled UFS filesystems (but not BSD-style filesystems labeled by Linux), and ISO9660 filesystems. An SRM console is available firmware for any system that does not provide or have ARC or AlphaBIOS.

The SRM console allows you to boot the system by transferring control to the secondary bootstrap loader that it loads blindly. SRM knows little about disk partitions or filesystems and treats disk devices as block devices. It reads from the first 512-byte sector of the storage device. This sector should contain a sector address and offset from which SRM can begin reading the size of data block. SRM goes to that location and loads contiguous data into memory. The data should be an image file of the secondary loader that boots the system.

Alpha systems usually have two secondary waders: the "raw" loader from the Linux kernel and the separate aboot utility. The aboot utility is more flexible than the raw loader if you must install Linux using the SRM console. However, you can use the SRM console to load the Milo loader for a more consistent installation procedure. Some machines do not currently have a MILO available (DS20), so, in those cases, using SRM and a secondary boot loader is mandatory.

When you use SRM and aboot to boot Linux, the first partition of the disk should start at cylinder number 2. This leaves room at the beginning of the disk to install aboot. The third partition on the disk (partition C) should be the entire size of the disk, from cylinder 1 to the end. The SRM Howto provides more information for those who will install using SRM and aboot at http://www.alphalinux.org/faq/srm.html.

Library Navigation Links

Copyright © 2001 O'Reilly & Associates. All rights reserved.