venerdì 26 luglio 2013

Using external SDCard as /data on cyanogenmod 10.1 (android jellybean)

Quick explanation on how I got my external SD to be the data partition in CyanogenMod 10.1. YOU NEED TO UNDERSTAND EVERY STEP YOURSELF OTHERWISE DON'T DO THIS.

Note: I managed to brick my LG Optimus L9 P760 the first time I erased partitions, so YMMV. Be prepared to unbrick.

*) we need to operate as root on the device; an easy way is to install ssh server, which is available in the app store. Install and configure it. When you are logged in on the phone, type "su" to become root; allow operation on the phone.

*) identify what is your sdcard. Mine is /dev/block/mmcblk1

*) umount any mounted partitions.

*) use fdisk to wipe all partitions and create an ext2 partition. Assign to it type 83 (linux)  # maybe brick in progress...

*) reboot if needed

*) mke2fs /dev/block/mmcblk1p1  # use your device! careful here, brick is coming!

*) mkdir /mnt/fuse/real_sdcard1  # from now on, especially if you rebooted fine before, no brick anymore I think

*) mount -t ext2 /dev/block/mmcblk1p1 /mnt/fuse/real_sdcard1   # use your device

*) cp -a /data /mnt/fuse/real_sdcard1

*) mount -o remount,rw /     # not sure if really needed, let me know

*) nano /data/local/userinit.sh  # this is called by /etc/init.d/90userinit

*) therein, we put:

    mkdir -p /mnt/fuse/real_sdcard1
    mount -t ext2 /dev/block/mmcblk1p1 /mnt/fuse/real_sdcard1
    mount -o bind /mnt/fuse/real_sdcard1/data /data

reboot, enjoy

vincenzoml