Saturday, October 30, 2021

Back to 1994, when Linux wore a Top Hat

Inspired by The spooktacular tale of Red Hat's Halloween release and the Download the original Red Hat Linux 0.9 "Halloween" release blogs, I've decided to give Red Hat 0.9 a go, and experience the best 1994 had to offer!

My own journey with UNIX started in 94-95 (first taste UnixWare and Xenix), and Slackware Linux in 1996, and the first Red Hat release I tried came only later in 1997 with version 5 / kernel 2.2. I have very fond of spending long nights installing distro after distro or using WvDial to connect a US Robotics serial model to dial up. Floppy boot was still a thing back then, so I wouldn't expect this 'ISO' to be bootable. Interesting challenges await.

No alt text provided for this image

See? I wasn't kidding about the top hat! This Linux version is *so* old there wasn't even a Fedora! Check out the version history!

Downloading the Media

You can download version 0.9 from archive.org, and very quickly discover it's not bootable. However, it does contain a variety of kernels and a bootdisk.img. Let's get it running!

How to get it running

# Extract the media
mkdir -p /mnt/iso && mkdir -p extracted
sudo mount -t iso9660 -o loop halloween.iso /mnt/iso
cp -r /mnt/iso extracted/

# Create a raw disk image
qemu-img create disk.img 500

# Run it with qemu, emulating a 486 CPU with 64M RAM
qemu-system-i386 \
	-cpu 486 -m 64 \
	-drive file=disk.img,format=raw,index=0,media=disk \
	-drive file=rootdisk.img,format=raw,index=0,if=floppy \
	-drive file=../../halloween.iso,format=raw \
	-kernel 1154/kernels/linux-1.1.54.cdu 

Stuck at the LILO prompt? Just getting to LI? Check out these LILO boot error codes page.

No alt text provided for this image

How I got this to run? Direct Linux Boot - using the `-kernel` option for qemu. Read more about Direct Linux Boot on the QEmu page.

No alt text provided for this image

To mount the CDROM, change the device to /dev/hdb, as per the qemu configuration.

No alt text provided for this image

Enter the /dev/hdb device name to mount the install disk and continue.

No alt text provided for this image

Partition your primary disk using fdisk. You will need to reboot. Set the Linux partition type to 83, and the swap to 82.

No alt text provided for this image

Or you can just use cfdisk.

No alt text provided for this image

"I love this part! Next time, read the manual!"

No alt text provided for this image

Run mkswap on /dev/hda2 and make a ext2 filesystem on /dev/hda1

No alt text provided for this image
No alt text provided for this image

It's interesting that we can use Minix FS as well! Bit of Tanenbaum history there!

No alt text provided for this image

Create a fstab and add a mountmount for /dev/hda1 as /

No alt text provided for this image
No alt text provided for this image

Mount the filesystem and continue with the install, with the Boostrap step:

No alt text provided for this image

Set a hostname

No alt text provided for this image

Select Series, of course I'm going to install Doom and LaTeX! And Emacs!!

No alt text provided for this image

Configure your mouse and X11 using Generic SVGA!

No alt text provided for this image

Configure your network card and modem!

No alt text provided for this image

Configure the keyboard, clock and add users!

Install your kernel!

No alt text provided for this image

And now, the dreaded LILO installation! I have some memories of booting from floppy or dual booting Windows 95 and Linux... didn't like 'GRUB' when it came along, it seemed... slow :-). I liked how distros like Slackware stuck around with LILO for quite some time!

No alt text provided for this image

Oh-oh..

No alt text provided for this image
No alt text provided for this image

It even asks if I want to add another OS as dual boot. I remember doing triple boot at some point, and figuring out primary vs secondary partitions, etc. Tricky!

Is this like the singing pirates in Monkey Island? Of course, the append line represents "hd=cylinders,heads,sectors" which corresponds to what you've configured in qemu / fdisk.

No alt text provided for this image

Remember cfdisk saying: "Heads: 16, Sectors per Track: 63, Cylinders: 1015"? Let's change the settings to that! Your values may differ!

Want to try something more modern?

Download the latest version of Red Hat Enterprise Linux for free from Red Hat: https://developers.redhat.com/products/rhel/download

No alt text provided for this image


0 comments: