Scratchbox 2
   HOME

TheInfoList



OR:

Scratchbox 2 (often abbreviated to "sb2" or "sbox2") 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 A cross compiler is a compiler capable of creating executable code for a platform other than the one on which the compiler is running. For example, a compiler that runs on a PC but generates code that runs on Android devices is a cross compil ...
an entire
Linux distribution A Linux distribution, often abbreviated as distro, is an operating system that includes the Linux kernel for its kernel functionality. Although the name does not imply product distribution per se, a distro—if distributed on its own—is oft ...
.


Predecessor

Scratchbox was a
Linux Linux ( ) is a family of open source Unix-like operating systems based on the Linux kernel, an kernel (operating system), operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically package manager, pac ...
embedded application development toolkit which also provided cross compilation support for
Linux distributions A Linux distribution, often abbreviated as distro, is an operating system that includes the Linux kernel for its kernel (operating system), kernel functionality. Although the name does not imply distribution (marketing), product distribution pe ...
. The project was initially developed by Movial and was sponsored by
Nokia Nokia Corporation is a Finnish multinational corporation, multinational telecommunications industry, telecommunications, technology company, information technology, and consumer electronics corporation, originally established as a pulp mill in 1 ...
. It was licensed under the GNU General Public License ( GPL). Scratchbox was designed for the
Maemo Maemo is a Linux-based software platform originally developed by Nokia, now developed by the Free software movement, community, for smartphones and Internet tablets. The platform comprises both the Maemo operating system and Software development ...
development platform (Nokia 770,
N800 The Nokia N800 Internet tablet is a wireless Internet appliance from Nokia, originally announced at the Las Vegas CES 2007 Summit in January 2007. N800 allows the user to browse the Internet and communicate using Wi-Fi networks or with mobile ...
, N810 Internet Tablets and Nokia
N900 The Nokia N900 is a smartphone made by Nokia, launched at Nokia World on 2 September 2009 and released in November. Superseding the Nokia N810, the N900's default operating system, Maemo 5, is a Linux-based OS originally developed for the Nok ...
and N9 phones) and supported
ARM architecture ARM (stylised in lowercase as arm, formerly an acronym for Advanced RISC Machines and originally Acorn RISC Machine) is a family of reduced instruction set computer, RISC instruction set architectures (ISAs) for central processing unit, com ...
and
x86 x86 (also known as 80x86 or the 8086 family) is a family of complex instruction set computer (CISC) instruction set architectures initially developed by Intel, based on the 8086 microprocessor and its 8-bit-external-bus variant, the 8088. Th ...
. Targets like
PowerPC PowerPC (with the backronym Performance Optimization With Enhanced RISC – Performance Computing, sometimes abbreviated as PPC) is a reduced instruction set computer (RISC) instruction set architecture (ISA) created by the 1991 Apple Inc., App ...
and
MIPS architecture MIPS (Microprocessor without Interlocked Pipelined Stages) is a family of reduced instruction set computer (RISC) instruction set architectures (ISA)Price, Charles (September 1995). ''MIPS IV Instruction Set'' (Revision 3.2), MIPS Technologies ...
worked at experimental level.


Functional description

In the Linux world, when building software, many parameters are auto-detected on the host system (like installed libraries and system configuration), for example through
Autotools The GNU Autotools, also known as the GNU Build System, is a suite of build automation tools designed to support building source code and packaging the resulting binaries. It supports building a codebase for multiple target systems without custom ...
' ./configure scripts. When one wants to build software for an embedded target by cross-compilation, most auto-detected parameters are incorrect: I.e. host configuration is not the same as the embedded target's configuration, hence the name cross-compilation. Without Scratchbox 2, one has to manually set many parameters and "hack" the "configure process" to generate working executable code for the embedded target. Scratchbox 2 allows one to set up a "virtual" environment that will trick Autotools and other executables into thinking that they are directly running on the embedded target with its configuration. Moreover, Scratchbox 2 provides a technique called "CPU-transparency" that goes further: With "CPU-transparency", executables built for the host CPU or for the target CPU could be executed directly on the host with sb2 handling the task to emulate a different CPU-architecture if necessary to run software components compiled for the target CPU. Hence a build process can mix using programs built for different CPU-architectures. That is especially useful when a build process requires to build a software component first as a build dependency for building another software component: For example, a "Lexer" must be built first in order to generate code for / of another software component with it.


Historic Git repositories of Scratchbox 2

* BinChengfei/scratchbox2
/code> at
GitHub GitHub () is a Proprietary software, proprietary developer platform that allows developers to create, store, manage, and share their code. It uses Git to provide distributed version control and GitHub itself provides access control, bug trackin ...
provides an unaltered mirror of the former Scratchbox 2
Git Git () is a distributed version control system that tracks versions of files. It is often used to control source code by programmers who are developing software collaboratively. Design goals of Git include speed, data integrity, and suppor ...
repository at
Gitorious Gitorious was a free and open source web application for hosting collaborative free and open-source software development projects using Git revision control. Although it was freely available to be downloaded and installed, it was written primari ...
with its latest Git tag being 2.3.90 on 2012-09-05. * lbt/scratchbox2
/code> (up to tag pkg-mer-2.3.90-4 on 2013-04-25) and mer-packages/scratchbox2
/code> (up to tag 2.3.90-git2 on 2014-03-05), both at GitHub, show intermediate states before the Nemo / Mer merger, when Scratchbox 2's active source tree was moved to the now dissolved git.merproject.org. * The continuation of the former source code repository git.merproject.org/mer-core/scratchbox2 is sailfishos/scratchbox2
/code> at GitHub, which contains all commit history and Git tags of all aforementioned Git repositories.


References


External links


Scratchbox 2 documentation
* {{Linux Embedded Linux Build automation