Translate

2015년 5월 7일 목요일

[Android] 루팅 했는데도 나오는 read-only file system 문제




/system/app/[App_Name]/ 디렉토리에 APK 파일을 넣으려 하자
read-only file system 라는 오류가 발생을 했다.

구글에 read-only file system android 라고 검색을 해보면 대부분 다음과 비슷한 명령어가 나온다.
mount -o rw,remount -t yaffs2 /dev/block/mtdblock3 /system



하지만 단말기에서 실제로 해보면 정상적으로 되지 않는다.
이유는 Data Type 과 마운트 경로가 틀렸는데 다음과 같이 작업을 하면 된다.



adb shell 로 접속 후 mount 명령어를 입력하면 /system 디렉토리의 실제 마운트 경로와 포멧 타입을 알 수 있다.


shell@p1:/ $ mount
mount
rootfs / rootfs ro,relatime 0 0
tmpfs /dev tmpfs rw,seclabel,nosuid,relatime,size=1426416k,nr_inodes=356604,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,size=1426416k,nr_inodes=356604,mode=750,gid=1000 0 0
tmpfs /mnt/asec tmpfs rw,seclabel,relatime,size=1426416k,nr_inodes=356604,mode=755,gid=1000 0 0
tmpfs /mnt/obb tmpfs rw,seclabel,relatime,size=1426416k,nr_inodes=356604,mode=755,gid=1000 0 0
none /dev/cpuctl cgroup rw,relatime,cpu 0 0
pstore /sys/fs/pstore pstore rw,relatime 0 0
/mnt/pstore /mnt/pstore pstore rw,relatime 0 0
adb /dev/usb-ffs/adb functionfs rw,relatime 0 0
/dev/block/bootdevice/by-name/system /system ext4 ro,seclabel,noatime,data=ordered 0 0
/dev/block/bootdevice/by-name/cache /cache ext4 rw,seclabel,nosuid,nodev,noatime,noauto_da_alloc,errors=continue,data=ordered 0 0
/dev/block/bootdevice/by-name/userdata /data ext4 rw,seclabel,nosuid,nodev,noatime,noauto_da_alloc,resuid=1000,errors=continue,data=ordered 0 0
/dev/block/bootdevice/by-name/persist /persist ext4 rw,seclabel,nosuid,nodev,noatime,noauto_da_alloc,errors=continue,data=ordered 0 0
/dev/block/bootdevice/by-name/modem /firmware vfat ro,context=u:object_r:firmware_file:s0,relatime,uid=1000,gid=1000,fmask=0337,dmask=0227,codepage=437,iocharset=iso8859-1,shortname=lower,errors=remount-ro 0 0
/dev/block/bootdevice/by-name/sns /sns ext4 rw,seclabel,nosuid,nodev,noatime,noauto_da_alloc,errors=continue,data=ordered 0 0
/dev/block/bootdevice/by-name/drm /persist-lg ext4 rw,seclabel,nosuid,nodev,noatime,noauto_da_alloc,errors=continue,data=ordered 0 0
/dev/block/bootdevice/by-name/mpt /mpt ext4 rw,seclabel,nosuid,nodev,noatime,noauto_da_alloc,errors=continue,data=ordered 0 0
/data/media /mnt/shell/emulated sdcardfs rw,nosuid,relatime,uid=1023,gid=1023,derive=legacy 0 0
/data/media /storage/emulated/legacy sdcardfs rw,nosuid,relatime,uid=1023,gid=1023,derive=legacy 0 0
shell@p1:/ $



위의 정보를 토대로 다음과 같이 remount 작업을 하면 된다.
("su -" 명령어를 이용해 root 권한에서 작업해야 한다.)


shell@p1:/ # mount -o rw,remount -t ext4 /dev/block/bootdevice/by-name/system /system



=============================
2015.05.11 추가

mount -o rw,remount /system

LG단말에서 위 명령어 사용시 바로 remount가 되었다.





댓글 없음 :

댓글 쓰기