Lightweight cross-compilation and virtualisation environment using dynamic library preload approach
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
debian
docs
execs
external_patches
include
lblib
lbrdbd
llbuild
lua_scripts
luaif
modes
net_rules
network
opensuse_rpm
pathmapping
preload
rpm
rule_lib/fs_rules
rule_tree
tests
unsupported
utils
wrappers
.gitignore
AUTHORS
Changelog
LICENSE
Makefile
README.md
TODO
autogen.sh
config.mak.in
configure.ac

README.md

Introduction

ldbox is a lightweight virtualisation environment for crosscompilation.

It allows to transparently build and package software for Linux distributions and architectures different than the one on a host system. ldbox is lightweight and simple to use. It requires no additional permissions besides ones 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 that existed before sb2.

See ldbox.org main site for more information.