[Q] Busybox: "ln" not implemented? - General Questions and Answers

Hi.
I have busybox installed on my ICS 4.0.4. I tried to create a hard link of a ringtone file as follows (via adb).
[email protected]:/mnt/sdcard/Ringtones $ ln Gee.m4a ../Notifications/Gee.m4a
link failed Function not implemented
The intention is to be able to use this one ringtone file for both ringtone and notification. Since having two copies of the same file takes up unnecessary space, I want to use links. However, from this output, ln doesn't seem to be implemented. Am I missing something?
Thanks!

Typing just "busybox" should show all available commands.
But it usually says "applet not found" if it is missing the command.
Not sure if you can even build busybox without the ln applet.
Check the 2nd post of this thread http://forum.xda-developers.com/showthread.php?t=1122710.
This is most likely the case here too, the partition you are working with doesn't support symlinks.

Dark3n said:
Check the 2nd post of this thread http://forum.xda-developers.com/showthread.php?t=1122710.
This is most likely the case here too, the partition you are working with doesn't support symlinks.
Click to expand...
Click to collapse
Thanks for the quick reply. Is there a way to check which file system /mnt/sdcard uses? I tried "df -T" (as one normally does on Linux), but apparently '-T' is not supported on busybox.
Thanks again!

Try just "mount", results can differ depending on the busybox you are using. On my cm9 nightly it showed the file system types.

Thanks! I tried the mount command and it showed the file system as "fuse," which makes sense as the GNex doesn't support external storage.
Apparently the version of "ln" I have doesn't support fuse.
Sent from my Galaxy Nexus using XDA

Related

Google Voice Search/Maps Force Closes on Modaco 1.1

