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.
Installation:
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.
- In this partition selection screen, there is a check box that lets you install the PC-BSD’s bootloader. PC-BSD’s bootloader is notorious for wiping out your existing bootloader. It is advisable to not install BSD’s bootloader at this time. Later, you can add PC-BSD to your grub menu list. This is covered in detail in a later section.
- Additional Package Selection. PC-BSD installs a set of default packages. One thing that bothered me was that I was unable to view the default package list. There are packages such as Firefox 3, OpenOffice.org, etc., which you can choose to install in addition to the default packages.
- Installation progress screen. Now sit back and relax while the PC-BSD shoves it packages into your hard disk. For my desktop, the total installation time was under 20 mins.
Modifying GRUB:
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:
title PCBSD7
root (hd0,2)
makeactive
chainloader +1 boot
First 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
- Firewall
- 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
system.
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
Browser Plugins
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.
Summary:
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 OSAlert.
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).
Mea Culpa. It is fixed now. Thanks for the heads up.
About the FreeBSD ports system, I was referring to the packages that I installed through the pkg_add command. But you are right port system can also install it by compiling from source. Using the KPorts program I could see that it was compiling it from the source.
Nice article, although it would have been nice to proof-read it.
The first and the last pic still has the wrong extension (png).
Ehm, no. Sorry for bickering, but some of the screenshots still don’t work, although they now all have a .png extension.
Thanks for the article, BTW!
I’ve updated the links and it works only intermittently. Turns out it is not a problem with the extension but using picasa for embedding pictures is a bad idea, it buckles under load. I am sorry about the inconvenience, I’ll be cautious next time.
In the meantime if you get a 404 error try refreshing a couple of times you might get lucky .
Hey, screenshots are still missing for me.
I know ZFS in freebsd is coming along, as it is in macosx …. but what happened to the efforts to port DTRACE? Its fairly well done in MacOSX.
The relevant pages seem not to be updated anymore:
http://dtrace.what-creek.com/
http://people.freebsd.org/~jb/dtrace/todo.html
http://kerneltrap.org/mailarchive/freebsd-current/2008/2/5/728124
any more recent news?
I also think its time for the Linux people to admit defeat with SystemTap and perhaps rethink a new framework that will do what DTRACE does, but maybe better?
Who cares about DTrace? Look how pretty the damn thing is :-).
I think DTrace should be included in FreeBSD 7.1
Thanks for the review, well thought out. I’ve tried earlier versions of PC-BSD like 1.5 and it was pretty good. I tried to load the new version into a virtualbox session but it wouldn’t load, just kept rebooting. It could have been that I was using the net install cd image. You’ve inspired me to download the full cd’s or dvd and install it from there.
DVD install on VirtualBox does the same to me. I’d like to have it as main system, but fact that PCBSD does not have amd64 discs keeps me from doing it…
Is there a specific reason why you need the AMD64 version of the OS? Because as I mentioned in the article even though the PC-BSD was only a 32-bit OS, it was quite fast and snappy. Visibly faster than my Mandriva on the same system.
Edited 2008-10-04 10:21 UTC
It’s not a Linux distributor either :-).
What? Not Yet Another Setup Tool or Control Centre? You actually used the native tools of the desktop to create something that fitted in? Say what? I take it these tools didn’t take several years to develop and eat lots of VC funding either?
I still find it astonishing to this day that all Unix-like systems, and especially Linux ones, don’t get how much of a big deal it is for developers to be able to get software to their users, and for their users to be able to install and configure that software easily.
They’ve also chosen a desktop that actually gives them fairly easy ways of creating lots of desktop applications and applets (plasmoids) and allows easy installation there as well. They can create lots of well integrated GUI tools to their hearts’ content. From a multimedia perspective, they also have something that allows them to focus multimedia support for BSD in one place whilst making sure that applications don’t need to are or be ported (Phonon).
If they really go to town on the development tools side of things with this and get developers developing for PC-BSD then the future looks pretty damn bright.
No need. All you need is either the source code and the team will add it to their automated build server to have the application available as .pbi, and updated, or if it’s a proprietary application, all you need is a FreeBSD version (or Linux version) and the PBI server can pack it every time there’s a new version.
Not quite what I was driving at. The source is important in being able to distribute and install lots of software easily (open source stuff anyway – that’s how its usage has increased), but what is needed is a distribution and installation method when you getting the source and packaging it up is not an option. It distributes the effort and resources required, and increases the software written for your system, and ultimately usage, by allowing users to get hold of software where your software installation method doesn’t fit – i.e. proprietary off-the-shelf software etc.
Thus far, PC-BSD is the only system where I have seen someone at least get that and at least take it seriously. Of course, an installation system is a lot more than what they have there currently, and there are some real pitfalls where your packaging system ends and third-party installation starts, but it is definitely a start.
Wait for the mass desktop, and laptop deployment.
Edited 2008-10-03 15:50 UTC
I migrated to PC-BSD 7 last week.
The experience has pretty been good except for some dependency errors with binary packages in the ports free and horrible ATI drivers.
There isn’t a native Flash player but bleeding-edge versions of Swfdec and Gnash work well enough. The Windows Firefox Flash player plug-in also works great in Wine. The Linux Flash player 9/10 will likely run better in FreeBSD/PC-BSD 8, when the Linux kernel emulator is upgraded to 2.6.16.
However, I cannot say the same about the video drivers. The terrible r300 driver was nearly a show stopper for me and my ATI Radeon 9600XT. The F/OSS Xorg driver has implemented most OpenGL extensions, so there weren’t really any graphical artifact issues and missing textures but the performance is just horrible. Choosing between EXA and XAA X-server acceleration architectures made no difference.
Example: I received about 5-10 FPS on VDrift (N64 quality graphics) and 30-40 FPS in Doom 3 at 800×600 on Windows using the proprietary drivers.
It was one of the painful thing I had to do ….
I wiped out my FreeBSD system and installed Linux over it. I need a few features that BSD has not caughtup with and PC-BSD does not fix that either but the one that forced the switch was Virtualization – I was hoping they might port VirtualBox or VMware to FreeBSD but has not happened (is there anything like that?).
BSD folks seem to focus a lot on running Linux software but I think a solution like KVM on Linux will be of far greater benefit.
Hope I can still convert back once something is available (QEMU is not it – unless kqemu includes some of KVM work on native virtualization).
What happened to Xen on FreeBSD?
KVM has been ported to FreeBSD
http://feanor.sssup.it/~fabio/freebsd/lkvm/
I read that Xen support is coming for FreeBSD 8.
VirtualBox OSE can be ported to FreeBSD as the code is open-source for that version.
But there is Win4BSD.
http://www.win4bsd.com/content/
I know this is flame bait, but…
KDE Yuk!
Why can’t someone make a BSD OS in pure GNOME for the the people that really matter.
Perhaps you could just install Gnome? It’s in the ports system, and then uninstall KDE, and poof, a BSD Gnome system. That’s the beautiful thing about FOSS, if you don’t like it, tweak it, change it, rearrange it.
And If you like any sort of customization at all, Gnome is horrible. The people who matter like to customize things, hence KDE.
Edited 2008-10-03 18:36 UTC
Many BSD-based operating system projects seem to prefer KDE over GNOME. There may be many reasons, but one reason seems to be that KDE may be easier to manage and package, according to many, which matters to small projects with few developers and maintainers.
Also some Linux distributions, Slackware, GoboLinux etc. have preferred KDE over GNOME for the same reason. Slackware’s Patrick Volkerding explains the reasons for dropping its GNOME support here: http://www.theage.com.au/articles/2004/10/27/1098667821639.html
KDA is also, at least according to the OpenBSD folks, easier to port to non-Linux systems with good results.
ouch
that is harsh
Or they could shit into a cardboard box and stuff it into a pbi. You know, for the the people that really matter.
The look and feel of KDE 4 was nice and polished.
This is right under a system tray screenshot where you can see black background on all the icons. Polished is not the word i’d use
Although I must admit I like the dark feel of the desktop, somewhat ruined of course by the default grey theme of KDE.
After reading this article I tested the OS yesterday on my laptop. I’m an advanced Linux user but every time I tried to look at BSD I couldn’t get it to work properly. This in contradiction to PC-BSD, the installation went very smooth and after it was finished I got greeted with a full working KDE session.
The drivers for my ATI card worked poorly, but this can be forgiven for it’s a crappy on board card that doesn’t even work wonders in Linux.
I thought I would not like the way you install packages in PC-BSD, and for my personal use I prefer the way of most Linuxes, but for a average desktop computer it seems quite good; I’m sure it feels more natural to Windows and OSX users.
The best compliment I can give the new PC-BSD is that I threw it all off again, I don’t like OS’es that are that easy to use, not geeky enough.
One critique though; KDE4 ran very poorly on my 2 year old laptop, when I started a little QT game called KrisK my laptop started panting placing there was a delay of atleast 0,25 seconds between click and action. Is this an issue with my computer if any-one knows? I tested KDE4 on Linux once with the seem computer and it ran much more smoothly.
P.S: I wonder does BSD have some kind of different version of Vim, it’s my most used piece of software but I couldn’t work with this one. Sometimes it went out of insert mode when I went a line up, after which it refused to go back in it again, I felt stupid hearing all those error beeps
It’s likely you weren’t using vim at all but nvi. nvi is a part of the base BSD system and behaves exactly like the original UNIX vi.
vi!=vim. You are doing it wrong if you are typing vi to bring it up. Most Linux distributions symlink vi to vim, in non compatible mode which is the behavior you are expecting. If you want vim, you will have to install it if it isn’t, or type v-i-m.
Wow! That is the best compliment I’ve gotten so far . Now to address your issues. I was able to run vim without much trouble. I tried GVim and it looked like crap (it was still using GTK 1.2 or something). So I compiled my own GVim from source with GTK 2.0 and it worked like a charm.
As far as the package installation goes, the FreeBSD ports will do a good job of satisfying a power user who wants things to be not so easy. After all the list of PBI files is so limited I find myself using the ports more often. Have you tried the pkg_add command? That is the equivalent of apt-get install or urpmi or emerge in a Linux environment. If you find that too easy, there is always ./configure && make && make install.
Could this be related to the ATI driver? If it works smoothly on Linux, then it makes me wonder if you need to tweak your Xorg.conf. Try to copy your Xorg.conf from the Linux partition (if you still have it) and replace the BSD’s Xorg.conf file. You might need to modify the file a little bit to make it work. (Always backup your working Xorg.conf file, before trying anything funny).
Thanks for the review.
You’ve mentioned installing on a laptop. Did you try suspend/resume (must have feature for me) ?
Last time I’ve tried (FBSD 7.0 beta), it didn’t work for me (I know it might be hardware depended, mine is Thinkpad X60s, in case it’s relevant).
I doenloaded the installation dvd, backed up my nvraid-0 Vista x64 install and booted with the PC-BSD7 dvd.
To my surprise it recocnised everything in my pc and the installation went fast and smooth. After the installation including addind Firefox, Openoffice and a user, it rebooted to present me with a very decent desktop but, I had to select the resolution first which didn’t work.
It kept telling me selecting the resolution had failed and defaulted back to 1024×768 whilst it was running in 1900×1200 already.
I skipped the resolution selection and got the desktop which, as I stated, is nice.
The desktop I was presented with was running in the default resolution of my DVI connected 24″ of 1920×1200 which is good but it seemed to do only 16bit color and I couldn’t find a way to change that.
I did find a way to enable KDE animations etc. but enabling that left me with a black desktop.
Switching away from the desktop with ctrl+F1 got me prompt and switching back to the desktop with ctrl+F8 or F9 (don’t remember) got me the black desktop again. I found no way to get a working desktop again.
Anyway, this is just a glitch, it’s fantastic that even my nvraid-0 is supported. Now it seems my dual 8800GTS512 is not supported very well but I’ll keep looking at the support forum and once that changes I’ll try it again.
Installed several machines, at GiftFromGodComputerFoundation.org
where we fix donated systems, and pass them on to school aged children who have none!
Failed test, because some of our systems only have 8.4 to 10.2 GB hard drives, and the INSTALL wanted 8 GB!
Installed Ubuntu 8.04.01 and it used 1.7 GB!
Debian 4.0 also used about 1.7GB of hard drive space!
PC-BSD is very good, except for install of the same libraries for each application, making it a hog of drive space!