ldbox is a lightweight virtualisation environment for
cross-compilation.
It allows to transparently build and package software for Linux
distributions and architectures different from the one on a host system.
ldbox is lightweight and simple to use. It requires no
additional permissions besides those that a regular user already has to
setup build environment and run commands inside it.
ldbox doesn’t use any system virtualisation and
isolation capabilities (not even chroot). Instead, it
preloads a shared library that modifies arguments to many functions in
glibc, the standard C library. As a result, a program
running under ldbox’s control sees a virtual filesystem
view according to configurable rules.
Also, these rules control how new programs are started. For example,
a program for foreign architecture can be started inside an emulator
(like qemu), and cross-compiler started instead of native
compiler for foreign architecture.
ldbox is a fork of Scratchbox 2 (sb2), but
has nothing to do with old Scratchbox (not sb2). See Project History for details.
See Motivation for rationale why
ldbox is needed.
See Basic concepts for introduction to
ldbox’s basic concepts.
See HowTo if you’re alreday familiar with
ldbox concepts and want to start setting up targets and
using ldbox.