Running Thoroughbred BASIC on Amazon EC2

This is a quick blog post going over the steps needed to run Thoroughbred BASIC on Amazons EC2 platform, purely as proof of concept using the 30 day Eval available on the installation media.

I wanted to see if it would be possible to run BASIC in the cloud, as historically BASIC had been more selective over supported kernel version,etc.

The first steps I took towards getting this to work was using Kiwi to create an OpenSuSE custom AMI.

Next the main challenge was around getting the Thoroughbred media into the cloud in order to perform the installation, as being cloud based there is no concept of having a CD drive.

For my test I created an ISO image of the installation CD and uploaded it to the running instance.

Here are the steps I went through.

I mounted the additional disk available under my m1.large EC2 instance to give me the space I need for the Tbred programs

mount /dev/sdb /mnt

Then create a CDR ISO of the TBred installation media using your preferred method. I’m on a mac so I used diskutil and dd to create an iso of the physical CD, and SFTP’d the ISO up to my running instance.

sftp Tbrednew.iso root@:/mnt

Next on the running instance I created a user for the basic programs to run under

useradd -m basic

Now we are a step closer to having a running Thoroughbred installation on EC2.

mkdir /tbredmount
mount -t iso9660 -o loop Tbrednew.iso /tbredmount
cd /tbredmount/
cp tsi_env /mnt
cd /mnt

The following will unpack the cpio archive of the Thoroughbred install

cpio -ivBmud

The next instruction will do a kernel and system compatibility test

install -e

And finally to perform the installation without the installer checking for the install media on a local CDROM or tape

install -n

After the installation has completed you should be able to execute ./b IPLINPUT to start up the Thoroughbred environment.

You should then see a screen asking you to enter the serial number (XXXXXXXXX-XX) that can be found on the CD case of the original Thoroughbred media.

(c) Matt Palmer 9 June 2012