• After 15+ years, we've made a big change: Android Forums is now Early Bird Club. Learn more here.

Root "Read-Only File System" when trying to ADB Push an App

Grimshak

Newbie
Rooted my Droid for the first time earlier today, and installed the NexBeast using the handy-dandy Mod Manager. So far everything has been great, but I'm having problems installing non-Market Apps.

I'm trying to install a Live Wallpaper from http://androidforums.com/all-things-root-droid/63554-coheed-cambria-live-wallpaper.html, but I keep receiving an error.

Here is a copy from the CMD console:
D:\Program Files (x86)\android-sdk-windows\tools>adb push LiveWallpapers.apk /system/app/LiveWallpapers.apk

failed to copy 'LiveWallpapers.apk' to '/system/app/LiveWallpapers.apk': Read-only file system

I also tried the other method, which says the file is already there?

D:\Program Files (x86)\android-sdk-windows\tools>adb shell
# su
su
# mount -o,rw remount /dev/block/mtdblock4 /system/
mount -o,rw remount /dev/block/mtdblock4 /system/
Usage: mount [-r] [-w] [-o options] [-t type] device directory
# cp /sdcard/LiveWallpapers.apk /system/app/LiveWallpapers.apk
cp /sdcard/LiveWallpapers.apk /system/app/LiveWallpapers.apk
cp: cannot create '/system/app/LiveWallpapers.apk': File exists

If it's already there, what else do I need to do? It doesn't show up under Applications>Manage Applications OR under the Market Downloads.

I HAVE checked the "Unknown Sources" box, but still nothing. Any ideas? Thanks!
 
You need to mount the system as R/W first, before you push:

Code:
adb shell sysrw
adb push blah blah blah
adb shell sync
adb shell sysro
 
You need to mount the system as R/W first, before you push:

Code:
adb shell sysrw
adb push blah blah blah
adb shell sync
adb shell sysro

Awesome! It pushed correctly. However, I am a SUPER newbie to this, and I'm not sure what to do after I've finished the ADB part of it. On the phone, do I need to install it? Again, I checked in the Market Downloads and under Manage Applications (as well as Live Wallpapers, just in-case), and I don't see anything. I know this is gonna be something simple, I just don't quite know what I'm doing yet.

Thanks again!
 
You need to mount the system as R/W first, before you push:

Code:
adb shell sysrw
adb push blah blah blah
adb shell sync
adb shell sysro

Mind spelling out the actual commands for an Android newbie?

I'm trying to push a file to my Android device but I get the same error as the original thread starter. Then someone said I had to try doing the adb remount command and it doesn't seem to work :/

Code:
D:\Test\android-sdk-windows\platform-tools>adb push D:\tun.ko \system\lib\modules
failed to copy 'D:\tun.ko' to '\system\lib\modules': Read-only file system

D:\Test\android-sdk-windows\platform-tools>adb remount
remount failed: Operation not permitted
 
Rooted my Droid for the first time earlier today, and installed the NexBeast using the handy-dandy Mod Manager. So far everything has been great, but I'm having problems installing non-Market Apps.

I'm trying to install a Live Wallpaper from http://androidforums.com/all-things-root-droid/63554-coheed-cambria-live-wallpaper.html, but I keep receiving an error.

Here is a copy from the CMD console:


I also tried the other method, which says the file is already there?



If it's already there, what else do I need to do? It doesn't show up under Applications>Manage Applications OR under the Market Downloads.

I HAVE checked the "Unknown Sources" box, but still nothing. Any ideas? Thanks!

Your remount command failed.

This is because -o,rw is not valid syntax for mount

So if for no other reason than this, you were sure to fail with that attempt...

GaJ
 
I did

# su
# mount

(which gave me a list of the mounts, so I could choose the right mount points for /system, which was not mtdblock4 for me, but rather mtdblock1)

# mount -rw -o remount /dev/block/mtdblock1 /system

and after that the adb push worked.

Yay, thanks for the hints in this thread.

(still don't know why adb shell sysrw didn't work)

GaJ
 
(still don't know why adb shell sysrw didn't work)

GaJ

That's because "sysrw" is not an adb command. It is usually a .sh script which contains the longer command that some developers have included in their roms to be run from a terminal on the phone. However while in adb shell a "adb remount" usually does the same thing.
 
I know this is a necro thread but I thought I would chime in for those that need help since this comes up as the top on google search for "Read-Only ADB push".

If you're running into this:
1. Make sure you are rooted with SuperUser of some type installed
2. On your machine with adb installed, do the following:
[HIGH]
--# adb devices
(make sure your device shows up)
--# adb root
(this restarts the adb daemon as root on the phone)
--# adb push blah bleh
(this should now run without issue)
[/HIGH]
You DO NOT need to remount the /system symlink with rw permissions. A lot of people will do this and forget to remount it back to ro permissions.
 
necro thread revived!

apparently the method above is deprecated on my mostly stock nexus 5:

Chads-MacBook-Pro:~ chadly$ adb root
adbd cannot run as root in production builds​

back to google search results
 
https://github.com/kolibreath/MI-fast-boot

adb kill-server
adb root
adb devices

Android hosts (/system/etc/hosts)
127.0.0.1 localhost

adb pull /system/etc/hosts Y:\src\hosts

PC Edit (Y:\src\hosts)
127.0.0.1 localhost
::1 ip6-localhost
89.252.186.72 umutdemir.com.tr
89.252.186.72 https://umutdemir.com.tr
89.252.186.72 http://umutdemir.com.tr
144.122.145.153 https://metu.edu.tr

adb push Y:\src\hosts /system/etc/

EROOR:
adb push Y:\hosts /system/etc/
failed to copy 'Y:\hosts' to '/system/etc//hosts': Read-only file system
23 KB/s (408 bytes in 0.017s)
 
Back
Top Bottom