Glossary

1. Scratchbox

A sandboxed build environment for desktop where all the software (dependencies) that configuration utilities see, are for the target device. Build environment contains toolchains for the supported target architectures and C-libraries, for x86 and for host utilities. Additionally it contains all the normal build tools that Open Source software and 'configure' scripts need.

2. Toolchain

Toolchain is a collection of tools used to develop for a particular hardware target, or to work with a particular data format. Often used in the context of building software on one system which will be installed or run on some other device; in that case the chain of tools usually consists of such items as a particular version of a compiler, libraries, special headers, etc.

3. Host system

System where the scratchbox is installed. This is typically relative fast x86 machine with lots of memory. Almost all compilation work is done on host system. Host system contains lots of tools that are usually found on any linux system.

4. Target system

Within Scratchbox, target system is one of the directory hierarchies under '/targets' directory in Scratchbox, created when you call 'sbox-config' with the '--create-target' argument. 'usr' etc. directories in this hierarchy are linked to the Scratchbox root directory so that installed software goes automatically to correct location.

5. CPU Transparency

A feature of the Scratchbox where a programs and scripts can run their cross-compiled installation or build environment test binaries like they were native. Scratchbox has told the desktop kernel to run foreign binaries with one of the cpu transparency methods. All this is transparent to the software which thinks it's doing native compilation when it's actually cross-compiling software on a much faster x86 machine.

Currently there are two supported cpu tranparency methods: QEMU and SBRSH.

6. SBRSH

Scratchbox Remote Shell is an rsh/ssh-like utility for Linux that supports terminal emulation, automated mounting of network shares, chroot, etc. Foreign binaries are run by 'sbrsh' client which will tell a 'sbrshd' daemon on an ARM device in the network to NFS mount relevant directories from the Scratchbox (desktop machine), execute the binary and redirect all the I/O back to the desktop machine.

7. QEMU

QEMU is a fast processor emulator.

8. EE Support distribution

A Scratchbox support distribution for the cross-configuration ARM device. It contains a setup necessary for implementing CPU Transparency on that device. EE is acronym for elegant elephant.

9. Devkit

Devkit provides distribution specific set of tools that are installed to ease building of working distribution. Devkit binaries are using same cpu architechture than host system. All the stuff installed by devkit is only visible in host system. Devkit related files are never copied to the target system.

10. Rootstrap

Rootstrap provides large number of programs and libraries for the target architecture that are needed for building software and resolve dependency issues. Rootstrap files are using same cpu architechture than target system. Rootstrap related files are always copied straight to the target system.