Linux / FreeBSD keyboard.

How to build a Linux kernel for DS10, DS20,
Miata, and AlphaStation 200 Alphas

Building Linux Kernels on Alphas

The Rise and
Fall of DEC

This isn't that hard, really. It just takes some patience...

For the most part, this is just like building a Linux kernel on a PC, so refer to my other page with the general directions.

Once you have built the Alpha Linux kernel

As my other page describes, modify /etc/aboot.conf.

Presumably you followed my suggestions for installing Linux on an Alpha, so your SRM boot variables are set up correctly, and the boot_osflags variable is set to 0. That means that your /etc/aboot.conf file looks like this, where current and previous are the releases of your current kernel and some previous kernel:

# aboot default configurations
# NOTICE: You have a /boot partition. This means that
#         all kernel paths are relative to /boot/
0:2/vmlinuz-current initrd=/initrd-current root=/dev/sda4 quiet
1:2/vmlinuz-previous initrd=/initrd-previous root=/dev/sda4 quiet

Let's say that your new kernel is release 2.6.xx and you modified the Makefile so it will identify itself as 2.6.xx-whatever.

Change your /etc/aboot.conf so it looks like this:

# aboot default configurations
# NOTICE: You have a /boot partition. This means that
#         all kernel paths are relative to /boot/
0:2/vmlinuz-2.6.x.y initrd=/initrd-2.6.x.y root=/dev/sda4 quiet
1:2/vmlinuz-current initrd=/initrd-current root=/dev/sda4 quiet
2:2/vmlinuz-previous initrd=/initrd-previous root=/dev/sda4 quiet

Reboot and enjoy!

If all went well, this will just simply work! But if not....

Carefully examine what you see on the console, to decide how far it got before things went wrong (and therefore what you need to fix!).

Reset the system to return to the SRM prompt.

Boot the kernel referred to above as current with this:

>>>boot -flags "1"

Or, boot the kernel referred to above as previous with this:

>>>boot -flags "2"

Now return to the make gconfig step and get it right this time!

If it worked, and you want to copy the kernel to another Alpha:

  1. Create a tar archive including the relevant files and directory hierarchies:
    /boot/vmlinuz-2.6.xx-whatever
    /boot/System-map.2.6.xx-whatever
    /boot/config.2.6.xx-whatever
    /boot/initrd.2.6.xx-whatever.img
    /lib/modules/2.6.xx-whatever
  2. Copy that tar file to the destination system and extract it.
  3. Modify /etc/aboot.conf on the destination system.
Alpha DS10 and Alphastation 200 4/233

AlphaServer DS10 and AlphaStation 200 4/233