Some boards have more options for a root file system than just the SD card. Snowball has an eMMC device and iMX53 has SATA for example.

= Use eMMC as root file system on Snowball = By default, Snowball android builds configure the file system table to mount system, userdata and boot from the µSD card. To use eMMC instead, you need to:

  • Edit init.rc to mount from eMMC

tar xjf boot.tar.gz
mkdir unpacked && cd unpacked
dd if=../boot/uInitrd bs=64 skip=1 | gunzip -c | sudo cpio -i -d -H newc --no-absolute-filenames
sudo vi init.rc
sudo find . | sudo cpio -o -H newc | gzip -c > ../initrd.new
mkimage -A arm -O linux -C gzip -T ramdisk -d ../initrd.new ../boot/uInitrd
rm ../initrd.new
cd ..
rm boot.tar.bz2 && tar cjf boot.tar.bz2 boot
  • Generate a flashable image using linaro-android-media-create

linaro-android-media-create --image_file leb-snowball-emmc.img --dev snowball_emmc --system system.tar.bz2 --userdata userdata.tar.bz2 --boot boot.tar.bz2
  • Flash with riff

riff -f leb-snowball-emmc.img
  • Check the u-boot config and confirm that the uImage and uInitrd are being loaded from mmc 0.

Tips

If you don't know what the partitioning scheme should be, generate an image with linaro-android-media-create and then use fdisk to print the image partition table. You can use this to determine what init.rc should contain, e.g.

$ fdisk leb-snowball-emmc.img
You must set cylinders.
You can do this from the extra functions menu.

WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
         switch off the mode (command 'c') and change display units to
         sectors (command 'u').

Command (m for help): p

Disk leb-snowball-emmc.img: 0 MB, 0 bytes
128 heads, 32 sectors/track, 0 cylinders
Units = cylinders of 4096 * 512 = 2097152 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

                  Device Boot      Start         End      Blocks   Id  System
leb-snowball-emmc.img1               1           2        3968   da  Non-FS data
leb-snowball-emmc.img2   *           3          66      131072    c  W95 FAT32 (LBA)
leb-snowball-emmc.img3              67         194      262144   83  Linux
leb-snowball-emmc.img4             195        1024     1699840    5  Extended
leb-snowball-emmc.img5             195         322      262128   83  Linux
leb-snowball-emmc.img6             323         578      524272   83  Linux
leb-snowball-emmc.img7             579        1024      913392   83  Linux

Command (m for help): q

init.rc:

...
# mount mmc partitions
    mount ext4 /dev/block/mmcblk0p3 /system ro
    mount ext4 /dev/block/mmcblk0p5 /cache
    mount ext4 /dev/block/mmcblk0p6 /data
...


CategoryAndroidTips

Platform/Android/ChangeRootDevice (last modified 2013-08-29 07:13:06)