ZFS on Desktop – Which OS?

I’ve been thinking about this lately, especially after seeing this:

[root@einhart ~]# pkg_version -vIL=>
binutils-2.21 < needs updating (index has 2.21.1)
bitstream-vera-1.10_4 < needs updating (index has 1.10_5)
chromium-12.0.742.112 < needs updating (index has 12.0.742.124)
droid-fonts-ttf-20100214_1 < needs updating (index has 20110324)
exiv2-0.21,1 < needs updating (index has 0.21.1,1)
gawk-3.1.8 < needs updating (index has 4.0.0)
gcc-4.6.2.20110701 < needs updating (index has 4.6.2.20110708)
gnutls-2.12.7_1 < needs updating (index has 2.12.7_2)
libidn-1.19 < needs updating (index has 1.22)
openjdk6-b22_6 < needs updating (index has b23)
p5-Net-DBus-0.33.6 < needs updating (index has 1.0.0)
p5-libwww-5.837 Fetching ‘/usr/ports/www/chromium’

To build Chromium, you should have around 1 GB of memory
and a fair amount of free diskspace (~ 1.5GB).

===> Vulnerability check disabled, database not found
===> License BSD LGPL21 MPL accepted by the user
===> Found saved configuration for chromium-12.0.742.112
=> chromium-courgette-redacted-12.0.742.124.tar.xz doesn’t seem to exist in /usr/ports/distfiles/.
=> Attempting to fetch http://download.goodking.org/downloads/chromium-courgette-redacted-12.0.742.124.tar.xz
chromium-courgette-redacted-12.0.742.124.tar.x 0% of 114 MB 35 kBps^C

And did you notice that “you should have around 1 GB of memory and a fair amount of free diskspace”? Yeah, it does use that much memory to update a web browser. Something that takes few seconds on Windows and Fedora and few minutes on Ubuntu takes almost hours to do on FreeBSD. Downloading source notwithstanding, compiling it also takes long, long time.

If anything, this is why I hate FreeBSD. And you will mention use package except that there’s no H.264 video support and possible chance of conflicting package difference between my system and the buildbot. As much as I want to use binary packages, they come in unwanted forms:

* GNOME 2 pulls Samba4 for God knows why reason
* Some pacakges don’t have optimization enabled
* Mplayer doesn’t have VDPAU
* Some packages must be installed manually (Java, Opera)
* Portupgrade takes minutes to compute what to do (something which is done in seconds in Ubuntu)

As much as I can tolerate this shit, the very fact that VirtualBox under FreeBSD takes much more CPU certainly doesn’t help.

So, I guess I’ll try yet another OS. There are several options so here are overview of current choices.

FreeBSD
——-
Pros:

* Extremely simple
* Up to date packages
* Highly customizable
* Stable ZFS

Cons:

* Customization comes at cost: compile time
* No good virtualization option
* A package management that is comparable with slowpoke
* No flash (yes there’s linux flashplugin ports but it’s a joke)
* Awesomely slow video playback even optimized on Firefox

PC-BSD
——
Pros:

* Based on FreeBSD, has some of familiarity
* Binary packages that’s not too slow
* Stable ZFS

Cons:

* Also no good virtualization
* Epic size of packages (eg. [a hundred megabytes for Firefox](http://www.pbidir.com/bt/pbi/49/firefox))

OpenIndiana
———–
Pros:

* Stable, greatest ZFS
* Zones
* Good VirtualBox support
* Flash support

Cons:

* Complex
* Doesn’t survive trivial hardware change without Live CD/USB
* ACL
* Outdated packages
* Non-existent packages
* Manual compiling of `mplayer` is a must since the defaults on various repositories are crap
* Still beta
* Doesn’t recognize FreeBSD’s GPT (at least on `oi_148`)
* Ugly freetype2 (no support for subpixel hinting apart of manual compile)

Ubuntu Linux
————
Pros:

* Latest, greatest software
* Good software support
* Good virtualization

Cons:

* Unstable ZFS
* Linux

Note that I only include Ubuntu in Linux category since it’s the only OS having both working nvidia driver and precompiled ZFS module, saving me lots of headaches.

Multi-booting Windows, (x/k/ed)Ubuntu, OpenBSD

I actually liked Windows’ boot manager: it’s simple that it’s stupid (LOL)

But that’s it: I’m not going to use other boot manager if there’s any Windows installation in same drive (assuming all OSes are in same drive).

For OpenBSD, it’s really easy: just read the installation faqs. :P

For (x/k/ed)Ubuntu, there’s no instruction available but it’s not much different with OpenBSD’s:

  • At installation, make SURE to install GRUB on the ROOT partition of the system (using advanced option on last step) – and take note the location (ex: /dev/sda2)
  • After installation you’ll get to Windows directly without given choice for OS: don’t worry, we’ll add it now
  • Go download dd for windows
  • Use dd –list to see which is the Ubuntu root partition. Easy way: Harddisk# is the same as system partition – usually C: drive. Then for Partition#, use this formula: /dev/[s/h]d[a-z]#. So /dev/sda2 would have partition number 2 (Partition2)
  • Then do this: dd if=?DeviceHarddisk#Partition# of=c:ubuntu.pbr bs=512 count=1
  • And edit boot.ini (System Properties -> Advanced -> Startup and Recovery Settings -> Manually edit startup file). Add line like this: C:ubuntu.pbr=”Ubuntu”
  • Reboot, there’ll be Ubuntu in boot choice list.
  • There might be another countdown… to remove: go find it yourself :P
  • Yay finished

Ubuntu lol

Ha. So I installed Ubuntu 8.04 on my laptop.

  • Mplayer works (just search it on its package manager interface). Styled subtitle also works albeit with glitch on font rendering.
  • Using intel graphic chip helps greatly when using it as no need for additional driver.
  • In general, using not-so-new hardware means that there’s high chance nothing will be need to be done to use linux perfectly (?). Laptop’s volume control (via keyboard shorcut) also works. So does the touchpad and battery and wifi and… everything :P
  • Uninstalled again though, as I need space for data XD