posted by Corey Holcomb-Hockin on Wed 5th Nov 2003 19:48 UTC
IconI've been using computers since I was quite young and have been using Unixlike OSes for about two years. Most of my life I've used Macs and only started using Windows and Unixlike OSes recently for programming. I'm good at learning OSes as long as they are documented. I've been using FreeBSD for about a year and a half.

Click for a larger view I built the computer I am using myself. It has a Asus A7V266-E motherboard, Athlon XP1900+ CPU, 512 MB DDR 2100 ram, Matrox G400 video card, Asus 52x cdrom, Teac floppy drive, Western Digital 40GB hard drive, Hauppauge WinTV Radio tv card, Jaton Explorer V.90 Ex external serial modem, ps2 oem Logitech optical mouse, ps2 Happy Hacking keyboard, and a G75F ViewSonic CRT monitor.

FreeBSD can be compared to the less user friendly versions of Linux. Popular distributions of that style being Debian and Slackware. Unlike SuSE or Redhat the time spent configuring and installing programs after the installation is likely much longer then the installation itself. In my experience this period is made pretty easy because of the great documentation in the handbook.

Like Slackware and Debian the installer is console based. The program is called sysinstall. It is used for the partitioning and installation of the base packages. It also can be used for configuring the network, mouse, X, security profiles, KDE and Gnome installation, adding new users. Most of it is pretty straight forward but I find it easier to configure X and the network outside of sysinstall.

After the main installation I have several things to do before its in working order. I have to configure X. Since the version of X didn't change between 4.8 and 4.9 I just reused my old XF86Config. I also reused my old ppp.conf. I use cvsup to get 4.9 stable and current ports. Edit rc.conf to turn off the servers I don't use. I also turn on APM support.


I compile the world if there was any changes from 4.9 release to 4.9 stable. Then compile the kernel adding support for hardware I have and removing support for things I don't have. Its all documented pretty well but was lot of work the first time I did it.

cvsuping in FreeBSD can be compared to Redhat's up2date or SuSE's YaST online update. While its mostly automated there are some text files I need to edit before hand. I also need to make sure to have cvsup actually installed. In the /usr/share/examples/cvsup/ directory there are files called stable-supfile and ports-supfile. I already have copies of those that I've edited to add the server I want to use.


and to set the version I want to get to 4.9 stable.

*default release=cvs tag=RELENG_4_9

I only have to set the server in the ports cvsup file. Then I change to to root and run cvsup on those files. How long it takes to cvsup depends on how much has actually changed. I use dialup and the time is usually 5-20 minutes to get a release's stable. 5 minutes is when nothing has changed. Ports are changed more and can take much longer. I've messed up editing the stable file before by setting the release to a tag that doesn't exist. I noticed when I saw all the source being deleted. It was easy reinstall the source but it was still annoying.

Click for a larger view There is actually a difference between 4.9 stable and 4.x stable that isn't very clear. When I've read about people updating to stable is usually 4.x stable, RELENG_4. Which isn't really stable at the moment because its where the 4.x development goes before being heavily tested. 4.9 stable, RELENG_4_9, is only updated with security and bug fixes. Current, RELENG_5, is much different then stable and is where most of the new development is done.

Compiling world is a simple process that takes up quite a bit of time. Its consists of compiling all of the userland and the kernel and having them replace the existing userland and kernel. Userland is all of the base programs in FreeBSD like ls or top. There are detailed directions in the handbook. I delete the content of the /usr/obj directory and go to the /usr/src directory and type

make buildworld
make buildkernel
make installkernel
make installworld

with large amounts of time spent in between those commands waiting for things to compile and install. If I was on a busy system I'd go to single user mode before installing the kernel and world. I wouldn't want to be using things that are being written over and because it would make the process go faster. If I ever cvsuped to stable or current instead of just 4.9 stable I'd have to worry about the changes in the release being stable and tested. I'd also use the program called mergemaster to combine changes made in configuration files like make.conf and rc.conf. I haven't been adventurous enough to try stable or current yet.

Table of contents
  1. "FreeBSD 4.9, Page 1"
  2. "FreeBSD 4.9, Page 2"
e p (0)    43 Comment(s)

Technology White Papers

See More