To compile the kernel first I have to do some text editing then compiling. In the /usr/src/sys/i386/conf/ directory there is a file called GENERIC that is used for the kernel that comes on the CD and when buildkernel is done. I already have a version of that file that I copied from GENERIC that I've edited. I didn't have to change it much between 4.8 and 4.9. GENERIC has support for many drivers that I don't use and doesn't have built in support for sound or my tv card. I comment out many of the drivers
# SCSI Controllers #device ahb # EISA AHA1742 family
and add support sound and my tv card
# For PnP/PCI sound cards device pcm # WinTV device bktr0 device smbus device iicbb device iicbus device iicsmb
I then run /usr/sbin/config on the file I edited and go to the directory it tells me too and type
make depend make make install
I then spend some time waiting for the compilation to complete between the commands then reboot after the kernel is installed. If anything fails before make install I go back and compare the GENERIC configuration file and the one I edited to see if I made any mistakes. I've tried to remove support for things required to compile the kernel before and the errors make it very obvious. I make sure to keep a working copy of the kernel before rebooting. kernel.old in the / directory is the last kernel made before make install. If I'm paranoid I make a copy myself.
Installing software through ports is the best part of using FreeBSD. It would be even more fun if I had a a fast connection. Dependencies are all most always handled automatically. The binaries are compiled optimized for my CPU. The CPU flags have to be put in make.conf in the /etc directory for that optimization. FreeBSD 4.9 uses gcc 2.94.4 so the newest chip I can optimize for is the Pentium Pro.
To add a new program I just go to the directory of the program I want. Change to root and type
make make install
Everything is downloaded, patched, and compiled automatically. Its also pretty fun to just look through all the different ports. I've tried way to many window managers by going through the x11-wm ports folder. Because its very easy to install software through ports I can install only what I use.
After the base installation I installed KDE, vim, gmake, and cvsup from packages on the CD. There are many other packages that get installed as dependences. I install a several more things from the ports like fxtv, wget, sdl_image, sdl_mixer, ImageMagick, mplayer, and Electric Fence. I download Minitik from sourceforge and install it myself because only regular Tik is in the ports. I did not have any trouble installing or using any of the programs I got from packages or ports.
I've had trouble with hardware on FreeBSD before. I've had trouble with my video card and cdrom in 4.5 and 4.6 respectively. The problems mostly seem resolved at this point but I pay attention to the mailing lists to see when new experimental stuff is added. I haven't had any trouble with 4.9 yet. There is some support for more then 4GB of RAM that sound pretty experimental. If I had more then 4 GB of ram I'd worry more. There is also a note in the 4.9 errata that Gnome and KDE can't be installed at the same time because they depend of different versions of OpenLDAP.
I was using FreeBSD 4.8 before so 4.9 isn't that different. The nicest thing to me is the latest stable version of KDE 3.1.4. I've been using Lwm and Mozilla instead of KDE on 4.8 for a while. I don't use much of KDE actually but I like Kmail and Konqueror. Konqueror seemed to have improved quite a bit since 3.1.1. Tabs work much better and I've seen less strange rendering of web pages.
Fxtv is the program used with tv cards with the Brooktree Chip. Like the WinTv Radio card that I have. Its still working fine after compiling support for it into the kernel and making a device in /dev. I've had trouble with it on a different motherboard before so I'm careful not to use it with important work open and unsaved.
SDL and SDL_Image seem to work fine. I noticed a port called sdl_ldbad that is quite useful. On FreeBSD the include files folder and sdl-config are named differently then they are on Linux. On FreeBSD they are named include/SDL11 and sdl11-config for no apparent reason. Especially since SDL is version 1.2.5 now. The port sdl_ldbad does something that I've been doing by hand. It makes symbolic links to the normal places those files are on linux. This can make it much easier to compile the source of programs developed on Linux that use SDL.
Since 4.9 isn't that different then 4.8 its hard to rate it. I think its a good release because I've found it stable so far but it hasn't changed in any big way. From a desktop and programming prospective it seems to have the same speed and stability as Linux. Its much more stable then windows 98 or MacOS 9 or 7.5.5. FreeBSD is usually stable as long as the hardware is supported well. Its still not the easiest Unixlike OS to start with but its very easy once you get used to it.
- "FreeBSD 4.9, Page 1"
- "FreeBSD 4.9, Page 2"