Table of Contents

Frequently Asked Questions

Short answers to the questions most often asked about Linux on Alpha, with links to the pages that answer them in full. Terms are explained in the Glossary.

Hardware and firmware

Will a current distribution run on my Alpha?

Only if it has an EV56 (21164A) or later processor. Linux 6.10 removed support for the EV4, EV45, and EV5 generations, so systems such as the Multia, AlphaStation 200 and 400, and the EB164 can run nothing newer than Linux 6.9, and no current distribution. Systems sold with an EV5 that also accept an EV56, such as the AlphaStation 500 and 600, work once the processor is upgraded. 1) See Current Status, and the current kernel column of the Systems table.

Which firmware does my system need?

For Linux, the SRM console, wherever the system has it. The ARC and AlphaBIOS firmware were written for Windows NT, and boot Linux only through MILO, which no distribution has shipped for many years. SRM boots Linux with aboot, the boot loader that current distributions install, and it is the only firmware that can boot Linux on multiprocessor systems. Every 21264 system has it. 2)

Which Alpha should I get?

For a current distribution, a system with an EV56 (21164A) or later processor and an SRM console. The single-processor 21264 systems, the AlphaServer DS10 and DS15 and the AlphaStation XP1000, are the most practical; the multiprocessor servers are faster but power-hungry. See Systems: Choosing a system today.

Are multiprocessor systems supported?

Yes, with an SMP kernel booted from SRM. MILO does not support multiprocessor systems. 3) See Current Status: Hardware.

Does X work, and which graphics cards?

ATI Radeon cards with the kernel's radeon modesetting driver are the only graphics cards known to work with current X.Org on Alpha. 4) The firmware must also be able to initialize the card; see Other Hardware: Graphics.

Is there a desktop and a web browser?

Debian Ports has packages for Xfce, MATE, LXQt, and LXDE and for the NetSurf, Dillo, and Epiphany browsers, but there is no Firefox or Chromium for Alpha. 5) See Current Status: Desktop use.

My system forgets its settings and the time when it is unplugged

The console settings and the clock are kept in memory backed by a battery on the motherboard, and after twenty or more years that battery is usually dead. Replace it. 6) See Systems: Common problems.

How do I get a serial console?

set console serial and init at the SRM prompt, and console=ttyS0 on the kernel command line. Both are needed. The ES47, ES80, and GS1280 need console=srm instead of console=ttyS0. See Using the SRM Console.

Can I try Alpha/Linux without Alpha hardware?

Yes, with QEMU, which emulates an ES40-class system and runs current Debian and Gentoo. See QEMU.

Installing and booting

How do I install a distribution?

Update the SRM firmware, set up a serial console, partition the disk with a BSD disklabel, and boot the distribution's install CD from SRM. Installation describes each step, and Distributions lists the current distributions and their install media.

Why can't fdisk create a partition table SRM will boot?

SRM needs a BSD disklabel, and fdisk from util-linux cannot create one. Use parted with mktable bsd. 7) See Installation: Partitioning.

Will a distribution kernel boot my DS25, ES45, or ES47?

Debian's kernel is built for them: it is built without CONFIG_ALPHA_LEGACY_START_ADDRESS, as the Titan, Wildfire, and Marvel systems require, and its installer uses the same kernel. 8) Gentoo's minimal install CD boots a kernel built with the option by default, but also carries gentoo_nolsa, built without it, which is booted with -flags 1, or -flags 3 for a serial console. Gentoo's gentoo-kernel package is built without the option. A kernel built from the kernel's own defconfig also has the option on. See Installation: Distribution kernels and Kernel: Kernel start address.

aboot says "unknown compression method"

aboot tries to load the kernel uncompressed and then compressed, and prints this if both fail, whatever the actual cause. Usually the path or partition number is wrong. 9) Boot with -flags i and use aboot's d command to list the partition's contents. See aboot: Known issues.

The kernel panics with "Unsupported system type"

The kernel was configured for a different system. Use a generic kernel, or configure it for this system; see Kernel: Configuring for a system.

Running programs

What do "unaligned trap" messages mean?

Messages such as

