Great resource for ancient Linux

I came across this site, old 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…!

One thought on “Great resource for ancient Linux”

  1. I don't know if I mentioned this elsewhere, but the solution is in the 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;
    165 while (–retries && (inb_p(HD_STATUS)&0xc0)!=0x40);

    as following:

    163int retries=100000;
    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

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.