FreeBoo: an Open Architecture for Network Dual Boot

Using FreeBoo, you can restore and boot different operating systems across a network and replace proprietary solutions such as Rembo.

Administrating large installations of computer desktops requires many tedious system reparations due to software updates, hardware fixes, user mistakes and viruses. To reduce costs, some enterprises adopt restrictive IT politics. But, if your business cannot afford a highly secure and restrictive environment, and you want to provide your many users with dual-boot capacity, desktop administration privileges and the possibility to execute a large amount of different software, you probably are using Rembo.

This article presents FreeBoo, an open architecture that provides you with a dual-boot system of secure desktop images. FreeBoo is based on network boot, provides image restoration and allows hot boot. With FreeBoo, any malicious software installation done on a desktop by a previous user can be overwritten seamlessly.

Image Restoring and Dual Boot

Many IT departments' efforts are dedicated to the time-consuming task of repairing end-user desktops. For this task, most IT systems use open-source imaging systems that exist today, such as SystemImager, partimage, FileZilla, clonezilla, Frisbee, rsync, rdiff-backup, ADIOS and so on, or their commercial equivalents, including Norton Ghost, Active, True Image and Image. All these tools create a compressed image of a client's hard drive data and save it in case a future data recovery is necessary. An image is the complete copy of a filesystem, and it usually is stored on a backup server. When image changes are small, incremental backup is used to improve performance.

Imaging systems use well-known IETF protocols to transfer data from client to server or vice versa. They also include many functionalities for image management, with easy-to-use GUIs. IT departments in charge of large installations also use them to clone OS images onto several identical computers and to update systems with new patches.

In general, this software requires a high level of expertise, works basically on-demand and runs with a client program. This last feature is very important, because it assumes that the client computer is executing with specific conditions. Typically, this means the client always executes the same operating system.

At our university, computer labs can boot either MS Windows or Linux operating systems, and students select the desired partition using Rembo. Other PC-compatible dual-boot options include Norton BootMagic, OSL2000 or the MSTBOOT commercial systems and the GRUB open-source software solution. But, none of these tools can dual boot from the network.

Rembo is the only existing tool that provides the option of restoring any of the computer's saved images. And, very important, once the image is recovered, the computer boots it directly. Rembo is a commercial evolution of the open-source BP Batch Project, recently integrated into the IBM Tivoli suite. Rembo introduces local disk caches for fast image restoration, is able to use multicast messages and can be programmed using the Rembo-C scripting language.

FreeBoo Architecture

FreeBoo is proposed as an open-source, alternative solution to Rembo. Instead of open-source software, FreeBoo is an architecture built from many existing open-source programs. In fact, the number of new lines of code is insignificant. We have written only eight simple scripts and have used the urldecoder script authored by Heiner Steven. Figure 1 shows the global picture. The open protocols used include TFTP, DHCP, HTTP and NFS. And, the open-source code, running either on the server or client includes PXELinux, rsync, partimage, Apache, Netcat, links2 and gensplash. In Figure 1, you can see which program is executed at each computer site (client or server).

Figure 1. Global View of the FreeBoo Components

To illustrate the use of FreeBoo, let's assume the following scenario: ten or more desktops connected by LAN with a remote, non-accessible server room, using a PXE-compliant NIC. The desktops boot in three phases, as shown in Figure 2. The first phase is similar to a thin-client boot. In the second phase, the user selects a boot option, and the necessary image data is sent to the client. Finally, in the third phase, the client computer boots the user-selected OS.

Figure 2. FreeBoo Phases



Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

configure a small embedded Gentoo Linux with generic drivers ???

Anonymous's picture

but where to install ???

/dev/hda1 is Window$
/dev/hda2 is linux

Gentoon must be somwhere else.

/dev/hda3 -> swap
/dev/hda4 -> Gentoon ???

And how to make partitions.
Any tips to gparted ?


where to install

mjp5060's picture

