January 26, 2007

BSD goes live with FreeSBIE 2.0

Author: Mayank Sharma

Last year the Italian FreeBSD user group, GUFI, rekindled the FreeSBIE project to develop a live CD based on the FreeBSD operating system. After more than four months of development, and an equal number of beta releases, the project released FreesBIE 2.0 this month. Codenamed Clint Eastwood, the live CD is based on the recent FreeBSD 6.2 release, and is an ideal platform to experience BSD and learn how things are done in BSD land.

The 668MB ISO image installs more than 1.3GB worth of software. Included in the 450 packages are the Xfce and Fluxbox desktop environments, Firefox Web browser (version, aMule P2P client, Gaim and XChat for instant messaging and IRC, Thunderbird email client, AbiWord word processor, Gnumeric spreadsheet, Xpdf for viewing PDF files, MPlayer (along with several themes) and Beep Media Player for video and audio playback, GIMP for image processing, Inkscape for vector graphics, and GQView and gThumb image viewers. The necessary codecs for playing MP3 are also included. Network administrators get the gFTP application and several network monitoring tools, including Ettercap, Wireshark, and NmapFE.

I was a little disappointed that the FreeSBIE team decided to do away with the easy-to-use BSDInstaller hard disk installer.

Using FreeSBIE

The difference between a BSD and a Linux distribution is evident right from the time you insert the live CD. Once the CD is read, you are greeted by a menu with two options -- one will take you to the main boot menu and the other helps you tune certain boot parameters. If you choose the latter, the help cheatcodes command will list all the available codes, with a brief description of each and acceptable values. For example, if you want FreeSBIE to scan your disk and mount partitions, use the set freesbie.mountdisks=yes. Once you have set the parameters you want, let FreeSBIE roll out in your RAM with the boot command.

If, on the other hand, you decide to continue to the boot menu, instead of GRUB, you'll see its BSD cousin, the BTX loader. BTX has a few options of its own, which let you disable ACPI or boot in safe or single user mode, but the default options should work fine. While booting, FreeSBIE hides all boot messages behind a full-screen graphic.

Boot time will vary depending on your machine's processing power and physical memory. It wasn't unbearably slow on my old 1.7 and 1.3GHz Celeron computers, the slower of which had just 256MB of memory. Like most live CDs, you are automatically logged in when the system finishes booting, in this case as the freesbie user. But unlike most live CDs, you have to start your own desktop environment, if you want one, with startx. Xfce is the default desktop. If you'd rather use Fluxbox, edit the /home/freesbie/.xinitrc file and modify exec startxfce to read exec fluxbox. Similarly, you can only log out of the desktop environment to the shell, despite the shutdown and restart buttons in the menu. Only a shutdown -h now command actually shuts down the machine.

On the hardware side, FreeSBIE detected my wireless network adapter, an ATI graphics card, and 17-inch Samsung LCD, and configured them properly. It failed to detect any of my USB mice, despite picking up the touchpad and the built-in mouse on my IBM laptop.

FreeSBIE desktop - click to enlarge

The desktop environment doesn't take much time to load, and runs over the ninth virtual terminal, accessible with ALT-F9. The desktop runs Conky, a lightweight system monitor. Don't be surprised if Conky reports no swap usage. BSD uses its own swap space, and the Linux swap partition is of no use to it.

On launch, FreeSBIE starts Firefox to display a local copy of its all-in-one release notes, handbook, and FAQ page. Firefox runs the Adblock extension and is programmed to ask you to clear privacy data upon exit. Unfortunately, Firefox is the most unstable application in FreeSBIE. It crashed often and failed to start when certain network monitor applications such as Wireshark were running.

Speaking of networking, FreeSBIE defaulted to the wired network adapter on my computer for all purposes, even when it had successfully detected and configured the PCMCIA wireless card on my laptop. I realized this when I tried to run the netload applet on the Xfce taskbar, which displays the incoming and outgoing traffic. I had to intervene and configure it to look for traffic at wi0, the wireless device. Another problem -- as the default user, running the network monitoring utilities from the menu is of no use, since these applications require superuser permissions. FreeSBIE uses sudo to let normal users execute programs as administrator. The only other troublesome application I ran into was gDesklets, under the Accessories menu, which simply refused to run.

Persistent storage and privacy

FreeSBIE allows you to save data you've created while in the live CD environment to an external device using the savebackup script (under /usr/local/bin/savebackup). This data can be restored at subsequent bootup of the live CD. The script uses a backup.lst file (under /etc) that lists all directories and files that need to be saved. Creating this file isn't difficult -- just list each directory or file on a separate line. The release notes say a sample file exists in /etc/defaults/backup.lst, but I couldn't find it, so I created my own to save a "work" directory under my home directory. My /etc/backup.lst had a single entry, /home/freesbie/work/. I tried to use the script to save the directory to my USB drive, which was recognized and available under da0. But when I run the script it complains that it requires a partition that BSD can write to, without giving details as to what types of partitions are supported. I next tried a FreeBSD partition I have on my disk. When I asked the script to backup to ad0s1, it created a time-stamped compressed archive named freesbie_20070116_1217.tar.bz2 on this partition (or 'slice' in BSD terms), inside a directory called FreeSBIE. While such saved files are automatically restored during bootup, they can also be manually restored with the restoredata script (under /usr/local/sbin/restoredata).

FreeSBIE also packs the Tor and Privoxy tools, which help you maintain privacy online. Tor encrypts network connections and deliberately routes them through several routers. Privoxy works with Tor to filter content, manage cookies, and remove pop-ups. To make them work for you, run the freesbie_tor script (under /usr/local/bin/freesbie_tor) with the start parameter. The script takes some time and configures Firefox to work with the tools.


As long as you are on the desktop, FreeSBIE is similar to a Linux distribution. It bundles the right set of applications to be of use to a wide variety of users. But at its heart it is pure FreeBSD, which makes FreeSBIE very stable. The developers should consider bundling the FreeBSD manual to help a new user get along, but I'd recommend FreeSBIE 2.0 to any Linux user wanting to get a feel for *BSD.


  • BSD
Click Here!