User:NeddySeagoon/Historical Gentoo

From Gentoo Wiki
Jump to:navigation Jump to:search

Why?

Like everything else gentoo, because I can.

Background

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.

Important
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

Preparation

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.

Warning
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.

user $git clone https://anongit.gentoo.org/git/repo/gentoo/historical.git
user $cd historical
user $git checkout `git rev-list -n 1 --first-parent --before="2003-04-10" master`
user $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.

root #emerge --info

almost works now. It will complain about a missing /etc/make.conf.

root #touch /etc/make.conf

will fix that.

Base System Installation

Follow the Gentoo Linux 1.4 Installation Instructions with the exceptions below.

Do not emerge --sync. Make and install a new portage snapshot.

Set 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.

Note
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."

Gentoo Stats

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

Important
If you have any of these files, please email me.
MD5 6dc1978d748dc6519933743b0337f718 pam_login-3.10.tar.bz2 131130
MD5 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.10.tar.bz2 to 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 util-linux.

A few sites have archives indexed by md5sum, so knowing the md5sum of the needed files is useful.

Telnetd

Warning
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

root #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.

root #/etc/init.d/inetd start

will start inetd which in turn will start telnetd. Root logins are not permitted. Its a security design feature.

user $sudo su -

works.

ftpd

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.

Tip
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

Starting XFree86

There is no autodetection of anything. Configure XFree86 then try

user $startx

Read /var/log/XFree86.0.log, fix the configuration, rinse and repeat until it shows

twm with three xterms and xclock

twm in 256 colour mode looks the same today as it did in 2003

GNOME

Follow the Gentoo Linux Desktop Configuration Guide.

GNOME Files Missing and Workarounds

None now :)

gdm

Start gdm

root #gdm

Starting gdm on the console or over telnet starts gdm on the console.

GNOME 2.2.1 with a few programs open

The GNOME desktop from 2003, in 24 bit colour, showing a few open windows.

KDE

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

Install kde-3.1.1

The files have been found but not yet tested. They have been added to the mirror.

kdm

root #kdm
KDE 3.1 in 24 bit colour

KDE sound events work too.

Goodies

Very few. Tracking down sources is not trivial.

alsamixer

Audio out is on the headphone control, at least, that makes sound output work.

cowsay

That's there. It needs a wrapper to make it work just with the cowsay command.

fortune-mod

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.

VLC

Plays DVD rips, but cannot see files over nfs. Blueray rips don't work :)

XINE

Plays DVD rips over nfs but only in monochrome.

XMMS

FLAC and MP3 are both installed but not tested.

Bugs

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.

Resources

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.

i686-gentoo-1.4-rc4-minimal.iso

gentoo-x86 git import of CVS

portage-snapshot-2003-04-09

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 14564
MD5 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.

Gentoo Linux Desktop Configuration Guide.

Contemporary Gentoo alsa-guide

Sources of Sources

Red Hat 9

shrike-SRPMS-disc1.iso

shrike-SRPMS-disc2.iso

shrike-SRPMS-disc3.iso

Red Hat 7.3

valhalla-SRPMS-disc1.iso

valhalla-SRPMS-disc2.iso

Red Hat 7.0

7.0-respin-SRPMS.iso

Other Distros

Fedora 1 SRPMS

Old Debian Sources

Slackware 9.0

The Virtual Machine Image

The Virtual Machine Image was created with

user $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.

General Tab
Basic

Chose Linux and Gentoo (32-bit)

Advanced

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.

System Tab

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.

Display Tab

Use the VMSVGA Controller.

Storage Tab

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.

Audio Tab

Its ICH AC97 audio.

Network Tab

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

Keyboard Layout

I normally use dvorak-uk but this old system only has dvorak. That's what is set everywhere.

telnet

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

Crypto

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.

VirtualBox Enhancements

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.

Get-U-Going

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.

Tip
telnet in and edit /etc/rc.conf to the console keymap of your choice then reboot

Package List

Package List

Acknowledgements

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 ?