Scratchbox 2
This article has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these messages)
|
Original author(s) | Lauri Leukkunen, Lauri T. Aarnio, Valtteri Rahkonen, Riku Voipio |
---|---|
Stable release | 2.3.42
/ 07/03/2012 |
Operating system | Linux |
Platform | Cross-platform |
Type | Build automation |
License | LGPL 2.1 |
Website | www.freedesktop.org/wiki/Software/sbox2 https://maemo.gitorious.org/scratchbox2 |
Scratchbox2 (sbox2 or sb2) is a cross-compilation toolkit designed to make embedded Linux application development easier. It also provides a full set of tools to integrate and cross-compile an entire Linux distribution.
In the Linux world, when building software, many parameters are auto-detected based on the host system (like installed libraries and system configurations), through autotools "./configure" scripts for example. When one wants to build for an embedded target (cross-compilation), most of the detected parameters are incorrect (i.e. host configuration is not the same as the embedded target configuration).
Without Scratchbox2, one has to manually set many parameters and "hack" the "configure" process to be able to generate code for the embedded target.
Scratchbox2 allows one to set up a "virtual" environment that will trick the autotools and executables into thinking that they are directly running on the embedded target with its configuration.
Moreover, Scratchbox2 provides a technology called CPU-transparency that goes further in that area. With CPU-transparency, executables built for the host CPU or for the target CPU could be executed directly on the host with sbox2 handling the task to CPU-emulate if needed to run a program compiled for the target CPU. So, a build process could mix the usage of program built for different CPU architectures. That is especially useful when a build process requires building the program X to be able to use it to build the program Y (Example: building a Lexer that will be used to generate code for a specific package).
Projects using Scratchbox2
- Tizen
- Maemo
- MeeGo / Mer
- WIDK webOS Internals Development Kit
- Raspberry Pi (Used to build binaries for the Raspberry Pi alphaboard)