Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Android mount the filesystem with write permission

The Android device I am using does not hold sqlite3 on it, so i thought to push it to the device after pulling it from the AVD.

I had no problem pulling it from the AVD, though I cannot push it to the device since I need to enable a write permission. I tried to follow sqlite3: not found

I tried the following

$ adb -d shell
$ mount
mount
rootfs / rootfs ro,relatime 0 0
tmpfs /dev tmpfs rw,relatime,mode=111 0 0
devpts /dev/pts devpts rw,relatime,mode=600 0 0
proc /proc proc rw,relatime 0 0
sysfs /sys sysfs rw,relatime 0 0
none /acct cgroup rw,relatime,cpuacct 0 0
tmpfs /mnt/asec tmpfs rw,relatime,mode=755,gid=1000 0 0
tmpfs /mnt/obb tmpfs rw,relatime,mode=755,gid=1000 0 0
tmpfs /mnt/usb tmpfs rw,relatime,mode=755,gid=1000 0 0
tmpfs /app-cache tmpfs rw,relatime,size=7168k 0 0
none /dev/cpuctl cgroup rw,relatime,cpu 0 0
/dev/block/mmcblk0p9 /system ext4 ro,relatime,barrier=1,data=ordered 0 0
/dev/block/mmcblk0p7 /cache ext4 rw,nosuid,nodev,noatime,barrier=1,data=ordered
/dev/block/mmcblk0p1 /efs ext4 rw,nosuid,nodev,noatime,barrier=1,data=ordered 0
nil /sys/kernel/debug debugfs rw,relatime 0 0
/dev/block/mmcblk0p10 /data ext4 rw,nosuid,nodev,noatime,barrier=1,data=ordered,
/dev/block/mmcblk0p4 /mnt/.lfs j4fs rw,relatime 0 0
/dev/block/vold/179:11 /mnt/sdcard vfat rw,dirsync,nosuid,nodev,noexec,noatime,n
epage=cp437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro,discard 0

I followed this link and tried to mount the filesystem as follows but I got a permission error.

$ mount -o rw,remount -t yaffs2 /dev/block/mmcblk0p9 /system
mount: Operation not permitted 

Any clue what is needed to be done in order to push sqlite3 into an Adroid device for debugging reasons?

like image 831
Mr. Avatar asked Nov 30 '22 02:11

Mr.


1 Answers

Edit: Found a better solution

From host machine(Linux or windows PC), execute the following commands.

>> adb root
>> adb remount

remount will by default remount the /system partition with rw, if you have the permissions.

The Note 1 and 2 mentioned below are still applicable.


Old way

To remount a mounted system you need to have root privileges. Do an su. You will enter root mode. Then run the below command. It will work, I did it many a times.

So here are the steps:

 adb shell 
 su
 mount -o rw,remount /system

Note 1: To execute the commands su or adb root, your device must be rooted and have su executable on it. If the command su is successful, terminal prompt will change from $ to #.

Note 2: In recent mobiles, Security has been tightened, and even after rooting the phone, adb remount wouldn't work. As of i know, there is no solution available for it so far.

like image 106
Sandeep Avatar answered Dec 04 '22 15:12

Sandeep