script You currently have JavaScript disabled. This site requires JavaScript to work properly.
For more details on how this site uses JavaScript see the JavaScript page.
 
Alpha Linux Notes - zxnet

Menu:

Manufacturers

DEC Systems

DEC hardware

DEC PCs

Alpha Linux Notes

Some quick notes about Linux on the DEC Alpha platform.

Quick History

Alpha was the first non-x86 platform supported by the Linux Kernel with DEC themselves heavily involved in the port. In late 1995, they had three full-time engineers, a part-time product manager, and a part-time technical writer all working on it, and had loaned out several Alpha systems. This work by DEC was documented across three articles by Jim Paradis in the Linux Journal:

As part of this effort DEC also produced a temporary Linux distribution, BLADE, to fill the gap while existing Linux distributions were sorting out Alpha support. The last release of BLADE, version 0.3, can be found on DECs FTP site (local mirror). Other ancient materials related to the porting effort can be found in the Linux-Alpha area of ftp.digital.com.

When Compaq acquired DEC, they continued to support Linux including selling machines specifically targeted at Linux use alongside the Alpha versions of RedHat and SuSE.

See Also

Distributions

To my knowledge, as of January 2026 the following Linux distributions support or have supported the Alpha platform.

Distribution State Last Version Release Date Notes
Gentoo current Download
Debian Historic (ish) 5.0 ("Lenny") 2009 End of support was in 2012. Sid may still support Alpha, and some Debian releases may have unofficial ports. See Debian Ports. Also, notes on installing Lenny below.
RedHat Historic 7.2 2001/2002 Since v2.1. Installation Guide (archive.org)
AlphaCore Historic 3 2007 Based on Fedora Core 5
CentOS Historic 4.6 December 2007
Suse Historic 7.1 2001
TurboLinux Historic 6.0? July 2000 Seems to be the first and only release for Alpha
BLADE Historic 0.3 November 1995 The first Linux distribution for Alpha, created by DEC. Based on Linux 1.3, and appears to be 64bit. available here.

See Also

Installing Debian Lenny

Debian Lenny only supports booting from the SRM console, so it has to be setup from there.

I wasn't able to get my AlphaServer DS20 to boot from the Install CD, it just gave "bootstrap failure". I didn't spend much time trying to resolve this, instead I just went to network booting.

In my ISC DHCPD config file, I added:

        host ds20 {
          hardware ethernet 08:00:2B:C3:A6:92;
          fixed-address 10.0.1.71;
          option host-name "ds20";
          next-server 10.0.1.29;
          filename "ds20-lenny-installer.img";
        }
    

Then I downloaded boot.img to /tftpboot/ds20-lenny-installer.img on the box that's running tftpd.

To boot the machine, I gave the following at the SRM console (where >> is the SRM prompt and ewb0 is the network device — use show devices to get a list of what is available):

        >>> set os_type unix
        >>> init
            (SRM re-initialises)
        >>> set ewb0_protocols bootp
        >>> boot ewb0 -flags "debian-installer/allow_unauthenticated=true"
            (Linux boots and starts the debian installer...)
    

The "allow_unauthenticated" stuff is because otherwise the busybox package fails authentication and won't install (an issue someone else ran into a few years back without resolution). I guess there must be some issue with the package on the debian archive server. If I was installing this on something important it might be a bit concerning, but this is just to play around with, so I don't care much.

From there you can install Debian as normal. When it asks you to select a mirror, choose to enter the details manually and give archive.debian.org as the mirror server. The defaults for the other mirror details should be fine unless you need to use a proxy server on your LAN.

Once the installation process has finished it will reboot. Once SRM has finished initializing hardware it will automatically try to boot from the network again - hit Ctrl+C to cancel that when you see the network boot process start, and run the init command. This will reinitialize the SRM console and get you back at the prompt without any attempts to boot from the network.

For some reason Debian didn't set the default boot device in the SRM console for me. To have the machine automatically boot to linux on startup assuming the halt button isn't in, do the following at the SRM console:

        >>> set auto_action boot
        >>> set bootdef_dev dkd200
    

where dkd200 is whatever drive Debian was installed on. Alternatively, if you'd rather not have linux auto-boot, set auto_action to halt instead.

From here you should be able to do linux things as normal. Package verification seems to fail when installing new packages for some reason, but I've just been ignoring this so far.

Using an SMP Kernel

My DS20 is kind of slow running Lenny with only one CPU. Luckily, the machine has two! The Debian installer doesn't seem to do anything about this though, so it needs to be resolved manually post-install. A quick apt-get install linux-image-alpha-smp installs the kernel, but unfortunately it doesn't make it bootable! I'm sure there is or was some special Debian way of doing this properly, but as Lenny is kind of the end-of-the-line for Debian on Alpha I just fixed it by hand.

I started out by adding the two lines in bold to /boot/etc/aboot.conf:

        #
        # aboot default configurations
        #
        0:2/vmlinuz ro initrd=/initrd.img root=/dev/sdc3
        1:2/vmlinuz.old ro initrd=/initrd.img.old root=/dev/sdc3
        2:3/vmlinux.new.gz ro root=/dev/sda2
        3:3/vmlinux ro root=/dev/sda2
        4:2/vmlinuz-2.6.26-2-alpha-generic ro initrd=/initrd.img-2.6.26-2-alpha-generic root=/dev/sdc3
        5:2/vmlinuz-2.6.26-2-alpha-smp ro initrd=/initrd.img-2.6.26-2-alpha-smp root=/dev/sdc3
        8:- ro root=/dev/sda2           # fs less boot of raw kernel
        9:0/- ro root=/dev/sda2         # fs less boot of (compressed) ECOFF kernel
        -
    

I could then halt the machine with shutdown -h now, and when back at the SRM console, boot the SMP kernel by selection aboot option 5: <<< boot dkd200 -flags 5

Once that was confirmed working, I manually updated the symlinks in /boot as the root user:

        # cd /boot
        # rm vmlinuz initrd.img
        # ln -s initrd.img-2.6.26-2-alpha-smp initrd.img
        # ln -s vmlinuz-2.6.26-2-alpha-smp vmlinuz
    
SSH Server

This release of Debian has OpenSSH 5.1 which provides little in the way of security benefits at this point. Even ignoring all the known vulnerabilities in this release of Debian, and this version of OpenSSH its slowly becoming incompatible due to out-of-date crypto algorithms.

Better off just using telnet: apt-get install telnetd

Building p7zip 16.02

Just so I could run the 7zip benchmark, I wanted to build p7zip. Out of the box it doesn't seem to want to build with the linux any-cpu makefile, so I ended up making some changes. This makefile.machine should work:

        #
        # makefile for Alpha Linux (tested on Debian Lenny)
        #

        OPTFLAGS=-O -s

        ALLFLAGS=${OPTFLAGS} -pipe \
                -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE \
                -DNDEBUG -D_REENTRANT -DENV_UNIX -DMY_CPU_LE -DMY_CPU_64BIT \
                -D_7ZIP_LARGE_PAGES \
                $(LOCAL_FLAGS)

        ALLFLAGS_CPP=-DENV_HAVE_GCCVISIBILITYPATCH -fvisibility=hidden -fvisibility-inlines-hidden

        CXX=g++
        CC=gcc
        CC_SHARED=-fPIC
        LINK_SHARED=-fPIC -shared

        PRE_COMPILED_HEADER=StdAfx.h.gch

        LOCAL_LIBS=-lpthread
        LOCAL_LIBS_DLL=$(LOCAL_LIBS) -ldl

        OBJ_CRC32=$(OBJ_CRC32_C)
        OBJ_AES=