Deblet 770 port information

THIS GUIDE IS NOT FOR THE FAINT AT HEART, IT MAY WSOD YOUR 770, SELL YOU TO AN ALIEN ZOO OR END UP BEING YOUR STEP MOTHER. ONLY DO THIS IF YOU KNOW WHAT I'M TALKING ABOUT

Known issues:

As RS-MMC cards are expensive and hard to get a 2 GB one, I used a modified SD card (the "cut open and glue to a piece of plastic"-method) instead. Please, do remember to install Fanoush's SD card kernel flash. In my case MMC was mounted read only, despite correct fstab settings, leaving all LXDE applications inoperable

Thanks to zanshin and aladds (the latter lost his 770 to the cause through electrocution).

Requirements:

USB cable, 2gb RS-MMC (or bigger), knowledge of partitioning, unix shell, and voodoo. Ability to sudo gainroot on your tablet (rootsh or R&D mode or whatever exists for 770). Also, SSH access to your 770 is very useful. You must have atleast 15 mb free on your rootfs, and -not- use clone-to-SD stuff. You probably need e2fsprogs (for mkfs.ext2) and such. Partition your 2gb card with 1.8gb ext2/3 partition and the rest swap (make sure it's mmcblk0p1 and mmcblk0p2).

You also need the basic knowledge of how to pop your battery.

Things we did:

Install bootmenu.deb from http://packages.tspre.org/pool/user/b/bootmenu/bootmenu_1.2-1_armel.deb - click the "Install Bootmenu" icon in Utilities.

It is important that you say yes to cleaning out stuff for more space, and say yes to including bootmenu.conf. And say yes to usb telnet console or whatever when it asks. Flash and reboot.

SSH into your tablet, make sure you're root. Install wget (apt-get install wget i think)

# wget http://repository.maemo.org/pool/gregale/free/b/binutils/binutils_2.16.91cs2005q3.2-5.osso1_armel.deb (uses about 6.8 mb installed)

# dpkg -i binutils_2.16.91cs2005q3.2-5.osso1_armel.deb

# wget http://ftp.dk.debian.org/debian/pool/main/d/debootstrap/debootstrap_1.0.10_all.deb (uses about 0.3mb installed)

# dpkg -i debootstrap_1.0.10_all.deb

(make sure you've partitioned your RS-MMC by this point)

insmod the mbcache, jbd, ext3 modules from /mnt/initfs/lib/modules

# mkfs.ext3 /dev/mmcblk0p1

# mkswap /dev/mmcblk0p2

# swapon /dev/mmcblk0p2

# mkdir -p /mnt/deblet

# mount -t ext3 /dev/mmcblk0p1 /mnt/deblet

# wget http://trac.tspre.org/svn/deblet/trunk/packages/installer/deblet-installer/usr/libexec/deblet/md5sum

# cp md5sum /bin

# chmod a+x /bin/md5sum

# wget http://trac.tspre.org/svn/deblet/trunk/packages/installer/deblet-installer/usr/libexec/deblet/busybox_mount

# cp busybox_mount /sbin

# chmod a+x /sbin/busybox_mount

# debootstrap --verbose --arch armel lenny /mnt/deblet http://ftp.us.debian.org/debian/

(GRAB COFFEE, THIS WILL TAKE A WHILE)

# chroot /mnt/deblet mount /proc /proc -t proc

# chroot /mnt/deblet mount -t devpts none /dev/pts

# chroot /mnt/deblet mount -t sysfs sysfs /sys

# busybox_mount --bind /tmp /mnt/deblet/tmp

# mkdir -p /mnt/deblet/mnt/rootfs

# busybox_mount --bind / /mnt/deblet/mnt/rootfs

# mkdir -p /mnt/deblet/mnt/initfs

# busybox_mount --bind /mnt/initfs /mnt/deblet/mnt/initfs

# cd /mnt/deblet

# wget http://packages.tspre.org/repo.key

# export LC_ALL=C

# chroot /mnt/deblet apt-key add repo.key

# echo "deb http://packages.tspre.org/ sid main contrib non-free" > /mnt/deblet/etc/apt/sources.list.d/deblet-repo.list

# echo "deb-src http://packages.tspre.org/ sid main contrib non-free" >> /mnt/deblet/etc/apt/sources.list.d/deblet-repo.list

# mkdir -p /etc/bootmenu.d

# cat > /etc/bootmenu.d/deblet-mmcblk0p1.item

ITEM_NAME="Deblet"
ITEM_ID="deblet"
ITEM_DEVICE="mmcblk0p1"
ITEM_MODULES="mbcache jbd ext3"
ITEM_FSTYPE="ext3"
ITEM_FSOPTIONS="noatime,ro"
ITEM_LINUXRC="linuxrc"

(press ctrl-d when done)

# chroot /mnt/deblet

(now in chroot)

# wget http://bsd.tspre.org/~stskeeps/start-stop-daemon (put this in /root or something)

# mv /sbin/start-stop-daemon /sbin/start-stop-daemon.REAL

# cp /root/start-stop-daemon /sbin/start-stop-daemon

# chmod a+rx /sbin/start-stop-daemon

# mv /usr/sbin/invoke-rc.d /usr/sbin/invoke-rc.d.REAL

# cp /root/start-stop-daemon /usr/sbin/invoke-rc.d

# chmod a+rx /usr/sbin/invoke-rc.d

ch# passwd

(Set your root password.)

ch# apt-get update

(this will take a while.)

ch# apt-get install tablet-hw-su-18-nonfree

(will take a while.)

ch# /usr/libexec/tablet-nonfree/make-repo

ch# apt-get install tablet-hw-su-18-support

ch# apt-get install nit-env-lxde

(Answer questions, say no to changing console keymap. Answer questions about Real tablet user name and such, set password correctly. This will take a while.)

ch# dpkg-reconfigure dash

(Say yes to using it as /bin/sh. It really speeds up things, honest.)

ch# rm /usr/sbin/invoke-rc.d; mv /usr/sbin/invoke-rc.d.REAL /usr/sbin/invoke-rc.d

ch# rm /sbin/start-stop-daemon; mv /sbin/start-stop-daemon.REAL /sbin/start-stop-daemon

ch# exit

(back in root prompt)

# refresh_bootmenu.d

(say yes to reflashing, no to backup of initfs. reboot). Select deblet at boot menu (press menu key at boot to get there), and see how far it goes.

If it fails, come on #Maemo on irc.freenode.net and prod Stskeeps.