FreeBSD4.4 on a Compaq Prolinea 4/66
Grenville Armitage, 9jan02
Just for fun in December 2001 I installed FreeBSD 4.4 on a really old i486-based Compaq desktop machine, one that had previously seen life running Windows 3.11 in the mid-1990s. This documentation is largely for my own benefit - a record of what I did in case I ever need to.... umm... re-live the thrill. This information might also be of interest to others (like you, if you're reading this page and you aren't me) who wonder if FreeBSD really can be installed on old, throw-away machines. Not really sure if it would be of much use as a workstation, but definitely quite capable of being used as a network LAN gateway/firewall, or even a small NFS server, HTTP server (with apache) or WinNT file server (with samba).
Equipment
Installing
FreeBSD
FreeBSD
boot messages
Compaq Prolinea 4/66: 66MHz i486DX2, 20MB RAM, 327MB HD, SVGA video, 3Com 3C509B-TP EtherLink III 10Mbit/sec Ethernet, standard floppy drive.
My particular Prolinea 4/66 had no CD-ROM drive, so I had to boot from the FreeBSD4.4 diskettes and then install over the Ethernet from the FreeBSD CDROM on another machine (in this case a Toshiba Portege 7020 laptop, itself running FreeBSD). The laptop's CDROM was made accessible via FTP and NFS.
The FreeBSD boot process will prompt you for an initial kernel configuration step - skip it, and continue to the main Installation program. Select a Standard Installation, and you'll now be prompted to create the intial partitioning of the hard drive.
Because of its BSD/Unix roots, FreeBSD actually uses the term "slice" to refer to what the PC-world calls "partition". The traditional PC BIOS allows a disk to contain up to four distinct partitions, each containing a different file system (FAT16, NTFS, FreeBSD UFS, Linux, etc). Traditional BSD (from which FreeBSD is derived) uses partitions as key mount points for members of the unix directory tree and the swap space. Since FreeBSD was designed to co-exist on PC platforms and their BIOSes, BSD-style partitions are created inside BIOS partitions. To keep the names distinct, FreeBSD decided that BIOS partitions would be referred to as slices.
From FreeBSD's perspective, the Prolinea's internal harddrive is device /dev/ad0. The first step in the installation process is the FDISK Partition Editor, which allows you to modify the BIOS partitions of the hard drive. There were two existing partitions - FAT (for the previous Windows installation) and a 2MB Compaq Diagnostics partition. Not knowing what the diagnostics partition was used for, I left it. I manually deleted the FAT partition and recreated a single FreeBSD partition in its place. FDISK left the diagnostics partition as the third 'slice' (ad0s3), and assigned the first 'slice' (ad0s1) to FreeBSD.
Quit the partition editor ('q' option) and you'll be prompted to install the FreeBSD boot loader in the Master Boot Record (MBR). It is probably not necessary, but do it anyway. You'll then be taken to the "Disk Label Editor" and offered the chance to set up BSD-style partitions inside the previously assigned FreeBSD slice ad0s1. (ad0s1c conventionally represents the entire slice ad0s1, ad0s1d is unused by default. The swap partition, ad0s1b, was assigned roughly 40MB.) The partitions are mapped to filesystem mount points (the numbers below reflect the addition of packages mentioned later):
Filesystem Size Used Avail Capacity Mounted onTo continue the installation, setup an Ethernet link between the Prolinea and another machine allowing FTP or NFS access to the FreeBSD4.4 CDROM. (Anonymous FTP can be setup on another FreeBSD machine by adding the ftp user to /etc/passwd with /cdrom as its home directory, and edit /etc/inetd.conf to enable the ftp daemon.) I configured both the Prolinea and the FTP server node as members of the private 192.168.0.x subnet (the ep1 interface on the Prolinea in this case), used FTP as the initial network installation method, and it worked fine. Selected a minimal FreeBSD installation, and left all packages for later. Before initiating the actual installation, go to the Options menu and change the installation version from "4.4-RELEASE" to "any" (for some reason the FTP installation complains about not finding the correct version if you don't make this change, even though the CDROM was in fact the 4.4-RELEASE).
A caveat about security settings: don't select the highest security setting when prompted during installation, otherwise you wont be able to experiment with the X11 server (e.g. If you install Xfree86-3.3.6 and run XF86Setup either from console or during the installation process it will fail to start the server).
After installing FreeBSD and rebooting you should see a single prompt for "F1 - FreeBSD" from the FreeBSD boot manager. You can either immediately hit F1, Enter, or wait a couple of seconds for the boot process to continue automatically.
Once FreeBSD was running on the Prolinea I NFS-mounted the CDROM from the laptop (from which the FTP-based installation was performed). This was successfully used to perform post-installation of Xfree86-3.3.6 throught the /stand/sysinstall utility. I also used "pkg_add" to install apache-1.3.20 (was able to use the Prolinea as a basic webserver on the home LAN) and nmap-2.54.b29 from the NFS-mounted /cdrom/packages/All directory.
Naturally, with its limited RAM and swap space (given the small harddrive) this machine doesn't have huge potential as a standalone graphical workstation. However, FreeBSD inherently supports a range of IP networking functionality, so the Prolinea could get a new lease on life as a firewall or small server node. In addition, IDE harddrives in the 1-2GB range should be easy to find second-hand and would probably allow installation of useful, X11-based email and websurfing tools.
X11 using XFree86-3.3.6: I didn't do any serious work on setting up X11. Used /stand/sysinstall to add the Xfree86-3.3.6 X11 packages (SVGA server only). SuperProbe reported the video card/chip as "Tseng ET4000/W32i Rev B" with 1MB RAM. Was able to setup basic 800x600 mode of operation, but didn't explore anything particularly complicated.
I didn't tweak IRQs or search for conflicts. Here's what FreeBSD4.4 reported when booting:
Copyright (c) 1992-2001 The FreeBSD Project.