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.
Methods
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 See Preseeding Grip for details.
-
The preferred way to install Emdebian Grip is multistrap.
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/
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
- Native or cross-build, as appropriate.
- Support for compilers and build tools, including interpreted languages.
- No functional changes within libraries. This means not changing the
options to ./configure in debian/rules.
- Extending the upcoming TDeb support in Debian to the existing
Emdebian TDeb support.
- 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.
- 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.
|