Like everything else gentoo, because I can.
Gentoo started life on 1999-10-04. I didn't join in the fun until April 2003. I remembered it as April/May 2002, when I finally got ADSL. However I unearthed my original gentoo-minimal-1.4-rc4.iso CD the other day when I was was looking for bits to get and old A7N8X install to boot. Thats another story.
Having unearthed the gentoo-minimal-1.4-rc4.iso I just had to take it for a spin. After 18 years, it still works. That was a suprise.
It also contains a i686 stage 1. I couldn'd have used that in 2003 as my original Gentoo install was on a 450MHz k6-2.
So, I have a bootable ISO, a stage1 tarball. What else do I need for an install?
A contemporary portage snapshot and some distfiles.
I still have a rather dog eared, pages out of order, paper copy of the 2003 handbook if I can find it.
So I'll try an April 2003 Gentoo Install just because I can.
ssh and https are not going to work. All the ssh cyphers in use in 2003 have been shown to be weak and have been retired. All the certificates from 2003 will have expired by now
Spin up a Virtual Machine. I gave it 1 core and a 20GB sparse HDD. Remember to put the HDD on an IDE controller and that the drive will be /dev/hda
Should you have real 2003 hardware to hand, you can read the compile commands as they scroll by.
Do not do an i486 install. The i486 does not have Memory Type Range Register (MTTR) support.
In some video drivers MTTR support is optional, in others its not. XFree86 with the 256 colour VESA driver and twm works. gdm does not.
The Minimal ISO
Fetch the i686-gentoo-1.4-rc4-minimal.iso and attach it as the VM CDROM image.
The Portage Snapshot
The original Portage Snapshots have long gone, so in the Gentoo way, we need to make our own.
This cannot be made on our budding install as git is required. Originally, it would have been a download anyway. Clone the historical gentoo-x86 repo and make a portage-snapshot. Choose a date to match the stage tarball you happen to have handy.
git clone https://anongit.gentoo.org/git/repo/gentoo/historical.git
git checkout `git rev-list -n 1 --first-parent --before="2003-04-10" master`
git archive --format=tar -o ~/portage-snapshot-2003-04-09.tar HEAD
A ready made portage-snapshot-2003-04-09 can be downloaded.
Untar the snapshot to /usr/portage.
almost works now. It will complain about a missing /etc/make.conf.
will fix that.
Base System Installation
Follow the Gentoo Linux 1.4 Installation Instructions with the exceptions below.
emerge --sync. Make and install a new portage snapshot.
GENTOO_MIRRORS="http://bloodnoc.org/~roy/olde-distfiles/" in /etc/make.conf. All my distfiles since mid 2006 are there, including sources tracked down for this trip down memory lane.
There is over 250G of (41,000) distfiles there. That page takes a very long time to autoindex, so its slow to browse
Make an overlay. It will be needed lo work around missing source code files. My overlay is included in the root filesystem image.
VirtualBox Guest Additions
At this point, it would be normal practice to install VirtualBox Guest Additions but the 2.4.20 kernel is too old.
See unresolved symbol vunmap. In short "Actually we don't support all 2.4 kernels. The oldest guest kernel which is supported by VirtualBox is the RHEL3 kernel which is 2.4.21 with some modifications, among them vmalloc / vfree."
Skip the handbook section 18.Gentoo-Stats. The code may well be available but the Gentoo server is no longer listening for reports.
Base System Files Missing and Workarounds
If you have any of these files, please email me.
MD5 6dc1978d748dc6519933743b0337f718 pam_login-3.10.tar.bz2 131130MD5 45133b34f10632f3ffc012401e2a4b19 util-linux-2.11y-crypt-gentoo.patch.gz 18843 Without
pam-login-3.10.tar.bz2 logins are not possible. Boot the liveCD and chroot instead or do a version bump of
pam-login-3.11.tar.bz2 in your overlay. That installs and works.
util-linux-2.11y-crypt-gentoo.patch.gz is required to build util-linux with the default USE=crypt. Set USE=-crypt for
A few sites have archives indexed by md5sum, so knowing the md5sum of the needed files is useful.
telnet transmits usernames and passwords in clear text, so should not be used
I should have configured telnetd at this point, once
netkit-base was installed.
emerge netkit-telnetd. Now there is a trap or two for the unwary.
netkit-telnetd drops a ready to go configuration into /etc/xinitd.d. However,
netkit-base only provides initd and does not install /etc/initd.conf so that it just works.
To get an /etc/initd.conf run
zcat /usr/share/doc/netkit-base-0.17-r6/samples/initd.conf.gz > /etc/initd.conf
Tab completion is a wonderful thing.
Edit /etc/initd.conf and change the telnet line to read
telnet stream tcp nowait root /usr/sbin/tcpd in.telnetd -L /bin/login
Be sure you are happy with the other services configured there.
will start inetd which in turn will start telnetd. Root logins are not permitted. Its a security design feature.
sudo su -
net-ftp/ftpd pulls in
sys-apps/xinetd, so migrate telnet to xinetd as its so much easier.
telnetd should pull in
sys-apps/xinetd too but its unlikely anyone is interested in a bug now.
ftpd is installed but not configured.
NFS Version Three
nfs version three Is supported. Its probably the easiest way to transfer files out of the Gentoo guest. Its installed and automouts my media server to test media playback.
Set tcp explicitly. In 2003 the defaut was udp
Installing a DeskTop
Start with XFree86. xorg is a thing of the future.
Follow the Gentoo Linux Desktop Configuration Guide with the exceptions below.
XFree86 Files Missing and Workarounds
The only XFree86 that all the files are found for is xfree-4.2.0-r12, so use that.
Deal with the failures as they arise.
e.g. gtk+ should depend on pango.
x11-base/xfree-4.2.1-r2 which is what portage would like to install, requires
MD5 50891a2431cc829d98829e385e2c452c XFree86-4.2.1-patches-1.2.tar.bz2 405424 MD5 43e5e0209a9400b946f38d7c731c968c sis_drv_src_210303-1.tar.gz 378880
MD5 aaeb8f8b276a6849f7a570097d69788e glide3-headers.tar.bz2 14564
There is no autodetection of anything. Configure XFree86 then try
Read /var/log/XFree86.0.log, fix the configuration, rinse and repeat until it shows
twm in 256 colour mode looks the same today as it did in 2003
Follow the Gentoo Linux Desktop Configuration Guide.
GNOME Files Missing and Workarounds
None now :)
Starting gdm on the console or over telnet starts gdm on the console.
The GNOME desktop from 2003, in 24 bit colour, showing a few open windows.
Follow the Gentoo Linux Desktop Configuration Guide with the exceptions below.
KDE Files Missing and Workarounds
The following files are missing
MD5 5687b1f9d7e0698f63c35c53322c786a kdelibs-3.1.1a.diff.bz2 MD5 4d84dd6a0f00d84850f2765766c6b780 kdebase-3.1.1a.diff.bz2 MD5 0d9151faa28fcbdff6b37559ce4895f5 kdegraphics-3.1.1a.diff.bz2
The files have been found but not yet tested. They have been added to the mirror.
KDE sound events work too.
Very few. Tracking down sources is not trivial.
Audio out is on the headphone control, at least, that makes sound output work.
That's there. It needs a wrapper to make it work just with the cowsay command.
No install is complete without "the notorious fortune program".
There is a story behind the app-games/ category. On Wed Sep 10, 2003, app-games was split into games-*/ and app-games/ was removed. app-games/fortune-mod became games-misc/fortune-mod. The fortune cookie databases were moved too. app-games/ is not in the historical git, so games-misc/* from Wed Sep 10, 2003 has been added to the overlay to provide as near to contemporary fortune-mod and fortune cookie databases as is currently available outside of CVS.
When fortune provides a quote that was actually spoken after the 9 April 2003, that's the reason.
Plays DVD rips, but cannot see files over nfs. Blueray rips don't work :)
Plays DVD rips over nfs but only in monochrome.
FLAC and MP3 are both installed but not tested.
Moving the pointer in and out of the VM console confuses the mouse calibration, so some areas of the screen cannot be reached. Move the pointer top to bottom and left to right to the screen edges that can be reached to recalibrate.
Gentoo Linux 1.4 Installation Instructions The Installation Instructions there are for Gentoo Linux 1.4 which is slightly newer than the 1.4-rc4 install we have here.
gentoo-x86 git import of CVS
Matching distfiles for portage-snapshot-2003-04-09. Missing
MD5 0d9151faa28fcbdff6b37559ce4895f5 kdegraphics-3.1.1a.diff.bz2 MD5 4d84dd6a0f00d84850f2765766c6b780 kdebase-3.1.1a.diff.bz2 MD5 50891a2431cc829d98829e385e2c452c XFree86-4.2.1-patches-1.2.tar.bz2 405424 MD5 5687b1f9d7e0698f63c35c53322c786a kdelibs-3.1.1a.diff.bz2 MD5 6dc1978d748dc6519933743b0337f718 pam_login-3.10.tar.bz2 131130 MD5 aaeb8f8b276a6849f7a570097d69788e glide3-headers.tar.bz2 14564MD5 45133b34f10632f3ffc012401e2a4b19 util-linux-2.11y-crypt-gentoo.patch.gz 18843 MD5 43e5e0209a9400b946f38d7c731c968c sis_drv_src_210303-1.tar.gz 378880
Use the workarounds described above.
The six struck through files are now available but not yet tested.
Sources of Sources
Red Hat 9
Red Hat 7.3
Red Hat 7.0
The Virtual Machine Image
The Virtual Machine Image was created with
tar --sparse -cjf Gentoo_09-April-2003.tar.bz2 'Gentoo 09-April-2003 i586' Gentoo_09-April-2003_i586_root.vhd
The directory 'Gentoo 09-April-2003 i586' contains the VM settings and the file Gentoo_09-April-2003_i586_root.vhd is the 20G root hard drive in a sparse file. Unpacked, its 2.6GB. If you put it on a filesystem that does not support sparse files, or forget to use the --sparse option to tar, it may be 20GB.
Configuring VirtualBox by Hand
The XML file of the VBox setup is provided.
Chose Linux and Gentoo (32-bit)
Choose a Snapshot Folder. The default works.
The other options need VirtualBox Guest additions and our 2.4.20 kernel is too old to support that.
I used 1GB RAM.
Choose the boot order. Only boot from the HDD if you can type on a dvorak keyboard. Otherwise boot a liveCD and edit /etc/rc.conf for the console and /etc/X11/XF86Config for the desktop.
Telnet should work on boot too. That's an option to fix your keymaps.
Choose the PIIX3 chipset. We have to use emulated hardware as the 2.4.20 kernel knows nothing of Virtio.
Use the VMSVGA Controller.
Decompress the downloaded image and attach it the primary drive of the first PIIX4 IDE controller. It matters as IDE drives are assigned fixed names.
Its ICH AC97 audio.
Both Bridged and NAT work. Bridged will make telnet using telnet easier.
Under advanced, choose one of the PCnet Ethernet adaptors as that is what kernel supports.
What you Get
A bootable Virtual Box disk image in a 20GB sparse file for /dev/hda. HDD that size were only a dream in 2003, so that's more that enough. It contains /boot and / (root). root is currently 1.5G.
In my build Virtualbox /dev/hdb contains 512MB swap, /home/, /usr/portage/ and /var/tmp/portage.
A very early /home/gentoo, the gentoo users home, is included.
Things you need to know.
Users and Passwords
root root gentoo gentoo
I normally use dvorak-uk but this old system only has dvorak. That's what is set everywhere.
xinetd and telnet are both configured and xinetd is in the default runlevel, so telnet will work on boot.
Warning: Things to be aware of
There is no working crypto. All the SSL certificates will have expired. All the cyphers from 2003 have not only bee depreciated, they have been removed too.
e.g. /etc/shadow and portage manifests both use md5. There is no ssh or connections to https://, which means most of the internet.
telnet should work, if you need remote access. That must only be used on a trusted network.
To install the VirtualBox Guest Additions a newer kernel is required and the VirtualBox Guest Additions provide most of the nice to haves, like shared folders, USB pass through and so on.
To play with Gentoo as it was, build your own, following the instructions above. The hard work is collecting the distfiles and that's already been done for you.
To just look at it, configure a Virtualbox VM, fetch the hda image, decompress it and attach it as master to the primary IDE contoller, so that its hda. That is required to boot it. If you can type on a US dvorak keyboard, log in at the console.
telnet in and edit /etc/rc.conf to the console keymap of your choice then reboot
All the source code archive sites around the web that have unknowingly contributed their archives to this effort.
All the contributors to Any Old Distfiles ?