Jensen install using 'aboot'
[Updated 6.11.1996 for aboot 0.5 + ELF kernel]
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.alphalinux.org/pub/Linux-Alpha/jensen/install
You will need the following files:
minlabel.exe : Partitioning
utility
copyboot.exe : Utility for copying
the bootdisk to the hard drive
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 kernel with
the following options [IIRC]:
- 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.
WARNING:
it seems that aboot will not work on a Jensen with a firmware >1.7 - you get
a fail message directly when loading aboot. The only solution I know is
downgrading to a 1.7 firmware (which has no disadvantages AFAIK).
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 /B 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, prepare a pseudo-bootdisk: take any of the
bootdisk images and create a disk as describes in the installation docs.
The setup tool needs this to copy a kernel to your harddisk later during
the installation, and will insist to do so. You can later replace this
kernel with a real one for the Jensen.
- 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:
0/a root=/dev/fd0 load_ramdisk=1
(or whatever you need to install/boot). The '0/a' 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, michaels@stochastik.rwth-aachen.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