emdebian logo
 

About Emdebian
 Emdebian & Debian
 Purpose
 Customisations
 Flavours
 Extending Emdebian
 Localisation support
 Emdebian Tdebs

Cross toolchains
 Toolchain packages

Emdebian Crush
 Packages
 Root Filesystem
 Build Tools
 Autobuild Report
 Repository Key
 Crossbuild bugs
 Packaging bugs
 Installation Guide

Emdebian Grip
 Packages
 Repository Key
 Packaging bugs
 Update logs
 Installation Guide

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!

 
   

Emdebian Grip packages

A smaller Debian-compatible distro

[ Distributions ] [ Repository pool ] [ Search ] [ Update logs ] [ Installation ] [ Installation Guide ] [ Release status ] [ A Guide to Grip ]

Grip is a light grip on Debian Squeeze (the codename of the next Debian release after 5.0 "Lenny"). Small amounts of squeeze, as few functional changes as possible and highest level of functional compatibility with Debian Squeeze. Intended to be primarily a native build environment, including support for building custom packages on an Emdebian installation as well as the ability to mix and match Emdebian and Debian packages with minimal effort. Cross-building support will become available as the changes needed for Emdebian Crush are made within Debian.

Initially, Emdebian Grip packages based on Debian 5.0 "Lenny" are mainly to assist in further developments. Emdebian Grip 1.0 is to be released alongside Debian 5.0 "lenny". The main usable packages will be part of Debian 6.0 "Squeeze".

