Installing Linux on the DEC 2000 AXP and the DECpc 150 AXP ("Jensen") using 'aboot' This file is a changed version of Jim Paradis' documentation on installing Linux on the "Jensen" Alpha board. I have changed this to reflect the steps necessary to use aboot instead of the standard bootloader. Using aboot has two advantages compared with Jim's original solution: - you don't need a special modified kernel to install. Any standard vmlinux.gz can be used. - aboot can load multiple kernels direct from a ext2-filesystem from a partition on the root disk after installation, so you can easily try out new test kernels without destroying your only working kernel. - aboot can pass *any* bootoptions you want to the kernel, and does not limit their size - using aboot, you can auto-boot Linux from the SRM console even if you require boot-options longer than 8 characters (eg. root=... :-)) The necessary files can be found in: ftp.azstarnet.com:/pub/axp/jensen/install You need the following files: minlabel.exe Partitioning utility copyboot.exe Utility for copying the bootdisk to the hard drive 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. lxboot.aboot copy of an aboot-ready sector 0 (disklabel) from my disk. copyboot needs this to extract the position and length of the bootcode from the image bootlx.aboot The aboot first-stage loader image itself Currently, this is aboot-0.2. As soon as I find the time, I will provide a version with aboot-0.3* and with an extra option so that you do not have to recompile aboot to get the whole functionality. vmlinux.gz A stock 1.3.89 kernel with the following options: - ramdisk - all SCSI devices, AHA1742 - NE2000, WD8003, SMC ultra - DOS, Minix, ext2, iso9660 filesystems - PS/2 mouse, serial + parallel port drivers I tested this on a Jensen with Firmware ROM 1.7. Things should work with older ROM versions, too. When you want to upgrade your firmware and have an ELSA WINNER 1000 graphics card in your system, be aware ROM versions above 1.7 hang during initialization of the ARC firmware when the ELSA card is used in EISA mode - this seems to be due to a bug in the ELSA's own firmware ROM, and ELSA is not willing to help in that case. This is the detailed procedure: 1. Prepare your floppies: - Create a DOS-formatted floppy with the standalone ARC utilities (MINLABEL.EXE and COPYBOOT.EXE) - create the bootimage and write it to a second, formatted floppy: cat lxboot.aboot lxboot.aboot bootlx.aboot vmlinux.gz >/dev/fd0 (or do the same with COPY on a DOS system and copy the resulting file to disk using RAWRITE.EXE). The double lxboot.aboot is not a typo - we need a filler of 512 bytes since for reasons I forgot, aboot expects to be placed starting at sector *2* on the disk. You can replace vmlinux.gz with any newer kernel you like - use quickstrip before compressing to save space. - 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 plus any other disks which your installation may need (debian base-disks etc.). - You will, of course, need the installation media for your OS distribution (CD or floppies) 2. Partition the root disk - 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 press CTRL-P to enter the ARC console. - Insert the "ARC utilities" disk. - Choose "Run a program" - Enter: a:minlabel [use eisa(0)disk(0)fdisk(0)minlabel.exe if that fails] This invokes the standalone minlabel utility, which is exactly like the Linux minlabel utility. - Choose the disk you are going to partition. I [Jim] have made every effort to make these utilities understand Linux-style device names, so you should be able to enter something like "/dev/sda". ['sda' seems to work fine - ms] - 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. Make sure that the space for the bootstrap is not only the first partition, but is at the beginning of the disk (offset 0). - Exit the minlabel program. 3. Copy the aboot bootloader and Linux kernel to the boot partition: - be sure that you have set the correct floppy drive type. Even if you *do* have a 2.88MB ED drive, you should set this to 1.44MB if you want to read a 1.44MB disk using copyboot. To set this, use 'Edit environment variables' from the Setup menu and set 'FLOPPY=2'. You may have to do this directly before the next step, otherwise you get read errors after block 720 and the system will not boot. - Choose "Run a program" from the ARC menu - Enter: a:copyboot [use eisa(0)disk(0)fdisk(0)copyboot.exe if that fails] - 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 bootimage disk. - Hit ENTER to start copying. 4. 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. 5. Boot and install your system: - At >>> prompt, type: BOOT -FL "i" DKAx00 where x00 refers to the boot device (DKA000 for SCSI device 0, DKA100 for device 1, etc.). aboot will then load and ask you what kernel and commandline to boot. - at the aboot prompt, type: - root=/dev/fd0 ramdisk=1440 (or whatever you need to install/boot). The '-' tells aboot to load the kernel that was written directly to the beginning of the disk. You can tell aboot to load a kernel directly from the root filesystem later, after installing the system. - From here on, you should be able to follow the instructions that came with your Linux distribution. Beware, however, that you should not re-partition the disk containing the boot code + kernel, since this will remove the bootable flag from the disklabel. Also, you do not need to write bootcode and/or kernel to the disk, since this will remove the aboot code. If either of these happens, you should be able to reinstall aboot+kernel from the ARC console as described above. - Once you have installed Linux on your system, you can boot it from the SRM console by saying something like: >>> boot -fl "i" dka000 [interactive boot, as described above] >>> boot -fl "1" dka000 [use default config no. 1] Read the aboot docs for further instructions about the possible options and how to setup auto-boot. -- The ARC-bootable minlabel and copyboot which were provided by Jim Paradis enabled this installation procedure - before, you had to do this on another system with SCSI disks. Thanks a lot, Jim! This text is based on Jim's original documentation and contains major parts of that. I have removed parts that are not necessary for installing (but which you may want to read in the original version, because they outline *why* this complicated procedure is necessary), and have added things which I thought might be helpful while trying this installation myself. Michael Schwingen, rincewind@discworld.oche.de -- 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