Introduction

At last, I've finally created the first BASE-OS image for my Gomtuu Linux project. It aims at developing a Linux system for DEC/Compaq/HP Alpha systems, and no other architectures. Old models as well as newer models should run smoothly, so optimizing is a key point. However, it's still in its infancy and thusfar only the following systems are supported:

Other systems can, and will, be supported but at this point I'm not sure how to proceed with it.

There are lots of things missing and, no doubt many things need to be fixed. But, I have a working "path" from building a system up until a "root" prompt. Installing one of the above systems can be done the easy way and the hard way. The easy way is to burn a CD image and start the installation from CD. The hard way is to run the installation over an NFS mount.

CD Installation

Fetch one of the images below and burn it directly to CD. Both images contain the Installer program, except the (larger) one image also includes the Software Set packages, so it's self-contained. The image without the Software Set packages must download packages from a remote system.

The CD contains the aboot bootloader, so you can boot the CD in the usual way from the SRM:

>>> boot -fl 0 dka500

Your CD device may have been assigned a different device name than dka500 used above, so you need to substitute the appropriate device name for your setup.

NOTE: Currently the Installer does not configure the network interface of the system, so if you need network access you need configure it manually.

NFS Installation

I have the Installer program wrapped up in a minimal rootfs which is exported through NFS. In addition, a generic kernel with NFS rootfs support mounts this minimal rootfs and the Installer is automatically started. So, you need the minimal rootfs and the NFS kernel:

Extract the GIRI tarball on some host system in your network and export the containing rootfs through NFS. Note that there may an additional directory level in the tarball (e.g., GIRI) which contains the bin, sbin, etc directories of the rootfs. Ensure you're exporting the contents of the tarball at the correct directory level.
Also, configure a BOOTP/DHCP server in your network to provide the nfsroot.alpha kernel image to your Alpha system.
Once you've made these preparations you can boot the Installer from the SRM:

>>> boot -fl "root=/dev/nfs rootfstype=nfs ip=bootp _
_> nfsroot=<ip_rootfs_host>:<rootfs_path>" ewa0

The network device ewa0 may be different for your case, so you need to check that out for your setup.

Installer Program

The Installer is a simple text-based setup menu which is easy to follow. I have to make one remark, though. When Software Sets come from a remote system you must use an IP address for the Software Set Source (e.g., 77.168.71.170 for my machine). Alternatively, you could add a name server to the resolv.conf file of the GIRI rootfs (assuming you have permissions to alter the NFS export).

After the installation has finished, the system should reboot. If something went wrong, it halts and starts beeping. If the system reboots, you may have to interrupt the boot procedure in the SRM since it may automatically try to boot from the network device you booted previously. Currently, I have no tool to alter the SRM variable bootdef_dev to automatically boot off the correct device.
So, now you may be able to boot your new installation from the SRM:

>>> boot -fl 0 dka0

Again, the device you're booting from may be different for your setup. After the kernel has been launched, the system switches to run level 2. A number of services will fail to start since no network interface is configured on the system.
Four virtual terminals are started (tty1..4) and one serial terminal (ttyS0) and the only user whose able to login is root (using the password you've entered during the installation process).

Sources

In order to create or build an image for your own Alpha, you can download the build tools I'm using, from my Subversion repository.

The across build script may be optional if you intent to be using the compiler of your host system, but I haven't tested such a setup myself so I can't tell whether that will work. I've put together a schematic depicting how things fit together, globally (PS PNG).

Most stuff is documented, but if you have questions or remarks you can sent them to arthur at unimatrix dot gomtuu dot net.


May 13, 2016 — arthur