Cannot Mount system/app rw - Google Pixel 3a Questions & Answers

I am rooted with magisk and using the follow command to mount /system rw
Code:
adb shell "su -c 'mount -o rw,remount /system'"
I can copy to system/priv-app using:
Code:
adb shell "su -c 'cp sdcard/name.apk system/priv-app/name/name.apk'"
But using this same command I cannot copy to system/app
Code:
adb shell "su -c 'cp sdcard/name.apk system/app/name/name.apk'"
I get the error:
cp: system/app/name/name.apk: Read-only file system
Click to expand...
Click to collapse
What am I doing wrong?

These days, you really don't want to try to modify the distribution filesystems directly. I'm pretty certain that newer ones are compacted/compressed, so there's no room to add anything, anyway. Look into Magisk modules, and do it that way.

creeve4 said:
I am rooted with magisk and using the follow command to mount /system rw
I can copy to system/priv-app using:
But using this same command I cannot copy to system/app
I get the error:
What am I doing wrong?
Click to expand...
Click to collapse
If you're on Android 10 you can't modify system, vendor or product at all due to the pixel phones using logical partitions now. Pretty much if you want to modify anything you must use magisk modules (or you can use /sbin/.magisk/mirror/ but I don't recommend that)
Sent from my Google Pixel 3a XL using XDA Labs

I appreciate the responses, and I understand what you are each saying.
I'm running a custom build of DU pie. I am making modifications and frequently pushing the apks to my phone. It's tedious to push and then have to use a file explorer on my phone to manually move the apk to the correct folder. I am looking for the correct way to mount all /system folders rw so I can script the apk transfer.

Related

[DEV] Apps2SD and Darchstar-2.1 ROM

The focus of this thread is to sort out the Apps2SD issue in cyanogenmod-darch 2.1 ROM (like the title says). Please do not post here unless it relates to this issue.
That being said, here is where I was at in the original darchstar 2.1 thread:
watzone69 said:
Taken from the instructions darchstar gave in the first post of his thread...
Code:
adb remount
adb push e2fsck /system/bin
adb shell
cd /system/bin
chmod a+x e2fsck
a2sd
reboot
First, the "chmod a+x e2fsck" command doesn't work for me (EDIT: I discovered that it WILL work in recovery mode). I had to use "chmod 777 e2fsck". After entering "a2sd" it gets enabled. After rebooting, apps2SD is NOT enabled anymore. I realized this by doing this test:
Code:
adb shell
cd /data/app
pwd
If your apps2sd is enabled, you will get "/system/sd/app" returned to you.
If you get "/data/app" returned instead then apps2sd is NOT enabled!
Click to expand...
Click to collapse
Gbhil then replied...
gbhil said:
After you restart, can you re-enable a2sd by running a2sd from a terminal as root?
If so, do all your apps still appear and are they usable?
If the above is true, try adding this to the end of gumbo.sh
Code:
su -C a2sd
for a quick fix.
Start a thread (to keep things less cluttered) about it and I'll help you guys dig into the boot image and see why it's not sticking.
Click to expand...
Click to collapse
So, I rebooted and tried to run "a2sd" from the android terminal but it spits out a long string of errors:
Code:
--- Checking ext filesystems
e2fsck 1.41.6 (30-May-2009)
ext2fs_check_if_mount: Can't check if filesystem is mounted due to missing mtab file while determining whether /dev/block/mmcblk0p2 is mounted.
/dev/block/mmcblk0p2: clean, 13/249856 files, 31387/499713 blocks
mount: permission denied. (are you root?)
chown: /system/sd: Read-only file system
chmod: /system/sd: Read-only file system
mkdir failed for /system/sd/app, Read-only file system
chown: /system/sd/app: No such file or directory
chmod: /system/sd/app: No such file or directory
cp: cannot create '/system/sd/app/android.tether.apk': No such file or directory
cp: cannot create '/system/sd/app/android.tether.usb.apk': No such file or directory
cp: cannot create '/system/sd/app/at.abraxas.mountusb.apk': No such file or directory...
(etc.)
...rm: cannot remove '/data/app/org.gmote.client.android.apk': Permission denied
rm: cannot remove '/data/app/org.hermit.substrate.apk': Permission denied
rm: cannot remove '/data/app/org.iplatform.android.apk': Permission denied
rm: cannot remove '/data/app/org.mikeyin.livewallpaper.apk': Permission denied
mkdir failed for /system/sd/app-private, Read-only file system
chown: /system/sd/app-private: No such file or directory
chmod: /system/sd/app-private: No such file or directory
cp: can't open '/data/app-private/com.android.aldiko.apk': Permission denied
cp: can't open '/data/app-private/com.protocol.x.su.fbs.apk': Permission denied
cp: can't open '/data/app-private/com.rerware.android.MyBackupPro.apk': Permission denied
rm: cannot remove '/data/app-private/com.android.aldiko.apk': Permission denied
rm: cannot remove '/data/app-private/com.protocol.x.su.fbs.apk': Permission denied
rm: cannot remove '/data/app-private/com.rerware.android.MyBackupPro.apk': Permission denied
ln: /data/app/app: Permission denied
ln: /data/app-private/app-private: Permission denied
+++ Apps-to-SD successfully enabled
So, there is no "app" or "app-private" in the "system/sd". Is a2sd supposed to generate those directories or are they supposed to be there before hand?
Anyway, the result is that I lose all of my shortcuts to the apps and market shows them as not installed even though they are.
BTW, I am not a dev or even that great at code or linux but I can usually pick stuff up fairly quickly. Just want to help fix this!
EDIT: The only thing I have found to work is to flash this kernel:
http://forum.xda-developers.com/showpost.php?p=5712377&postcount=1406
However, some people get stuck in a boot loop after flashing this.
Running into the same issues as Watzone so I can confirm that he is doing it correctly. =P
Here are all of the related commands that have been suggested whenever the question of apps2sd has come up in the darchstar 2.1 thread.
Code:
adb remount
adb shell
mkdir /system/sd
Code:
adb remount
adb shell
busybox --install /system/xbin
a2sd
Code:
cd C:\android-sdk-windows\tools
adb remount
adb shell
chown system.system /data/app
chmod 0771 /data/app
For the next command, boot into recovery and do the following:
Code:
adb shell
mount /system
exit
adb push e2fsck /system/bin
adb shell
cd /system/bin
chmod 777 e2fsck
Now, boot normally and go back to your CMD prompt...
Code:
adb remount
adb shell
a2sd
EDIT: In other threads I have seen the command...
Code:
apps2sd on
...used to enable apps2sd.
Doing all of these WILL allow the final "a2sd" command to enable (testing with the "pwd" command) but it all goes KAPUT after a reboot.
why it's not being enabled at boot time is because the init.rc isn't calling /system/etc/init.d/04apps2sd . I'll be sure that we fix that in my next release
And there you go.
It works here, but now I know why. I'm still using an old version of the boot image that looks for /system/bin/a2sd to load it, and an older version of the ROM. No sense in me to keep flashing fixes until I'm done tweaking the kernel. When darch says the kernel is good, then I'll catch up lol.
We might as well use this thread to learn to play with the boot image though, that is if you guys want to.
Awesome can't wait for the next release then! Lotsa apps out there calling out to me! Thanks guys =)
gbhil said:
We might as well use this thread to learn to play with the boot image though, that is if you guys want to.
Click to expand...
Click to collapse
You bet. It's about time I got my hands dirty.
I'm game let me know if you need me to test anything!
Cool deal. You need Linux to extract and compress the boot.img, and you need to be current with Perl and running jre5 or higher.
Ubuntu 9.04+ is set up out of the box, but any version can be made to work.
Then grab these files from Lox -
http://forum.xda-developers.com/attachment.php?attachmentid=231902&d=1254004933
http://forum.xda-developers.com/attachment.php?attachmentid=234040&d=1254622769
and extract them into your sdk/tools dir. (or any dir in your path)
get all that, then pick a boot.img from a rom and put it in a work folder.
Holler when you get that far, or if you have any q's.
I wanna learn myself. This should apply to mac os as well?
I have Mint on another machine. Gimme a bit to get caught up...
david279 said:
I wanna learn myself. This should apply to mac os as well?
Click to expand...
Click to collapse
Darwin might work. Never tried
watzone69 said:
I have Mint on another machine. Gimme a bit to get caught up...
Click to expand...
Click to collapse
np. I'm @work so going slow is better anyway lol.
ok i just ran the files in terminal. so i guess it might work.
I'm back
Inisde the work folder you dropped the boot.img into, run this from a term:
extract-kernel.pl boot.img
extract-ramdisk.pl boot.img
it will give you several files and a new directory. That dir is the unpacked ramdisk. The init.rc file is the one we're looking for. Open it with a Unicode editor and read it. It has it's own syntax, but it's almost like bash and not too hard to figure out. Hopefully you loaded a bootimg that has a2sd in it. Look near the bottom of the file for the a2sd start up line. It will have a2sd, apps2sd, a2sd004 or something like that. Once you find it so you can see the name used, search the rest of the file for that name.
Those lines will show you how a service gets declared and called at boot time.
I'm up and running now. I downloaded python 2.6.4. Do I need to install it or just extract it somewhere? Please forgive my linux noobness.
The other 2 zip files are extracted and in my tools folder. I'm getting the boot.img now.
idk if this will work as i too am a newb to android and the way they deal with the boot process is somewhat a bit different from what i'm used to, but heres a new boot.img if you guys want to flash it to see if apps2sd works. note, this is not a zip, remove that suffix.
to flash it to your phone just move the boot image to your sdcard then reboot into recovery. from there go into adb and mount your sdcard, then flash the new boot image.
Code:
adb shell
mount /sdcard
flash_image boot /sdcard/newBoot2.img
reboot
tell me if it fixes your apps2sd problem or not.
watzone69 said:
I'm up and running now. I downloaded python 2.6.4. Do I need to install it or just extract it somewhere? Please forgive my linux noobness.
The other 2 zip files are extracted and in my tools folder. I'm getting the boot.img now.
Click to expand...
Click to collapse
try it without doing anything to Python first....especially since I meant perl
Just try my last post and see if it works for ya. I'll edit my first post
gbhil said:
try it without doing anything to Python first....especially since I meant perl
Just try my last post and see if it works for ya. I'll edit my first post
Click to expand...
Click to collapse
Nope, I got "command not found" both times.
darchstar said:
idk if this will work as i too am a newb to android and the way they deal with the boot process is somewhat a bit different from what i'm used to, but heres a new boot.img if you guys want to flash it to see if apps2sd works. note, this is not a zip, remove that suffix.
to flash it to your phone just move the boot image to your sdcard then reboot into recovery. from there go into adb and mount your sdcard, then flash the new boot image.
Code:
adb shell
mount /sdcard
flash_image boot /sdcard/newBoot2.img
reboot
tell me if it fixes your apps2sd problem or not.
Click to expand...
Click to collapse
Thanks darchstar, I'll try that in a bit.
watzone69 said:
Nope, I got "command not found" both times.
Click to expand...
Click to collapse
you gotta make it executable
inside the directory with the perl scripts do this
Code:
chmod a+x ./

[Q] Please help translate some adb instructions into terminal emulator commands

Hi
I have Huawei u8150, Android 2.2, Rooted with z4root.
I want to give widgetsoid access to toggle data using the android apn toggle.
The instructions are:
____
Just put the Widgetsoid apk on /system/app folder
Work only with ADB connected to the phone (doesn't work if you use root explorer or other apps like this) :
* Remount /system as read/write
* adb push Widgetsoid.apk /system/app/Widgetsoid.apk
* Remount /system as read-only
_____
Can someone tell me what I can type in terminal emulator window to achieve this. I can't use adb as it won't recognise my u8150 (It worked fine with my i9000)
Thanks
Kiwi
Widgetsoid website - http://jaumard.android.free.fr/widgetsoid/help_widgetsoid.php?lang=en_EN
PS: Apologies if the wrong forum, but there were only 4 specific android forums, so i thought the general forum would be the best to post this type of question in.
http://android-tricks.blogspot.com/2009/01/mount-filesystem-read-write.html
http://www.reallylinux.com/docs/files.shtml
Thanks
I had tried
$ su
# mount -o rw,remount -t yaffs2 /dev/block/mtdblock3 /system
# CHMOD 777 /SYSTEM
the above works but if i try to push i get
# push
push: not found
I also tried the above then switched over to es-file explorer and was able to copy + pasted the widgetsoid.apk file from my sdcard into the /system/app directory. It correctly pasted the file, but when I clicked on widgetsoid.apk to install the apk i got an error.
"Parse Error: There is a problem parsing the package."
I wouldn't chmod /system ... just leave the permissions the same.
cp /sdcard/downloads/widgetsoid.apk /system/app/
Chmod 644 /system/app/widgetsoid.apk
No need to click install or anything like that... just reboot after copying it to /system/app.
Sent from my Droid using Tapatalk
push is an adb command. You'll want to put the apk on the sdcard then use:
cp /sdcard/Widgetsoid.apk /system/app/
That will copy it to the directory.
Nevermind, do what jeffv2 said.
THANKS! it's working now.
I had placed it in /system/app and did a reboot and it still hadn't installed
then i renamed the file from Widgetsoid2.x.apk to Widgetsoid.apk and also did chmod 644, after a reboot it has successfully installed.
I think it was the chmod 644 to the apk file that allowed it to be installed
Many thanks!

[i9003][Mod] Root XXKPM without CWM

Hi everyone,
this method helps you to achieve root in XXKPM without CWM (which will be available shortly). You will need the attached files and Linux with installed Android SDK. Credits go to ChainsDD for the Superuser binary and APK and to Skin1980 for his normalboot.img repack script. This method is more time consuming than flashing CWM and more risky. Beware!
Flash XXKPE followed by XXKPM via Odin.
Flash the modified normalboot.img as PDA via Odin and do a full wipe. This enables the adb shell to run as root on the device, allows debugging and mock locations.
Now start up Linux and hook up your device to your PC. Do not forget to activate USB debugging in the settings. Follow these directions very carefully, otherwise you might have to reflash or even loose your IMEI!
Run Terminal. In Terminal, gain root access and start adb:
Code:
su
adb start-server
To be sure adb is running and recognized your device, issue
Code:
adb devices
Now the delicate part: Mount /system read-write:
Code:
adb shell
su
At this point, the "$" at the beginning of each line should change to "#". Otherwise, you're not root and can not continue.
Code:
mount -o remount,rw -t yaffs2 /dev/block/stl9 /system
exit
And now push the Superuser files to the device (I am assuming they are lying in your home directory. Otherwise, adjust the path. For example, "su" could be in "/home/user/i9003/su"):
Code:
adb push su /system/bin/su
adb push Superuser.apk /system/app/Superuser.apk
And finally set the correct permissions and remount /system read-only:
Code:
adb shell
chmod 6755 /system/bin/su
sync
mount -o remount,ro -t yaffs2 /dev/block/stl9 /system
exit
Reboot.
After this, you will typically install busybox from the market. But this is up to you. Have fun!
Thanks for the info..r we really need this?coz I've no linux on my desk
Sent from my GT-I9003 using xda premium
AmirolAhmad said:
Thanks for the info..r we really need this?coz I've no linux on my desk
Sent from my GT-I9003 using xda premium
Click to expand...
Click to collapse
it can be done by using command prompt in windows with adb setuped in ur pc..
Anyone tried this method?
confirmed this method works
@g5abiera: I sure hope so
You mention an error in the OP. Can you specify?
Works!
Rooted and Deodexed...
i really don't know what went wrong the first try, i was getting an error telling me there isnt enough space in the partition where the su binary goes. then again, i simply reflashed kpm, and viola, it works.

Need help with adb :\

Hey everyone!
Recently I've had problems with using the command "adb remount". I thought it was a kernel problem but it happened with both Trinity and
Elementalx kernel. I have installed the universal naked drivers 0.73 for my nexus 5. I think it is a root problem since nothing pops up on my phone
when entering "adb root". I have tried to retype it several times and it doesn't say "adb is already running as root" or something like that like it used
to. It keeps repeating "restarting adbd as root" whenever I type that command. Sorry if I'm not clear :/
Thanks everyone!
I personally prefer to run adb via recovery. Have you tried this?
I have also failed to use remount in android.
The solution is as rootsu suggests.
Boot to recovery and do
Adb shell mount /system
Or
Adb shell mount /data
Which ever partition you want to be changing
Sent from my Nexus 5 using xda app-developers app
rootSU said:
I personally prefer to run adb via recovery. Have you tried this?
Click to expand...
Click to collapse
It does work that way but am I stuck on using this method?
Lxve said:
It does work that way but am I stuck on using this method?
Click to expand...
Click to collapse
I don't think so. It's just easier.
With SlimKat and elementalx*
I have adb and apps set as root in slimkat although I doubt this is a requirement in non-AOSP roms that do not have this option. Need USB debugging on and the screen unlocked
Code:
C:\Users\rootsu\Desktop\tools>adb root
adbd is already running as root
C:\Users\rootsu\Desktop\tools>adb shell
[email protected]:/ # mount -o remount,rw /system
mount -o remount,rw /system
[email protected]:/ # exit
exit
C:\Users\rootsu\Desktop\tools>adb push test.txt /system/
C:\Users\rootsu\Desktop\tools>adb shell
[email protected]:/ # cd system
cd system
[email protected]:/system # ls
ls
addon.d
app
bin
build.prop
core
etc
fonts
framework
lib
lost+found
media
priv-app
[B][COLOR="Red"][B]test.txt[/B][/COLOR][/B]
tts
usr
vendor
xbin
[email protected]:/system #

Help on pushing files to device (ADB)

Hello guys, experiencing another problem now :silly:
Have search all around, couldn't find any valid answers so I decided to ask myself.
So I was just making a rom, which I have already installed. It's based on Cataclysm (personal use only - Till I ask for perm).
I have installed the rom, then I decided to theme some system files. And so I did. I theme the "Settings.apk" for now, and decided to push it to my device instead of installing the whole rom over again. Now mind you when I made roms and modified system apps, pushing these files to the device was straight forward. However on this Hammerhead, I've been running into some issues.
When pushing the file to my device like this
Code:
adb push Settings.apk system/priv-app
.
I get an error that says -
Code:
failed to copy "Settings.apk" to "system/priv-app/Settings.apk" : Read only file system.
So I then decided to try the following -
Code:
[x] adb root - Permission Denied
[x] adb remount - Permission Denied
So then I decided to use some shell commands to set the system as rw, I did the following.
Code:
[x] adb shell
[x] $ su - gave it permission
[x] $ mount -o rw,remount /system - It mounts it.
I then restarted cmd with root permission.
Code:
adb root"
- it restarted however, this time it stated.
Code:
Device not found.
I probably did the wrong thing above, so how exactly can I push files to /system?
SOLVED
Thanks to everyone that answered my question in detail.
The easiest way I know to push files to /system through adb is using a custom recovery . Try with it.
Why not use usb or AirDroid to transfer files?
gee2012 said:
Why not use usb or AirDroid to transfer files?
Click to expand...
Click to collapse
Is it possible to push files to /sustem/priv-app with it?
varuntis1993 said:
The easiest way I know to push files to /system is using a custom recovery . Try with it.
Click to expand...
Click to collapse
How would I do so? I've ever only used recovery to flash. And that was it, thanks if you can guide me through it?
Sent from this toast making Nexus 5, you wish your Nexus could make toast don't you? (;
krishneelg3 said:
Is it possible to push files to /sustem/priv-app with it?
How would I do so? I've ever only used recovery to flash. And that was it, thanks if you can guide me through it?
Sent from this toast making Nexus 5, you wish your Nexus could make toast don't you? (;
Click to expand...
Click to collapse
Boot into recovery and connect the usb cable. Open a cmd prompt.
Code:
adb shell
mount /system
exit
adb push c:\users\krishneelg3\desktopmyfile /system/priv-app
You can also use the "mount system" option in recovery and skip the first 2 commands above.
krishneelg3 said:
How would I do so? I've ever only used recovery to flash. And that was it, thanks if you can guide me through it?
Sent from this toast making Nexus 5, you wish your Nexus could make toast don't you? (;
Click to expand...
Click to collapse
Open recovery, mount system partition and connect it to pc and then normal procedure.
It will be running as adbd to no need to type adb root. Hope this helps
rootSU said:
Boot into recovery and connect the usb cable. Open a cmd prompt.
Code:
adb shell
mount /system
exit
adb push c:\users\krishneelg3\desktopmyfile /system/priv-app
You can also use the "mount system" option in recovery and skip the first 2 commands above.
Click to expand...
Click to collapse
Thank you so much! Greatly appreciated.
Sent from this toast making Nexus 5, you wish your Nexus could make toast don't you? (;
You can still do it through Android, but it's more difficult because adb root doesn't always work (requires kernel) and you have to mount r/w which is just a pain. I always adb push in recovery.
However, here is an example of a successful attempt to adb push on my nexus 5.
Code:
C:\Users\rootsu\Desktop\tools>adb root
adbd is already running as root
C:\Users\rootsu\Desktop\tools>adb shell
[email protected]:/ # mount -o remount,rw /system
mount -o remount,rw /system
[email protected]:/ # exit
exit
C:\Users\rootsu\Desktop\tools>adb push [B][COLOR="Red"]test.txt[/COLOR][/B] /system/
C:\Users\rootsu\Desktop\tools>adb shell
[email protected]:/ # cd system
cd system
[email protected]:/system # ls
ls
addon.d
app
bin
build.prop
core
etc
fonts
framework
lib
lost+found
media
priv-app
[B][COLOR="red"]test.txt[/COLOR][/B]
tts
usr
vendor
xbin
[email protected]:/system #
rootSU said:
You can still do it through Android, but it's more difficult because adb root doesn't always work (requires kernel) and you have to mount r/w which is just a pain. I always adb push in recovery.
However, here is an example of a successful attempt to adb push on my nexus 5.
Code:
C:\Users\rootsu\Desktop\tools>adb root
adbd is already running as root
C:\Users\rootsu\Desktop\tools>adb shell
[email protected]:/ # mount -o remount,rw /system
mount -o remount,rw /system
[email protected]:/ # exit
exit
C:\Users\rootsu\Desktop\tools>adb push [B][COLOR="Red"]test.txt[/COLOR][/B] /system/
C:\Users\rootsu\Desktop\tools>adb shell
[email protected]:/ # cd system
cd system
[email protected]:/system # ls
ls
addon.d
app
bin
build.prop
core
etc
fonts
framework
lib
lost+found
media
priv-app
[B][COLOR="red"]test.txt[/COLOR][/B]
tts
usr
vendor
xbin
[email protected]:/system #
Click to expand...
Click to collapse
Thank you I will keep my eye on this and see if the process is similar. Thanks for the info.
Sent from this toast making Nexus 5, you wish your Nexus could make toast don't you? (;

Categories

Resources