Mount File System Read-Write

Ada beberapa mount point pada device android yang dibuat “ro” a.k.a read-only sehingga ketika kita mencoba melakukan percobaan writing files (baik itu membuat, me-rename, atau mengubah file) akan mendapat pesan error: failed to copy ‘blabla’ to ‘/system/xbin/blabla’: Permission denied, padahal sudah root hehe. Sebenarnya ini hanya karena kita belum mengaktifkan “rw” a.k.a read-write pada mount pointnya. Untuk memecahkan masalah ini, berikut solusinya. Android is a Linux, jadi berdayakan command “mount” pada perintah dasar linux hehe.

Sebagai root lakukan perintah sederhana ini:

mount -o rw,remount -t yaffs2 /dev/block/[device_path] /[mountpoint]

Maksud command di atas adalah melakukan mount kembali pada filesystem yang telah dimount (remount) dengan mengizinkan “rw” read-write. Tipe filesystem nya android saya (juga pada umumnya) adalah yaffs2. Untuk device_path dan mountpoint silahkan mereferensi ke file /proc/mounts pada android masing-masing.

Read-Write Permission Denied
Read-Write Permission Denied
Read-Write Access
Read-Write Access

Contoh kasus

Pada contoh kasus ini, saya sekalian akan menjawab pertanyaan seorang pengunjung blog ini: “Gan..itu maksudnya push ‘su-v3’ jd ‘su’ caranya gmana?”. Inilah jawabannya secara “clue” saja hehe:

  • Rename file “su-v3” menjadi “su” secara biasa pada komputer
  • Masuk ke command prompt, colok kabel data ke USB dan jalankan ADB (atau bisa juga bermain ADB via WiFi)
  • Lihat isi file /proc/mounts kemudian cek status dan device path untuk mountpoint /system (karena nanti kita akan mem-push binary ini ke direktori /system/xbin). Setelah melihat informasi di /proc/mounts, lakukan mount /system untuk bisa read-write dengan cara mengetikkan command: “mount -o rw,remount -t yaffs2 /dev/stl12 /system” sehingga menjadi “rw” seperti gambar di bawah ini:

    Cek Device Path dan Status Mountpoint (rw atau ro)
    Cek Device Path dan Status Mountpoint (rw atau ro)
  • Kalau sudah seperti gambar di atas, tinggal lakukan adb push seperti biasa.. format command-nya adalah:
    adb push <local> <remote>
    atau untuk contoh kita adalah seperti ini:
    adb push su /system/xbin/

NB:

Jangan lupa mengembalikan mountpoint kembali ke read-only (jika memang asal mountpointnya adalah “ro” a.k.a read-only filesystem) dengan mengetikkan perintah:

mount -o ro,remount -t yaffs2 /dev/block/[device_path] /[mountpoint]

