Emdebian

  • About Emdebian
  • News
  • Toolchain
  • Distributions
  • Development
  • Documentation
  • Support
  • Search

Emdebian Multistrap information

Emdebian Multistrap information


Multistrap - multiple repository bootstrapping

[ Multistrap overview ] [ Secure Apt ] [ Example configurations ] [ Using multistrap for pbuilder chroots ] [ Multiple repositories ] [ Cascading configuration ] [ Cross building support ] [ Multistrap Wiki page ]


Overview

multistrap is the main tool for creating Emdebian root filesystems, replacing the old emsandbox tool used with Lenny.

Multistrap is a tool that starts off doing essentially same job as debootstrap but uses an entirely different method based on apt and extended to provide support for multiple repositories, using a configuration file to specify the relevant suites, architecture, extra packages and the mirror to use for each bootstrap.

Multistrap then extends the functionality to support automated creation of complete, bootable, root filesystems. It can merge packages from different repositories to make the rootfs. Extra packages are added to the rootfs simply by listing them - all dependencies are taken care of using apt. Current development in multistrap is to support user-specified scripts being added as hooks during the unpacking phase to add customised startup scripts and configure things like device nodes. (For this support, check the package in Debian experimental.)

Multistrap configuration and support

Multistrap includes a variety of configuration files for common usage (typical Debian suites and a variety of cross-building chroots). Multistrap supports cascading configurations where a specific configuration file includes a more general configuration file, which in turn is shared with other variations. This functionality is used by pdebuild-cross to create cross-building chroots.

Example simple configuration:

[General]
arch=armel
directory=/opt/multistrap/
cleanup=true
noauth=false
unpack=true
aptsources=Grip Updates
debootstrap=Debian
 
[Debian]
packages=
source=http://ftp.uk.debian.org/debian
keyring=debian-archive-keyring
suite=lenny

This will result in a completely normal debootstrap of Debian lenny from the specified mirror, for armel in /opt/multistrap.

Specify a package to extend the multistrap to include that package and all dependencies.

Specify more debootstraps by adding new sections. Section names are used in the debootstrap general option.

Section names are case-insensitive.

Setting Grip instead of Debian in the debootstrap option, as below, will provide a base system from Emdebian Grip 1.0 and locate any missing dependencies in Debian 5.0 Lenny, allowing you to add any package(s) you need from Debian that are not yet in Emdebian Grip. (Change the debootstrap line to specify Grip to enable the new section.)

[Grip]
packages=locales
keyring=emdebian-archive-keyring
source=http://www.emdebian.org/grip
suite=lenny

Using the Emdebian customisations with multistrap

All dependencies are resolved only by apt, using all configured repositories, to use only the most recent and most suitable dependencies. Note that multistrap turns off Install-Recommends so if the multistrap needs a package that is only a Recommended dependency, the recommended package needs to be specified in the packages line explicitly.

The Architecture and directory can be overridden on the command line. Most other general options have command line equivalents.

multistrap also implements the modified version of the machine:variant support originally used in Emdebian Crush. Using the cascading configuration support, particular variants can be supported by simple changes on the command line.

Setting a filename in the tarballname field allows multistrap to pack up the final filesystem into a tarball.

multistrap is stateless - if the directory exists, it will simply proceed as normal and apt will try to pick up where it left off.


Back to the Emdebian Project homepage.

Home

  • About Emdebian
    • Emdebian & Debian
    • Purpose
    • Flavours
    • Extending Emdebian
    • Localisation support
    • Emdebian Tdebs
  • Cross toolchains
    • Packages
    • Build toolchain
    • Status
    • Search
  • Emdebian Grip
    • Packages
    • Repository Key
    • Installation Guide
    • Ports
  • Emdebian Crush
  • Emdebian Baked
  • Documentation
  • Support
    • Contact Us
    • Mailing List Archives
  • Help Emdebian
    • Developers' Info
    • Subversion
  • News
  • History
    • Slind
    • Stag
    • Emdebsys
  • Links

To report a problem with the web site, e-mail debian-embedded@lists.debian.org.For other contact information, see the Emdebian contact page.

website sources

Last Modified: Sat, Mar 26 22:00:00 UTC 2011
Copyright © 2000-2011 The Embedded Debian Project;
Debian is a registered trademark of Software in the Public Interest, Inc.