Don't mean to start too many threads, but this is meant to specifically discuss the above programs.
RE: Google maps
Completely uninstalling and then reinstalling from the market seems to address the force close that occurs when a search query is submitted.
Alternatively, you can move the google maps apk from the ext2 partition to the /system/app folder on the phone. This is the same fix as for the google voice search...
RE: Google voice search
I went about the rather cumbersome process of moving the apk from the ext2 partition (as automatically happens in the Modaco ROM) back to the /system/app folder on the phone. This has resolved all the voice search crashes that I have come across.
NB: I do not know the results if you were to fix google maps by uninstalling and reinstalling and fix google voice search by moving the apk. I.e. if you were to do a google voice search within google maps under this fixing method, Im not sure if the voice search will crash....I'm guessing not though.
Please bear in mind im a COMPLETE linux/andoird/adb/whatever noob. I can outline my method for moving the apks, but Im certain there are better ways to do it.
Sweet, that fixed my google voice issue (and a quick mv and reboot didn't seem so bad to me, but perhaps I just have a high pain tolerance lol)
that or i didn't know there was an mv command...like i said...complete noob
dom2114 said:
that or i didn't know there was an mv command...like i said...complete noob
Click to expand...
Click to collapse
No sweat, mv is a linux command that can be used to move (thus mv) or rename files.
Basic Syntax:
Code:
mv [source] [destination]
So what I did was
Code:
mv /data/app/com.google.android.voicesearch.apk /system/app
and then rebooted the phone. Worked like a champ!
thanks, worked perfectly
NOTE: be sure to issue this command before the move to not get the 'read-only file system' error
$ su
# mount -o rw,remount -t yaffs2 /dev/block/mtdblock3 /system
Thanks a ton for this! I don't have A2SD running and my Google Voice Search was also not working, I didn't even notice until someone had pointed it out. Lucky for me, there was a solution almost as fast as the problem was discovered! We should probably point it out to Paul @ MoDaCo now!
tstack77 said:
# mount -o rw,remount -t yaffs2 /dev/block/mtdblock3 /system
Click to expand...
Click to collapse
Alternatively, the following command works on MoDaCo's ROM:
Code:
adb remount
It accomplishes the same thing and is waaaaay easier for my simple mind to remember.
thecodemonk said:
Code:
adb remount
It accomplishes the same thing and is waaaaay easier for my simple mind to remember.
Click to expand...
Click to collapse
haha, totally agree. Thanks for that bit o' knowledge
AWESOME, thank you. I've been saving all of these forum posts together, I'll make a super-post once I get everything running the way I want, very clearly detailed and it will feature all of these different commands that I have used to help me along the way!
ok, so help me out if you can.
I want to copy the apk's on the ext2 partition i.e. in /system/sd/app to my computer in case I decide to wipe the sdcard for some reason.
In adb im typing:
cp /system/sd/app /desktop
Ive tried cp with the -r, -f, -rf options, and everytime i get a cannot create error message or sometimes a cannot create symlink message
Any tips??
dom2114 said:
ok, so help me out if you can.
I want to copy the apk's on the ext2 partition i.e. in /system/sd/app to my computer in case I decide to wipe the sdcard for some reason.
In adb im typing:
cp /system/sd/app /desktop
Ive tried cp with the -r, -f, -rf options, and everytime i get a cannot create error message or sometimes a cannot create symlink message
Any tips??
Click to expand...
Click to collapse
Once you're inside the adb shell, you don't really have access back to your desktop. Your best bet would be to run (from the windows command prompt where you normally run adb):
Code:
adb pull /system/sd/app c:\mybackup
(Replace C:\mybackup with whatever the path is to your destination...if you're on *nix or Mac, it will probably be more like "./Desktop" or something)
jesus, i think i might put a fist through a wall...im such an idiot.
pulling instead of pushing for the last half hour...
cheers, codemonk
dom2114 said:
jesus, i think i might put a fist through a wall...im such an idiot.
pulling instead of pushing for the last half hour...
cheers, codemonk
Click to expand...
Click to collapse
No sweat, we all have those moments. All the commands are fresh in my head since I've been researching and digging into things since before we had root (at the time trying to get it)...that and I think I've become addicted to the xda forums. (HALP!)
just as quick update to all.
Ive got a feeling that google voice search was actually causing all the force close issues in google maps. I still have google maps on my sdcard and did not uninstall it (only updated it) - have google voice search on phone and all seems to be fine.
A quick question for codemonk (& anyone else out there). For apps in the /system/app folder, you've got the apk and corresponding odex file. Anyone have any idea where the corresponding odex files for apps installed on the sd are (if they exist at all)?
dom2114 said:
just as quick update to all.
Ive got a feeling that google voice search was actually causing all the force close issues in google maps. I still have google maps on my sdcard and did not uninstall it (only updated it) - have google voice search on phone and all seems to be fine.
A quick question for codemonk (& anyone else out there). For apps in the /system/app folder, you've got the apk and corresponding odex file. Anyone have any idea where the corresponding odex files for apps installed on the sd are (if they exist at all)?
Click to expand...
Click to collapse
Not sure on the odex...I noticed some of the apps I removed didn't appear to have them (or are in a location I'm not aware of).
I ended up just moving the google voice app to fix it. (There's another thread on the google maps/google voice thing that contains the fix)
Ha, guess my XDA navigation isn't quite up to par. Care to post the link out of interest?
dom2114 said:
Ha, guess my XDA navigation isn't quite up to par. Care to post the link out of interest?
Click to expand...
Click to collapse
Wow I'm out of it...I was looking around, then realized...this *is* that thread. >.<
hahaha...guess it was your turn for onea those mistakes....
ok i dont even have voice search after installing modaco rom. all i have is the basic google search. how do i get the apk or download it. i tried the move, but it says it doesnt exist. i am complete noob so details are really needed thanks
if you decided to format your sdcard (using the recovery console) using the ext2/fat32/swap option, then the modaco ROM automatically moves google voice search and google maps (and a few other apps like quickoffice) to the ext2 partition on the sdcard.
this partition is accessible in various ways, but most people do it manually using ADB. if you don't know how to use adb, there are a bunch of threads here that talk about it. But in a nutshell, it involves downloading the android SDK, extracting it to somewhere on your computer (no need to install anything), open a command prompt in windows (start -> run -> cmd), navigate to the folder containing the sdk and go to the tools folder inside there (e.g. cd\androidsdk\tools), then type 'adb shell'. If all worked, you should have access to the phone.
then its just a matter of navigating to the ext2 partition on the sdcard (this is where all apps you install will be installed too - this is apps2sd automatically at work). You navigate there by typing:
cd /data/app
you should see the google voice search apk in there + others
then just use the command that codemonk helped me out with:
mv /data/app/com.google.android.voicesearch.apk /system/app
this will move the apk from the data/app folder (this is your sdcard) to the phone.
Written this response very quickly. Ask any specific questions and Ill try to help more if needed.

AdFree Hosts file

Since we currently can't write to /system while Android is running, the AdFree app is unfortunately unusable. However, here is the hosts file that the app supplies you with, so you can still put it into your phone manually.
Download the attached file, unzip it and place the hosts file on your sdcard. Then, open up a command prompt, load up your recovery menu (using the instructions in toastcfh's guide) and type:
Code:
adb shell
mount /system
mount /sdcard
cp /sdcard/hosts /system/etc/hosts
exit
Now you're AdFree
As in AD free while on the web only? Or does this block the ADs that are displayed within certain programs? Like Spare Parts for example.
VoXHTC said:
As in AD free while on the web only? Or does this block the ADs that are displayed within certain programs? Like Spare Parts for example.
Click to expand...
Click to collapse
Everytime the phone goes to download an ad, it gets blocked. So in both the browser and inside apps.
a) not development
b) i already did this thread
http://forum.xda-developers.com/showthread.php?t=695196&highlight=adfree
I'm guessing this requires root?
Also, those commands can't work AFAIK, because mount needs two arguments.
Or am I missing something here? I'm new.
I have actually had 0 problems running adfree right out of the box. Installed, ran and bam no ads. Didn't have to modify nothing through ADB.
superevilllama said:
I have actually had 0 problems running adfree right out of the box. Installed, ran and bam no ads. Didn't have to modify nothing through ADB.
Click to expand...
Click to collapse
U running 2.2? BC I see lots more adds since 2.2, it blocks some but not most.
Sent from my PC36100 using XDA App
You know, to my embarassing discovery, I never noticed (as I found this thread from google) but this is the forum specifically for EVO.
I'm running a DX (so 2.1), so that may be the problem. But still, I wouldn't think such things would be different in the OS. Guess the package it differently. Oh well. Not gonna bother rooting my toy just yet, hehe. Sorry bout the confusion.
AdFree is working perfect on CM7 nightly 23 & 25 & MikFroyo 4.5 but it does not work if you have BusyBox 1.18.3 but works perfect with BusyBox 1.17.1. I did not test other versions but I think the problem is related to BusyBox 1.18.3 by today 03/19/11.
Still there are ads running on some apps
like moneycontrol, and more.
Gregalous said:
Since we currently can't write to /system while Android is running, the AdFree app is unfortunately unusable. However, here is the hosts file that the app supplies you with, so you can still put it into your phone manually.
Download the attached file, unzip it and place the hosts file on your sdcard. Then, open up a command prompt, load up your recovery menu (using the instructions in toastcfh's guide) and type:
Code:
adb shell
mount /system
mount /sdcard
cp /sdcard/hosts /system/etc/hosts
exit
Now you're AdFree
Click to expand...
Click to collapse
earth08 said:
Still there are ads running on some apps
like moneycontrol, and more.
Click to expand...
Click to collapse
Its not updated, try absolute system tools from the Android Market. It downloads an updated script
If anyone is interested I created an app (Warning: requires ROOT) that allows you to enter one or more URLs and/or file paths and merges them and installs them as hosts. You may find the source-code here: https://code.google.com/p/android-ad-blocker/
I'll try to fix bugs for it but I can't promise I'll have time.
Edit: I made a new version because the old one had some issues transferring large files. You may find it here: http://dl.dropbox.com/u/8443626/android-ad-blocker.apk
Adfree works fine, Am I missing something? I just ran it, it updated my host file. I checked again and it said it's the latest version
Sent from my PC36100
karilofyore said:
If anyone is interested I created an app (Warning: requires ROOT) that allows you to enter one or more URLs and/or file paths and merges them and installs them as hosts. You may find the source-code here: https://code.google.com/p/android-ad-blocker/
I'll try to fix bugs for it but I can't promise I'll have time.
Click to expand...
Click to collapse
Can u help me... on how to use ur app
Sent from my °•EvO HD•°
Can u explain this process... where is the guide from toast...
Sent from my °•EvO HD•°
acme64 said:
Adfree works fine, Am I missing something? I just ran it, it updated my host file. I checked again and it said it's the latest version
Sent from my PC36100
Click to expand...
Click to collapse
x2 im confused
@ acme64 : Some people in market comments complained that it doesn't work fine anymore and it's a root app with closed source. Since it was simple to write a similar tool I did it for myself mainly.
@ Don74y3 : The way to use the application is to put a URL to a hosts file. You may use for example the one in the screenshot (I can't put the link here because of forum rules but use Google to search for "hosts file winhelp2002" and from the first link, take the address from "To view the HOSTS file in plain text form") and then click "Apply". What the program does is get that file and put it in your (rooted) Android phone. That file in turn lets the phone avoid domains that serve ads or malware. The app can take more URLs and merge them, but that's not necessary. After clicking "Apply" it is recommended to reboot the phone to make sure the changes go into effect. You will see that the pages load faster and without ads.
P.S. I'm not affiliated with the guys that make that hosts file, though I'm grateful for their work.
Unable to figure out system mount point.
Can you please help with this?
MattSkeet said:
Unable to figure out system mount point.
Can you please help with this?
Click to expand...
Click to collapse
Hi, the programs tries to figure out where the /system partition is mounted on your phone (this is because it has to switch it to read-write, put the hosts file and switch it back to read-only). I wrote the program to parse the output of the "mount" command.
Unfortunately it seems that on your phone the output is far different than what I expected. I don't know how to fix this unless you can send me the output of that command on your phone - by PM for example. To do this use adb (try to Google for how to get Android Debug Bridge) with your phone connected: run "adb shell" from a command prompt and at the shell prompt type "mount" without quotes and send me the output - at least the line that contains "/system".
Hi,
I have a different question.
I used adFree but then decided that I actually wanted see the ads on my apps.
I removed AdFree but the ads are still gone.
Is there a way to bring them back?

[Script] Darkness in the dark hours

hi everyone
I present to you:
Darkness in the dark hours​
this is a pack of:
- a script I made
- Gscript lite
- Screen filter(optional, but recommended)
I strongly recommend to you to read the whole post and only then apply my script!
A lot of users tried to find a way to do this, so I polished my script I used for Eternity to make it universal(hopefully )
this script made to work with rooted 2.1+ firmwares and busybox properly installed.
1. Install Gscript lite
2. To make this script revertable on the newer brand of kernels, you will need to add one line to hw_config.sh (because I just don't trust init.d scripts)
run this from adb or any terminal emulator from phone as superuser
Code:
echo "\n\n\nrm /data/noled_tmp_reverse.prop" >> /system/etc/hw_config.sh
3. in Gscript choose Add a script and name it whatever you want(e.g. NOLed) and paste these lines in it
Code:
#! /system/bin/busybox sh
# "turn off keyboard and notification LEDs" for ANY android firmware
# this script needs su access
# made by Adolf1994
# thanks for the help diimaan
# maybe final version - revertable
# requires hw_config.sh modification to be properly revertable
DIR=$(cd /sys && find | grep brightness | cut -c 3- | cut -d : -f 1 | head -n 1)
LED=/sys/$DIR
LED1=$LED:rgb1:red/brightness
LED2=$LED:rgb1:green/brightness
LED3=$LED:rgb1:blue/brightness
LED4=$LED:sled/brightness
if [ -s /data/noled_tmp_reverse.prop ]; then
chmod 00644 $LED1
chmod 00644 $LED2
chmod 00644 $LED3
chmod 00644 $LED4
rm /data/noled_tmp_reverse.prop
else
echo 0 > $LED1
echo 0 > $LED2
echo 0 > $LED3
echo 0 > $LED4
chmod 00444 $LED1
chmod 00444 $LED2
chmod 00444 $LED3
chmod 00444 $LED4
echo 1 > /data/noled_tmp_reverse.prop
fi
exit
4. tap on "Needs SU" then save
5. run the script and enjoy surfing at night without the annoying hw leds
(most likely you WILL get stderrs on 2.2+, but it's normal)
Note: if you get EMPTY stderrs, that's no problem. BUT if something is shown next to the stderr, like permission denied, then please report
optional. install Screen filter from market: https://market.android.com/details?id=com.haxor&feature=search_result
This is only for 2.1 and/or 2.2. On 2.3 I experienced a problem that's I couldn't press install in package installer activity. I nearly reinstalled the whole thing. You've been warned!
Night is over? Just run the script again and wait till the LEDs light up.
If You Don't Like LEDs At All, This Pretty Line Will Disable Them At Startup
http://forum.xda-developers.com/showpost.php?p=17514012&postcount=27
Q: Why modifying hw_config.sh?
A: Because if you reboot your phone while the leds are off, there will remain a file that normally indicates how the script should act upon running it. That one particular file should not present after boot.
Q: I'm on Wolfbreak's ROM. Won't that mess tweaks up?
A: In no way. Impossible. Unless you didn't follow steps properly.
hope you like it
and don't forget to press thanks button
can I use script manager to run this at boot?
I think it'd be fine
the script didnt work for me i went to my dolphin browser copied text pasted it saved i run it it showed up stderr twice that's it?
shahkam said:
the script didnt work for me i went to my dolphin browser copied text pasted it saved i run it it showed up stderr twice that's it?
Click to expand...
Click to collapse
i cant paste the text corectly ffs i think thats the problem can you upload the script as ".sh" so i can load it whit gscript?
shahkam said:
the script didnt work for me i went to my dolphin browser copied text pasted it saved i run it it showed up stderr twice that's it?
Click to expand...
Click to collapse
from gscript I get a bunch of stderrs, too. however, from a terminal emulator it runs fine, so no problem.
It's the most noticeable if the phone is on the charger, because you will see that the led suddenly switches off.
you can revert the script back with a simple reboot.
Sorry for being a noob, but what does this do? :$
It disables the l.e.d.s. It should be made a little clearer in op.
Is there a script to turn them back on?
Sent from my X10a using XDA App
AyDee said:
It disables the l.e.d.s. It should be made a little clearer in op.
Is there a script to turn them back on?
Sent from my X10a using XDA App
Click to expand...
Click to collapse
sorry if I wasn't clear. I'll fix it soon
and change it to revertable, too
Adolf any clue why it didnt work.for me and i kept having stderr thingy
Sent from my X10i using XDA Premium App
shahkam said:
Adolf any clue why it didnt work.for me and i kept having stderr thingy
Sent from my X10i using XDA Premium App
Click to expand...
Click to collapse
since they are empty it's ok
Huh? I think i wasnt clear i used your script and when i ran it whit gscript i got twice stderr message twice one under the other like this
Stderr
Stderr any clue why?
Sent from my X10i using XDA Premium App
shahkam said:
Huh? I think i wasnt clear i used your script and when i ran it whit gscript i got twice stderr message twice one under the other like this
Stderr
Stderr any clue why?
Sent from my X10i using XDA Premium App
Click to expand...
Click to collapse
for this script only gscript gives empty stderrs. if I run it with a terminal emulator/adb there's no stderr.
it's a problem of gscript
@Adolf or @My_Immortal
any new experiments with sd card mounting?
There was some interesting posts by one shaun in link2sd thread! he's using x10! somehow he managed to find more free space in /system than in /data!
so no need of an extra partition, you can just run the script to mount the /system as rw on boot and then link the link2sd mount point to it! I sent a PM to him about how is it working! let's see...
Ohhh but i tried terminal too pasted the script and nothing happened?
Sent from my X10i using XDA Premium App
I use this script most nights now, thanks Adulf! perhaps a mod to the script could be to set an expiry time value? (or is this not possible!)
diimaan said:
@Adolf or @My_Immortal
any new experiments with sd card mounting?
There was some interesting posts by one shaun in link2sd thread! he's using x10! somehow he managed to find more free space in /system than in /data!
so no need of an extra partition, you can just run the script to mount the /system as rw on boot and then link the link2sd mount point to it! I sent a PM to him about how is it working! let's see...
Click to expand...
Click to collapse
There are currently 190 MB free in my system partition, 219 MB in data and 11 GB in my sdcard, so I really want to use Links2SD on an ext partition in my SD, rather than anywhere else!
But it's nice that there's progress!!
My_Immortal said:
There are currently 190 MB free in my system partition, 219 MB in data and 11 GB in my sdcard, so I really want to use Links2SD on an ext partition in my SD, rather than anywhere else!
But it's nice that there's progress!!
Click to expand...
Click to collapse
190 mb? that's far less you should clean up some junk in your system then!
btw this is the msg I got from shaun! you can check how it works!
http://forum.xda-developers.com/show...&postcount=834
Should explain how to do it, just need to add commands to a start up script that is editable on your phone, that runs before the GUI is started. Dunno how I would create a universal script as you will need to edit diff files on diff phones.
If there is anything you don't understand from my post I'll try and help.
Click to expand...
Click to collapse
Brilliant this is exactly what i wanted, thanks Adolf !!
[email protected] said:
I use this script most nights now, thanks Adulf! perhaps a mod to the script could be to set an expiry time value? (or is this not possible!)
Click to expand...
Click to collapse
Adulf... hehh, funny
yyeeeeaaaaaaahhhh...no
that'd be a bit complicated.
but this is why it's revertable

(How-to) prevent Android Market app from updating itself

UPDATE: try this simpler method first: http://forum.xda-developers.com/galaxy-y/general/trick-how-to-disable-google-play-store-t2951378
BEFORE REPLYING: please know that I have tried all of the standard suggested solutions to prevent Market from updating, including freezing Market Updater, using pm disable on it, and turning off auto-updates for apps, and these do not work on Market versions >= 3.0.
On my Samsung Galaxy S2, the latest market app (3.4.4) randomly freezes my entire phone, causing me to have to hold the power button down to reboot. Happens nearly every time I browse for apps in that version. I can "uninstall updates" to get back to the version in /system, but it updates itself to 3.4.4 every time I run it. My goal: prevent the automatic updates.
Plenty of threads here and elsewhere have tips for preventing the updates. The problem is that none if them work for market versions beyond 3.0. I've discovered a method for preventing the updates even on more recent market versions.
Do "uninstall updates" on the market app (in "manage applications").
Open the terminal app.
Run "su" to become root.
Run: touch /data/app/com.android.vending-1.apk
Run: chattr +i /data/app/com.android.vending-1.apk
This will put a bogus APK file in the way of where Android wants to put the new version. The chattr command makes the file "immutable", so that even root can't remove it. Just setting it read only with chmod isn't enough.
This will pin your market to the version included in your ROM. This trick might work if you want to pin a version that's already in /data/app, if you skip the "uninstall updates" and the "touch" command... Haven't tested this.
I tried it, but it said "chattr: command not found".
lexelby said:
On my Samsung Galaxy S2, the latest market app (3.4.4) randomly freezes my entire phone, causing me to have to hold the power button down to reboot. Happens nearly every time I browse for apps in that version. I can "uninstall updates" to get back to the version in /system, but it updates itself to 3.4.4 every time I run it. My goal: prevent the automatic updates.
Plenty of threads here and elsewhere have tips for preventing the updates. The problem is that none if them work for market versions beyond 3.0. I've discovered a method for preventing the updates even on more recent market versions.
Do "uninstall updates" on the market app (in "manage applications").
Open the terminal app.
Run "su" to become root.
Run: touch /data/app/com.android.vending-1.apk
Run: chattr +i /data/app/com.android.vending-1.apk
This will put a bogus APK file in the way of where Android wants to put the new version. The chattr command makes the file "immutable", so that even root can't remove it. Just setting it read only with chmod isn't enough.
This will pin your market to the version included in your ROM. This trick might work if you want to pin a version that's already in /data/app, if you skip the "uninstall updates" and the "touch" command... Haven't tested this.
Click to expand...
Click to collapse
I've had the same problem and this looks quite promising, but I have the same problem w/ chattr not found. What terminal app are you running?
Oops, should have mentioned... You'll need busybox installed. It'll include the chattr command.
lexelby said:
On my Samsung Galaxy S2, the latest market app (3.4.4) randomly freezes my entire phone, causing me to have to hold the power button down to reboot. Happens nearly every time I browse for apps in that version. I can "uninstall updates" to get back to the version in /system, but it updates itself to 3.4.4 every time I run it. My goal: prevent the automatic updates.
Plenty of threads here and elsewhere have tips for preventing the updates. The problem is that none if them work for market versions beyond 3.0. I've discovered a method for preventing the updates even on more recent market versions.
Do "uninstall updates" on the market app (in "manage applications").
Open the terminal app.
Run "su" to become root.
Run: touch /data/app/com.android.vending-1.apk
Run: chattr +i /data/app/com.android.vending-1.apk
This will put a bogus APK file in the way of where Android wants to put the new version. The chattr command makes the file "immutable", so that even root can't remove it. Just setting it read only with chmod isn't enough.
This will pin your market to the version included in your ROM. This trick might work if you want to pin a version that's already in /data/app, if you skip the "uninstall updates" and the "touch" command... Haven't tested this.
Click to expand...
Click to collapse
Ok, I'm back to version 3.1.3. I really hope this works! This market freeze problem has been driving me nuts. This has been the first time I've become overly frustrated with Android. If a version of the market isn't working correctly on our phones, we should be able to run whatever version of the market we want without it automatically updating and forcing you to use the latest version.
Oh!! You have the freezing too? I searched all over but I couldn't find anyone else describing the same freezes. What device/ROM are you on?
lexelby said:
Oh!! You have the freezing too? I searched all over but I couldn't find anyone else describing the same freezes. What device/ROM are you on?
Click to expand...
Click to collapse
I'm currently on CM7 using the AT&T Galaxy S2. I try MIUI from time to time to see if the issue has been resolved, but it hasn't. I had my first market lockup on CM7 today. It's been frustrating the living hell out of me. I tried your suggestion and the market still updated. Hasn't locked up yet, but I haven't spent a lot of time on my phone either.
Any other alternatives? Did the proposed solution work for you?
Sounds like you and I have the exact same phone, carrier, and ROM. The fix did work for me... Hasn't updated since. Maybe try removing Market Updater with Titanium Backup too. Perhaps it falls back to that to update if the builtin mechanism fails... Not sure. You could also try the process again, but be super sure you close Market, "uninstall updates", and then do the touch and chattr. If all else fails you could take a screen video (can we do that on Android?) and I'll watch to see if maybe there's a step I missed.
Also, after going through the steps, run these and paste in the results:
ls -l /data/app/com.android.vending-1.apk
lsattr /data/app/com.android.vending-1.apk
Ok, I'm going to try all of this later today when I get a chance. Will post back with an update asap.
Also, do you remember the results that came up after running every command? I'm going to try to post everything that comes up so you can take a look for yourself.
How long have you been running the market without it updating? I know quite a few people that could benefit from this if it works consistsntly. We are not some rare group. This is a pretty widespread issue here.
Sent from my SGH-I777 using Tapatalk
My market's been on version 3.1.3 since the day before I posted this thread, and it hasn't updated at all. I really think we can get this working for you too... We just need to figure out if I forgot to include a step. The two commands both actually give no feedback at all, so the ls and lsattr will tell us whether things worked properly.
So this problem is widespread? My Google-fu fails me, apparently. Is it just sgh-i777 users on cm7?
Here are my results. Note, the first time I did this, after one of the steps, I got something "not found." I don't remember what it was. But anyways:
$ export PATH=/data/local/bin:$PATH
$ su
# touch /data/app/com.android.vending-1.apk
# chattr +1/data/app/com.android.vending-1.apk
BusyBox v1.19.3 (2011-11-22 01:37:10 MST) multi-call binary.
Usage: chattr [-R] [-+=AacDdijsStTu] [-v VERSION] [FILE]...
Change file attributes on an ext2 fs
Modifiers:
- Remove attributes
+ Add attributes
= Set attributes
Attributes:
A Don't track atime
a Append mode only
c Enable compress
D Write dir contents synchronously
d Don't backup with dump
i Cannot be modified (immutable)
j Write all data to journal first
s Zero disk storage when deleted
S Write file contents synchronously
t Disable tail-merging of partial blocks with other files
u Allow file to be undeleted
-R Recurse
-v Set the file's version/generation number
# ls -l/data/app/com.android.vending-1.apk
ls: invalid option -- /
BusyBox v1.19.3 (2011-11-22 01:37:10 MST) multi-call binary.
Usage: ls [-1AaCxdLHRFplinsehrSXvctu] [-w WIDTH] [FILE]...
List directory contents
-1 One column output
-a Include entries which start with .
-A Like -a, but exclude . and ..
-C List by columns
-x List by lines
-d List directory entries instead of contents
-L Follow symlinks
-H Follow symlinks on command line
-R Recurse
-p Append / to dir entries
-F Append indicator (one of */[email protected]|) to entries
-l Long listing format
-i List inode numbers
-n List numeric UIDs and GIDs instead of names
-s List allocated blocks
-e List full date and time
-h List sizes in human readable format (1K 243M 2G)
-r Sort in reverse order
-S Sort by size
-X Sort by extension
-v Sort by version
-c With -l: sort by ctime
-t With -l: sort by mtime
-u With -l: sort by atime
-w N Assume the terminal is N columns wide
--color[={always,never,auto}] Control coloring
# lsattr /data/app/com.android.vending-1.apk
--------A---- /data/app/com.android.vending-1.apk
#
I just looked at the options and it looks like I inserted an "L" instead of "I" to make the file immutible. Correct? Let me know if I did something wrong so I can go back and try again.
Aha! Now we're getting somewhere. The command should be... "chattr space plus lower-case I space /data/app/com.abdroid.vending-1.apk"... that's "vending dash one dot apk". The ls command is "ell ess space dash ell space /data/app/com.abdroid.vending-1.apk". Can you just copy/paste the commands from the OP?
lexelby said:
Aha! Now we're getting somewhere. The command should be... "chattr space plus lower-case I space /data/app/com.abdroid.vending-1.apk"... that's "vending dash one dot apk". The ls command is "ell ess space dash ell space /data/app/com.abdroid.vending-1.apk". Can you just copy/paste the commands from the OP?
Click to expand...
Click to collapse
Well I'll be damned! I'm going to give this a try.
Do avoid spelling android as "abdroid" like I did, though
lexelby said:
Do avoid spelling android as "abdroid" like I did, though
Click to expand...
Click to collapse
Lol.
Ok, I think I got it. Take a look.
$ export PATH=/data/local/bin:$PATH
$su
# a/app/com.android.vending-1.apk
# a/app/com.android.vending-1.apk
# ls -l data/app/com.android.vending-1.apk
-rw-rw-rw- 1 0 0 0 Jan 11 16:06 data/app/com.android.vending-1.apk
# lsattr data/app/com.android.vending-1.apk
-----i--A---- data/app/com.android.vending-1.apk
#
Don't know why some of it's cut off. I'm not a terminal emulator expert.
That looks right. Now run Market. It should be at 3.1.3, and if you close it, wait a minute, and reopen it, it should still be 3.1.3. If it's updated, then I guess we go back to the drawing board...
Ok ,I ran it and restarted it and it's still the same. Now keep in mind, I did this several times yesterday and about an hour later when I launched the market, it updated. Oh, while I have it in mind, let me freeze market updater, just to eliminate all possible causes. If this works, I owe you a beer! You just have no idea how frustrated I've been over the past month with this issue!
And for the record, type "android market freezes phone" in google search and see for yourself. We are NOT the only ones.
Oh trust me, I know just how frustrated you've been I was really starting to get pissed off at having to "uninstall updates" to safely use the market. I also think the freezes and resulting hard reboots caused the filesystem corruption that forced me to have to restore to factory and restore all of my apps from Titanium. That sucked.
i have another work around that might work. so far its sticking for me.
since the steps from OP is to prevent market from updating and staying at 3.1.3, i downloaded market 3.1.3.apk from here.
i went into root explorer and renamed 'vending.apk' to 'vending.apk.bak'. i didnt delete it incase if anything. just renamed as a backup.
i used tibu to freeze 'market updater'.
i copied market 3.1.3 apk into /system/app and set permission to rw-r-r.
reboot.
so far its working fine for me and its staying at 3.1.3. not sure for how long.

[ROOT][ALL] Android Scripts Toolkit (AST)

My thread and project are inactive now. Please accept my apologies for this inconvenience.
ast.ls
Blackout
ast.np
Blackout
ast.pm
Blackout
ast.ops
Blackout
ast.settings
Blackout
ast.storage
Blackout
2nd Feedback
Thanks for the dedicated thread. If I may, some more nitpicking about rudimentary things.
ast.install has hard coded file names of ast scripts, that's not very portable:
l_Scripts=( "ast.ls" "ast.np" "ast.pm" "ast.ops" "ast.settings" "ast.storage" "astcore" )
I have packages ( "ast.ls" "ast.net" "ast.pm" "ast.ops" "ast.set" "ast.sto" "astcore" )
so more generic pattern for handling like ast* may be considered. In case of renaming, ast.install could have a file renaming template (ast.rename) with say key value rows for generic renaming procedure before starting the actual transfer/installation. Another thing it could try to perform chmod 755 after installation.
EDIT: Looks like you have it but it doesn't work as system is read-only for say /system/xbin installation directory. So installation can be performed either by hand from a file manager with root access or TWRP recovery (install script for easy TWRP install may be a solution).
Do you have any comparative performance observations regarding background network access?
2a. The interesting are the influence of size of the blacklist on system/apps behaviour (fluency, speed, memory usage or possibly noticed negative consequences re some specific apps). By default whitelist contains less than a dozen of items, blacklist is empty. What packages would you consider safe to remove from the whitelist, like LG weather widget? Will 300 blacklisted items be completely practical to have?
2b. Battery consumption changes and practical benefits measured re having hundreds of packages blacklisted vs normally empty blacklist.
2c. I remember you mentioned a FW app you installing on the end of device restoration process, what functionality separate FW app provides for your use case, or is that just an app like AdAway?
hotcell said:
Thanks for the dedicated thread. If I may, some more nitpicking about rudimentary things.
ast.install has hard coded file names of ast scripts, that's not very portable:
l_Scripts=( "ast.ls" "ast.np" "ast.pm" "ast.ops" "ast.settings" "ast.storage" "astcore" )
I have packages ( "ast.ls" "ast.net" "ast.pm" "ast.ops" "ast.set" "ast.sto" "astcore" )
so more generic pattern for handling like ast* may be considered. In case of renaming, ast.install could have a file renaming template (ast.rename) with say key value rows for generic renaming procedure before starting the actual transfer/installation. Another thing it could try to perform chmod 755 after installation.
EDIT: Looks like you have it but it doesn't work as system is read-only for say /system/xbin installation directory. So installation can be performed either by hand from a file manager with root access or TWRP recovery (install script for easy TWRP install may be a solution).
Do you have any comparative performance observations regarding background network access?
2a. The interesting are the influence of size of the blacklist on system/apps behaviour (fluency, speed, memory usage or possibly noticed negative consequences re some specific apps). By default whitelist contains less than a dozen of items, blacklist is empty. What packages would you consider safe to remove from the whitelist, like LG weather widget? Will 300 blacklisted items be completely practical to have?
2b. Battery consumption changes and practical benefits measured re having hundreds of packages blacklisted vs normally empty blacklist.
2c. I remember you mentioned a FW app you installing on the end of device restoration process, what functionality separate FW app provides for your use case, or is that just an app like AdAway?
Click to expand...
Click to collapse
I "liked" your post because your nitpicking is only indication of your care and liking AST scripts, I respect that.
Now, onto addressing your 2nd phase of nitpicking, mildly jocking. As I mentioned previously, perhaps in Info Bank thread, once I get a question, in order not to repeat myself I would cover it, thoroughly, in its relevant post/tool. Please read post #3 for everything I could share on Netpolicy.
Naming issues: Please rename/copy ast.install to ast.setup or anything you wish then update the array list to your liking. This is a quick solution for anyone with the same issue. The beauty of AST is you can modify its scripts in any way you wish in a text editor, on any platforms. Please kindky, don't ask me and provide me with the solution when is not practical. I'm referring to your copying idea instead of hardcoded list of scripts. I know what I'm doing in this instance.
ast.install automatically mounts /system to 'rw' if it was 'ro'. If it was 'rw' already it never set it back to 'ro' to avoid causing problems to the process which set it to 'rw' before ast.install was executed. There are times, /system cannot be mounted as 'rw'. I can guess why, but don't wish go into details for now. A reboot often solves the problem. ast.install will show an error message if it fails but you didn't mention that in your post. So I have no idea what you have complained about at the end.
You have mentioned TWRP before as well. In order to avoid confusion to other users, AST has nothing to offer in TWRP and I don't know why you think it does. I have installed AST to /system/xbin on two LG V20 phones with the same script with no issues. If it is easier to do this manually please do by all means. When you mention installing AST from TWRP, you would give the wrong impression to users, as if AST is an overly complicated thing.
I don't have the time nor the patience to measure battery consumption. Battery consumption is very subjective, as you know. However, I would appreciate it if you like to share your future findings with the community in here.
I'm sorry, I don't recall what was exchanged in reference to 2.c.
Since I know you like AST, how about sharing something with the community about how it made things easier for you? That is a feedback too. No one would take my word for it because they think I'm on my way to become a millionaire.
3rd Feedback
xdav20 said:
I "liked" your post because your nitpicking is only indication of your care and liking AST scripts, I respect that..
Click to expand...
Click to collapse
I never do posts asking or hoping for likes. That would be rather strange assumption. Regarding your obviously negative connotation here, it would be more appropriate if you simply remove the "like" you made.
Now, onto addressing your 2nd phase of nitpicking, mildly jocking. As I mentioned previously, perhaps in Info Bank thread, once I get a question, in order not to repeat myself I would cover it, thoroughly, in its relevant post/tool. Please read post #3 for everything I could share on Netpolicy.
Click to expand...
Click to collapse
Thank you for more detailed explanation. I have to note that you added the explanations in your post #3 after I asked the relevant net policy questions. Either way, IMHO your statement "I think the performance loss or gain is debatable, totally dependant on how Android internally implemented it, and, frankly, this is something I don't wish to get heavily involved with. Please kindly, keep me out of future debates." is not very encouraging. To me it seems that you aren't interested in the discussion of benefits in performance or possible battery savings here, thus logically negating the major possible purpose of using your tool from users perspective. That's strange indeed, but I do respect your wish, so that's it.
Naming issues: Please rename/copy ast.install to ast.setup or anything you wish then update the array list to your liking. This is a quick solution for anyone with the same issue. The beauty of AST is you can modify its scripts in any way you wish in a text editor, on any platforms. Please kindky, don't ask me and provide me with the solution when is not practical. I'm referring to your copying idea instead of hardcoded list of scripts. I know what I'm doing in this instance.
Click to expand...
Click to collapse
Here you are contradicting yourself. As you previously mentioned, you made a deliberate effort to ensure any script can be renamed and still maintain its integrity thus boosting flexibility of usage even more. But here you are basically insisting such move would not be practical. In previous post I suggested you to maintain this flexibility by introducing renaming templates file, so updating the tool will be a simple seemless step/command, without manual intervention required, regardless of a chosen naming scheme. Well, again, it's your call. Perhaps you'd reconsider, just like you did with the inner AST folder in the distribution archive (Thanks BTW for that!).
ast.install automatically mounts /system to 'rw' if it was 'ro'. If it was 'rw' already it never set it back to 'ro' to avoid causing problems to the process which set it to 'rw' before ast.install was executed. There are times, /system cannot be mounted as 'rw'. I can guess why, but don't wish go into details for now. A reboot often solves the problem. ast.install will show an error message if it fails but you didn't mention that in your post. So I have no idea what you have complained about at the end.
Click to expand...
Click to collapse
Indeed I mentioned this due to failure to obtain the expected result on execution of ast.install. Note this script can't be run from ext SD card due to the obvious permission / media format issue. But, normally the /system is in RO state, so even if jackterm has required root permission, the ast.install still would fail when run from internal storage:
elsa:/storage/emulated/0/Download/ast #sh ast.install /system/xbin
cp: /system/xbin/ast.ls: Read-only file system
chmod: chmod '/system/xbin/ast.ls' to 100755: Read-only file system
cp: /system/xbin/ast.net: Read-only file system
chmod: chmod '/system/xbin/ast.net' to 100755: Read-only file system
cp: /system/xbin/ast.pm: Read-only file system
chmod: chmod '/system/xbin/ast.pm' to 100755: Read-only file system
cp: /system/xbin/ast.ops: Read-only file system
chmod: chmod '/system/xbin/ast.ops' to 100755: Read-only file system
cp: /system/xbin/ast.set: Read-only file system
chmod: chmod '/system/xbin/ast.set' to 100755: Read-only file system
cp: /system/xbin/ast.sto: Read-only file system
chmod: chmod '/system/xbin/ast.sto' to 100755: Read-only file system
cp: /system/xbin/astcore: Read-only file system
chmod: chmod '/system/xbin/astcore' to 100755: Read-only file system
I) ast.install: Installation completed.
elsa:/storage/emulated/0/Download/ast #
Why and how reboot supposed to resolve that?
EDIT: Looks like it works fine when performed right after reboot! It would be nice if install script would try to perform a mount, cp, chmod and report about the failure. Instead of showing the (fake) message "Installation completed." the hint to reboot and retry would be much more useful.
You have mentioned TWRP before as well. In order to avoid confusion to other users, AST has nothing to offer in TWRP and I don't know why you think it does. I have installed AST to /system/xbin on two LG V20 phones with the same script with no issues. If it is easier to do this manually please do by all means. When you mention installing AST from TWRP, you would give the wrong impression to users, as if AST is an overly complicated thing.
Click to expand...
Click to collapse
It has nothing to do with wrong impressions. All I tried to suggest was an attempt to provide a path to easy and working solution to install/update AST and have a workaround for system RO state issue as described above. One still will have to ensure the system partition is mounted in TWRP before doing AST install/update. Sure if ast.install or its exec environment can be fixed, there would be no need to reboot to recovery or perform manual steps with a file manager.
I don't have the time nor the patience to measure battery consumption. Battery consumption is very subjective, as you know. However, I would appreciate it if you like to share your future findings with the community in here.
Click to expand...
Click to collapse
If and when I'll proceed with net policy customisation and start to have some comarative data on battery consumption, I'll try to post here without involving you to the subject as per your wish to keep you out of future debates.
@hotcell
I have attached a modified version of ast.install that would double check if 'mount' command remounted /system rw or not. If the script still fails to copy your scripts, without displaying an error message, then, and previously, the problem has nothing to do with my script. I haven't developed 'mount' binary nor know why on your particular system things doesn't work normally. There is no 'fake' message, because of what happens the script assumes everything went well. If the scripts were previously copied to the target location, there is no easy way to know if the copy was successful or not. For such non-critical job, doing more is waste of time.
"ast.storage -lb online" displays the mounted partitions. The very last data is the current read/write status of the partition. After a reboot, could you run the above command to see what it prints about /system partition before and after running ast.install please.
I'm a tool maker, I'm not going to tell anyone where you can use my tool. I can provide guidance how the tool should be used, for productivity purposes only. What thing you have forgotten was, ast.np is a helper tool for Android Netpolicy tool. Without ast.np it is, literally, impossible to use it due to the input format it takes. Knowing how over analytical you can be, I made it clear I wish to stay away from any future debates myself. I have not stated, no one else can debate about it on my thread. I'm sorry, if you took my statement personally and I encourage you to use my thread to discuss anything related to AST. I would response, if I had to.
I thought for a while, how can I prove to @hotcell I wasn't being sarcastic when I "liked" his post? My proof is at the very end of that post when stated: "Since I know you like AST, how about sharing something with the community about how it made things easier for you?" If I didn't mean it, I wouldn't have stated a factual thing, I would had said; "If you like AST then why don't you...". Since I meant what I said without a menacing connotation, I stand by my previous decision. However, I do share your sentiment about the "like" system in place.
I have a serious issue with you or anyone else who think I have to accommodate to their specific needs in the same release that is meant for the public and no matter how accommodating I have been to you, you still have an approach that I don't feel comfortable with it. I will response equally to anyone who would want to dedicate terms to me. Once you renamed the scripts, I do not have to change the installer with your suggestion method, period. Have you thought, in the same directory users might have scripts or files starting with the "ast" prefix? That was the reason I hard-coded the script names to avoid potential disasters.
Edit: Noticed your edited comment about everything started working after a reboot. I do not like to discuss about something, specially in a public forum, when I do not have factual information. I'm normally good at observing patterns. I'm purely guessing, the reason behind the failure of mount command is to do with how certain file managers that support root handle mounting /system partition. Of course, there is always more than one reasons to such conditions.
Here is what you can do to see if that is the caase or not. Do everything as you would do after a reboot. Use the file managers you use and access the /system partition and copy something over to force the file manager to make the /system partition rw. Exit the file manager and then try the installer script again. Repeat the same thing, this time don't use the same file managers and after the system has been up and running for awhile, try the installer script again. What did you observe?
4th Feedback
Yes, you were right. After writing to the /system with MiXplorer file manager, the ast.install script fails. See screenshots: first made befre using MiX on /system, after that script worked; the second pic shows the ast.install.sh failure after using MiX, please note the (fake because of actual failure to mount and errors reported before) success report on the last line; the trird pic was made after the failed install. Also, with Root explorer, it asks to remount the system partition as R-W for operation, after that the ast.install(.sh) fails exactly as shown on the middle pic.
xdav20 said:
There is no 'fake' message, because of what happens the script assumes everything went well. If the scripts were previously copied to the target location, there is no easy way to know if the copy was successful or not.
Click to expand...
Click to collapse
The easiest way to know is probably to try to write an empty file into installation dir and check for its existance. Another way would be checking file timestamp.
I have a serious issue with you or anyone else who think I have to accommodate to their specific needs in the same release that is meant for the public and no matter how accommodating I have been to you, you still have an approach that I don't feel comfortable with it. I will response equally to anyone who would want to dedicate terms to me. Once you renamed the scripts, I do not have to change the installer with your suggestion method, period. Have you thought, in the same directory users might have scripts or files starting with the "ast" prefix? That was the reason I hard-coded the script names to avoid potential disasters.
Click to expand...
Click to collapse
Of course you don't have to accomodate or appease anyone. If maintaining renaming flexibility and extending that to install script is not you goal AST tool may benefit in terms of flexibility, just forget about this. And yes, I thought about ast prefix oversimplicity. That is the exact reason why I suggested ast.rename file template where one can explicitly define source-destination name pairs. So having a single fixed named file name for such template is all needed to avoid any possible clash.
hotcell said:
Yes, you were right. After writing to the /system with MiXplorer file manager, the ast.install script fails. See screenshots: first made befre using MiX on /system, after that script worked; the second pic shows the ast.install.sh failure after using MiX, please note the (fake because of actual failure to mount and errors reported before) success report on the last line; the trird pic was made after the failed install. Also, with Root explorer, it asks to remount the system partition as R-W for operation, after that the ast.install(.sh) fails exactly as shown on the middle pic.
The easiest way to know is probably to try to write an empty file into installation dir and check for its existance. Another way would be checking file timestamp.
Of course you don't have to accomodate or appease anyone. If maintaining renaming flexibility and extending that to install script is not you goal AST tool may benefit in terms of flexibility, just forget about this. And yes, I thought about ast prefix oversimplicity. That is the exact reason why I suggested ast.rename file template where one can explicitly define source-destination name pairs. So having a single fixed named file name for such template is all needed to avoid any possible clash.
Click to expand...
Click to collapse
Thank you for the quick response. Of course, if my script fails, so as everything else from command line. Now that we established my guess is an actual fact, I have another immediate concern.
Thanks to your screenshots, I have noticed storage.ast -lb command is not displaying the partition fs type and partition read&write status of /system and /userdata and there were errors. I installed Mixplorer and navigated to xbin and created a file. Went back to terminal and used ast.storage -lb online again and it reported everything correctly. You either have a corrupt fs table or there is a condition that I haven't seen before. To make sure, I would like to ask you to send me the following files by running these commands please:
Code:
cat /proc/mounts > mounts
cat /proc/self/mountinfo > mountinfo
cat /proc/self/mountstats > mountstats
Please make sure you have used Mixplorer or the usual things you do that may cause the problem first.
Edit: After a reboot, please run the ast.storage -lb online again and please report back if there were errors. I'm guessing if you do, there is something wrong on your end.
Disclaimer: At the time of publication of this article, I have not found a way to remedy the problem with the application mentioned in this article. If you did, please notify me to make the appropriate changes to this article.
This article came to existence after exchanging messages with @hotcell to which my further investigation revealed a problem with MIXplorer app. I understand MIXplorer has a thread on XDA so there is a chance the developer to be contacted to rectify the problem.
The problem is after /system partition is remounted 'rw' (Read & Write) MIXplorer does not set the partition back to 'ro' (Read-only) even after the application is closed explicitly. This can leave you extremely vulnerable in case a malicious app awaits for such opportunity. Fortunately, after a reboot all partitions will be set back to their default status. However, users might not reboot their phones for days.
Root Explorer from SpeedSoftware has a mount toggle (rw,ro) button for each partition you use which it gives you the control to change the status at will. Then I tested ES File Explorer, as soon as I closed the app the /system was remounted back to 'ro'.
Thanks to ast.storage -lb command I could easily tell what was going on. My advice to you is, to either contact the developer of MIXplorer and request the partitions to be remounted as 'ro' upon exiting the app or similarly to provide a toggle button. In the mean while, I wouldn't use MIXplorer on a device that is connected to the internet.
5th
@xdav20
Although irrelevant in the thread common context, please see the attachment below (as it looks like you disabled PM functionality).
I see your AST gives formatting errors, but practically I can't see any problems with my system. Also, looks like if /system left R-W mounted by a file manager or other app, AST has no way to proceed. As you noticed about re-mounting on-the-fly from UI, reboot can be avoided by remounting the /system as RO in Root Explorer. Also, another decent file manager X-plorer doesn't need an (clean) exit as it will re-mount the system as RO after FS operation finished.
hotcell said:
@xdav20
I see your AST gives formatting errors, but practically I can't see any problems with my system. Also, looks like if /system left R-W mounted by a file manager or other app, AST has no way to proceed..
Click to expand...
Click to collapse
Thank you for the files. I will start looking into them.
I have already stated, two posts up, ast.storage's -lb command works fine on my phone even with MIXplorer installed and /system remounted rw. While I'm trying to establish if your phone has a problem or not, I have to be here correcting your incorrect statement. Also, I'm wondering why you never reported the error messages before when you did about other things?
Edit: I have attached a screenshot to prove everything works. I deliberately set the /system to rw.
6th
xdav20 said:
Thank you for the files. I will start looking into them.
I have already stated, two posts up, ast.storage's -lb command works fine on my phone even with MIXplorer installed and /system remounted rw. While I'm trying to establish if your phone has a problem or not, I have to be here correcting your incorrect statement. Also, I'm wondering why you never reported the error messages before when you did about other things?
Click to expand...
Click to collapse
Perhaps my statement is incorrect, I've no idea. But how would you explain that after Root Explorer toggling to RO state ast.install works perfectly, what Root Explorer can do that ast.install can't?
For the last question there is an easy answer: When I reported about "fake installation success" clause, it was obvious the copy failed, screenshots were attached. Timing to report wasn't/isn't critical for me. Also, looks like you are using SuperSU while I've Magisk, maybe there are some diffs/settings related?
EDIT: After playing with renaming ast.net in /system/xbin via X-plore, Root Explorer and MiX more:
1. X-plore always know how to rename the file
2. Root Explorer knows and warns when in RO state, but fails to rename after subsequent renamings in other FMs. Toggling RW->RO>RW restores renaming capability.
3. MiX fails to rename first.
hotcell said:
Perhaps my statement is incorrect, I've no idea. But how would you explain that after Root Explorer toggling to RO state ast.install works perfectly, what Root Explorer can do that ast.install can't?
For the last question there is an easy answer: When I reported about "fake installation success" clause, it was obvious the copy failed, screenshots were attached. Timing to report wasn't/isn't critical for me. Also, looks like you are using SuperSU while I've Magisk, maybe there are some diffs/settings related?
EDIT: After playing with renaming ast.net in /system/xbin via X-plore, Root Explorer and MiX more:
1. X-plore always know how to rename the file
2. Root Explorer knows and warns when in RO state, but fails to rename after subsequent renamings in other FMs. Toggling RW->RO>RW restores renaming capability.
3. MiX fails to rename first.
Click to expand...
Click to collapse
Found the cause, I think I have the solution, and I have to leave to my dentist appointment soon. I will release a fix as soon as I can. There is nothing wrong with your device but with what you use that commonly cause problems to everyone else's (not literally) code. Thanks again for the files. The future fix will not fix the mount issue, mount issue is a common issue in Android because so many processes use /system partition and bound to be conflicts.
7th
xdav20 said:
Found the cause, I think I have the solution, and I have to leave to my dentist appointment soon. I will release a fix as soon as I can. There is nothing wrong with your device but with what you use that commonly cause problems to everyone else's (not literally) code. Thanks again for the files. The future fix will not fix the mount issue, mount issue is a common issue in Android because so many processes uses /system partition and bound to be conflicts.
Click to expand...
Click to collapse
Thanks, although I have no idea what you are going to fix (as it seems the issue is in mounting)
Anyway, I thought you can try to implement an algo like this:
1. check if /system looks mounted as RW, remember the state for later restoration, if not RW, try to re-mount
2. create am empty file named as current time in installation dir
3. try to check if it exists. if yes, delete it and set flag ready=true and proceed to #5.
4. if flag tried is not set (false), try to make double re-mount RW>RO>RW, set flag tried=true, return to #2.
5. if flag ready=false, return error message asking to either reboot or mount /system as RW and exit
6. if ast.rename is absent from install dir, perform scripts copy, otherwise the same with renaming according to the template
7. set chmod on script files as required. Done.
@hotcell
I have attached a pre-release version of AST to this post. This release contains support to handle multiple mountpints on online blocks. Android by default has one single mountpoint per block. However, components/su such as Magisk creates additional mountpoints, one on /dev/block/sda14 and two on /dev/block/sda18. AST can now handle multiple mountpoints on any online blocks, referring to -lb command. Thank you again for the files and your assistance in resolving this issue.
As you have guessed by now, Magisk was the cause of errors and I'm guessing the source of your /system mount issues. Now, that '-lb' command can show correct information on your device, you can keep your eyes on read and write status of both mountpoints on /dev/block/sda14. Please kindly provide a screenshot of '-lb online' so I can make sure everything was okay before releasing it on OP. Since you have installed AST in /system/xbin, please do not run anything locally without specifying its full parh in command line. I'm updating OP about this point shortly.
One minor matter, I have to respectfully ask you to refrain from referencing to AST scripts as your renamed versions. I got confused when you referenced ast.np to ast.net. For anyone following our conversations it can workout confusing too. At this point of time, I don't wish to make a rule and publish it on OP. I hope you can understand the point I raised. Thank you for your understanding.
Edit:01
Added two screenshots. Magisk-Partitions image shows the online partitions with Magisk being installed (based on your device data files) and Default-Partitions image shows a typical device without Magisk? Have you spotted the additional entries?

Categories

Resources