Difference between revisions of "XobotOS"

From LiberateOS Wiki
Jump to: navigation, search
(Completed detailing the setup process)
m (Added section headlines)
Line 50: Line 50:
  
 
== Development environment ==
 
== Development environment ==
 +
 +
=== Git setup ===
  
 
First of all setup Git by executing the following commands:
 
First of all setup Git by executing the following commands:
Line 57: Line 59:
  
 
Replace "Your Name" and "you@example.com" with your name and E-Mail address as setup on [https://github.com GitHub]. '''Note:''' No sudo this time! These settings apply to your user account directly.
 
Replace "Your Name" and "you@example.com" with your name and E-Mail address as setup on [https://github.com GitHub]. '''Note:''' No sudo this time! These settings apply to your user account directly.
 +
 +
=== Install IDEs ===
  
 
Now we have to install Eclipse:
 
Now we have to install Eclipse:
Line 65: Line 69:
  
 
  <nowiki>sudo apt-get install monodevelop</nowiki>
 
  <nowiki>sudo apt-get install monodevelop</nowiki>
 +
 +
=== Install libpng14 ===
  
 
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.
 
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.
Line 81: Line 87:
 
<code>1.4.20</code>
 
<code>1.4.20</code>
  
The last thing we need to do is install proper font support, first we have to install some Microsoft fonts:
+
=== Install fonts ===
 +
 
 +
Next we need to install proper font support, first we have to install some Microsoft fonts:
  
 
  <nowiki>sudo apt-get install ttf-mscorefonts-installer</nowiki>
 
  <nowiki>sudo apt-get install ttf-mscorefonts-installer</nowiki>
Line 89: Line 97:
 
  <nowiki>sudo mkdir -p /usr/share/fonts/truetype/ttf-lucida
 
  <nowiki>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 \;</nowiki>
 
sudo find /usr/lib*/jvm/java-*/jre/lib -iname *.ttf -print -exec ln -s {} /usr/share/fonts/truetype/ttf-lucida \;</nowiki>
 +
 +
=== Eclipse memory limits ===
  
 
The last important step is to increase the memory limits for Eclipse. Open the eclipse.ini with the following command:
 
The last important step is to increase the memory limits for Eclipse. Open the eclipse.ini with the following command:
Line 100: Line 110:
  
 
Now we are ready to build XobotOS!
 
Now we are ready to build XobotOS!
 +
 +
== Building XobotOS ==

Revision as of 13:32, 23 April 2017

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

Git setup

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.

Install IDEs

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

Install libpng14

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:

1.4.20

Install fonts

Next we need to 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 \;

Eclipse memory limits

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:

-Xms1024m
-Xmx2048m

Now we are ready to build XobotOS!

Building XobotOS