emdebian logo
 

About Emdebian
 Emdebian & Debian
 Purpose
 Customisations
 Tdeb support

Cross toolchains
 Toolchain packages
 Toolchain Status

Packages
 Root Filesystem
 Build Tools
 Target packages
 Repository Key  Crossbuild bugs

Documentation
 Introductory Guide
 Emdebian Wiki
 Emdebian FAQ
 Packaging rules
 Packaging infrastructure
 Packaging guideline
 DebConf paper

Support
 Contact Us
 Mailing List Archives

Help Emdebian
 Developers' Info
 Subversion
 ToDo list

News

History
 Slind
 Stag
 Emdebsys

Links
 Emdebian Bootldr
 Emdebian Kernel
 Emdebian JTAG
 Scratchbox
 QEmu
 CELF

Valid HTML 4.01!

 
   

emsandbox customisation support.


Customisation of the emsandbox rootfs for Emdebian allows for machine and variant specific configuration of any files within the rootfs.

Each machine variant needs to use a simple hierarchy:

./$MACHINE              The name of the machine, before considering variants.
./$MACHINE/default      The default variant
./$MACHINE/$VARIANT     Variations of the one device.

For each variant, include three files:

packages.conf
setup.sh
config.sh

The two shell scripts can call, include or execute other files or scripts but if these scripts or files are intended for use within the rootfs, setup.sh must arrange for them to be included into the tarball. See emsandbox (1) or machine variants on this site for more information. config.sh and setup.sh do not need to be executable but must not include bashisms. Only use:

#!/bin/sh -e

Skeleton versions of these files are available in Emdebian SVN: http://buildd.emdebian.org/svn/browser/current/host/trunk/emdebian-tools/trunk/examples. and in the emdebian-tools package: /usr/share/emdebian-tools/machine/

The 'Emdebian working directory' is the directory specified to debconf where emsource can build packages, where your chroot tarballs are created and from where these machine/variant configuration scripts are included by emsandbox.

For more information, see 'man 1 emdebian-tools' or 'man 1 emsandbox', available online at emdebian-tools manpage and emsandbox manpage.

EXAMPLE: Balloon

The default variant for balloon is Balloon3, controlled by files in ./balloon/default/.

To checkout the balloon config files in place, use:

cd /path/to/Emdebian_work_directory/machine/
svn co http://buildd.emdebian.org/repos/current/emdebian/trunk/machine/trunk/balloon/

View the balloon customisation files online.

For Balloon3, the configuration scripts are empty and the package configuration of the default variant specifies two values:

INCLUDE=ballon3-config
TARBALL_NAME=emdebian-balloon3.tgz

The balloon3-config package is built from the source in Emdebian SVN:

svn co http://buildd.emdebian.org/repos/current/emdebian/trunk/machine/trunk/balloon3-config/trunk/
cd trunk/
svn-buildpackage -rfakeroot -uc -us -D

View the balloon3-config package online.

Package files will be in: ../build-area/.

Updates to the ballon3-config package need to be uploaded to the Emdebian target repository.

Other balloon variants should create a new subdirectory in ./balloon/ with customised versions of packages.conf, config.sh and setup.sh then specify that directory name in the --variant option to emsandbox. Variants that use a debian package need to either upload that package to the Emdebian repository or create a local proxy that can merge your local Packages.gz with the Emdebian target repository Packages.gz, then set that location in the PROXY variable in packages.conf. Note that debootstrap needs to be able to retrieve all packages for the rootfs from a single repository due to a lack of support for multiple mirrors. If this problem is fixed in debootstrap, emsandbox will be updated to remove the need for local proxy repositories.

Other machines can create a new subdirectory structure here or can use any other method of putting the necessary config files into the Emdebian working directory.


See the emdebian contact page for information on contacting us.

Last Modified: Sun, Oct 28 15:05:27 UTC 2007
Copyright © 2000-2007 The Embedded Debian Project;
Emdebian is an offical subproject of Debian.