This document contains the hardware compatibility notes forFreeBSD 5.4-RELEASE on the Alpha/AXP hardware platform (alsoreferred to as FreeBSD/alpha 5.4-RELEASE). It lists devices knownto work on this platform, as well as some notes on boot-time kernelcustomization that may be useful when attempting to configuresupport for new devices.
This document tries to provide a starting point for those whowant to run FreeBSD on an Alpha-based machine. It is aimed atproviding background information on the various hardware designs.It is not a replacement for the systems manuals.
Note: You will see references to DEC, Digital EquipmentCorporation and Compaq used more or less interchangeably. Now thatCompaq has acquired Digital Equipment it would be more correct torefer to Compaq only. To be completely politically correct giventhat Hewlett Packard in turn has acquired Compaq I probably shouldbe using HP everywhere. Given the fact that you will see the mix ofnames everywhere, I don't bother.
Obviously you will need an Alpha machine that FreeBSD knowsabout. Alpha machines are NOT like PCs. There are considerabledifferences between the various core logic chip sets and mainboarddesigns. This means that a kernel needs to know the intimatedetails of a particular machine before it can run on it. Throwingsome odd GENERIC kernel at unknownhardware is almost guaranteed to fail miserably.
For a machine even to be considered for FreeBSD use please makesure it has the SRM console firmware installed. Or at least makesure that SRM console firmware is available for the particularmachine type. If FreeBSD does not currently support your machinetype, there is a good chance that this will change at some point intime, assuming SRM is available. All bets are off when SRM consolefirmware is not available.
Machines with the ARC or AlphaBIOS console firmware wereintended for WindowsNT. Some have SRM console firmware available inthe system ROMs which you only have to select (via an ARC orAlphaBIOS menu). In other cases you will have to re-flash the ROMswith SRM code. Check on to see what isavailable for your particular system. In any case: no SRM meansno FreeBSD(or NetBSD, OpenBSD, Tru64 Unix or OpenVMS for that matter). Withthe demise of WindowsNT/alpha a lot of former NT boxes are sold onthe second hand market. They have little or no trade-in value whenthey are NT-only from the console firmware perspective. So, besuspicious if the price appears too good.
As part of the SRM you will get the so called OSF/1 PAL code(OSF/1 being the initial name of Digital's UNIX offering on Alpha).The PAL code can be thought of as a software abstraction layerbetween the hardware and the operating system. It uses normal CPUinstruction plus a handful of privileged instructions specific forPAL use. PAL is not microcode. The ARC console firmware contains adifferent PAL code, geared towards WinNT and in no way suitable foruse by FreeBSD (or more generic: Unix or OpenVMS). Before someoneasks: Linux/alpha brings its own PAL code, allowing it to boot onARC and AlphaBIOS. There are various reasons why this is not a verygood idea in the eyes of the *BSD folks. I don't want to go intodetails here. If you are interested in the gory details search theFreeBSD and NetBSD web sites.
There is another pitfall ahead: you will need a disk adapterthat the SRM console firmware recognizes in order to be able toboot from a disk. What is acceptable to SRM as a boot adapter isunfortunately highly system and SRM version dependent. For olderPCI based machines it means you will need either a NCR/Symbios53C810 based adapter, or a Qlogic 1020/1040 based adapter. Somemachines come with a SCSI chip embedded on the mainboard. Newermachine designs and SRM versions will be able to work with moremodern SCSI chips/adapters. Check out the machine specific infobelow. Please note that the rest of this discussion only refers toSymbios chips, this is meant to include the older chips that stillhave NCR stamped on them. Symbios bought NCR sometime.
The problem might bite those who have machines that startedtheir lives as WindowsNT boxes. The ARC or AlphaBIOS knows aboutother adaptertypes that it can boot from than the SRM. For example you can bootfrom an Adaptec 2940UW with ARC/AlphaBios but (generally) not withSRM. Some newer machine types have introduced Adaptec boot support.Please consult the machine specific section for details.
Most adapters that cannot be booted from work fine for data-onlydisks. The differences between SRM and ARC could also get youpre-packaged IDE CDROMs and hard drives in some (former WindowsNT)systems. SRM versions exist (depends on the machine type) that canboot from IDE disks and CDROMs. Check the machine specific sectionfor details.
In order to be bootable the root partition (partition a) must beat offset 0 of the disk drive. This means you have to use theinstaller's partitioning menu and start with assigning partition aat offset 0 to the root partition. Subsequently layout the rest ofthe partitions to your liking. If you do not adhere to this rulethe install will proceed just fine, but the system will not bebootable from the freshly installed disk. Note that fdisk is notused on FreeBSD running on Alpha, disks are directly labeled usingdisklabel.
If you don't have/want a local disk drive you can boot via theEthernet. This assumes an Ethernet adapter/chip that is recognizedby the SRM console. Generally speaking this boils down to either a21040 or 21142 or 21143 based Ethernet interface. Older machines orSRM versions may not recognize the 21142 / 21143 Fast Ethernetchips, you are then limited to using 10Mbit Ethernet for netbooting those machines. Non-DEC cards based on said chips willgenerally (but are not guaranteed to) work. Note that Intel tookover the 21x4x chips when it bought Digital Semiconductor. So youmight see an Intel logo on them these days. Recent machine designshave SRM support for Intel 8255x Ethernet chips.
Alpha machines can be run with SRM on a graphics console or on aserial console. ARC can also be run on a serial consoles if needbe. VT100 emulation with 8 bit controls should at least allow youto switch from ARC/AlphaBIOS to SRM mode without having to installa graphics card first.
If you want to run your Alpha machine without a monitor/graphicscard just don't connect a keyboard/mouse to the machine. Insteadhook up a serial terminal[emulator] to serial port #1. The SRM willtalk 9600N81 to you. This can also be really practical fordebugging purposes. Beware: some/most (?) SRMs will also presentyou with a console prompt at serial port #2. The booting kernel,however, will display the boot messages on serial port #1 and willalso put the console there. This can be extremely confusing.
Most PCI based Alphas can use ordinary PC-type VGA cards. TheSRM contains enough smarts to make that work. It does not, however,mean that each and every PCI VGA card out on the street will workin an Alpha machine. Things like S3 Trio64, Mach64, and MatroxMillennium generally work. Old ET4000 based ISA cards have alsoworked for me. But ask around first before buying.
Most PCI devices from the PC-world will also work in FreeBSDPCI-based machines. Check the /sys/alpha/conf/GENERIC file for the latest word onthis. Check the appropriate machine type's discussion in case youwant to use PCI cards that have PCI bridge chips on them. In somecases you might encounter problems with PCI cards not handling PCIparity correctly. This can lead to panics. PCI parity checking canbe disabled using the following SRM command:
For memory you want at least 32 Mbytes. I have had FreeBSD runon a 16 Mbyte system but you will not enjoy that. Kernel buildtimes halved when I went to 32 Mbytes. Note that the SRM consolesteals 2Mbyte from the total system memory (and keeps it). For moreserious work 64 Mbytes or more are recommended. Although Alphamachines typically can accomodate large to very large physicalmemory sizes, FreeBSD is limited to 1 or 2 Gbytes (dependent on thecore chipset) of RAM. This restriction is due to the currentimplementation of the VM system.
The NoName is a baby-AT mainboard based on the 21066 LCA (LowCost Alpha) processor. NoName was originally designed for OEM-use.The LCA chip includes almost all of the logic to drive a PCI busand the memory subsystem. All of this makes for a low-priceddesign.
Due to the limited memory interface the system is notparticularly fast in case of cache misses. As long as you stayinside the on-chip cache the CPU is comparable to a 21064 (firstgeneration Alpha). These boards should be very cheap to obtainthese days. It is a full-fledged 64 bit CPU, just don't expectmiracles as far as speed goes.
NoNames can either have SRM or ARC console firmware in their Flash ROM.The Flash ROM is not big enough to hold both ARC and SRM at thesame time and allow software selection of alternate console code.But you only need SRM anyway.
Cache for the NoNames are 15 or 20 ns DIL chips. For a 256 kBytecache you want to check your junked 486 mainboard. Chips for a 1Mbyte cache are a rarer breed unfortunately. Getting at least a256kByte cache is recommended performance wise. Cache-less they arereally slow.
The NoName mainboard has a PC/AT-standard power connector. Italso has a power connector for 3.3 Volts. No need to rush out toget a new power supply. The 3.3 Volts is only needed in case yourun 3.3 Volts PCI expansion boards. These are quite rare.
There have been reports that you sometimes need to pressControl-Alt-Del to capture the SRM's attention. I have never seenthis myself, but it is worth trying if you are greeted by a blankscreen after powerup.
Make sure you use true 36 bit SIMMs, and only FPM (Fast PageMode) DRAM. EDO DRAM or SIMMs with fake parity will not work. The boarduses the 4 extra bits for ECC. 33 bit FPM SIMMs will for the samereason not work.
Given the choice, get the PS/2-variant mainboard. Apart fromgiving you a mouse port as bonus it is directly supported by Tru64Unix in case you ever want or need to run it. The``DIN-plug''-variant should work OK for FreeBSD.
c01484d022