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
.