5.1. Booting the Installer on Alpha

5.1.1. Alpha Console Firmware

Console firmware is stored in a flash ROM and started when an Alpha system is powered up or reset. There are two different console specifications used on Alpha systems, and hence two classes of console firmware available:

  • SRM console, based on the Alpha Console Subsystem specification, which provides an operating environment for OpenVMS, Tru64 UNIX, and Linux operating systems.

  • ARC, AlphaBIOS, or ARCSBIOS console, based on the Advanced RISC Computing (ARC) specification, which provides an operating environment for Windows NT.

From the user's perspective, the most important difference between SRM and ARC is that the choice of console constrains the possible disk-partitioning scheme for the hard disk which you wish to boot off of.

ARC requires that you use an MS-DOS partition table (as created by cfdisk) for the boot disk. Therefore MS-DOS partition tables are the ``native'' partition format when booting from ARC. In fact, since AlphaBIOS contains a disk partitioning utility, you may prefer to partition your disks from the firmware menus before installing Linux.

Conversely, SRM is incompatible with MS-DOS partition tables. [4] Since Tru64 Unix uses the BSD disklabel format, this is the ``native'' partition format for SRM installations.

Because GNU/Linux is the only operating system on Alpha that can be booted from both console types, the choice will also depend on what other operating systems you wish to run on the same machine. All other Unix-like operating systems (Tru64 Unix, FreeBSD, OpenBSD, and NetBSD) and OpenVMS can only boot from SRM, whereas Windows NT can only boot from ARC.

The following table summarizes available and supported system type/console combinations (see Sección 2.1.2, “Soporte de CPU, placas base y vídeo” for the system type names). The word `ARC' below denotes any of the ARC-compliant consoles.

System Type Console Type Supported
alcor ARC or SRM
avanti ARC or SRM
book1 SRM only
cabriolet ARC or SRM
dp264 SRM only
eb164 ARC or SRM
eb64p ARC or SRM
eb66 ARC or SRM
eb66p ARC or SRM
jensen SRM only
lx164 ARC or SRM
miata ARC or SRM
mikasa ARC or SRM
mikasa-p SRM only
nautilus ARC only (see motherboard manual)
noname ARC or SRM
noritake SRM only
noritake-p SRM only
pc164 ARC or SRM
rawhide SRM only
ruffian ARC only
sable SRM only
sable-g SRM only
sx164 ARC or SRM
takara ARC or SRM
xl ARC only
xlt ARC or SRM

Generally, none of these consoles can boot Linux directly, so the assistance of an intermediary bootloader is required. There are two mainstream Linux loaders: MILO and aboot.

MILO is itself a console, which replaces ARC or SRM in memory. MILO can be booted from both ARC and SRM and is the only way to bootstrap Linux from the ARC console. MILO is platform-specific (a different MILO is needed for each system type) and exist only for those systems, for which ARC support is shown in the table above. See also the (unfortunately outdated) MILO HOWTO.

aboot is a small, platform-independent bootloader, which runs from SRM only. See the (also unfortunately outdated) SRM HOWTO for more information on aboot.

Thus, three scenarios are generally possible, depending on the system's console firmware and whether or not MILO is available:


SRM -> aboot
SRM -> MILO
ARC -> MILO

The UP1000 motherboard (subarchitecture name `nautilus') from Alpha Processor, Inc. is different from all the others, in that it uses an API-specific bootloader that runs under AlphaBIOS firmware.

Because MILO is not available for any of the Alpha systems currently in production (as of February 2000), and because it is no longer necessary to buy an OpenVMS or Tru64 Unix license to have SRM firmware on your older Alpha, it is recommended that you use SRM and aboot on new installations of GNU/Linux, unless you wish to dual-boot with Windows NT.

The majority of AlphaServers and all current server and workstation products contain both SRM and AlphaBIOS in their firmware. For "half-flash" machines such as the various evaluation boards, it is possible to switch from one version to another by reflashing the firmware. Also, once SRM is installed, it is possible to run ARC/AlphaBIOS from a floppy disk (using the arc command). For the reasons mentioned above, we recommend switching to SRM before installing Debian GNU/Linux.

