Booting from MMC, if you have a large enough card, has three advantages. One, it's faster, as the filesystem won't be using a compressed and journalized filesystem (jffs2). Two, a working copy of the original system will still exist, just in case something should go wrong. Three, you'll have plenty of space for installing applications.
Note: I pretty much followed the steps here, with a few changes.
Connect to the internet.
Type sudo gainroot
Now we'll partition the MMC card. Type
apt-get install e2fsprogs
If installation failed, you might need a different Maemo.org repository, if the mistral repository you used in "Install XTerm and Root Access" is down (as it often is):
Web address: http://repository.maemo.org/
Distribution: gregale
Components: free non-free
Type:
umount /media/mmc1
sfdisk /dev/mmcblk0
This will prompt you to give a partition size for each partition; we'll make 2 partitions. The first will be FAT16 (type 6) - the partition we see when we connect the 770 to a computer with USB. The second will be our boot partition, where our home directory is stored. I have a 2 gig MMC and used the following layout. Note, the 15000 refers to cylinders, each of 32 KB, so 15000 cylinders is 480 MB. So the first partition goes from 1 to 15000 with a partition type 6, or VFAT. The second goes from 15001, to the end fo the disk, so it's about 1.5 gb. The third and fourth partitions are empty.
/dev/mmcblk0p1: 1,15000,6
/dev/mmcblk0p2: 15001,,
/dev/mmcblk0p3:
/dev/mmcblk0p4:
Now we format our partitions. First the FAT partition:
mkdosfs /dev/mmcblk0p1
shutdown -r now
When the tablet restarts, type
sudo gainroot
mke2fs /dev/mmcblk0p2
shutdown -r now
When the tablet restarts, connect to the internet and download this file to the documents folder.
Type
sudo gainroot
cd /home/user/MyDocs/.documents/
tar zxvf initfs_flasher.tgz
cd initfs_flasher
mv bootmenu.conf.n770.example bootmenu.conf
Close all applications, and disconnect from internet. Then type:
./initfs_flash
This will ask you several questions, here is what I recommend (type what's in bold):
backup? no
remove extra stuff? yes
found, do you want to add it to initfs? yes
ready for flashing this image? yes
Press enter to reboot device
Press enter. Boot from internal flash as we haven't cloned the system yet on to the MMC.
Once restarted, connect to the internet, open XTerm, and type
sudo gainroot
Then
insmod /mnt/initfs/lib/modules/current/ext2.ko
mount /dev/mmcblk0p2 /opt
mkdir /floppy
mount -t jffs2 /dev/mtdblock4 /floppy
We're going to create a tar pipe that copies over everything to the MMC. First, you need a different version of tar than you have to make sure everything is copied (very important)
apt-get -d install tar
Ignore the warnings.
mkdir /tar-temp/
cd /var/cache/apt/archives/
dpkg -x tar*.deb /tar-temp/
Here we start the copying. This takes a while. At least 15+ minutes:
/tar-temp/bin/tar cf - -C /floppy . | /tar-temp/bin/tar xvf - -C /opt
When that's finished, type the following to boot the system from MMC as the default:
chroot /mnt/initfs cal-tool --set-root-device ask:mmc2
Now we unmount our temporary directories restart the system (from MMC 2)
umount /opt
umount /floppy
shutdown -r now
Once restarted, you should be running off of MMC!