Installing Linux/Alpha on the DEC 2000 AXP and DECpc 150 AXP ("Jensen") The first PC-class Alpha systems produced by Digital were the "Jensen" series, an EISA-based system with a 21064 Alpha processor running at 150MHz. 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 Alpha or DEC OSF/1. With the introduction of higher-performance PCI-based systems, Digital discontinued manufacturing the Jensen and customers are replacing them with higher-performance systems. So, Jensens are appearing on the surplus market and becoming available in labs and computer rooms, creating considerable interest in Linux. Jensen was the first target platform for the Linux/Alpha port, so running Linux on a Jensen is not a problem. However, installing Linux on a Jensen has been a problem because of the following constraints: o Linux requires either OSF PALcode or the MILO PALcode. o The Jensen is sufficiently different from PCI-based systems that porting the MILO PALcode is a significant undertaking. o Jensen has OSF PALcode in its ROM, but it is only available within the SRM console. o The SRM console firmware on Jensen cannot access the floppy drive -- only SCSI and network devices. o The ARC console firmware on Jensen can access the floppy drive, but it uses a different PAL and cannot switch to the OSF PALcode. o 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. o The "fdisk" style partition tables are incompatible with the SRM boot mechanism, so Linux and NT cannot coexist on the same disk. o 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 in this distribution understands one Page 2 abbreviation: INSTALL. This is exactly equivalent to: "root=/dev/fd0 loadramdisk=1". A future distribution will implement more abbreviations. Overcoming those constraints produced the following procedure for installing Linux on a Jensen (described in more detail below): 1. From the ARC console, partition the Linux device and install the bootable kernel. 2. From the SRM console, boot the Linux kernel and complete the installation. The necessary files are located at: ftp.digital.com:/pub/DEC/Linux-Alpha/JENSENINSTALL That 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 that you must use for Jensen installation. Also contains source patches. pseudo-bootdisk.gz An ext2 disk that contains vmlinux.gz version 1.3.72 for Jensen. Not usable in the current boot scheme, but Red Hat requires it for installation. DETAILED PROCEDURE ------------------ Prepare your floppies: 1. Create a DOS-formatted floppy with the standalone ARC utilities (MINLABEL.EXE and COPYBOOT.EXE). 2. Uncompress the boot disk image and copy it to a floppy by using dd (unix) or rawrite (DOS). 3. If you are installing Red Hat, uncompress the pseudo-bootdisk image and copy it to a floppy by using dd or rawrite. Page 3 4. Create the ramdisk floppy image for your distribution. 5. You will, of course, need the installation media for your operating system distribution on CD or floppies. Installation procedure: 1. 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 (the >>> prompt), enter the command "SET OS NT" and power-cycle. 2. Insert the "ARC utilities" disk. 3. Partition the disk(s): A. Choose "Run a program" B. Enter: eisa(0)disk(0)fdisk(0)minlabel.exe This invokes the standalone minlabel utility, which is exactly like the Linux minlabel utility. C. Choose the disk you are going to partition. The utilities understand Linux-style device names, so you can enter something like "/dev/sda" D. Partition the disk. You probably 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. E. Exit the minlabel program. 4. Copy the Linux kernel to the boot partition: A. Choose "Run a program" from the ARC menu B. Enter: eisa(0)disk(0)fdisk(0)copyboot.exe C. Select source and destination devices Source is typically /dev/fd0 and destination is typically /dev/sda, /dev/sdb, and so forth. Page 4 D. Remove the ARC utilities disk from the drive and insert the Linux boot disk. E. Press ENTER to start copying. 5. Set up the system to come up to SRM console: A. Remove the floppy from the drive B. Select "Supplementary menu..." C. Select "Set up the system..." D. Select "Switch to OpenVMS or OSF console" E. Select "Switch to OSF" F. Press ESC G. Power-cycle the system 6. Boot and install your system: A. Issue the following command, where x00 refers to the boot device (DKA000 for SCSI device 0, DKA100 for device 1, and so forth.) >>> BOOT -FL INSTALL DKAx00 B. When prompted, insert the ramdisk floppy. C. Perform the normal installation for that distribution. After you have installed Linux on your system, you can boot it from the SRM console with something like: >>> boot -fl "root=0802 ro" dka000 A possible future improvement to Jensen installation support would be substitution of a variant of MILO for the bootable kernel. That would make booting new kernels much easier, as well as eliminating the need for abbreviated boot option strings.