I was busy documenting my combined htpc/fileserver setup (ZFS storage, XBMC, jails, Samba, sickbeard) to share on these forums. However I been having issues with a recent version of webcamd which is required for IR remote control, so i put the article on hold. Ironically 3 years ago I was thinking to myself how configuring IR in FreeBSD was so much more simple than it was in Arch. So either they broke something in the new version or I'm getting stupid with age. I'm hoping it's the former.
Anyway here is part of the doco that is relevant to building a freebsd desktop that may be useful to you. Note while the steps are very accurate, the doco hasn't been edited for publishing for a user friendly audience.
- Select FreeBSD Server
- Wizard, root password, create xbmc user (/bin/sh), hostname (tick remote SSH), Network config (static), Install system src (leave install ports tree unticked), Finish
- Careful not to proceed without Disk Selection Customize, Advanced, Selected Disk (pick), Selected Partition (use entire disk) + Partition with GPT; ZFS + Install bootable MBR; Enable ZFS mirror/raidz mode, no encryption, next, Finish.
- Proceed with install
Login as root.
Update the base system
Set clang as your default compiler (This step is not required for FreeBSD 10)
#WITH_PKGNG=yes # This is hashed because PKGNG is not online yet.
#Convert the package database to pkgng (This step is not required for FreeBSD 10)
#/usr/sbin/pkg # answer yes # hashed because PKGNG is not online yet
Download the ports tree
portsnap fetch extract
Add the following line to roots .cshrc file in /root and relog. Replace with your local mirror
setenv PACKAGESITE http://mirror.internode.on.net/pub/FreeBSD/ports/amd64/packages-9-stable/Latest/
pkg_add -r portmaster # ignore the pkgng message
You can do all of this configuration remotely by sshing into this box, so install tmux.
pkg_add -r xorg-minimal
pkg_add -r xterm
Enable hald and dbus in /etc/rc.conf
Start hald and dbus
Linux compatibility is a prereq for nvidia drivers.
Add the following line into /etc/rc.conf
Install Linux libraries
pkg_add -r linux_base-f10
Add the following entry into /etc/fstab
linproc /compat/linux/proc linprocfs rw 0 0
Mount Linux proc
Install nvidia drivers
pkg_add -r nvidia-driver
Add the following line to /boot/loader.conf
Add nvidia utilities
pkg_add -r nvidia-settings
pkg_add -r nvidia-xconfig
Run nvidia configurator
su - xbmc
echo "/usr/local/bin/startfluxbox" >> ~/.xinitrc
The rest of the document then goes on about lirc config, auto booting FreeBSD straight into XBMC as the xbmc user, configuring shutdown and reboots through XBMC menu. Configure a ZFS storage pool and install a jail on it, install and configure samba, sabnzbd, sickbeard etc.