If you are referring to the Gentoo Linux that the client downloads to act as the boot-loader and provide the foundation for the client side of the OS deployment/section then it does not go into a partition, but runs in memory as a diskless client. This way it can manipulate the hdd for the OS's you want to deploy.

On that note if anyone has a pre-compiled image of Gentoo already configured for the network boot with all the client side applications please let me know or post a link.

Another note to the authors, this is a great system. Your focus is to make things easy, might I recommend providing a build of the whole system that can be executed on the server and provide a basic/sample setup that can then be easy modified by people who would like to deploy your system.

Images not visible

Lucas Vieites's picture

Hi, the images in this article are not visible. I see they are PS files in an <img> tag. Is this OK for other browsers (Firefox 3 does not show them)

setup directions

mjp5060's picture

Is there a more detailed set of documentation for setting-up/configuring a system like this?

More information

Anonymous's picture

thank you

mjp5060's picture

I had given up on this project because of a lack of information, but today I felt like looking into it again and saw your reply. Thank you so much, and will look that pdf over this week.

configuration/user guide

mjp5060's picture

This pdf was very informative about the technology, but it fails to provide a systematic set of instructions/guide of how to configure a system. Do you guys not have a guide for your projects that lists/demos the minimum requirements of what needs to be setup/configured. You guys have done a great job designing and implementing this architecture, but it is hard to replicate do to lack of instructions.

DRBL and Sources

C.Barrado's picture

I do not agree about the similarity of DRBL with FreeBoo. In DRBL you can boot a Linux net image over a computer with a MS WIndows already installed. BUT, as far as I read, you can not download the MS Windows in the same way you do with Linux!!

For George: FreeBoo source code is really short. Just a bunch of scripts that you can find in the paper. But if someone (lazzy) needs them, you can download from

DRBL (Diskless Remote Boot in Linux) is quite similar...

Anonymous's picture

It includes Clonezilla SE (Server Edition).
The following is from and
Diskless Remote Boot in Linux (DRBL) provides a diskless or systemless environment for client machines. It works on Debian, Ubuntu, Mandriva, Red Hat, Fedora, CentOS and SuSE. DRBL uses distributed hardware resources and makes it possible for clients to fully access local hardware. It also includes Clonezilla, a partitioning and disk cloning utility similar to Symantec Ghost®.

Clonezilla, based on DRBL, Partition Image, ntfsclone, partclone, and udpcast, allows you to do bare metal backup and recovery. Two types of Clonezilla are available, Clonezilla live and Clonezilla SE (server edition). Clonezilla live is suitable for single machine backup and restore. While Clonezilla SE is for massive deployment, it can clone many (40 plus!) computers simultaneously. Clonezilla saves and restores only used blocks in the harddisk. This increases the clone efficiency. At the NCHC's Classroom C, Clonezilla SE was used to clone 41 computers simultaneously. It took only about 10 minutes to clone a 5.6 GBytes system image to all 41 computers via multicasting!

Join forces to build a Rembo/Mokafive replica

HenrikBach's picture

If there are some guys out there interested in joining forces for building a Rembo/Mokafive replica, count me in. We could setup a site on one of those floss sites...


Hi I'm Sebastian Galiano

sebbasman's picture


I'm Sebastian Galiano (One of Freeboo's authors), If you need any help you can count on me. About the tar.gz you are requesting, maybe I can help on that too. Do you need any specific file?

FreeBoo project

HenrikBach's picture

Hi Sebastian!

That sounds great, that I can count on you. First, Now I'm able to download the tar.gz. I'll return back later, or you can write to me at bach.henrik at gmail dot com.

I cannot download the files related to this article

HenrikBach's picture

I cannot download the files related to this article:

It seems that the folder containing the compressed archive doesn't exists.

Can you have a look at that?

ftp site

georgecorondan's picture

liked your system admin issue 180 but when i tried to get the code for:
FreeBoo: an Open Architecture for Network Dual Boot
there was nothing on your ftp site! do you guys need a sys admin :-) ?