Just a note to myself here, I have dug up my old laptop from 2002 and tried to put it to some use again as I have managed to get the battery replaced. It is an old Pentium 3 CPU with a stunning 8MB ATI Radeon Mobility M6 LY graphics adapter.
I know of nothing better (from my experience) than NetBSD for such old hardware. It has always been a main pillar of all my *Nix experience, by using it, experimenting, compiling and sometimes hacking.
There are almost always some troubles to be expected when dealing with old hardware. I have prepared a virtual machine on KVM and installed a stable NetBSD 6.1. NetBSD has native support for virtio drivers in its GENERAL kernel so there was no problem with using it in KVM-QEMU
kvm -m 1024 -vga vmware -drive file=netbsd.qcow,cache=none,if=virtio
Next step was to do the following basics I always do with fresh NetBSD installs. Get pkgsrc, install tcsh, modular-xorg stuff and fluxbox. Once this is setup and ready next is to CVS checkout the current NetBSD source tree. Once done I build (in my case cross-compile on amd64) an i386 current release and install iso. Im not gonna cover this here as there is a complete step-by-step on the NetBSD wiki https://wiki.netbsd.org/tutorials/how_to_build_netbsd-current/
So after about 8 hours (the compilation time on Virtualized NetBSD 6.x in KVM-QEMU corei5 4GB RAM) the whole distribution is ready along with a bootable iso. (userland,kernels and xorg). Current version is NetBSD 7.99.1
When I booted the install cd the default GENERIC kernel gets loaded and I got a nice error message in the console looping like this :
auich0: read_codec timeout
This is looped and the boot will get stuck. OK, so there seems to be some problem with the audio device and the new GENERIC kernel. So I have decided to check the sources of the CONFIG for GENERIC kernel and disable the auich entry to see if we can get any further.
The config for the GENERIC kernel sits in current/sys/arch/i386/conf/GENERIC and the I have commented the following line
#auich* at pci? dev ? function ? # Intel ICH integerated AC'97 Audio
recompiled the distribution again, while compiling I have remembered that one can issue a boot -c command in NetBSD boot loader to select individual modules to be loaded. Unfortunately I have not enabled this option in the GENERIC kernel so I had to wait for the build process to finish. Once done the system booted fine without any issues and I could setup the whole distribution. First thing after rebooting to the freshly installed system I wanted to see if Xorg works, so as root I quickly tested it like so: #Xorg -configure but it bailed out with the dreadful error “number of created screens does not match number of detected devices” OK, quick look in /var/log/Xor.0.log showed that no drivers were loaded. I have searched the internet for these issues and came up only with some people complaining about the new Xorg and libpciaccess not detecting the VGA device properly. More problems again :)
So next thing I tried was to reinstall the system without Xorg and use the pkgsrc modular-xorg and compile it natively on the X23. This took another day to finish. When all was done the error was the same with Xorg -configure: number of created screens does not match number of detected devices
This was getting frustrating, (some people might think why the hell stick with NetBSD and why not use Linux ?) I liked the challenge and really wanted to get thing up and working as this proves itself to be a good exercise after all. I have searched through my CD archive and found that I had an old NetBSD 5.99.8 release from 2009. Good, booted this one – no auich errors (sound will work), installed with all packages, Xorg included, ran the Xorg -configure and all worked fine, got a nice TWM with xterms. OK, next was to build tcsh, fluxbox from pkgsrc which went fine. Next eterm for flubox wallpaper background.
Next problems were encountered while compiling GTK2+ as this package is dependant on many Xorg libraries and I am using old native X11R7. Eventually after a few hours of compilations the process died with errors regarding some X11 library version mismatch. I can compile all tools fine that are not dependent on GTK2+ but for the browsers I was stuck with elinks or dillo. All other (there aren’t many) depend on GTK. So my next step was to try my luck in compiling older GTK2 from source (not pkgsrc) and try to build firefox 3.6.28 from scratch. This is an ongoing process so I will write about this later :)
Sometimes I have a feeling that this orthodox way of using a computer is the key to understanding how the whole system and software works. When things are too easy one does not learn anything especially when everything is done for you before.