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.
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.
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 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.
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
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