From LiberateOS Wiki
Revision as of 13:28, 23 April 2017 by Bnoffer (talk | contribs) (Completed detailing the setup process)
Jump to: navigation, search

This section of the LiberateOS documentation is dedicated to the foundation of our work: the XobotOS project originaly undertaken by Xamarin and released to the public as open source in early May 2012.

The guide presented here is based on the projects official guides posted as part of the various README files on GitHub, but the information has been updated in order to create a proper build environment. You can find a proper list of references at the end of the guide.

Initial Setup

This guide uses Ubuntu 14.04 LTS as a starting point, we recommend setting it up in a virtual machine like Oracle VirtualBox, VMWare Workstaion/Fusion or Parallels Desktop. In the future we will be providing ready made VMs for download.

VM requirements

Setup a VM with the following parameters:

  • At least 2 virtual CPUs/Cores
  • At least 6 GB RAM
  • At least 50 GB disk space

Install Ubuntu

Install Ubuntu 14.04 LTS in the i386 version. Using the 64Bit version can lead to library confusion that we want to avoid at this point.

You can download the Network Install ISO file from here .

We recommend installing the system in english, but with your proper keyboard layout. Follow the instructions and install the standard Desktop environment. After the initial setup make sure to install the Guest Toold for your virtual machine, so you can properly interact with the VM.

Install prerequisites

Open a Terminal and install the build environment dependencies.

First we need to install Java 6. In order to do so add a ppa and execute the following command:

sudo add-apt-repository ppa:webupd8team/java

Now you need to install the package.

sudo apt-get update && sudo apt-get install oracle-java6-installer

Check the Java version by executing

java -version

The output should look similar to this:

java version "1.6.0_45"
Java(TM) SE Runtime Environment (build 1.6.0_45-b06)
Java HotSpot(TM) 32-Bit Server VM (build 20.45-b01, mixed mode)

Back to a fresh terminal prompt. Install the main build tools with this command:

sudo apt-get install git ccache automake lzop bison gperf build-essential zip curl zlib1g-dev zlib1g-dev:i386 g++-multilib python-networkx libxml2-utils bzip2 libbz2-dev libbz2-1.0 libghc-bzlib-dev squashfs-tools pngcrush schedtool dpkg-dev liblz4-tool make optipng libglu1-mesa-dev libfreetype6-dev

Development environment

First of all setup Git by executing the following commands:

git config --global user.name "Your Name"
git config --global user.email "you@example.com"

Replace "Your Name" and "you@example.com" with your name and E-Mail address as setup on GitHub. Note: No sudo this time! These settings apply to your user account directly.

Now we have to install Eclipse:

sudo apt-get install eclipse-cdt eclipse-jdt

And now comes the Mono side of things, install MonoDevelop:

sudo apt-get install monodevelop

Now that all these components are installed we have to add one additional library. XobotOS requires libpng14, but Ubuntu 14.04 LTS provides either libpng12 or libpng16, so we have to install this one manually.

You can download the source tareball from SourceForge here . Download the .tar.gz file and plice it into your home directory on the VM. Afterwards execute the following commands:

sudo cp ~/libpng-1.4.20.tar.gz /usr/src
sudo tar zxf libpng-1.4.20.tar.gz
cd libpng-1.4.20
sudo ./configure
sudo make
sudo make install

If everything went well calling libpng-config --version should return:


The last thing we need to do is install proper font support, first we have to install some Microsoft fonts:

sudo apt-get install ttf-mscorefonts-installer

Accept the end user agreement and the installer will do the rest. Then we need to add the Java 6 fonts to the system fonts. In order to do so execute the following:

sudo mkdir -p /usr/share/fonts/truetype/ttf-lucida
sudo find /usr/lib*/jvm/java-*/jre/lib -iname *.ttf -print -exec ln -s {} /usr/share/fonts/truetype/ttf-lucida \;

The last important step is to increase the memory limits for Eclipse. Open the eclipse.ini with the following command:

sudo nano /etc/eclipse.ini

At the end replace the two lines starting with -Xms and -Xmx with the following:


Now we are ready to build XobotOS!