dbus-daemon(366): unaligned trap at 0000020000080bf0: 00000000f6857c0e 28 18

mean that the program read or wrote a 2, 4, or 8 byte value at an address that was not a multiple of its size. Alpha cannot do that in hardware, so the kernel traps the access, performs it in software, and logs the message. 10) The program keeps running and gets the right result, but each such access is far slower than an aligned one. The message gives the program name and PID, the address of the faulting instruction, the data address, the opcode, and the register.

The cause is almost always a bug in the program, typically a pointer cast from a char buffer to a wider type, and the same code is undefined behavior on every architecture. It should be reported to the program's developers. How to find the instruction and fix the code is described in Unaligned Access.

A program dies with "Floating point exception"

The program performed floating-point arithmetic that produced or used a NaN, an infinity, or a denormal, and was not compiled with -mieee. Alpha handles these cases only with help from the compiler, which -mieee requests, and without it the processor raises SIGFPE. Debian and Gentoo build with -mieee by default, 11) 12) but upstream GCC does not, 13) so software built with another compiler or with explicit flags may lack it. See Floating Point.

Linking fails with "relocation truncated to fit"

Alpha code addresses global data through the global pointer with a 16-bit displacement, which limits some tables to 64 KiB. The error appears when one of them overflows: 14)

See Toolchains for the details.

A program dies with "Illegal instruction"

The program was built for a newer processor than the one running it: for example, code built with -mcpu=ev67 on a 21164A, which lacks the FIX and CIX instructions. Rebuild with a lower -mcpu; see Toolchains: Selecting a processor. The amask instruction shows which extensions the processor implements.

A program cannot find libc.so.6

Alpha's C library is libc.so.6.1. Code that hard-codes libc.so.6, for example in a dlopen() call or in a language's foreign function interface, fails on Alpha. See Why Alpha Has libc.so.6.1.

What page size does Alpha use?

8 KiB, and the kernel has no other option. 16) Code that assumes 4096-byte pages fails on Alpha; the page size should be read with sysconf(_SC_PAGESIZE). See Linux ABI Differences: Page size.

Why is a program built with long double so slow?

long double is the 128-bit IEEE quadruple format on Alpha, and every operation on it is a library call. See Linux ABI Differences.

Is there Clang, Rust, or Go for Alpha?

No Clang, and no rustc, because LLVM has no Alpha back end. Alpha support is being worked on in rustc_codegen_gcc, a GCC back end for rustc. 17) gccgo builds Go code, but its library is that of Go 1.18, so software that needs a newer Go release does not build with it. 18) See Current Status.

Getting help

Where can I ask a question?

On the linux-alpha mailing list, in #alpha on Libera.Chat, in the alphalinux organization's GitHub Discussions, or on a distribution's own Alpha list. See Community. Report bugs to the affected project; see Bugs.


2) "Re: SMP for AlphaServer?", Jay Estabrook, axp-list, 14 Jul 1998
3) "Re: SMP for AlphaServer?", Jay Estabrook, axp-list, 14 Jul 1998
4) "Re: Multia state of support", Michael Cree, debian-alpha, 3 Apr 2016
5) debian-ports unstable binary-alpha Packages, deb.debian.org, 23 Sep 2026
6) "Minifridge", Jay Estabrook, axp-list, 20 Aug 2010
7) "Re: [gentoo-alpha] fdisk on mini-installer iso", Matt Turner, gentoo-alpha, 8 Apr 2024
8) debian/config/alpha/defines.toml, Debian linux 7.2.7-1
9) "New Red Hat 7.2 Alpha install on DEC PWS 600au", Jim McCarthy, axp-list, 11 Dec 2004
11) alpha-ieee.diff, Debian GCC packaging
12) 05_all_alpha-mieee-default.patch, Gentoo GCC patchset 17.0.0
13) "Re: log(-1) raises SIGFPE", Richard Henderson, axp-list, 14 May 1997
14) "ld reports 'relocation truncated to fit'", Topi Kanerva, axp-list, 24 Nov 1996
15) DEC Alpha Options, GCC manual
16) arch/alpha/Kconfig, Linux 7.3
17) "DEC Alpha support", rustc_codegen_gcc issue #742