March 17, 2007
(Posted at 2:14 pm)Dual booting your N800
Dual booting your N800 has many advantages…
- You can always have a backup of your original OS (on the flash)
- When booting off the Memory card, you have full 1/2 gig at your disposal!
- Experimenting with distros like sardine is worth it!
So… how to go about it? A few tips for you - so that you dont have to spend those reckless 7 hours like me
I have an N800 so I can only speak about this device… but with what I’ve read & seen on the #maemo channel, N800 uses the rootfs method while the 770 uses the initfs method.
As a thumb rule, we need to follow this guide - http://www.maemo.org/platform/docs/howtos/howto_dualboot_bora.html
…except copying the rootfs part. I tried copying the rootfs (maemo-sdk-rootfs.tar.gz) but was unable to get it booted up! So I followed the tar/untar method described at http://maemo.org/maemowiki/HowTo_EASILY_Boot_From_MMC_card - this method gets you an exact replica of your N800’s filesystem - very good considering you already had lots of settings on your device.
So in essence, this is all what you have to do (I had 1 gig card in my internal (inside the cover) slot)
Procedure…
- Create an ext2 partition on your memory card - I also created a 100 megs swap - use cfdisk or gparted (your choice)
- insmod /mnt/initfs/lib/modules/2.6.18-omap1/mbcache.ko
- insmod /mnt/initfs/lib/modules/current/ext2.ko
- mkdir /opt
- mkdir /floppy
- mount /dev/mmcblk0p2 /opt #—-> this is your memory card’s ext2 partition
- mount -t jffs2 /dev/mtdblock4 /floppy #—-> this is your current rootfs
- tar cf - -C /floppy . | tar xf - -C /opt
- umount /floppy /opt
- shutdown -h now
- Connect your N800 to your Linux box using USB (do not poweron/charge right now)
- flasher –set-root-device mmc
- Insert the charger into N800 & you will see a success message
- Reboot your N800
Some points that you need to take care about…
- Use GNU tar - busybox’s tar had an issue with copying file paths which have more than 100 char length. You can find GNU’s tar from http://penguinbait.com/tar.gz
- Use ext2 file system - I had read on InternetTabletTalk that journaling filesystems are bad for the memory card.
- You dont have to format the memory card from the device itself. Just insert the card, connect the device via USB, unmount the card on your computer (if its automounted) and then use gparted/cfdisk to partition it.
- When copying files from the flash device to the memory card, omit the “-v” option in tar. By not using the verbose option, you will speed up the copy process by almost 50%.
How to temporarily boot from internal Flash? - Just remove the memory card while booting up. Thats it!
How to Undo the stuff…
- Connect your N800 to your Linux box using USB (do not poweron/charge right now)
- flasher –set-root-device flash
- Insert the charger into N800 & you will see a success message
- Reboot your N800
- The device will now boot from the internal flash in future.

My device
Good luck ![]()



It strongly depends on the type of jornaling filesystem. Both ext2 and ext3 aren’t very good as flash file systems. Unless the hardware is doing wear leveling, ext2 and ext3 are likely to wear out the flash much faster than a file system designed for flash. You want to use jffs2 which is designed to write data all over the file system instead of one where the same block is written over and over, which will wear out the flash.
Comment by Christopher Blizzard — March 17, 2007 @ 5:30 pm