Recently the PC-BSD team released their latest stable version (PC-BSD 7) code-named Fibonacci Edition. Some of major changes from the previous version include a newer kernel, an experimental ZFS module, and a KDE 4 for desktop environment. Being a Linux junkie, I thought of this as a perfect opportunity to venture into the BSD arena.
PC-BSD is a flavor of FreeBSD. Their official website describes PC-BSD as
a complete desktop operating system, designed with the “casual” computer user in mind.
This version is an effort to make the BSD Unix more accessible to newcomers, especially those who are switching from Windows or OS X.
I decided to install PC-BSD 7 on two different computers, an old laptop (test machine) and a fairly powerful desktop (my workstation). PC-BSD is currently available only in a 32-bit version. But the install image is available for different mediums including CD, DVD, USB etc. I grabbed the DVD image which had the default packages and some optional components. The installation starts in the text mode with a menu that provides a list of options. These include emergency command prompt mode, launching graphical installer, ZFS installer module, etc. I chose the default installation for the Laptop and the ZFS installation on the desktop. Once the installation started it transitioned into a GUI installer, which took me through six simple steps:
- Launguage Selection.
- License Agreement.
- Installation System Choices. You can choose install PC-BSD as a Server OS or a Desktop/Laptop OS. You are also provided a choice to either do a fresh install or upgrade. I chose the Desktop/Laptop option.
- User Account Setup. This is the standard user accounts creation step. You can also choose to do an automatic login for one of the user accounts.
- Partition Selection. PC-BSD chooses 512MB of swap partition by default and the rest is allocated for root (/). If the choice of file system is ZFS, then PC-BSD will automatically create an additional /boot partition and format it as UFS. This is because ZFS cannot be used as a boot partition. The partition selection step will be a smooth breeze if you are installating on a fresh computer with no other Operating System. However, if you do have another OS and are thinking about doing a multi-boot setup there are two things to watch out for:
- PC-BSD can only be installed on a Primary Partition.
- Lets take a short diversion and learn about hard disk partitions. When a hard disk is partitioned it can have up to four primary partitions and only one extended partition. The extended partition can then be sub-divided into as many logical partitions as you want. Even though we can have up to four primary partitions, the hard disk usually has only one. Since PC-BSD must be installed on a primary partition, you will need to create an extra primary partition using a thrid-party tool. GParted Live cd is an excellent and free tool for this job.
- If you already have a primary partition, there is a good chance your existing OS already occupies this space. To create an additional primary partition, you must steal some space from one of the extended partition. But before you can shrink the extended partition you must first shrink one of the logical partitions and then shrink your extended partition. This newly available space can then be created into a primary partition. All of these can be done using the GParted Live CD which has a user-friendly GUI interface.
When I installed PC-BSD in my test machine, I let it overwrite my existing bootloader (grub). During my next boot it showed me an option of pressing F1 for BSD and F2 for Linux, but pressing F2 did nothing. I was stuck with booting into PC-BSD for a little while. I eventually restored my GRUB through a rescue live cd (Mandriva One Live CD). A rescue live cd is highly recommended when you are experimenting with new operating systems. To add PC-BSD onto my GRUB menu, I booted into my linux OS and (as root) modified /boot/grub/menu.lst to add the following lines:
chainloader +1 boot
When I first booted into PC-BSD I was presented with a graphical video configuration utility. It had a reasonable selection of drivers that included Intel, nVidia, vesa, etc. My laptop had a ATI Radeon Graphics card and my Desktop had an Intel Graphics card. Both of them were properly detected, but no matter which resolution I chose, it ended up in a 1024×768 screen during the resolution test. So I decided to skip the configuration, which ironically detected my screen size and chose the appropriate screen resolution (1600×1050).
I was automatically logged into KDE 4 and the first thing I noticed was how fast it took me to the default desktop. The sound was configured correctly and it played the KDE login music which took me by surprise. I know that most linux distributions do not have any issues these days with sounds cards, but I was preparing to do some tweaking to get the sound working on a BSD flavor. The network was up and running from the get go, but this wasn’t too much of a surprise since I had a tethered ethernet connection without a router. The system tray in the KDE panel was quite useful. It had volume control, a network status monitor (which also doubles as the network configuration utility), a Monitor Resolution changer and a System Upddate manager.
The look and feel of KDE 4 was nice and polished. PC-BSD has nicely integrated it’s administration tools into the KDE environment. All of the following are accessible form the KDE Control Center.
- Add/Remove Software – This utility is only for adding or
removing programs that were installed using PC-BSD’s PBI pacakges. More
on PBI installers later.
System Manager – This had the option to switch kernels (if you have multiple kernles installed on the system). You can also use this to fetch BSD ports
(equivalent of URPMI in Mandriva or emerge in Gentoo).
- Network Manager
- User Account Manager
Software Installation & Update
PC-BSD introduces a new type of installtion file with .pbi extension (Push Button Installer or PC BSD Installer). These are self-contained installers that has all the dependent packages included in them. This mimics the behavior of the setup.exe or the DMG files in Win XP and Mac OS X respectively. Double clicking on this file in KDE will launch a graphical installation wizard (root password is required) and guide you through the installation of the software. The programs are installed in the /Programs directory and appropriate links are added to the KDE menu.
More PBI based installation files can be found at
http://pbidir.com. The system update manager was running when I logged into KDE and it
automatically detected and notified me that an upgrade for Firefox 3 and some other software were available. When I clicked on the notification bubble, it seamlessly downloaded and installed the updates. Most people think that this is not a big deal since Windows users and some Linux users (Mandriva) already enjoy this convenience. But being a long time Linux user, I’ve started seeing this feature in Linux only in the past year and it still has few glitches. After seeing PC-BSD’s updating service, I am able to appreciate the effort that went into making PC-BSD a user-friendly
In addition to the PBI type install, the FreeBSD ports are also available. FreeBSD ports are the equivalent of the urpmi or apt-get in the linux systems. You can use the port system to automatically download packages and dependencies from mirrors and performs installation. Since PC-BSD is fully compatible with FreeBSD, any package available for FreeBSD can also be installed in PC-BSD. This opens up the rich set of BSD repositories for power users. The PC-BSD Guide has more info on this as well.
Quick tip: Install KPorts, it gives a nice GUI for searching and installing
software using BSD ports. You can download the file with extension .tbz which is a FreeBSD pre-compiled package. It can be installed as a
root using: pkg_add kports*.tbz
The default installation of PC-BSD includes only Konqueror and unfortunately, does not have the flash plugin installed. However, when I installed Firefox 3 which was available in the dvd, it came with most of the browser plugins. It had a swfdec plugin for playing flash and it played videos from youtube very nicely. The default behavior of swfdec is to replace the flash components with a giant play button. Clicking on that button loads the flash component. The default audion and video plugin in Firefox 3 was Xine plugin, but it had trouble playing some of the online trailers in apple.com/trailers. I haven’t had a chance to try mplayer-plugin, but that might be an alternative to the Xine plugin.
I am thoroughly convinced that PC-BSD is the perfect choice for a newcomer to the unix world. It is very straight forward and it requires very little unix knowledge. Even though I mentioned a couple of caveats (eg. Bootloader, Primary partition), I doubt a new user who is installing on a fresh system will ever come across these issues. Even if someone does run into these issues, the solutions provided in this article should give them a starting point. The PC-BSD has a friendly and helpful community, they have an active forum where you can seek help from fellow PC-BSD users. The PC-BSD team has worked really hard on this release and the results are impressive. It is ready to challenge the main stream Operating Systems (Windows, OS X and Linux). I would encourage new users to try PC-BSD without any doubts. I would definitely recommend Linux gurus to give this distribution a chance and I promise, you won’t be disappointed.
If you would like to see your thoughts or experiences with technology published, please consider writing an article for OSNews.
Clicking on the images give me 404 error as they have wrong extension on the url. .jpg should be .png
Also, FreeBSD’s port system installs programs by compiling from source (except if you choose to do binary install with pkg_add which usually out-of-date).