Installing Linux on the DEC 2000 AXP and the DECpc 150 AXP ("Jensen") The first PC-class Alpha systems produced by Digital were the "Jensen" series. Two models were produced, which differed only in the bundled software. The DECpc 150 AXP was bundled with Windows NT, while the DEC 2000 AXP was bundled with either OpenVMS or DEC OSF/1. The Jensen was an EISA-based system with a 21064 Alpha processor running at 150MHz. With the introduction of higher-performance PCI-based systems, Digital discontinued manufacturing the Jensen. Customers are replacing their Jensens with higher-performance systems. With a number of Jensens appearing on the surplus market and in the back corners of laboratories and computer rooms, there has been considerable interest in running Linux on them. Jensen was the first target platform for the Linux/Alpha port, so running Linux on a Jensen is not a problem. Installing Linux on a Jensen is another matter entirely, due to the following constraints: - Linux requires either OSF PALcode or the MILO PALcode. - Jensen is sufficiently different from the PCI-based systems that porting the MILO PALcode would be a significant undertaking. - Jensen has OSF PALcode in its ROM, but it is only available within the SRM console. - The SRM console firmware on Jensen cannot access the floppy drive -- only SCSI and network devices. - The ARC console firmware on Jensen can access the floppy drive, but it uses a different PAL and cannot switch to the OSF PALcode. - Jensen is no longer being produced by Digital, so there is little chance of getting a firmware upgrade such that the SRM console can access the floppy drive. - "fdisk" style partition tables are incompatible with the SRM boot mechanism. This means that Linux and NT cannot coexist on the same disk. - The SRM firmware on Jensen has a limit of 8 characters of stored boot flags, or 16 characters on the command line. This requires the ability to process abbreviated command lines. The kernel that I provide understands one abbreviation: INSTALL. This is exactly equivalent to: "root=/dev/fd0 load_ramdisk=1". I will implement more in the future. Taken together, these constraints yield the following procedure for installing Linux on a Jensen: - From the ARC console, partition the Linux device and install the bootable kernel. - From the SRM console, boot the Linux kernel and complete the installation. The necessary files can be found in: ftp.digital.com:/pub/DEC/Linux-Alpha/JENSEN_INSTALL This directory contains the following: arcutils/ Standalone ARC utilities | +--minlabel.exe Partitioning utility | +--copyboot.exe Utility for copying the bootdisk to the hard drive bootdisk.1.3.72.jensen.srm.gz Boot disk for Jensen. This is a modified 1.3.72 kernel which you must use for Jensen install. Source patches will be available in this directory within a day or so... pseudo-bootdisk.gz ext2 disk which contains vmlinux.gz version 1.3.72 for Jensen. Not usable in the current boot scheme, but Red Hat requires it for install. This is the detailed procedure: Prepare your floppies: - Create a DOS-formatted floppy with the standalone ARC utilities (MINLABEL.EXE and COPYBOOT.EXE) - Uncompress the boot disk image and copy it to a floppy using dd (unix) or rawrite (DOS) - If you are installing Red Hat, uncompress the pseudo-bootdisk image and copy it to a floppy using dd or rawrite. - Create the ramdisk floppy image for your distribution. - You will, of course, need the installation media for your OS distribution (CD or floppies) Installation procedure: - Get to the ARC console opening screen. If your Jensen comes up to the ARC console (it says "ARC" in the first line and presents you with a menu), you're all set. If it comes up to the SRM console (>>> prompt), enter the command "SET OS NT" and power-cycle. - Insert the "ARC utilities" disk. Partition the disk(s): - Choose "Run a program" - Enter: eisa(0)disk(0)fdisk(0)minlabel.exe This invokes the standalone minlabel utility, which is exactly like the Linux minlabel utility. - Choose the disk you are going to partition. I have made every effort to make these utilities understand Linux-style device names, so you should be able to enter something like "/dev/sda" - Partition the disk. Most likely you'll want a small (4Mb) initial partition for the bootstrap, and the rest of the disk for Linux. If you have only one disk on your system, you'll have to further partition the disk to provide a Linux partition and a swap partition. - Exit the minlabel program. Copy the Linux kernel to the boot partition: - Choose "Run a program" from the ARC menu - Enter: eisa(0)disk(0)fdisk(0)copyboot.exe - Select source and destination devices (source is typically /dev/fd0, destination is /dev/sda, /dev/sdb,...) - Remove the ARC utilities disk from the drive and insert the Linux boot disk. - Hit ENTER to start copying. Set up the system to come up to SRM console: - Remove floppy from drive - Select "Supplementary menu..." - Select "Set up the system..." - Select "Switch to OpenVMS or OSF console" - Select "Switch to OSF" - Type ESC - Power-cycle the system. Boot and install your system: - At >>> prompt, type: BOOT -FL INSTALL DKAx00, where x00 refers to the boot device (DKA000 for SCSI device 0, DKA100 for device 1, etc.) - When prompted, insert RAMDisk floppy - Install as usual for that distribution. Once you have installed Linux on your system, you can boot it from the SRM console by saying something like: >>> boot -fl "root=0802 ro" dka000 One future improvement I would like to work on would be to substitute a variant of MILO for the bootable kernel. This would make booting new kernels much easier, as well as eliminating any need for abbreviated boot option strings. -- Jim Paradis (paradis@amt.tay1.dec.com) "It's not procrastination, Digital Equipment Corporation it's my new Just-In-Time (508)952-4047 Workload Management System!" http://www.tiac.net/users/jrp/index.html