As on other architectures, you should install the newest available revision of the firmware [5] before installing Debian GNU/Linux. For Alpha, firmware updates can be obtained from Alpha Firmware Updates.

5.1.2. Booting with TFTP

In SRM, Ethernet interfaces are named with the ewa prefix, and will be listed in the output of the show dev command, like this (edited slightly):


>>> show dev
ewa0.0.0.9.0               EWA0              08-00-2B-86-98-65
ewb0.0.0.11.0              EWB0              08-00-2B-86-98-54
ewc0.0.0.2002.0            EWC0              00-06-2B-01-32-B0

You first need to set the boot protocol:


>>> set ewa0_protocol bootp

Then check the medium type is correct:


>>> set ewa0_mode mode

You can get a listing of valid modes with >>>set ewa0_mode.

Then, to boot from the first Ethernet interface, you would type:


>>> boot ewa0

If you wish to use a serial console, you must pass the console= parameter to the kernel. This can be done using the -flags argument to the SRM boot command. The serial ports are named the same as their corresponding files in /dev. For example, to boot from ewa0 and use a console on the first serial port, you would type:


>>> boot ewa0 -flags console=ttyS0

5.1.3. Booting from CD-ROM with the SRM Console

Type


>>> boot xxxx -flags 0

where xxxx is your CD-ROM drive in SRM notation.

5.1.4. Booting from CD-ROM with the ARC or AlphaBIOS Console

To boot a CD-ROM from the ARC console, find your sub-architecture code name (see Sección 2.1.2, “Soporte de CPU, placas base y vídeo”), then enter \milo\linload.exe as the boot loader and \milo\subarch (where subarch is the proper subarchitecture name) as the OS Path in the `OS Selection Setup' menu. Ruffians make an exception: You need to use \milo\ldmilo.exe as boot loader.

5.1.5. Booting from Floppies with the SRM Console

At the SRM prompt (>>>), issue the following command:


>>> boot dva0 -flags 0
        

possibly replacing dva0 with the actual device name. Usually, dva0 is the floppy; type


>>> show dev
        

to see the list of devices (e.g., if you want to boot from a CD). Note that if you are booting via MILO, -flags argument is ignored, so you can just type boot dva0. If everything works OK, you will eventually see the Linux kernel boot.

If you want to specify kernel parameters when booting via aboot, use the following command:


>>> boot dva0 -file linux.bin.gz -flags "root=/dev/fd0 load_ramdisk=1 arguments"
        

(typed on one line), substituting, if necessary, the actual SRM boot device name for dva0, the Linux boot device name for fd0, and the desired kernel parameters for arguments.

If you want to specify kernel parameters when booting via MILO, you will have to interrupt bootstrap once you get into MILO. See Sección 5.1.8, “Booting with MILO”.

5.1.6. Booting from Floppies with the ARC or AlphaBIOS Console

In the OS Selection menu, set linload.exe as the boot loader, and milo as the OS Path. Bootstrap using the newly created entry.

5.1.7. Booting from Floppies with the APB Boot Loader (UP1000)

To boot on this platform, run \apb\apb.exe from the `Utility/Run Maintenance Program' menu, and type


boot debian_install
      

at the APB prompt.

5.1.8. Booting with MILO

MILO contained on the bootstrap media is configured to proceed straight to Linux automatically. Should you wish to intervene, all you need is to press space during MILO countdown.

If you want to specify all the bits explicitly (for example, to supply additional parameters), you can use a command like this:


MILO> boot fd0:linux.bin.gz root=/dev/fd0 load_ramdisk=1 
        

If you are booting from something other than a floppy, substitute fd0 in the above example with the appropriate device name in Linux notation. The help command would give you a brief MILO command reference.



[4] Specifically, the bootsector format required by the Console Subsystem Specification conflicts with the placement of the DOS partition table.

[5] Except on Jensen, where Linux is not supported on firmware versions newer than 1.7 - see http://www.linuxalpha.org/faq/FAQ-9.html for more information