TeeBX is built using a set of scripts to automate both the linux operating system and applications build. This is done using the T2 System Development Environment (T2 SDE) hosted on a T2 linux machine.
For people who don't want to start from scratch by installing a T2 host and all the required software we provide a linux host VMware image based on T2 version 8.0.
The development system image is hosted on the Sourceforge project BoneOS (BoneOS is a parent project sharing a common base system with TeeBX), browse the project files on the dev-environment folder to download the latest VMware image.
After downloading the zip archive, uncompress it and then boot the linux virtual host using the VMware player (version 3.1+, free) or workstation (ver. 6+).
You will need about 4 GB of free disk space to be able to successfully download all the source packages and build the image.
Out of the box our T2 SDE virtual machine is set up to get it's network IP address via DHCP, the keyboard layout is set to "en-us".
The root password is set to "boneos" (without quotes).
The fastest way to change system setting is using the T2 linux configuration tool:
boneos-dev$ stone
Stone allow to easy change the most relevant settings, like keyboard layout, network, timezone... using a simple menu driven interface.
Sure the first thing you want to change will be the the keyboard layout, so select the first menu item:
Now again the first menu item:
...now select your preferred keymap:
The VM image has a 32 GB virtual scsi disk with two partitions. The first partition, mounted on / is sized at 1 GB, the second partition sized at 5 GB is mounted on /var. The /var partition will be used to store sources and to build the system image.
This amount of storage allow to do most of the work without any problem but you must pay attention to keep the system clean.
The choice to leave a large disk spare unpartitioned was done to be able to keep at reasonable size the development system image for distribution while having an option to resize the second partition if needed.
To people who do not like vi: before you try to install a new text editor, a good advice... nano is already available.
The basic workflow steps are:
Remember not to start any of the mentioned steps in the / parttion... you will go out of disk space a few minutes later!
Change your working directory:
boneos-dev# cd /var/devel/public/teebx
Download sources from the subversion repository:
boneos-dev# svn checkout http://teebx.googlecode.com/svn/trunk/ trunk
Before starting bulding any image you must create a new configuration using the T2 SDE Config script:
boneos-dev# cd trunk boneos-dev# ./scripts/Config -cfg trunk
In the above example we called the new configuration ''"trunk"'' using the -cfg parameter.
Use arrow keys to move between options, the tab key to move between action buttons.
Now highlight the current Target Distribution then press enter to select a new target.
Press enter or the space bar to choose a new target and go back to the previous screen.
If this is the first time you use the T2 SDE I suggest you not to change the various configuration options.
Caution: At the time of writing this document, the glibc target must be considered as experimental, it builds successfully but still shows many problems that need to be resolved - try it only if you want to contribute
Update: the glibc target got few progress but was deleted, the eglib target may be considered mature and will become the preferred libc variant.
Use the tab key to highlight the Exit button, then press enter to exit saving your new configuration.
Now that you have made a new configuration you're almost ready to run the build script, but please be patient.
The build script is able to download the source files, as needed, during the build process but I strongly suggest you do it before.
This command will examine the configuration and will download all the required source packages:
boneos-dev# ./scripts/Download -cfg trunk -required
We hope everything is going well, but it is possible we may encounter some problems: a few links no longer active, a site temporarily unreachable, a package that has been moved, and so on.
If there are no problems you can switch to compile your image, else you need to fix any failed download before proceeding. You may fix the problematic download link reviewing the package source or downloading manually the source package into the mirror directory.
To actually build the image you need to run the T2 SDE Build-Target script passing the configuration name to it:
boneos-dev# ./scripts/Build-Target -cfg trunk
Now it's time to take a break, it will take some time to complete the build (about 1 our on my machine to give you a vague idea).
When the build will end look into the build subdirectory, you will find a directory whose name consists of teebx-targetname-architecture-optimization-clibrary-configurationname. Here into a subdirectory called TOOLCHAIN you will find the just built images: a .img file or a .iso file, or both depending on the target configuration.
Now You have a complete build, which also mean You also got a working toolchain for this specific configuration. To update/rebuild a single package you don't need to start from scratch again but You simply need to run the Build-Target script appending the -job option, e.g. to rebuild the asterisk package:
boneos-dev# ./scripts/Build-Target trunk -job 1-asterisk11
Another example, to rebuild the appliance scrips/web interface:
boneos-dev# ./scripts/Build-Target trunk -job 1-appliance
That done You nedd to run the build script again to rebuild the image using the new/updated packages:
boneos-dev# ./scripts/Build-Target trunk
Would be nice to believe that you have not encountered any problems... but in the real world often things are not going this way, so what can you do now?
The first thing to do is to study the T2 SDE documentation, only after doing this, and maybe if you like to contribute to the project, ask the developers.