Page 1 of 1

Virtualizing ancient Linuxes

Posted: Sun Apr 29, 2012 9:32 pm
by bthylafh
Purely for the sake of nostalgia, I'd like to virtualize a couple old versions of Debian. For this example, I'll use 2.2.

2.2 (Potato) has XFree86 v3.3.6. In VMware Player 4 I can successfully use the provided SCSI controller, NIC, and possibly the sound (not sure if old kernels have the necessary driver). Can't find the needed video driver, so it works fine in console mode but it'd be fun to run X on it as well.

I don't think I was quite so successful with Virtualbox; it might have been something with the emulated IDE controller, but I don't think it would boot. Sound should be easier to do (VB can emulate an SB16, which Linux 2.2 and 2.4 had drivers for), but again, forget about the video.

Any suggestions? Microsoft Virtual PC emulates actual video hardware (S3 Trio 64) but I've heard it doesn't like Linux so much. I seem to recall that VMware /used/ to support such old versions of Linux.

Re: Virtualizing ancient Linuxes

Posted: Sun Apr 29, 2012 10:01 pm
by chuckula
Try running an old version of vm-ware :-P More seriously, I used vm-ware back in 2003 with suse linux 9.0 (the old suse not the more recent open Suse). I think there was some svga driver that would do basic X.

Re: Virtualizing ancient Linuxes

Posted: Mon Apr 30, 2012 6:24 am
by just brew it!
Did you try all of the available IDE controller types in VirtualBox? Perhaps the default one is too new for such an old OS. VirtualBox also has the ability to emulate SCSI controllers; that may be worth a try as well.

Edit: And what is the correct plural form of Linux anyway? I've also seen it spelled "Linuces". :wink:

Re: Virtualizing ancient Linuxes

Posted: Mon Apr 30, 2012 6:55 am
by RedAdmiral
chuckula wrote:
I think there was some svga driver that would do basic X.


The vesafb driver should work even for older X. I remember using it to get odd embedded video controllers (The kind with 1mb of vram) to work. It's supposed to be a kind of universal driver as long as the emulator follows it, and I believe vbox and vmware both do from what I can find.

From http://en.wikipedia.org/wiki/VirtualBox:

By default VirtualBox provides graphics support through a custom virtual graphics card that is VESA compatible.


According to Wikipedia, vesa is supported in vbox and I have used the generic 2d vesafb before in newer versions of linux such as ubuntu, opesuse and debian.

Also, have you tried using one of the scsi controllers from vbox?

Re: Virtualizing ancient Linuxes

Posted: Mon Apr 30, 2012 8:37 am
by Flatland_Spider
What kernel version is in Debian 2.2?

Edit: And what is the correct plural form of Linux anyway? I've also seen it spelled "Linuces". :wink:


I've always treated Linux as an adjective then used plural form of the noun it's modifying. Linux distros, Linux versions, Linux kernels.

I kind of feel Linuxes or Linuces would be appropriate if each distro was a different code base, like with the BSDs, rather then just a patch set on top of a common code base.

Re: Virtualizing ancient Linuxes

Posted: Mon Apr 30, 2012 8:40 am
by Captain Ned
just brew it! wrote:
Edit: And what is the correct plural form of Linux anyway? I've also seen it spelled "Linuces". :wink:

To me, -ux is close enough to Latin that the proper plural would be Linii.

Re: Virtualizing ancient Linuxes

Posted: Mon Apr 30, 2012 8:41 am
by just brew it!
Flatland_Spider wrote:
I kind of feel Linuxes or Linuces would be appropriate if each distro was a different code base, like with the BSDs, rather then just a patch set on top of a common code base.

Yeah, I suppose... but OTOH the Redhat and Debian camps are different enough that they do feel like different OSes sometimes (at least from an administrative POV).

Re: Virtualizing ancient Linuxes

Posted: Mon Apr 30, 2012 8:51 am
by bthylafh
just brew it! wrote:
Did you try all of the available IDE controller types in VirtualBox? Perhaps the default one is too new for such an old OS. VirtualBox also has the ability to emulate SCSI controllers; that may be worth a try as well.


It sees the SCSI controller when it emulates a BusLogic type, and will boot off the ISO (can't attach CD to a SCSI controller, so it's IDE, have tried all 3 types), but after a certain point it will say

Kernel panic: VFS: unable mount root fs on 01:00


Same deal if the hard drive's attached to the IDE controller. No issue with VMware.

Re: Virtualizing ancient Linuxes

Posted: Mon Apr 30, 2012 3:03 pm
by bthylafh
So far I can get VMware to do X in 320x200x8 using the SVGA server, which is obviously sub-optimal. I'm investigating the framebuffer, which I've got compiled into the self-done 2.4.31 kernel, but no luck yet even getting the framebugger to work in console mode, and X just laughs. Maybe I'm missing a necessary ancillary utility.

Online reading implies that VMware can emulate VBE 2.0.

Re: Virtualizing ancient Linuxes

Posted: Thu May 03, 2012 9:35 pm
by bthylafh
OK. Linux 2.4.31 compiled with vesafb. Insert line "VGA=791" into /etc/lilo.conf and run "sudo lilo", then reboot. Presto, have VESA framebuffer working.

Still fiddling with X.

Re: Virtualizing ancient Linuxes

Posted: Thu May 03, 2012 9:47 pm
by bthylafh
Qapla'!

Must have the xserver-fbdev package installed, then copy the file /usr/share/doc/xserver-fbdev/examples/XF86Config.fbdev to /etc/X11/XF86Config, then edit this file to reflect the color depth you've chosen from the "vga=foo" stanza in /etc/lilo.conf (with vga=791 it's 16 bits (the resolution is 1024x768[1], but that's irrelevant here)) and also edit the mouse information to reflect the correct protocol and device (in my case, device is /dev/gpmdata and the protocol is Microsoft).

[ninja edit: forgot a step HERE]
Now you have to edit /etc/X11/Xserver and replace the first line with the path to your FBDev X server; for me it's "/usr/bin/X11/XF86_FBDev".

Now you should have functioning X.

The above works for VMware Player 4.x on Windows 7 and may work on other platforms.

I'd forgotten how /ugly/ old versions of Window Maker are. :D

[1] See here for a table of framebuffer resolutions & color depths:
http://www.pendrivelinux.com/vga-boot-m ... esolution/

Re: Virtualizing ancient Linuxes

Posted: Thu May 03, 2012 9:51 pm
by bthylafh
Above will probably work with any version of Linux kernel that supports VESA framebuffer. I don't know the oldest version to support it immediately, but probably all 2.2 kernels and above will have it.