Aplink. Aplikasi sejenis a2sd/link2sd

Oke sebelumnya cara ini saya dapatkan dari forum galy development. Dan khususnya terimakasih untuk agan Robertus Adi atas penjelasannya. Tapi untuk tutorial yang akan saya tulis ini, saya akan menjelaskan secara sedetail-detailnya dan menggunakan cara yang berbeda dengan agan Robertus tadi, karena saya disini menggunakan Terminal Emulator. Itung-itung tutorial ini sebagai bahan pembelajaran buat kita aja ya, supaya kita tahu cara mirip seperti a2sd tu ternyata seperti ini. Hehe
Oke langsung aja ya. Disini saya menggunakan Terminal Ubuntu dengan cara meremote Android saya dari PC (menggunakan adb). Bagi yang bingung, bisa juga langsung gunakan Terminal Emulator android yang bisa di install langsung dari Play Store.
Syaratnya:
  1. Jangan lupa untuk menyiapkan backupan aplikasi pentingnya atau backupan system androidnya dengan CWM
  2. Android anda udah support init.d dan busybox. Bagi yang belom tau apa itu init.d, coba search di mbah google.com. Biasanya init.d akan berfungsi kalau kita install custom kernel.
  3. Mempunyai sdcard class 10 (agar tidak terjadi Force Close nantinya)
  4. Buat partisi ext2 di sdcard agan dengan gparted/tool sejenisnya
  5. Contoh pembuatan partisi saya dimulai dari Memory External (FAT di partisi 1), Ext2 (di partisi 2), dan swap (dipartisi 3)
Kalau sudah support, langsung ikutin cara ini:
  1. Buat folder sd-ext di folder /data/ android agan. Ketik ini di Terminal Emulatornya:
    $ su
    # mount -o rw,remount -t yaffs2 /dev/block/mtdblock3 /
    # mkdir /data/sd-ext

  2. Sekarang coba mounting folder partisi ext2 kita ke /data/sd-ext tadi.
    # mount -t ext2 -o rw /dev/block/mmcblk0p2 /data/sd-ext/

    Catatan: Ingat mmcblk0p2 adalah partisi ext2 saya di urutan ke dua, seperti yang udah saya jelasin di atas. Bagi yang mengalami error coba ganti mmcblk0p2 dengan mmcblk0p1 atau mmcblk0p3.
  3. Lalu sekarang copy paste script ini ke jota text editor/editor yang agan sukai yang di download di playstore.
    #!/system/bin/sh
    #added by Imron Rosdiana
    LOG=/data/Link2sd-manual.log
    #proses mounting
    mount -t ext2 -o rw /dev/block/mmcblk0p2 /data/sd-ext 1>>$LOG 2>>$LOG
    mount >> $LOG
    echo “$(date) mount finished” >> $LOG

    Jangan lupa simpan dengan nama 51link2sd (download filenya di sini) dan copy ke /etc/init.d dengan Root Explorer dan jangan lupa juga kasih permission rwxr-xr-x
    Catatan: Ingat ganti mmcblk0p2 itu dengan mmcblk0p… agan pada step sebelumnya (no 2)
  4. Klo udah coba reboot androidnya. Disini kita akan coba test, script tadi berfungsi atau tidak.Hehe
  5. Kalo sudah aktif lagi androidnya, ulangi buka lagi Terminal Emulatornya dan ketik ini lagi
    $ su
    # mount -o rw,remount -t yaffs2 /dev/block/mtdblock3 /
    # mount -o rw,remount -t yaffs2 /dev/block/mtdblock3 /system
    # mount -t ext2 -o rw /dev/block/mmcblk0p2 /data/sd-ext

    Nanti apabila muncul error seperti ini

    mount: mounting /dev/block/mmcblk0p2 on /data/sd-ext failed: Device or resource busy

    Berarti script init.d yang tadi berhasil.. :D
  6. Sekarang saatnya buat link dalvik-cahce ke sdcard kita.
    # mv /data/dalvik-cache/ /data/sd-ext/
    # ln -s /data/sd-ext/dalvik-cache/ /data/dalvik-cache

    Nah sekarang coba cek pemakaian memori internalnya, pasti berkurang kan? Klo udah sekarang coba restart lagi androidnya.
    Kalau terjadi beberapa Force Close aplikasi, coba install ulang titanium backupnya dan restore lagi beberapa aplikasi yang force close tadi.
  7. Nah tadi pengen tambah berkurang lagi ni internalnya? Coba buka lagi terminal emulatornya dan ketik ini
    # mount -o rw,remount -t yaffs2 /dev/block/mtdblock3 /
    # mount -o rw,remount -t yaffs2 /dev/block/mtdblock3 /system
    # mv /data/app /data/sd-ext/
    # ln -s /data/sd-ext/app/ /data/app
    # mv /data/data/ /data/sd-ext/
    # ln -s /data/sd-ext/data/ /data/data
    # reboot

    Nah kalau berhasil reboot, coba liat memori internalnya lagi, pasti udah makin lega lagi sekarang. Sudah paham kan sekarang konsep dari a2sd tu kira-kira cara kerjanya seperti ini?
Nah bagi yang bingung dengan perintah-perintah di atas, ni ane jelasain dikit ya.Hehe
Perintah Keterangan
su Untuk melakukan perpindahan dari user biasa menjadi super user
mount -o rw,remount -t yaffs2 /dev/block/mtdblock3 /system Untuk melakukan proses umount dan mounting lagi dengan mempunyai akses read write
mkdir Make Directory. Fungsinya untuk membuat folder baru
mount -t ext2 -o rw Mounting drive dengan format file system ext2 dan dengan akses read write
mv Move. Untuk memindahkan file ke direktory tertentu
ln Link. Fungsinya untuk melakukan simbolik link terhadap folder/file
Kesimpulannya:
Jadi kesimpulannya dari semua penjelasan di atas, saya mencoba membuat aplikasinya dengan bash scripting, tapi aplikasi ini masih belom sempurna dikarenakan pengetahuan saya akan bash scripting masih kurang banget.Hehe
Aplikasinya bisa di download di sini.
Untuk cara pakenya, setelah di download, rename aplikasinya dengan nama aplink aja, lalu setelah itu copy paste aplink itu ke /system/xbin. Ingat busybox sudah terinstall di android agan. Setelah di copy paste, rubah permission aplikasi itu di /system/xbin menjadi rwxrwxrwx (chmod 777).
Setelah dirubah permissionnya, coba buka Terminal Emulator di android agan dan ketik
$ su
# aplink ===> Untuk mengetahui fungsi dan cara pakai dari aplikasi tersebut

Dan untuk pemakaiannya saya merekomendasikan dengan urutan
# aplink mount
# aplink aplink1
# aplink aplink2
# reboot

Oya, apabila ada yang ingin mengembangkan aplikasi ini, saya persilahkan aja. Tapi jangan lupa untuk cantumkan pembuat sebelumnya ya. Hehe

One comment

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s