An Interview with DEC
Alpha Linux has been able to capitalize on two things. Firstly, Alpha PCs with their PCI and ISA buses can use exactly the same devices as Intel PCs. Secondly, the price of an Alpha PC is mostly determined by its component prices and, as the price of the Alpha Linux OS has fallen, Alpha PCs have correspondingly become much cheaper, and thereby, more attractive.
Fifth was the fact that Digital was encouraging clone makers by selling Alpha systems, boards and chips to original equipment manufacturers who wished to make their own configured system boxes. In order to make this as inexpensive and open as possible, the Alpha Linux engineering team chose the Advanced RISC Computing (ARC) console systems (commonly used with Windows NT), and wrote a source-code-available version of the console code (called MILO) as well as a source-code-available version of the privileged architecture library (PAL) code.
But from a general viewpoint, it was important that a 64-bit port be done, and done with a different architecture than Intel. At the time the Alpha port was started, the Linux kernel was highly optimized for the Intel architecture, utilizing more than a little Intel assembly language and Intel architecture tricks in places like context switching, and it was only a 32-bit port. Likewise, the source code tree and the kernel structure were not optimized for various architectures. By porting to the Alpha, the Linux team paved the way for all the other ports to be completed and integrated cleanly.
There is more to Linux than the operating system. Most of the useful functions of Linux are in the system utilities that make the Linux operating system what it is. Bash, X servers and so on, are what the user sees and uses. The kernel is a relatively small (but important) part of the system. As the small but determined group of Alpha Linux users grew, they concentrated on getting more of these system utilities to run. Meanwhile, at Digital we concentrated on supporting the hardware platforms and devices we believed would make good Linux systems. For example, Digital Semiconductor sells a range of PCI network chips under the codename “Tulip” (the 21x4x device range). A lot of Linux device drivers were not particularly portable then, since some had embedded Intel assembly code in them as well as 32 bit-isms. Jim and Jay spent a lot of their time porting working Intel Linux device drivers over to Alpha Linux, ironing out portability issues. maddog was waving the Alpha Linux flag at various trade shows, and in August 1995, we were able to show Alpha Linux running an S3 X server at the Unix Expo. I worked on the Alpha Linux Miniloader, MILO, which is, roughly speaking, LILO on acid. It is a freeware loader that allows Windows NT Alpha boards to boot and run Linux. It uses real Linux device drivers and file systems to get the Linux kernel loaded and running. As soon as Jim and Jay got the device drivers working in Linux, I'd get them working in MILO. MILO lowers the entry price of Alpha Linux as you do not have to pay either the system resource monitor (SRM) console license fee or the Digital Unix license fee to buy a hardware platform that runs Linux. In the spirit of Linux and the Free Software Foundation, MILO is freely available and redistributable code.
At this point the Alpha project is about at parity with the single Intel processors from a functionality standpoint. Work is starting on systematic multi-processing (SMP) for the Alpha, and the things that are missing for the Alpha tend to be missing (for the most part) from the Intel Linux systems as well—applications. The Java port that is being worked on for Alpha Linux will certainly help fill this gap, as will projects like GNUstep and other application environment issues.
Today Linux's multi-architectural support is very natural. Almost everything a Linux user or system needs can be built for Alpha straight out of the box. Our early aim was to make Alpha Linux an attractive alternative to Intel Linux. With off-the-shelf Linux distributions, most device drivers running happily and a wide choice of supported graphics devices, we have achieved our goals. Along the way we have had fun, made friends and learned new stuff. What is left to do for Alpha AXP Linux? First, we will continue to support our hardware and, as we build new Alpha PC motherboards, we will either port Linux ourselves or make the information available that will allow others to do the port. Second, we will make technical information available to the wider Linux community. The one thing I have learned about the Linux community is that there are a lot of bright and able programmers who only need the right information and some access to the hardware to do an excellent job. Third, we need to make Alpha Linux systems price competitive with Intel Linux systems. When we were first porting Linux, the price differential was very high, but in the last two years, that price gap has closed significantly due to more companies cloning and selling Alpha PC systems in volume. Linux is responsible for a fair proportion of that volume.