Wednesday, February 16, 2011

Build squeeze base system image for easy debian on N900

Reference:
http://www.debian.org/releases/stable/i386/apds03.html.en
http://talk.maemo.org/showpost.php?p=419501&postcount=28

N900:~$ apt-get install dmsetup
N900:~$ debian
EasyDebian:~$ mkdir /mnt/debinst
EasyDebian:~$ dd if=/dev/zero of=/home/user/MyDocs/squeeze.img.ext2 count=4194304
EasyDebian:~$ mke2fs -L Squeeze /home/user/MyDocs/squeeze.img.ext2
EasyDebian:~$ apt-get update
EasyDebian:~$ apt-get install debootstrap
EasyDebian:~$ mount -t ext2 /home/user/MyDocs/squeeze.img.ext2 /mnt/debinst -o loop,noatime,nobh,nodiratime 2>&1
EasyDebian:~$ /usr/sbin/debootstrap --arch armel squeeze /mnt/debinst http://ftp.jp.debian.org/debian
EasyDebian:~$ mount -o bind /dev /mnt/debinst/dev
EasyDebian:~$ mount -t devpts none /mnt/debinst/dev/pts
EasyDebian:~$ mount -o bind /tmp /mnt/debinst/tmp
EasyDebian:~$ mount -o bind /var/tmp /mnt/debinst/var/tmp
EasyDebian:~$ mount -o bind /dev/shm /mnt/debinst/dev/shm
EasyDebian:~$ LANG=C chroot /mnt/debinst /bin/bash
Squeeze:~$ mount -t proc proc /proc
Squeeze:~$ rm /bin/sh
Squeeze:~$ ln -s /bin/bash /bin/sh
Squeeze:~$ dpkg-reconfigure tzdata
> Asis -> Hong Kong
Squeeze:~$ aptitude update
Squeeze:~$ aptitude install locales
Squeeze:~$ dpkg-reconfigure locales
> en_GB*
> en_HK*
> en_US*
#Squeeze:~$ aptitude install console-data
#Squeeze:~$ dpkg-reconfigure console-data
Squeeze:~$ useradd -m user
Squeeze:~$ mkdir /home/user/MyDocs
#Squeeze:~$ mkdir /var/run/dbus
#Squeeze:~$ mkdir /var/lib/dbus
#Squeeze:~$ mkdir /var/run/pulse
Squeeze:~$ vi /var/run/onfirstchroot-ext.rc
> #Fix the /etc/mtab file
> #CHROOT=`pwd | awk -F'/var' '{ print $1 }'`
> echo Updating the /etc/mtab file...
> CHROOT2=`echo $CHROOT | awk -F'/' '{ print $2 }'`
> cat /etc/mtab | grep $CHROOT2 | sed "s/$CHROOT2\///" | sed "s/$CHROOT2//" | grep bind -v > $CHROOT/etc/mtab
Squeeze:~$ chmod 744 /var/run/onfirstchroot-ext.rc
Squeeze:~$ umount /proc
Squeeze:~$ exit
EasyDebian:~$ umount /mnt/debinst/dev/shm
EasyDebian:~$ umount /mnt/debinst/var/tmp
EasyDebian:~$ umount /mnt/debinst/tmp
EasyDebian:~$ umount /mnt/debinst/dev/pts
EasyDebian:~$ umount /mnt/debinst/dev
EasyDebian:~$ umount /mnt/debinst
EasyDebian:~$ exit
N900:~$ closechroot
N900:~$ mv /home/user/MyDocs/debian-m5-v3d.img.ext2 /home/user/MyDocs/Lenny.img.ext2
N900:~$ mv /home/user/MyDocs/squeeze.img.ext2 /home/user/MyDocs/debian-m5-v3d.img.ext2
N900:~$ debian
Squeeze:~$ tasksel install standard
Squeeze:~$ aptitude clean