A debian sid setup on the N900 ============================== ++++++++++++++++++++++++++++++++++++++++++ Warning: Own risk, may void your warranty. ++++++++++++++++++++++++++++++++++++++++++ This is one of many approaches, not THE way. Vague instructions. Something may also be missing here. What you need: -meego-ce(nemo?) kernel, kernel modules and firmware files -microsd partition with some GB free space and an ext4 filesystem. -linux console skills. To get the meego kernel: http://repository.maemo.org/meego/n900-de/archive/1.2.90.5.0.20110927.81.CE.2011-09-27.1/images/mg-handset-armv7nhl-n900-ce-testing/ There you can also find the raw image. To access it on a linux-pc, the tool kpartx is very helpful. kpartx -a [raw image path]. Then take a look at /dev/mapper/ and mount the first mapping (loop0p1). This is the meego rootfs, the modules are in /lib/modules/[kernel version] and the firmwares in /lib/firmware. Later we need to copy them into Debian's rootfs. Boot maemo, install debootstrap, mount the sd partition to some location, cd to it and then execute: debootstrap sid . http://ftp.de.debian.org/debian # or another mirror, your choice. Now you got a basic debian system. Copy meego-ce's kernel modules to /lib/modules, and the firmware files to /lib/firmware (in the debian rootfs if it isn't obvious). ! chroot into debian. At the time of this writing, I got two N900 specific bootscripts: 1. /etc/init.d/n900-backlight - enables backlight 2. /etc/init.d/n900-setup - Activates keyboard light, sets clock, loads a keymap and set's up stuff needed to make ofono work. For that reason, I removed /etc/init.d/hwclock and /etc/init.d/keyboard-setup. That's not the proper debian way, but that's rather unimportant. If you want to use these, "insserv" them. n900-setup runs loadkeys /nokia-n900.map, you probably want to change that path. You definitly need this keymap unless you prefer a useless keyboard. create a user and set your root password. Some udev script is there which increases the number wifi interface on every reboot. rm /lib/udev/rules.d/75-persistent-net-generator.rules [TODO: mac address]. And now, package installation time: For the lazy folks, there is a dpkg --get-selection dump of my Debian. But it has a lot of stuff you may not need. dpkg --set-selections < [path to my list] apt-get dselect-upgrade Generally, at this point you want to install ssh, wireless-tools, xserver, an a window manager ( I recommend either xfce or E17, as both seem to be more or less touchscreen optimized), ofono, an login manager(xdm works for me) and everything you wish. For X11: apt-get install xserver-xorg xserver-xorg-core xserver-xorg-input-evdev xserver-xorg-input-tslib xserver-xorg-video-fbdev xserver-xorg-video-omapfb 90-input-n900.conf to /etc/X11/xorg.conf.d Try to boot: flasher-3.5 -l -k [kernel path] -b loads the kernel into RAM, doesn't flash it and starts Debian. If it worked: Keep an eye on your battery while playing in debian, cat sys/class/power_supply/bq*/capacity. Battery charging: =========================== apt-get install i2c-tools wget http://enivax.net/jk/n900/meegocharge.tar tar xf meegochare.tar #modify variables in this script to point to the debian i2c set binaries... #Use wallcharger, not USB (unless you are sure your port can do 950 mA) bash charge21.sh After abort: i2cset -y -m 0x80 2 0x6b 0x04 0x80 #to reset charging chip. mass-storage mode: ================== rmmod g_nokia #if it was used... modprobe g_file_storage file=/dev/mmcblk1p2,/dev/mmcblk1p1 stall=0 removable=1 USB-networking: =============== Something like this: rmmod g_file_storage modprobe g_nokia ifconfig usb0 down ifconfig usb0 192.168.2.15 up ifconfig usb0 netmask 255.255.255.0 route add 192.168.2.14 usb0 On your PC: ifconfig usb0 down ifconfig usb0 up 192.168.2.14 ifconfig usb0 netmask 255.255.255.0 ifconfig usb0 broadcast 192.168.2.255 route add 192.168.2.15 usb0 Ofono ===== Test scripts coming with Ofono (GPL): ofono-test.tar.gz enable-modem online-modem enter-pin pin [yourpin] And have fun playing with the scripts.