10 thoughts on “Mount File System Read-Write

  1. Ok..thanks gan!! Sangat mmbantu…tp ane lg g d rmh..paling besok prakteknya..LoL..skalian bookmark buat tutorial haha..oiYa..satu lg nih..d posting sblmnya..itu seandainya pas cd /system/xbin trus pas. /su nya bs gmn gan? Jd bkn kyk tutorialnya..kan d situ pakenya . /su-v3.. Apa msh hrs push jg? Soalnya ane cb. /su sama /su-v3 nya bs smua..tp ttp aja pas checking installed version fail..sorry nih gan bnyak nanya..

    maju teruss gann!!

  2. gan hp saya tuh usb storagenya ga bisa ke deteksi,pas ke samsungnya harus ganti mesin,bisa ngga minimalnya sdcardnya kebaca soalnya ngga kebaca banget,

  3. @gani: kalo SD card-nya masih kebaca di card reader ga Kang? Kalo Android Debugging masih berfungsi (biasanya pas colok kabel USB ada icon serangga Android di status bar). Kalo SD card masih kebaca di card reader, ada kemungkinan slot SD card di mainboard handheld-nya udah rusak.

  4. a, hese, te ngarti nu mana nu kedah digentos
    punten pang ningalkeun mana nu kedah digentos

    [email protected]:/ # cat /proc/mounts
    rootfs / rootfs ro,seclabel,relatime 0 0
    tmpfs /dev tmpfs rw,seclabel,nosuid,relatime,mode=755 0 0
    devpts /dev/pts devpts rw,seclabel,relatime,mode=600 0 0
    none /dev/cpuctl cgroup rw,relatime,cpu 0 0
    proc /proc proc rw,relatime 0 0
    sysfs /sys sysfs rw,seclabel,relatime 0 0
    selinuxfs /sys/fs/selinux selinuxfs rw,relatime 0 0
    none /sys/fs/cgroup tmpfs rw,seclabel,relatime,mode=750,gid=1000 0 0
    none /acct cgroup rw,relatime,cpuacct 0 0
    tmpfs /mnt/secure tmpfs rw,seclabel,relatime,mode=700 0 0
    tmpfs /mnt/asec tmpfs rw,seclabel,relatime,mode=755,gid=1000 0 0
    tmpfs /mnt/obb tmpfs rw,seclabel,relatime,mode=755,gid=1000 0 0
    [email protected] /system ext4 ro,seclabel,relatime,noauto_da_alloc,commit=1,data=ordered 0 0
    [email protected] /data ext4 rw,seclabel,nosuid,nodev,noatime,discard,noauto_da_alloc,data=ordered 0 0
    [email protected] /cache ext4 rw,seclabel,nosuid,nodev,noatime,discard,noauto_da_alloc,data=ordered 0 0
    [email protected]_f /protect_f ext4 rw,seclabel,nosuid,nodev,noatime,nodelalloc,noauto_da_alloc,commit=1,data=ordered 0 0
    [email protected]_s /protect_s ext4 rw,seclabel,nosuid,nodev,noatime,nodelalloc,noauto_da_alloc,commit=1,data=ordered 0 0
    /dev/block/loop0 /mnt/cd-rom iso9660 ro,relatime 0 0 [email protected]:/ #

    punten nya a
    nuhuun sa te acanna

  5. a, hese, te ngarti nu mana nu kedah digentos
    punten pang ningalkeun mana nu kedah digentos

    [email protected]:/ # cat /proc/mounts
    rootfs / rootfs ro,seclabel,relatime 0 0
    tmpfs /dev tmpfs rw,seclabel,nosuid,relatime,mode=755 0 0
    devpts /dev/pts devpts rw,seclabel,relatime,mode=600 0 0
    none /dev/cpuctl cgroup rw,relatime,cpu 0 0
    proc /proc proc rw,relatime 0 0
    sysfs /sys sysfs rw,seclabel,relatime 0 0
    selinuxfs /sys/fs/selinux selinuxfs rw,relatime 0 0
    none /sys/fs/cgroup tmpfs rw,seclabel,relatime,mode=750,gid=1000 0 0
    none /acct cgroup rw,relatime,cpuacct 0 0
    tmpfs /mnt/secure tmpfs rw,seclabel,relatime,mode=700 0 0
    tmpfs /mnt/asec tmpfs rw,seclabel,relatime,mode=755,gid=1000 0 0
    tmpfs /mnt/obb tmpfs rw,seclabel,relatime,mode=755,gid=1000 0 0
    [email protected] /system ext4 ro,seclabel,relatime,noauto_da_alloc,commit=1,data=ordered 0 0
    [email protected] /data ext4 rw,seclabel,nosuid,nodev,noatime,discard,noauto_da_alloc,data=ordered 0 0
    [email protected] /cache ext4 rw,seclabel,nosuid,nodev,noatime,discard,noauto_da_alloc,data=ordered 0 0
    [email protected]_f /protect_f ext4 rw,seclabel,nosuid,nodev,noatime,nodelalloc,noauto_da_alloc,commit=1,data=ordered 0 0
    [email protected]_s /protect_s ext4 rw,seclabel,nosuid,nodev,noatime,nodelalloc,noauto_da_alloc,commit=1,data=ordered 0 0
    /dev/block/loop0 /mnt/cd-rom iso9660 ro,relatime 0 0
    [email protected]:/ #

    punten nya a
    nuhuun sa te acanna

  6. Untul device-path dan mountpoint yang mana itu ya gan, ga’ tau liatnya :

    [email protected]:/ $ su
    [email protected]:/ # cat /proc/mounts
    cat /proc/mounts
    rootfs / rootfs ro,relatime 0 0
    tmpfs /dev tmpfs rw,seclabel,nosuid,relatime,mode=755 0 0
    devpts /dev/pts devpts rw,seclabel,relatime,mode=600 0 0
    proc /proc proc rw,relatime 0 0
    sysfs /sys sysfs rw,seclabel,relatime 0 0
    selinuxfs /sys/fs/selinux selinuxfs rw,relatime 0 0
    debugfs /sys/kernel/debug debugfs rw,relatime 0 0
    none /acct cgroup rw,relatime,cpuacct 0 0
    none /sys/fs/cgroup tmpfs rw,seclabel,relatime,mode=750,gid=1000 0 0
    tmpfs /mnt/asec tmpfs rw,seclabel,relatime,mode=755,gid=1000 0 0
    tmpfs /mnt/obb tmpfs rw,seclabel,relatime,mode=755,gid=1000 0 0
    none /dev/cpuctl cgroup rw,relatime,cpu 0 0
    tmpfs /tmp tmpfs rw,seclabel,nosuid,relatime,mode=755 0 0
    /dev/block/platform/msm_sdcc.1/by-name/system /system ext4 ro,seclabel,relatime,discard,data=ordered 0 0
    /dev/block/platform/msm_sdcc.1/by-name/userdata /data ext4 rw,seclabel,nosuid,nodev,relatime,discard,noauto_da_alloc 0 0/dev/block/platform/msm_sdcc.1/by-name/cache /cache ext4 rw,seclabel,nosuid,nodev,relatime,data=ordered 0 0
    /dev/block/platform/msm_sdcc.1/by-name/apps_log /mnt/idd ext4 rw,seclabel,nosuid,nodev,noexec,noatime,discard,nobarrier 0 0
    tmpfs /storage/remote tmpfs rw,seclabel,relatime,size=1024k,nr_inodes=256,mode=750,gid=1028 0 0
    /dev/block/platform/msm_sdcc.1/by-name/LTALabel /lta-label ext4 ro,seclabel,nosuid,nodev,noexec,noatime,nobarrier 0 0
    securityfs /sys/kernel/security securityfs rw,nosuid,nodev,noexec,relatime 0 0
    /dev/fuse /mnt/shell/emulated fuse rw,nosuid,nodev,noexec,relatime,user_id=1023,group_id=1023,default_permissions,allow_other,allow_utime_grp 0 0
    /dev/block/vold/179:65 /mnt/media_rw/sdcard1 vfat rw,dirsync,nosuid,nodev,noexec,relatime,uid=1023,gid=1023,fmask=0007,dmask=0007,allow_utime=0020,codepage=cp437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro 0 0
    /dev/fuse /storage/sdcard1 fuse rw,nosuid,nodev,noexec,relatime,user_id=1023,group_id=1023,default_permissions,allow_other,allow_utime_grp 0 0
    [email protected]:/ #

  7. kalo udah ada su nya mau ngapain juga enak
    yg susah klo system/xbin ga ada su nya
    di push juga read only

Leave a Reply

Your email address will not be published. Required fields are marked *