Gradually, more packages are added but there will be a limit to the total package set (some packages just don't make sense on devices that would run Emdebian Grip). To suggest a particular set of packages, please send the output of:

$ dpkg --get-selections

to the debian-embedded mailing list.

  • Emdebian Grip unpacks .deb archives from Debian using standard Debian tools, removes relevant files and repacks the archive. The effect is to retain the unchanged binaries and maintainer scripts of the original Debian package but reduce the overall size of the package, the package meta-data and final installation size of the package.

  • Emdebian Grip processes any .deb from any architecture on any architecture. This allows one machine to generate Emdebian Grip packages for multiple architectures. Emdebian Grip 1.0 supports:

    arm, armel, i386, amd64, powerpc, mips, mipsel, source.

    ARM support was dropped from Debian after the Debian 5.0 release (which coincided with the release of Emdebian Grip 1.0) and so there is no ARM support in squeeze or sid for Emdebian Grip and there will be no ARM support in Emdebian Grip 2.0.

  • Emdebian Grip supports standard Debian methods for creating root filesystems, chroots and even normal Debian installations using the Debian Installer, although this is untested. (Some packages need additional support, so an additional grip-config package is provided to workaround the bugs until the relevant Debian packages can be modified.

    See Preseeding Grip for details.

  • edos-debcheck is used to attempt to keep the unstable repository "well-trimmed" with no unsatisfiable dependencies, including support for -dev packages to assist developers who need to build packages on a machine running Emdebian Grip.

  • Emdebian Grip uses Emdebian TDebs which, so far, only support gettext translations. Although any package in Debian can be "gripped", programs that use non-gettext translation support might lose translations when gripped.

Preparing a USB stick for Debian

Emdebian uses a debconf preconfiguration file called preseed.cfg which is available at http://www.emdebian.org/d-i/lenny/preseed.cfg to ease installation using standard Debian installer images. However, late changes in the installer have complicated things.

Pre-seeding only works on the command line in the final versions of the Debian 5.0 lenny installer.

If possible, use an earlier installer daily-build from before the final release which includes a development version of auto-install which prompts for the pre-seeding location instead of needing command-line editing and the installation completes cleanly.

To use the official images, follow the instructions for Debian which will erase all data on the chosen USB stick:

Unmount the USB stick if it has been automounted. Use the device node, not the partition, so /dev/sdb, not /dev/sdb1.

# zcat /path/to/boot.img.gz> /dev/sdz

Before mounting, unplug the USB stick and reinsert it.

Download the relevant ISO image. Depending on your system, you may need the small CD ISO (180Mb) or the mini netboot ISO (15Mb). Most testing has been done with the small CD ISO image.

Copy the ISO image onto the mounted USB stick.

cp debian-500-i386-netinst.iso /media/Debian\ Inst/

The USB stick hd-media will install a lot of Debian packages before looking for the Emdebian packages and spend time downloading the replacement packages. However, the net-installer appears to have problems with the pre-seeding. Any volunteers willing to rebuild the net-installer images to contain the Emdebian packages are more than welcome to do so. (Remember to include the pre-seeding support).

There is also a change within the official 5.0 installer that prevents the Emdebian Grip packages being installed cleanly.

The sequence of packages that are installed in the official release requires coreutils to be installed before sed or gcc-4.3-base which defeats the measures taken to get grip-config into place. (The new sequence appears alphabetical instead of a fixed sequence.)

Steps to fix:

Execute a shell inside d-i, after the failure.

~ # chroot /target/
sh-3.2# wget http://www.emdebian.org/d-i/grip-config.deb
sh-3.2# dpkg --unpack grip-config.deb
sh-3.2# exit
~ # exit

Official Debian 5.0 installer

Boot from the USB stick. From the Debian Installer menu, select Advanced Options and move the cursor to either Automated Install or Graphical automated install but do not hit ENTER. Press TAB to configure the automated install configuration. A command line is now offered - keep everything that is already specified and add:

url=http://www.emdebian.org/d-i/lenny/preseed.cfg

Note that if you delete characters on the command line, the existing command line may repeat for each deletion. Now hit ENTER.

See also http://lists.debian.org/debian-embedded/2009/02/msg00135.html

The real issue will be fixed in Emdebian Grip 1.0.1, the interim release due for release alongside the first update to Debian.

Other installation methods.

daily builds and auto-install (> 1.3)

From the Debian Installer menu, select Advanced and select Automated Install - hit ENTER to boot the installer. After setting up the network, the installer will prompt for the preconfiguration file - enter:

www.emdebian.org

The rest of the installer proceeds as normal, with prompts.

Using debootstrap

debootstrap can be used to generate a chroot which can be compressed and used in other installation methods.

Native debootstrap

$ mkdir grip/
$ sudo debootstrap lenny grip/ http://www.emdebian.org/grip/
$ cd grip/
$ sudo tar -czf ../emdeban-grip-debootstrap.tgz .
$ cd ../
$ sudo rm -rf ./grip/

Cross debootstrap

To add extra packages for specific machines, use --include= $package1,$package2 etc. after the --foreign option.

$ mkdir grip/
$ sudo debootstrap --arch=arm --foreign lenny grip/ http://www.emdebian.org/grip/
$ cd grip/
$ sudo tar -czf ../emdebian-grip-arm-debootstrap.tgz .
$ cd ../
$ sudo rm -rf ./grip/

emsandbox - unpacked cross debootstrap

$ sudo emsandbox -a armel -m balloon -v grip create

For this machine:variant, the following amendments are made to the packages.conf file, e.g.
/path/machine/trunk/balloon/grip/packages.conf

SCRIPT=/usr/share/debootstrap/scripts/lenny
MIRROR=http://www.emdebian.org/grip/
PROXY=http://www.emdebian.org/grip/
SUITE=stable

See machine:variant support in the packages.conf file, for more about how emsandbox can be used with Emdebian Grip.

Emdebian Grip repositories

Emdebian Grip target package repository.

All repositories use Secure Apt via the Emdebian Archive Signing Key. Stable releases are also signed by other Debian keys including 0x28BCB3E3.

apt sources

Unstable (Sid)

deb http://www.emdebian.org/grip/ sid main
deb-src http://www.emdebian.org/grip/ sid main

Testing (Squeeze)

deb http://www.emdebian.org/grip/ squeeze main
deb-src http://www.emdebian.org/grip/ squeeze main

Stable (Lenny)

deb http://www.emdebian.org/grip/ lenny main
deb-src http://www.emdebian.org/grip/ lenny main

Eventual aims for Emdebian Grip 2.0 squeeze

  1. Native or cross-build, as appropriate.
  2. Support for compilers and build tools, including interpreted languages.
  3. No functional changes within libraries. This means not changing the options to ./configure in debian/rules.
  4. Extending the upcoming TDeb support in Debian to the existing Emdebian TDeb support.
  5. Use of "nodocs" support in DEB_BUILD_OPTIONS and extending support for "nodocs" within discussions around DEB_VENDOR as well as in the limited Emdebian package set.
  6. Less pressure on ultimate installation sizes and package sizes. Devices running Emdebian Grip will need less space than Debian Squeeze but will need more space (including temporary space) than Emdebian Crush. To use the compilation support, devices will need considerably more space and RAM than a device running Emdebian Crush.

See the emdebian contact page for information on contacting us.

Last Modified: Sat, Feb 28 06:27:21 UTC 2009
Copyright © 2000-2009 The Embedded Debian Project;
Emdebian is an offical subproject of Debian.