Extending the n800's Root File System to the MMC

From Internet Tablet Talk

Slightly modified from TXFI's procedure in this discussion.


1) upgrade to OS2008 (covered elsewhere)

2) install openssh (covered elsewhere)


3) create two partitions on your SD card (in this example, 512 MB and 7 GB on an 8GB total card). Adjust the values for mmcblk0p1 and mmcblk0p2 to reflect the SD card you are using. One unit is equal to 32768 bytes so 16384 units/blocks is 512 MB.

# apt-get install e2fsprogs

# umount /media/mmc1

# umount /media/mmc2

# sfdisk /dev/mmcblk0

/dev/mmcblk0p1:1,16384,6

/dev/mmcblk0p2:16385,,83

/dev/mmcblk0p3:

/dev/mmcblk0p4:

# reboot


4) create file systems on the card:

# umount /media/mmc1<p>

# umount /media/mmc2<p>

# mkdosfs /dev/mmcblk0p1<p>

# mke2fs /dev/mmcblk0p2<p>

# reboot


5) download http://fanoush.wz.cz/maemo/initfs_flasher.tgz using the N800 browser and save it to: /home/user/MyDocs/.documents/ (default location)


6) unpack it:

# cd /home/user/MyDocs/.documents/

# tar zxf initfs_flasher.tgz

Note: make sure that there are no errors after running the "tar" command! If the unpacking process is incomplete you will run into problems later. Re-download the initfs_flasher.tgz file if you need to.


7) run the flasher script:

# cd initfs_flasher

# ./initfs_flash


8) install the kernel modules:

# insmod /mnt/initfs/lib/modules/2.6.21-omap1/mbcache.ko

# insmod /mnt/initfs/lib/modules/2.6.21-omap1/ext2.ko


9) mount the file systems to be cloned:

# mount /dev/mmcblk0p2 /opt

# mount -t jffs2 -o ro /dev/mtdblock4 /floppy


10) clone the files from /floppy to /opt:

# tar cf - -C /floppy . | tar xf - -C /opt

(This takes quite a while. Observe any errors it might, but shouldn't, display. Change to "tar xvf" if you want verbose output.)


11) set up the MMC as a boot option and reboot the device:

# umount /opt

# umount /floppy

# chroot /mnt/initfs cal-tool --set-root-device ask:mmc2

# reboot


You're done!


All times are GMT -4. The time now is 09:40 AM.