It's been a decade since my first FreeBSD install, but the venerable FreeBSD ncurses
sysinstall installer I used then is still here. Integrating the BSD installer with FreeBSD was a Google Summer of Code project. The installer has been streamlined and the "Standard" option takes you through every major step in order.
You need to have a primary partition for FreeBSD to reside on. FreeBSD does things a little differently from Linux, requiring a slice to be created on a disk and then further dividing it into partitions. I chose to install FreeBSD on the first primary partition (you can have up to four primary partitions) on my secondary hard disk (/dev/ad1s1). The four partitions FreeBSD requires can be created manually or automatically by the installer. Here is what the automatic option created on my 8GB slice:
ad1s1a / 512 UFS2 Y ad1s1b swap 742 SWAP Y ad1s1d /var 1395 UFS2+S Y ad1s1e /tmp 512 UFS2+S Y ad1s1f /usr 4839 UFS2+S Y
UFS2 is the Unix File System that FreeBSD uses. Developers Scott Long and Brian Wilson are working on journaling support for UFS2. FreeBSD supports the ext3 filesystem in read-only mode, which can be a barrier to interoperability for some users. That's still better than Linux's non-support for UFS.
After the installation is complete, you can either use the FreeBSD bootloader or modify GRUB to boot into it:
The FreeBSD Handbook covers installation in detail.
Getting things to work
Once FreeBSD is done installing the base system, you can install extra software, such as a window manager, text editors, Web browsers, or media players, through FreeBSD's Ports system. Ports supports more than 13,000 applications that can be automatically downloaded, compiled, and installed. It is fairly easy to keep a FreeBSD system updated through Ports. FreeBSD also has a Linux binary compatibility layer that allows it to run Linux binaries. While most of the tarballs will compile, some that are written in a non-portable manner will not.
The default shell in FreeBSD is the C shell. You can run the command
$chsh -s /usr/local/bin/bash to change your shell to bash, as long as you've installed bash through ports.
Don't expect FreeBSD to work with every hardware out there, but it will work with the "standard" reliable devices. The installer picked up my Linksys Wireless Network Card in the PC Card slot at
wi0 as a Lucent WaveLAN/IEEE 802.11 wireless adapter and configured it automatically through DHCP. I had to configure another Linksys card on my desktop manually, using its Windows driver through NDISulator.
The FreeBSD kernel has a concept of secure levels. Different secure levels have differing restrictions. At secure level 2, file systems can't be mounted, and time cannot be adjusted more than a second at a time. Not only does the kernel understand the secure levels, but core system utilities modify and help enforce the secure levels.
FreeBSD has actively maintained ports for both KDE and GNOME. KDE 3.4.2 and Gnome 2.10 are packaged on the CD. You can update to GNOME 2.12 easily, but it takes time. To make
startx boot into KDE, I had to use
echo "exec startkde" > ~/.xinitc. Tweak X as per your needs.
FreeBSD installs different sets of applications depending upon your choice of "canned" distribution sets and ports you select during installation. Apart from KDE and GNOME, disk 2 of the installation set contains some of the most popular and important packages. There's the Opera Web browser, Evolution email client, Xchat for IRC, KOffice office suite, libraries to enable totem to play DVDs, and 300 other apps. The installation CDs will get you a fairly decent system up and running quickly, but if you need power applications such as the GIMP, Scribus, OpenOffice.org, or popular applications such as Firefox or Xine, you'll have to get them through ports.
Don't expect Konqueror to auto-mount and show the contents of a USB disk or a DVD. This lack of certain user-friendly features separates FreeBSD from the desktop OS crowd.
FreeBSD has advantages and disadvantages. Its biggest advantage is that it is a complete OS, in which everything is maintained by the developers who build the kernel. Consequently, the security of the kernel goes right through the core system utilities to the top.
Organizations such as Yahoo!, Trend Micro, About.com, Juniper Networks, Pair Networks, Cisco, and Nokia have already deployed FreeBSD for their own use. FreeBSD has proved itself to be a secure, stable, and complete OS.