X-Git-Url: http://git.steven-mcdonald.id.au/?a=blobdiff_plain;f=tutorials%2Fdebian_on_samsung_galaxy.shtml;h=689d279d5a6dc8dd5da78ded6bfc4e0974007b1f;hb=9af2c55ec26d3a1f270276ff74933381312ba017;hp=1354189889134e373882e834a094e9be7a6cc3d4;hpb=ac280ce1b7bc5bab433dd1b6fa6073cf63adfe9d;p=www.git diff --git a/tutorials/debian_on_samsung_galaxy.shtml b/tutorials/debian_on_samsung_galaxy.shtml index 1354189..689d279 100644 --- a/tutorials/debian_on_samsung_galaxy.shtml +++ b/tutorials/debian_on_samsung_galaxy.shtml @@ -21,14 +21,14 @@ AND on the tutorials index page! -->

Installing Debian GNU/Linux in a chroot on a Samsung Galaxy S II

-

(Last updated 2011-11-25)

+

(Last updated 2011-11-26)

There are numerous how-tos on the web for installing a Debian chroot onto a smartphone running Android, but most of them either give you an image to install on your phone (which doesn't teach you anything) or have you set up the Debian system on your desktop and copy it to the phone. -Neither of these options appeal to me, so I've done it my own way and +Neither of these options appeals to me, so I've done it my own way and written this document to light the way for others, too.

@@ -56,13 +56,15 @@ the following utilities: If you don't have these utilities available to you, you will either need to find a way of installing them, or else find alternative ways of performing some of the steps in this how-to. Doing either is outside the -scope of this how-to. +scope of this how-to, but most of these utilities are provided by +busybox on my device, so installing busybox should get +you most of the way there.
  • You have a reasonably fast and high-capacity Internet connection available on your Android phone. I will not be held responsible for any excess usage charges you incur on your mobile Internet package while -downloading Debian onto your phone. ;) +downloading Debian onto your phone. ;-)
  • You have a basic understanding of Debian and its packaging system. This @@ -73,8 +75,9 @@ this method probably isn't for you.

    -If not all of these assumptions are true, please don't contact me if -something doesn't go right for you when following this how-to. +If not all of these assumptions are true, please don't contact me just to +complain if something doesn't go right for you when following this +how-to. Of course, alternative suggestions are welcome!

    Preparation

    @@ -106,8 +109,8 @@ execute the cdebootstrap binary -- so don't put it in /mnt/sdcard, as this is mounted with the noexec mount option. These files are nicely ready for us in a tarball located at ./usr/lib/cdebootstrap/cdebootstrap_0.5.8+b1_armhf.tar.gz inside -the package, so you can just pipe the contents of this tarball to ssh and -extract it on the phone. I'm going to put it into +the package, so you can just pipe the contents of this tarball to +ssh and extract it on the phone. I'm going to put it into /data/local/bin/, because that's already in the default $PATH so I don't have to care about it again. @@ -115,7 +118,7 @@ $ mkdir /tmp/cdebootstrap && cd /tmp/cdebootstrap
    $ ar x /path/to/cdebootstrap-static_0.5.8+b1_armhf.deb data.tar.gz
    $ tar xzOf data.tar.gz ./usr/lib/cdebootstrap/cdebootstrap_0.5.8+b1_armhf.tar.gz | ssh root@$PHONE 'tar xzC /data/local/bin/'
    -Obviously, replace $PHONE with the hostname of your phone. +Remember to replace $PHONE with the hostname of your phone.
  • Unfortunately, the version of cdebootstrap included in the @@ -150,11 +153,11 @@ The easiest way to set up a file system is to simply create a file in larger than 2 GiB, the FAT file system it lives on will complain and you will lose the image next time you reboot. This happened to me the first time I tried it, and I hadn't made a backup, so I had to do it all over -again. :( +again. :-(

    -So, ssh to your phone, and run the following commands: +So, ssh to your phone, and run the following commands:

    @@ -162,6 +165,7 @@ So, ssh to your phone, and run the following commands: # mke2fs -Fj /mnt/sdcard/debian.img
    # mkdir /debian
    # mount -t ext3 -o noatime,errors=remount-ro /mnt/sdcard/debian.img /debian +# for fs in /dev /proc /sys; do mount -o bind "$fs" "/debian$fs"; done

    @@ -184,8 +188,12 @@ your phone, run cdebootstrap to set up a file system tree in 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 unstable with whichever suite -you want to install. +Don't forget to replace unstable with whichever +suite you want to install, +but be aware that (at the time of writing) armhf only exists in +unstable -- if you want stable or testing, and +you downloaded an armhf cdebootstrap binary, you will +need to specify the -aarmel option to cdebootstrap.

    @@ -219,7 +227,7 @@ Debian: At this point, dpkg 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. ;) +your familiarity with the Debian package tools comes in. ;-)

    @@ -274,12 +282,36 @@ dependency issues have been resolved, and everything in

    +# echo 'deb http://ftp.debian-ports.org/debian unstable main' >/etc/apt/sources.list
    +# echo 'nameserver 8.8.8.8' >/etc/resolv.conf
    +# aptitude update
    +# aptitude install debian-ports-archive-keyring
    # aptitude install '~prequired|~pimportant|~pstandard'

    What you choose to install beyond this depends on your wants and needs, -and how you like your Debian. ;) +and how you like your Debian. ;-) +

    + +

    Initialising the Debian system at boot time

    + +

    +I have written a couple of simple scripts to ease getting Debian up and +running. They come in pairs; one of them lives in Android and chroots to +Debian, and the other lives in Debian and gets run after the chroot. You +can find a copy of these scripts in +Gitweb, +or clone the git repository with: +

    + + +$ git clone git://git.steven-mcdonald.id.au/android-debian.git + + +

    +For usage information, please refer to the README in that git +repository.