After switching to CSSU-thumb, which improves load times and responsiveness on the n900 by using the Thumb2 ISA of ARM, I tried to test the latest Nemo Mobile release. I reinstalled the u-boot bootloader and setup the menu entries. However, after a reboot neither Nemo nor Maemo booted and I only got into the u-boot console. If you don't have your tools/cables at hand to reflash from the PC, you can do the following to boot Maemo with a kernel from a SD card:

  1. Put the SD card into your PC and mount /dev/sdX1 and /dev/sdX3. The latter must use a FAT filesystem (I used a SD card with the Nemo partitions on it).
  2. Get flasher 3.5. As the Nokia website is not available anymore you can use this mirror
  3. Get the latest kernel-cssu package, e.g., this one
  4. Unpack the .deb using
    ar x kernel-cssu_2.6.28-10cssu3_armel.deb
    execute
    tar -xvzf data.tar.gz
    and afterwards you'll get a file similar to boot/zImage-2.6.28.10-cssu3.fiasco
  5. Extract the kernel from this file using
    flasher-3.5 -F zImage-2.6.28.10-cssu3.fiasco -u
    convert the resulting zimage to an uimage using
    mkimage -A arm -O linux -T kernel -C none -a 80008000 -e 80008000 -n maemo \
    -d zImage uImage
    and place the uimage into the filesystem of /dev/sdX3.
  6. Create a file, e.g., uboot-maemo.cmd, with the following content (remember that \ means you should put the following line at the end of this line without the \ ):
    setenv setup_omap_atag 1
    setenv bootcmd 'fatload mmc 0:3 0x86008000 uimage; bootm 0x86008000;'
    setenv bootargs 'init=/sbin/preinit ubi.mtd=rootfs root=ubi0:rootfs \
    rootfstype=ubifs rootflags=bulk_read,no_chk_data_crc rw console=ttyMTD,log \
    console=tty0 snd-soc-rx51.hp_lim=42 snd-soc-tlv320aic3x.hp_dac_lim=6' boot
  7. With the following command we create a boot.scr from this file that should be placed in /dev/sdX1:
    mkimage -A arm -O linux -T script -C none -a 0 -e 0 -n mybootmenu \
    -d uboot-maemo.cmd boot.scr
  8. Unmount the partitions, put the SD card into the n900, reboot the device and make sure that the keyboard is open (so you'll see the u-boot menu)
  9. Select u-boot console in the menu and type
    run sdboot
    This executes the boot.scr from the SD card and afterwards Maemo should boot and you can reflash a working kernel from within Maemo. Sometimes Maemo doesn't start after the first attempt, please try to boot it 2-3 times in a row before you try something else.

References: