I came across this site, old linux.org That has a bunch of resources for ancient Linux.
They even have a version of Linux 0.11 that can run in VMWare!
However Qemu won’t boot it, because of some issue with the IDE controller…
HD-controller reset failed: 00
Kernel panic: HD controller not ready
I’ve tried a bunch of versions of Qemu to no avail.. It may just be easier to modify the source to Linux, although that’ll require some kind of build environment capable of building early Linux… I don’t know if I’ll do it, as it’d be modifying the old software which clearly worked back in the day, but at the same point it’s behavior that is consistent with a *LOT* of versions of Qemu.
I’ll have to see, but it’d be cool to get 0.11 running under free emulators, and possibly regress back further. I see MINIX is also available on the site so it may be even possible to get 0.01 running…!
I don't know if I mentioned this elsewhere, but the solution is in the oldlinux.org site….namely:
When running the Linux kernel 0.1x in Bochs environment with version number
newer or equal to 2.2.6, you may encounter an problem at the bootstrap period
with the error message "HD controller not ready". There are two general
methods you can use to fix this problem.
1. One way is tricky but easy and without modify the kernel code. you need
only copy the harddisk image file to another name and modify the .bxrc file
to attach it as a second or slave hd in it. Fox example, if you have a hard
disk image file with name is hdc-0.11.img, just copy it to produce another
disk image with a name something like hdd-0.11.img. Then modify
the corresponding configuration file, for example, bochsrc-hd.bxrc. Add the
following line, and the parameters in the line should be the same with your
hdc-0.11.img line. Then you can go with the newer bochs system.
ata0-slave: type=disk, path="hdd-0.11.img", mode=flat, cylinders=410, heads=16, spt=38
2. The second mothod is to modify the linux/kernel/blk_drv/hd.c file in you
Linux kernel 0.11. Change the code at line 163 and 165:
163 int retries=10000;
164
165 while (–retries && (inb_p(HD_STATUS)&0xc0)!=0x40);
as following:
163int retries=100000;
164
165while (–retries && (inb_p(HD_STATUS)&0x80));
then rebuild the kernel and write it to the boot floppy image file:
dd if=Image of=/dev/fd0