dc10 - 0.5


Neil Williams
Day DebConf Day 2 (2010-08-02)
Room 414 Schapiro
Start time 11:30
Duration 01:00
ID 568
Event type tutorial
Language en

Multiple repository bootstrapping

creation of complex chroots and rootfs systems with multistrap

Multistrap is a multiple repository bootstrapping package which uses apt to resolve the dependencies and a series of configuration files and custom scripts to prepare a complex chroot or a bootable rootfilesystem in a single process. This talk describes the current multistrap process.

debootstrap is tied to a single repository and a single suite and does not easily support customising the bootstrap environment as part of the debootstrap process. Multistrap uses apt to resolve inter-repository and inter-suite dependencies and supports detailed configuration and custom scripts to create both complex chroots (e.g. including a cross-building toolchain) or bootable root filesystems (with or without typical Debian bootstrap packages).

For root filesystem development, multistrap is gaining support for creating device nodes, omitting Priority: required packages, pre-seeded configurations (including creating a rootfs where dpkg and apt are no longer installed) and can prepare the final tarball.

For chroot development, multistrap supports extending the package selection with automatic dependency resolution and mixing multiple repositories (e.g. to get Emdebian toolchains for Lenny installed in a Squeeze chroot).

Configurations can be "cascaded" so that specialised configurations can inherit options from more general configurations.

This talk will cover the multistrap process, configuration and usage to create a complex chroot and a pre-configured root filesystem. Also included is a description of pdebuild-cross, an extension to pbuilder which is able to use multistrap to create a cross-building disposable chroot usable with pbuilder, pdebuild and svn-buildpackage.