1. Abstract This is the 29 March 2002 version. The latest version of this document can be found at: The only update from the previous (07 July 1998) version is to correct the above URL. Yes, the Alpha I originally wrote about is still happily chugging away. This document contains step-by-step instructions for installing Red Hat Linux 5.1 ("Manhattan") on the Alpha. The instructions that come with the Red Hat media contain all the necessary information, but it is a bit scattered, and tends to be intermixed with old or potentially misleading information. These instructions are written with the assumption that the reader has some familiarity with Unix in general and Linux in particular, but not necessarily any experience with the Alpha. I have only tried these directions on my Alpha (AXPpci33), but they will probably work for any Alpha with the NT ARC firmware, and may be helpful for other sorts. I'd like to make them more generic, but I need the help of folks with other sorts of Alphas to do so. Please let me know if these directions work for you, and how I can improve them. See section (5) for how to contact me. 2. Legal stuff 2.1 Red Hat is a registered trademark of Red Hat Software, Inc. 2.2 I don't work for or represent Red Hat Software. I'm not making this information available on behalf of anyone but myself. 2.3 This procedure is presented in the hopes it will be useful, but with ABSOLUTELY NO WARRANTY. It worked for me, but if it breaks you get to keep both pieces. If you follow these instructions and your machine sets fire to your dog, that's your fault, not mine. I don't even promise not to laugh. 2.4 This document copyright 1998 Douglas G. Henke. Distribute freely, but may name must remain attached. If you modify and distribute, your modified version must bear a prominent notice that it is modified. 3. Instructions 3.1 Make sure you have everything you need on hand: 3.1.1 Red Hat 5.1 installation CD-ROM for Alpha (not Intel -- see 4.1) 3.1.2 Red Hat 5.1 Linux Alpha Installation Addendum book 3.1.3 Three blank, formatted 3.5" 1.44MB floppy disks 3.1.4 A computer (any platform) running Linux (any version) with a CD-ROM drive, a floppy drive, ext2 support and MS-DOS file system support. 3.1.5 The Alpha system on which the install is to be done, which must have a head (video and keyboard), a CD-ROM drive, a floppy drive and a hard disk. (Note: it may be possible to install via serial console, but I have not tried this.) 3.2 Mount the Installation CD-ROM on your existing Linux system 3.2.1 Mount the CD-ROM, using the appropriate command for your system. For example: mount /mnt/cdrom should work on most Red Hat 5.0 and 5.1 systems. Note: the remainder of the instructions assume that you have the installation CD-ROM mounted under /mnt/cdrom. You may mount it elsewhere, but if you do remember to modify the paths in the instructions accordingly. 3.2.2 Verify that the CD-ROM contents are visible: cd /mnt/cdrom ls -bFAC this should display something like the following: COPYING RedHat/ doc/ images/ milo/ rr_moved/ CREDITS TRANS.TBL dosutils/ kernels/ misc/ sbin@ README bin@ etc@ lib@ mnt/ tmp/ RPM-PGP-KEY dev@ home/ live/ proc/ usr@ 3.3 Identify your Alpha system type, and the associated images: 3.3.1 Locate the table of system types. This is in the Alpha Installation Addendum book on pages 3 through 5. It is also on the installation CD-ROM in "/mnt/cdrom/milo/MILO-systypes". 3.3.2 Find your system in the table. (Note: I have the AXPpci33, aka "noname". I have not tried this procedure on any other sort of system.) 3.3.3 Note the MILO image and kernel image appropriate for your system. (Some systems don't have a MILO image. I'm not sure what to do for these. If you have one and get it to work, tell me how. See section (5).) 3.4 Create a MILO diskette: 3.4.1 Label a blank diskette "MILO". (Label it. Go on. Do it. Don't make me come back there.) 3.4.2 If the diskette is not formatted, or if you have doubts about its integrity, format it now: fdformat /dev/fd0H1440 3.4.3 Make an MS-DOS filesystem on the diskette: mformat a: (If you don't have the mformat command -- part of the mtools package -- you can instead format the disk on an MS-DOS system.) 3.4.4 Mount the diskette using an appropriate command for your system. For example, mount /mnt/floppy should work on most Red Hat 5.0 and 5.1 systems. (You may mount the diskette elsewhere than /mnt/floppy, but if you do so you must remember to modify the paths in the following instructions.) 3.4.5 Copy the MILO image for your system to the diskette. The MILO images are located in the /mnt/cdrom/milo directory. You should have noted the name of the correct image in step 3.3.3. For example, if you have an AXPpci33 system: cp /mnt/cdrom/milo/udb-noname.gz /mnt/floppy/milo (Note: make sure the name of the destination file is "milo". cp /mnt/cdrom/milo/udb-noname.gz /mnt/floppy (XXX -- wrong!) will not work.) 3.4.6 Copy the loader binary to the diskette. (There is only one loader; you do not need a different one for each system type.) cp /mnt/cdrom/milo/arc/linload.exe /mnt/floppy 3.4.7 Unmount the floppy: umount /mnt/floppy 3.4.8 Remove the floppy from the drive, write protect it and double- check that you have performed step 3.4.1 correctly. 3.5 Create a BOOT (kernel image) floppy: 3.5.1 Label a blank diskette "BOOT". 3.5.2 If the diskette is not formatted, or if you have doubts about its integrity, format it now: fdformat /dev/fd0H1440 3.5.3 Make an ext2 filesystem on the diskette: mke2fs /dev/fd0 (Note: this _must_ be an _ext2_ filesystem. See 4.5.) 3.5.4 Mount the diskette using an appropriate command for your system. For example: mount -t ext2 /dev/fd0 /mnt/floppy (As always, you can use any mount point you wish, but you'll have to modify the paths below accordingly.) 3.5.5 Copy the kernel image for your system to the diskette. The MILO images are located in the /mnt/cdrom/milo directory. You should have noted the name of the correct image in step 3.3.3. For example, if you have an AXPpci33 system: cp /mnt/cdrom/kernels/noname.gz /mnt/floppy/vmlinux.gz (Note: make sure the name of the destination file is "vmlinux.gz". cp /mnt/cdrom/milo/noname.gz /mnt/floppy (XXX -- wrong!) will not work.) 3.5.6 Unmount the floppy: umount /mnt/floppy 3.5.7 Remove the floppy from the drive and write protect it. 3.6 Create a RAMDISK floppy: 3.6.1 Label a blank diskette "RAMDISK". 3.6.2 If the diskette is not formatted, or if you have doubts about its integrity, format it now: fdformat /dev/fd0H1440 3.6.3 Dump the ramdisk image to the diskette. The ramdisk image (there is only one, which works on all Alpha systems) is called "/mnt/cdrom/images/ramdisk.img". dd if=/mnt/cdrom/images/ramdisk.img of=/dev/fd0 bs=8192 3.6.4 Wait for the "floppy busy" light to go out, then remove the diskette from the drive and write protect it. 3.7 Boot the Alpha into MILO: 3.7.1 Place the "MILO" diskette in the Alpha system's floppy drive. 3.7.2 Power on the Alpha, and wait for the NT ARC console to appear. 3.7.3 Follow the procedure in section 1.5.1 (page 6) of the Alpha Installation Addendum to add Linux as a boot option. 3.7.4 You should now be back at the boot menu, and there should be an option entitled "Boot Linux". Choose it. MILO will load from the floppy, and eventually you will get a MILO prompt. 3.8 Boot the Linux kernel: 3.8.1 Place the "BOOT" diskette in the drive. 3.8.2 Make sure the environment is not full of garbage. At the MILO prompt, type: printenv On my (new, factory sealed) noname board, this produced page upon page of binary drek. If you experience similar results, type: resetenv to set the environment in NVRAM to a sane (empty) state. 3.8.3 Boot the linux kernel. Type the following: boot fd0:vmlinux.gz root=/dev/fd0 load_ramdisk=1 (See 4.3.) 3.8.4 Wait for the kernel to boot. You will eventually be prompted to insert the RAMDISK diskette. When prompted, do so and press ENTER. Linux will finish booting, and you should see a Red Hat install screen. 3.9 Proceed with installation: 3.9.1 From here, everything is pretty much like a Red Hat install on Intel, only much faster. You should be able to complete the installation using only the on-screen instructions, with maybe sporadic recourse to the main Red Hat docs. Note: If the installation seems to get stuck, press ^Z (ctrl-Z) to suspend the installer, then type: cat /tmp/syslog at the shell prompt. This may give you some hints about what is going wrong. You can also do other random exploring this way, but beware: you are running ash (not bash) and most commands are not installed yet. 4. Potential Problems These are things that I did wrong while I was trying to install that cost me time and aggravation. Some of them are pretty stupid, but I'm describing them anyway in the hopes that I'll save somebody time. Let me know if you have any new pitfalls (stupid or otherwise) to add -- see section (5). 4.1 Symptoms: At step 3.2.2, the listing doesn't look like the example. The MILO and kernel images for Alpha are nowhere to be found. Solution: You have the Intel installation media; it does not include Alpha support. You must order the right media. (I bought Red Hat 5.0 to do an Intel install, and noticed an appendix in the manual about how to install on Alpha. I had assumed, incorrectly, that the presence of this appendix meant the files were on the media.) 4.2 Symptoms: at step 3.7.4, Alpha spins floppy disk for a little while, then displays a "Device Error" message and returns to boot menu. Solution: A bad floppy disk can cause this problem, and that's what I thought I had. It turns out the ribbon cable had pulled halfway off the connector on the floppy drive. (The drive spins and the busy light lights, but no data moves.) I only found this out when I went to swap floppy drives... 4.3 Symptoms: at step 3.8.3, I typed "boot floppy" (per the Red Hat manual). Linux boots, but never prompts for a RAMDISK floppy and eventually panics and halts because it can't find a root filesystem. Solution: Type "boot fd0:vmlinux.gz root=/dev/fd0 load_ramdisk=1" at the MILO prompt, _not_ "boot floppy". I arrived at the correct command only after much trial and error. 4.4 Symptoms: at step 3.9.1, installer starts, disk druid chosen as partition software, complains that partition table is hosed and offers to fix it. Even if offer is accepted, installer just returns to the same screen. If fdisk is chosen, it seems to work, but when the partition table is written out and read back, it has reverted to the original state. Solution: Don't put a hardware write-protect jumper on the SCSI drive (SFX: "Doh!"). 4.5 Symptoms: at step 3.9.1, installer installs all requested packages from CD-ROM and gets right to the very end, where it prompts you to insert the BOOT floppy. When you do so and press enter, a screen pops up reading: "mount: invalid argument". There seems to be no way to progress beyond this screen. Solution: Your boot floppy must be ext2 format, not MS-DOS format. You can get almost there with an MS-DOS floppy, but you will have the above problem just before the installation completes, and you will have to start over. 5. Contacting the author: Please send me email if you have comments, complaints or suggestions about this document. My email address is henke at c-com dot net. (I'm sorry that I can't give it to you in machine-readable form, but I've had trouble with spammers harvesting addresses from the web.) If you try to use these instructions, I'd appreciate it if you'd send me a quick note saying what kind of Alpha system you have and whether or not these directions worked. (If they didn't, tell me what you had to do instead and I'll try to amend this document.)