HomeIntroSoftwareHardwareOther pagesAbout  
 
Documentation
AS4100

Installing RedHat Linux 6.0 on a Digital (DEC) Alpha 4100

Jason Blakey - jblakey@playground.net

August 15, 1999


Synopsis


Yes! - it can be done - RedHat Linux 6.0 does run on the Alpha platform - and yes, i did get it runnning. This document should help others get there as well (or at least, that is my hope). Getting Linux up on the Alpha was a 3 day, trial-and-error fest, and if this document helps anyone else bypass that joy, then i'm happy.


Preliminaries


Upgrade Firmware
Trying to install Linux on a box that is running less than the most recent firmware revision is an exercise in futility. At the SRM prompt, you can type show vers to display the current firmware level. If need be, please visit: http://ftp.digital.com/pub/DEC/Alpha/firmware/readmes/alpha4x00.html and download/install the appropriate firmware update. The documentation for this is actually quite helpful and well written.

NOTE: To get to 5.4 (the most recent version), you must first upgrade to version 5.3, then make the jump to 5.4. Otherwise, the 5.4 upgrade will NOT work.

Build Your Installation and Ramdisk Diskettes
To boot up the installer, you need to build two 1.44MB floppy disks - one containing the kernel and installation scripts, and a second which has a copy of the RAMDISK image for Linux. Most models of Alphas need to use their own kernel image. In the case of the 4100, the image is titled generic.img, and you can locate it (and ramdisk) at: ftp://ftp.digital.com/pub/linux/redhat/current/alpha/images/

If you have a different alpha, please consult: http://www.redhat.com/corp/support/manuals/RHL-6.0-Manual/alpha-inst/booklet/doc009.html#s1.4 where there is a table which shows which images are needed by each model of alpha.

On a linux box (ix86), the following commands will help build your floppies

/bin/dd if=generic.img of=/dev/fd0 bs=72k

/bin/dd if=ramdisk.img of=/dev/fd0 bs=72k

(Of course, you need to have the generic.img and ramdisk.img files already downloaded to do this...).

Verify Your Hard Drives
Using the show config and show dev commands, verify that your SCSI devices are visible to the system. If you can't see your hard drives, then Linux will not be able to either.


The Installation


After much hindsight-provided knowledge, the installation of RedHat Linux 6.0 on an 4100 should go like this:

Insert your generic.img disk in the floppy drive, and type the following commands at the SRM prompt:
First, set up the boot flags - the 4100 cannot accept all these options on the command line, so we need to store them in boot_osflags

set boot_osflags "root=/dev/fd0 load_ramdisk=1 prompt_ramdisk=1"

Now, boot the box from the linux kernel (compressed) on the floppy

boot dva0 -file vmlinux.gz

When the box comes up, follow the standard RedHat installation
This document assumes you are famiiliar with the RedHat installation process.

Partition Your Hard Drives
This is an interesting part - and a little tricky, so pay attention. The boot drive needs to be labeled with BSD-style disk labels. All other drives need standard Linux style partitioning to be recognized.

Notes on BSD-Style Disk Labeling
To properly install aboot (a boot-loader that helps your Alpha load Linux), you need to leave a little free space at the start of your hard disk - say approx 10 Megs (to be safe). To accomplish this, start your A partition on cylinder 10 or so.

In the example shown below, the setup is like this:

  1. It's a 4.3 GIG drive
  2. Partition A is my main partition
  3. Partition B is my swap partition
  4. Partition C represents the entire disk (You have to have a partition like this)

Note: Make sure you set your fstype flags (ext2 for Linux partitions, and swap for swap partitions), otherwise the Linux Installer will not recogize them.

Here is what my labeling looks like (mileage may vary):

BSD disklabel command (m for help): p

3 partitions:
Partitionsizeoffsetfstype[fsize bsize cpg]
a:5462100160650ext2# (Cyl. 72*- 2488*)
b:27631805622750swap# (Cyl. 2488*- 3711*)
c:83800800unused0 0 # (Cyl. 1 - 3708)

Please note: the cylinder display is NOT correct - this is due to a wierd virtual addressing scheme hard drives use nowadays.

Let the installation Run
Depending on where you are downloading from (or if you are loading from CD-ROM, which i did not), installation may take 30 - 60 minutes. Always a good time to read a little Heinlein...


After the Installation Completes


Reboot to the SRM Prompt

Boot from Floppy with the Hard Drive as Root
First, clear your boot_osflags variable

set boot_osflags ""

Next, do the boot

boot dva0 -file vmlinux.gz -flags "root=/dev/sda1"

Note: This command is VERY specific to my system - you root disk may be different.

The box should boot, and after a little while, present you with a Login: prompt. YAY! - We are almost there...

Install ABOOT
Remember when we saved some cylinders at the start of the hard disk? Here is where they get used. Execute the following command:

/sbin/swriteboot /dev/sda /boot/bootlx -f3

Note: If your boot disk is not sda - then you need to experiment!:)

Install the kernel in the proper location
For some reason, the redhat installer does NOT install a kernel in the root directory. You need to do a:

cp /boot/vmlinux-2.2.5-16 /vmlinux

Shutdown the System
Issue a

/sbin/init 0

command to bring the box down. When it has halted, reload the box and get to the SRM prompt.

Set the SRM Boot Variable
CommandWhat it Does
set bootdef_dev "dkb0"Sets the boot device
set boot_file "1/vmlinux"Sets which file to boot from
set boot_action "boot"Sets the boot action to autoboot
set boot_osflags "root=/dev/sda1"Tells the kernel where root is
set boot_reset "on"??? - dunno

NOTE: Depending on your system, the values in this table WILL be different than dkb0, 1/vmlinux or /dev/sda1


Booting Linux from the Hard Drive


Once you have all your variables set, just issue the command:

boot

and the system should initialize, locate the kernel on the hard disk, load it, and then mount your partitions. If you run into problems, the following SRM commands can be quite useful:

CommandWhat it Does
show | moreWill show all environment variables set
show configWill show the configuration of the box
show devWill probe for attached devices
show versionWill display the version of firmware installed


Some Helpful Websites


Here are a few helpful / interesting websites:

  1. The AlphaLinux HomePage
  2. Digital's Website
  3. RedHat Linux 6.0 Alpha Instructions

NOTE: A very useful mailing list is the RedHat Alpha mailing list, which can be reached at axp-list@redhat.com.


Comments / Questions - Contact jblakey@playground.net