|
|
Getting Debian installed on a Digital Alpha Workstation
Author: Martin List-Petersen - martin at list-petersen dot dk
The newest version of this document can allways be found at http://www.marlow.dk/alpha
To see this document without menu etc. (for printing, opens new window), click here. Version: 0.1
Created: October 11th, 2004
Last updated: October 13th, 2004
The information here is provided AS IS and comes at no warranty.
Introduction
I recently traded myself to a Digital Personal Workstation 433a, which even though it seems a bit outdated, still is a quite powerful machine. I've allways been interested in
Alpha CPU based systems, installed a few, but only bought myself a motherboard with CPU (PC164) last year to realise, that i couldn't get my hands on 72pin EEC memory modules
(yep, EDOs and i haven't given up finding some yet).
Anyhow, on my last trip to Denmark a Alpha Personal Workstation, that had crossed my path, was dumped in my car and brought back to Ireland. Of course it's supposed to run Linux.
Installing Linux, especially on the "a" series of the PWS is a bit tricky. The PWS a-series was designed for Windows NT and the early beta's of Windows 2000 for Alpha.
But with a little research all the bits and pieces can be found. I just thought it might be nice to collect them in one spot, which I will do here.
Content
History
- 0.2 (20041013) - finished section on SRM.
- 0.1 (20041011) - initial document.
Digital Personal Workstation 433a (Miata)
|
|
The Miata initially starts up with the GUI based AlphaBIOS, but it also has the SRM bios, which looks a bit like a shell. And should
you ever forget to attach a keyboard to the machine, don't wonder why it might stay blank. The output is on the serial port (9600 8n1),
if no keyboard is detected. There a besides two versions of the Miata: the "a" series, that was ment for Windows only and the "au" series,
that was ment to be run with Unix.
AlphaBIOS and MILO
The AlphaBIOS is what Digital designed for Windows NT and the Beta 2000 releases (since Windows 2000 for Alpha never was released).
Using AlphaBIOS for booting Linux requires MILO (the Alpha MIni LOader), which either can be booted from floppy or a FAT partition,
so actually the first thing to do is to create a 2 MB FAT partition on your harddisk, because the AlphaBIOS can't read anything else.
MILO will afterwards be able to read kernel and initrd image from an ext2 image.
The FAT partition can be created and formatted from the BIOS and it's probably best to do that, before you start installing the system.
My initial choice of installation was floppy, because i had forgotten the caddy for the PlexWriter in the system and I was too lazy to
install a tftp server on one of the other machines.
3 floppies are needed: milo, rescue and root floppies. I usually ommit the driver floppies unless i have some very specific hardware.
The milo image can be found at:
http://ftp.ie.debian.org/debian/dists/woody/main/disks-alpha/current/MILO/milo_miata.bin. Basically all images can be found at
http://ftp.ie.debian.org/debian/dists/woody/main/disks-alpha/current/.
Regarding the MILO images, those are specific to each system because they replace the BIOS in the memory during boot. If you have
another Alpha system, you will need another milo floppy. |
After downloading and creating those floppies, the first task is to tell AlphaBIOS to boot the milo floppy. Enter the BIOS with F2,
go to Utilities -> OS Selection Setup and press INSERT to create a need entry in the boot manager. Let's call this MILO-FLOPPY or
whatever suits you. Boot File is set to A: and "linload.exe", OS Path: is set to anything (mine says CD:) and "milo". Save the changes
by pressing enter and F10 as soon as you are back in the bootmanager part of the BIOS.
Exit the BIOS, choose MILO-FLOPPY and MILO will be loaded instead of the BIOS.
replace the MILO with the rescue floppy and enter boot fd0:linux.bin root=/dev/fd0 load_ramdisk=1 at the MILO> prompt.
From here the installation is straight forward and looks like any other Debian Woody installation, so i will not cover that part.
Once installation is finished, it seems to fail to make the system bootable, but no worries. Once you are back at the milo floppy, you
can (depending on your installation) type boot sda2:vmlinuz root=/dev/sda3 to boot the system. Boot your Linux installation,
copy the files from the floppy to the initially created FAT partition and back to the BIOS.
In Utilities -> OS Selection Setup, you can specify the FAT partition now and enter boot sda2:vmlinuz root=/dev/sda3 for
"OS Options". That will automatically boot your installation.
Anyhow, i had loads of trouble with AlphaBIOS and also i wanted to try to do a netboot install, so in the BIOS under "CMOS Setup", you can
press F6 for Advanced. Console Selection let's you choose, what kind of BIOS you want and "UNIX Console (SRM)" is what i want to introduce
now. After making that change the machine has to be switched of and turned on again, to let the change kick in.
SRM and aboot
Debian Sarge, which is the next Debian to be released, can currently only be installed by cd or netboot and as i mentioned earlier, i didn't
have the caddy for my PlexWriter and was too lazy to find another cd-rom drive to mount in the machine.
After my machine came back up, SRM enabled, i just got a blue screen, with a blinking cursor and no reaction of the keyboard. Not even the
Num Lock key. Unplugging the keyboard, rebooting the machine, brings the SRM console up on the serial console:
Either SRM does not like the graphics card installed in my machine or the 433a BIOS was so crippled, that SRM is not easy to get to. So I
decided to do this on the serial console right now and see what happens, once i boot Debian.
When the SRM comes up, it looks a bit like this:
Digital Personal WorkStation 433au5.e4.
Console V7.2-1 Mar 6 2000 14:47:02
>>>
First of all, we need to know, what devices we can use:
>>>show dev
dkc0.0.0.1010.0 DKC0 IBM DNES-318350W SAH0
dkc200.2.0.1010.0 DKC200 PLEXTOR CD-R PX-R412C 1.02
dva0.0.0.0.1 DVA0
ewa0.0.0.3.0 EWA0 00-00-F8-75-4B-8D
pkc0.7.0.1010.0 PKC0 SCSI Bus ID 7 5.57
pqa0.0.0.4.0 PQA0 PCI EIDE
pqb0.0.1.4.0 PQB0 PCI EIDE
To perform a netboot, I needed to setup a tftpserver, my choice was tftpd. I downloaded the netboot image from the
debian installer (d-i) development page. In the dhcpd (I use the ISC one)
the following lines needed to be added to /etc/dhcpd.conf:
allow booting;
allow bootp;
use-host-decl-names on;
subnet 10.2.47.0 netmask 255.255.255.224 {
option subnet-mask 255.255.255.224;
option domain-name-servers 217.67.140.90, 194.168.4.100, 193.88.44.22;
range 10.2.47.16 10.2.47.29;
option broadcast-address 10.2.47.31;
option routers 10.2.47.30;
next-server 10.2.47.11;
option domain-name "home.marlow.dk";
host schroeder {
hardware ethernet 00:00:f8:75:4b:8d;
filename "/tftpboot/boot.img";
}
}
And of course the dhcpd had to be restarted.
The interesting part of this configuration are allow booting;, allow bootp;, next-server 10.2.47.11, which
specifies the tftp-server and of course the section on host schroeder is my Miata.
At the SRM prompt, i now entered: boot -proto bootp ewa0 -flags "" and exactly as assumed. Linux boots on screen, not on console.
Keyboard plugged back in i could perform a full Debian Sarge install. aboot, which is the bootloader that should be used together with SRM, is
installed correctly and on a reboot (remember to unplug the keyboard) i'm back on the SRM console via my serial terminal.
Now, there are some variable we can set, to let SRM autoload a certain partition:
>>>show boot*
boot_dev dkc0.0.0.1010.0
boot_file
boot_osflags 0
boot_reset ON
bootdef_dev dkc0.0.0.1010.0
booted_dev dkc0.0.0.1010.0
booted_file
booted_osflags 0
By executing set bootdef_dev dkc0 i've told SRM that the default boot device is dkc0, which is my harddisk.
>>>show auto*
auto_action BOOT
By setting auto_action to boot (set auto_action boot) we force SRM to boot to bootdef_dev automatically.
So when i turn my machine on, keyboard unplugged, I get the following on the serial console (check the last aboot line, i've set
my Linux to show output both on serial and console):
Console V7.2-1 Mar 6 2000 14:47:02
CPU 0 booting
(boot dkc0.0.0.1010.0 -flags 0)
block 0 of dkc0.0.0.1010.0 is a valid boot block
reading 171 blocks from dkc0.0.0.1010.0
bootstrap code read in
base = 1d8000, image_start = 0, image_bytes = 15600
initializing HWRPB at 2000
initializing page table at 1ca000
initializing machine state
setting affinity to the primary CPU
jumping to bootstrap code
aboot: Linux/Alpha SRM bootloader version 0.9b
aboot: switching to OSF/1 PALcode version 1.22
aboot: booting from device 'SCSI 0 1010 0 0 0 0 0'
aboot: valid disklabel found: 5 partitions.
aboot: loading uncompressed vmlinuz...
aboot: loading compressed vmlinuz...
aboot: zero-filling 398888 bytes at 0xfffffc0000546708
aboot: loading initrd (5390336 bytes/5264 blocks) at 0xfffffc000f9d4000
aboot: starting kernel vmlinuz with arguments ro root=/dev/sda3 console=tty0 console=ttyS0,9600n1
Linux version 2.4.27-20041008-ev56-schroeder (root@schroeder) (gcc version 3.3.4 (Debian 1:3.3.4-13)) #1 Fri Oct 8 21:01:22 IST 2004
I am quite happy with using SRM as BIOS, but as mentioned, I need to unplug my keyboard every time I boot. The machine will halt, if the
keyboard is attached.
|
Links
|