[Emdebian-logs] [SCM] Root filesystem generation tool (multistrap wrapper) branch, master, updated. b3affa9fd679faa7233437497291b241867f5862

josch josch at pyneo.org
Wed Jul 6 15:30:58 UTC 2011


The following commit has been merged in the master branch:
commit b3affa9fd679faa7233437497291b241867f5862
Author: josch <josch at pyneo.org>
Date:   Wed Jul 6 17:30:52 2011 +0200

    update README

diff --git a/README b/README
index 0614c56..7c4719b 100644
--- a/README
+++ b/README
@@ -1,12 +1,72 @@
-Polystrap is a tool to create a foreign architecture rootfs without
-needing superuser privileges by using multistrap, fakeroot, fakechroot
-and qemu user mode emulation from the qemu-user-static package.
-
-The proper qemu-*-static binary must be properly configured
-(eg. /etc/qemu-binfmt/arm pointing to /usr/arm-linux-gnueabi/ with
-xapt-installed libc and possibly other packages); package
-binfmt-support (which is only a "Recommends" of qemu-user-static) must
-also be installed.
+Polystrap is a tool to create a foreign architecture rootfs without needing
+superuser privileges by using multistrap, fakeroot, fakechroot and qemu user
+mode emulation from the qemu-user package.
+
+
+QEMU USER MODE
+==============
+
+To make qemu user mode emulation work you need to install the packages
+qemu-user and binfmt-support. Until bug #632192 is fixed you will have to
+provide properly filled /etc/qemu-binfmt/$arch/ directories. $arch is a qemu
+arch (eg: arm for arm, armel and armhf). "properly filled" means, that you have
+to provide a root directory tree in that directory that fits the architecture
+you want to bootstrap debian for. There are a couple of ways to achieve that:
+
+1. manually download and `dpkg -x` the required packages into
+/etc/qemu-binfmt/$arch/
+
+2. copy over a just extracted multistrap run for your target system into
+/etc/qemu-binfmt/$arch/
+
+3. run the following multistrap.conf, configured for your target system to
+create a root directory tree that you copy into /etc/qemu-binfmt/$arch/
+
+-%<----------------------------
+[General]
+arch=
+directory=
+cleanup=true
+unpack=true
+noauth=true
+aptsources=Debian
+bootstrap=Debian
+allowrecommends=false
+addimportant=false
+omitrequired=true
+
+[Debian]
+packages=libc6 libselinux1 libacl1 man-db libstdc++6 libfreetype6 libx11-6 libfontconfig1
+source=http://cdn.debian.net/debian
+suite=sid
+omitdebsrc=true
+-%<----------------------------
+
+You can also avoid all this trouble by either waiting for #632192 to be fixed
+or by applying the patch from there to qemu and using the newly introduced
+environment variable QEMU_LD_PREFIX like so:
+
+QEMU_LD_PREFIX=/tmp/debian-sid/ ./polystrap.sh -d /tmp/debian-sid/ om-gta02
+
+
+FAKEROOT/FAKECHROOT
+===================
+
+Additionally you will need to have copies of libfakechroot.so and
+libfakeroot-sysv.so for your target architecture in /usr/lib/<arch-triplet>/.
+Get the debian packages of fakeroot and fakechroot for your target architecture
+and copy the shared libraries into /usr/lib/<arch-triplet>/. For example for
+arm do:
+
+wget http://ftp.debian.org/debian/pool/main/f/fakechroot/fakechroot_2.14-1_armel.deb
+wget http://ftp.debian.org/debian/pool/main/f/fakeroot/fakeroot_1.14.5-1_armel.deb
+sudo mkdir -p /usr/lib/arm-linux-gnueabi/
+dpkg-deb --fsys-tarfile fakeroot_1.14.5-1_armel.deb | sudo tar -xf - --strip-components=4 -C /usr/lib/arm-linux-gnueabi/ ./usr/lib/libfakeroot/libfakeroot-sysv.so
+dpkg-deb --fsys-tarfile fakechroot_2.14-1_armel.deb | sudo tar -xf - --strip-components=4 -C /usr/lib/arm-linux-gnueabi/ ./usr/lib/fakechroot/libfakechroot.so
+
+
+INNER WORKINGS
+==============
 
 While I wanted to build without superuser privileges, multistrap would never
 offer mechanisms that would allow me to do so. Hence I wrote this script which

-- 
Root filesystem generation tool (multistrap wrapper)



More information about the Emdebian-logs mailing list