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, 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.
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.
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.
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.1. Limitations of ARC Firmware
Most older systems have ARC firmware to set up hardware configurations, specify boot options, and perform other system maintenance tasks. This firmware is the usual starting point for installing Linux. It has several limitations. It knows how to access files only in MS-DOS, HPFS, and ISO9660 filesystems. When accessing files in MS-DOS or ISO9660, the system only recognizes 8.3 filenames. ARC offers a simple menu-driven console interface for managing your system hardware.
C.3.2. Limitations of AlphaBIOS Firmware
Newer systems use AlphaBIOS firmware instead of ARC. AlphaBIOS firmware is still in active development. If your system has AlphaBIOS, install the latest AlphaBIOS firmware update before installing Linux. AlphaBIOS knows how to access files only in MS-DOS and ISO9660 filesystems. When accessing files, the system only recognizes 8.3 filenames. AlphaBIOS implements a graphical interface for system configuration.
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.
C.3.4. Limitations of Milo Miniloader
The Milo miniloader does not know how to boot itself from disk before booting Linux; it must be initially loaded either from system flash memory or from disk using an operating system loader (OSloader) developed for Alpha systems, such as Windows NT Alpha's boot manager. Linux distributions provide linload.exe.
When Milo is loaded from disk, it is bootstrap-loaded by ARC, AlphaBIOS, or SRM console after you use linload.exe. linload.exe knows MS-DOS (FAT) filesystems, but does not recognize HPFS or VMS filesystems. Milo is apparently limited to MS-DOS, ISO9660, and ext2 filesystems when it has been loaded by linload.exe.
Milo will read ext2 filesystems by default and can load operating system images in ISO9660 or MS-DOS (FAT) formats using a command-line option. Milo should load compressed kernel image files made using gzip, if given the full filename (e.g., vmlinux.gz), but we have found that at least some Milo distributions cannot process such files, at least not when loaded from ISO9660 or MS-DOS filesystems. For more information go to http://www.alphalinux.org/faq/milo.html.
Copyright © 2001 O'Reilly & Associates. All rights reserved.