+One last thing you need to do before setting up Debian:
+<tt>cdebootstrap</tt> expects the system shell to be at <tt>/bin/sh</tt>
+and fails without telling you why if it isn't. Since Android's system
+shell is <tt>/system/bin/sh</tt>, you have to appease
+<tt>cdebootstrap</tt> like so:
+</p>
+
+<code>
+# mkdir /bin && ln -s /system/bin/sh /bin/sh
+</code>
+
+<p>
+Now comes the fun bit, where we actually set up a Debian system. Still on
+your phone, run <tt>cdebootstrap</tt> to set up a file system tree in
+<tt>/debian</tt>. You may want to tweak the options below; I'm using
+<tt>ftp.debian-ports.org</tt> as my mirror because (at the time of
+writing) the armhf architecture is not yet fully integrated into the
+official archive. If you're using armel, or if you happen to live in the
+future, you can use your normal Debian mirror for this. Obviously, feel
+free to replace <tt>unstable</tt> with whichever suite you want to
+install.
+</p>
+
+<code>
+# cdebootstrap --allow-unauthenticated -c/data/local/bin/cdebootstrap-support/ unstable /debian http://ftp.debian-ports.org/debian/
+</code>
+
+<p>
+We have to use <tt>--allow-unauthenticated</tt> because <tt>gpgv</tt>
+isn't available to authenticate signatures on Android. This command can
+take a while to complete, so go and have a coffee or something while you
+wait for Debian to download and install.
+</p>
+
+<h2>Fixing broken packages</h2>
+
+<p>
+It was the case for me that some packages failed to install from
+<tt>cdebootstrap</tt>. Fortunately, it had at least progressed to the
+point where a shell and <tt>dpkg</tt> were installed and usable in the
+chroot, so now we can leave <tt>cdebootstrap</tt> behind and work in
+Debian:
+</p>
+
+<code>
+# chroot /debian /bin/bash<br>
+# cd /var/cache/bootstrap<br>
+# dpkg -i *.deb
+</code>
+
+<p>
+At this point, <tt>dpkg</tt> may run into some problems. As the package
+archive changes over time and different people install different suites,
+your problems will very likely not be the same as mine, so here's where
+your familiarity with the Debian package tools comes in. ;)
+</p>
+
+<p>
+The main issue I ran into here was circular dependencies. These can be
+fixed by the use of the <tt>--force-depends</tt> option to <tt>dpkg</tt>,
+to allow it to install and configure one of the packages in the
+dependency loop, so that you can then install the others normally. For
+example, I found that <tt>libc6</tt> depends on <tt>libgcc1</tt>, which
+pre-depends on <tt>multiarch-support</tt>, which depends on
+<tt>libc6</tt>. After running:
+</p>
+
+<code>
+# dpkg --force-depends --configure multiarch-support
+</code>