[UTIL] One Click Lag Fix 2.0 by RyanZA - Vibrant Android Development

i seen this in the Samsung Galaxy S I9000 and i tried it out on the vibrant and it works perfect, its probably the easiest way to partition your SD card and i can confirm it fixes the lag, i will post my scores shortly...... THANKS RYANZA you saved me weeks of research. go here for more info
http://forum.xda-developers.com/showthread.php?t=751864
[UTIL] One Click Lag Fix 2.0
This version (2-3) is now open for BETA testing! It is known to work on many devices, but still has known issues that could greatly affect you. Please read this whole post a few times until you understand!
Details about what this fix does:
Creates a VIRTUAL EXT2 filesystem inside the stock RFS filesystem on the internal SD card, with a 4KB block size. This means that this lag fix creates a buffer between the real filesystem and the android system. This buffer should reduce the amount of disk I/O required for all operations by utilizing EXT2 buffering, as well as not writing file access times to disk, etc.
Folders that are currently supported:
/data/data
/data/system
/data/dalvik-cache
/data/app
/data/app-private as a symlink to /data/app/app-private
/dbdata/databases is not supported. It appears to be ROM backed, and can cause problems if overwritten.
Benefits over version 1
1.5GB of application data available, with no data loss.
e2fsck of the EXT2 partition on each boot.
Correct busybox version included! YES!
/app and /app-private directory included in the fix for faster application installs.
/dbdata/databases included in the fix, expected to give a big performance boost for apps that use it.
Mounts instead of symlinks for extra performance as OS does less work (about 100 or so more quadrant).
Benefits over other lag fixes
Open source, with full comments and ease of editing.
Works on any and all firmware versions, including any yet unreleased froyo versions (that don't change file structure).
Credits
Big thanks to mimocan for putting us all on the right track in how to sort out lag problems!
Big thanks to ykk_five for showing us all how well loopback filesystem mounting works!
Big thanks to cyanogen mod for e2fsck
Requirements for One Click Lag Fix 2.0
Rooted phone - http://www.addictivetips.com/mobile/how-to-root-and-unroot-samsung-galaxy-s-i9000-with-a-single-click/
Windows computer with SGS Drivers (Samsung Kies), or the ability to read through the batch file and run it yourself.
(Beta Release) The ability to reflash your device if something goes wrong.
No other lag fix installed. If you installed One Click Lag Fix 1.0, then use the uninstall function which came with that lag fix before running this lag fix. (Untested but assumed to be working, please help out here.)
1.5GB of freespace on Internal SD Card for swap files while the fix is working (/sdcard).
"Internal phone storage" in Settings->SD Card must read greater than 500mb (0.5GB) of free space.
How to run One Click Lag Fix 2.0
Place your phone into USB debugging mode: Settings->Applications->Development
Attach your device to your computer. Do not mount the drives.
Download the attached ZIP file.
Unzip to a folder of your choice.
Double click "lagfixme.bat".
Don't double click "unlagfixme.bat".
Wait for it to complete.
You will need your phone to be unlocked when it runs the script, so that you can accept the permissions request that will appear on your device.
How to remove One Click Lag Fix 2.0
Double click "unlagfixme.bat"
Wait for it to complete.
Known Issues For All Versions
Some custom firmwares use up all available space in /system. This fix requires some libraries to be placed in /system/lib. These libraries are used to create the filesystem properly, and to check it for errors on every boot.
If your firmware does not have the available space (around 1mb) in /system, do not use this fix! Your phone will not boot and will have to be restored from backup / reflashed.
Current known firmwares with this issue: None yet. Please provide the firmware version+mods if you encounter this issue. It will show up as an out of space error in the log, under 'Copying libraries'.
Known Issues 2-1, 2-2
Paid apps from the market have issues.
Google maps and other pre-installed ROM-backed applications have issues.
2-3 Changes from 2-2
/dbdata has been removed. This fixes maps issues.
/app-private is now a symlink to /app/app-private. This fixes paid apps issues.
Alternate installation methods for similar fixes
Tayutama has made an update.zip version that is easy to install - http://forum.xda-developers.com/show...&postcount=208
Chainfire has a .NET version of this fix with some nice features - http://forum.xda-developers.com/showthread.php?t=751513

I recommend starting from scratch to avoid any problems
my setup is
1.) True 2.1 Samsung T mobile Image http://tinyurl.com/2bc5b6r
2.)BETA OC 1.2Ghz (no added steps for now)
kernel-vibext4-oc1.tar.md5
MD5:d1e26f769406c5d368492855c7b5059e
...you can try his new version of the kernel if you like, my phone i runs fine on the beta , so i havent tried the new ones
more info on the kernal hack http://forum.xda-developers.com/showthread.php?t=744655
3.) RyanZAEXT2LagFix BETA 2-3.zip http://forum.xda-developers.com/attachment.php?attachmentid=384443&d=1282320979
this is the exact order in which i modded my phone and i have no ran into any problems, it was a smooth process , and yes it was my first time modding my samsung phone and i rate it as very easy to do.
Click to expand...
Click to collapse
Frequently Asked Questions
Q: My apps are force closing while this fix is running, and I can't use my phone!
A: By design. The script has backed up/copied your apps over to the internal SD card (remember the requirement about 1.5GB of free space on the SD card?). It is now overwriting them with a 1.5GB file. As the file overwrites an app that is trying to do something, it will probably force close. This is normal.
Closing all running apps, and removing widgets before running this fix can make the process much smoother, though.
Q: The script can't transfer files to my phone / The script can't run / Help help I'm dieing!
A: Read the first post again.
Q: My paid apps from the market don't show up.
A: I will hopefully have a fix for this sooner or later. Hold tight! It's in the known issues. I don't have access to paid apps, so I can't test this.
Q: Does this need busybox?
A: No, busybox is included.
Q: I only have 200mb of free space now! What gives?
A: The lag fix has made a 1.5GB file, and is storing all of the data inside there. The side effect is that the free space meter is now incorrect. Sorry, this can't be helped.
You can check real free space by using ADB like this:
Code:
adb shell
su
busybox df -h
Q: When I use a backup tool, the backup is now 1.5GB big! It's taking forever!
A: The backup tool isn't designed to work with this fix. It will work, it just won't work well. Hopefully this fix will be short lived, and either Samsung will give us a new update, or someone will give us a good custom firmware that can natively mount what we need, where we need it. Or someone might come out with a better backup manager. Until then, we suffer.
Q: Will a reflash wipe this fix?
A: Yes, a reflash will wipe everything this fix did.
Q: Can this brick my phone?
A: If you know how to get to the download mode from power off (hint: volumedown+home+power), then almost nothing short of throwing your phone off a tall building can actually brick it. If you can't do this though, or don't know someone who can, then you're better off waiting for samsung to release a fix. Anything that moves files around on your device has the potential to break things, and this fix has no QA department.
Q: Why is /dbdata not included in your fix, but other people have included it?
A: Other people have included it in the same way my 2-2 fix includes it. However, /dbdata is ROM backed. This means that the real files are on ROM, and only the changes appear in the /dbdata folder. When copying or moving files from this folder, you would need to specify each folder by exact name to ensure that it was copied across, and each firmware can have their own names. (This is because RFS wildcard will not catch an unused ROM backed file.) In some cases, you can get lucky and have this work perfectly because you have already used all the files in /dbdata. There is no fail safe method to do this though, and /dbdata does not make a big difference to performance. (It is already on NAND flash.) If you want to try your luck, v2-2 is still available.
Q: Why does this lag fix work? Is it slowly destroying my phone?
A: Let's say an application counts from 1 to 10, and writes the value each time to disk.
Stock:
1 -> App tells RFS to write 1 to disk -> RFS writes 1 to disk -> RFS writes journal saying to changed the value on the disk.
2 -> App tells RFS to write 2 to disk -> RFS writes 2 to disk -> RFS writes journal saying to changed the value on the disk.
..
9 -> App tells RFS to write 9 to disk -> RFS writes 9 to disk -> RFS writes journal saying to changed the value on the disk.
10 -> App tells RFS to write 10 to disk -> RFS writes 10 to disk -> RFS writes journal saying it changed the value on the disk.
Total physical disk writes: 20. Speed: SLOW! Wear and tear on disk: HIGH!
Lag Fix:
1 -> App tells EXT2 to write 1 to disk -> EXT2 stores 1 in RAM.
2 -> App tells EXT2 to write 2 to disk -> EXT2 stores 2 in RAM.
..
9 -> App tells EXT2 to write 9 to disk -> EXT2 stores 9 in RAM.
10 -> App tells EXT2 to write 10 to disk -> EXT2 stores 10 in RAM.
..
EXT2 tells RFS to write 10 to disk -> RFS writes 10 to disk -> RFS writes journal saying it changed the value on the disk.
Total physical disk writes: 2. Speed: FAST! Wear and tear on disk: LOW!
This isn't exactly what is happening, but it gives you the general idea.
Q: Can this mod work on other Android devices? Would we see a performance boost on them as well? If not why is it limited to the Galaxy S?
A: SGS has very very good hardware, but it has some parts of it's hardware poorly implemented. The filesystem that samsung chose to use is custom-built using FAT32 as a base, RFS. It has a lot of the problems that FAT32 has, and should have been left back in the 90s, or even the 80s.
One of the big issues with it is how it handles multiple requests - it blocks. It blocks everything. When your mail app wants to read the mail you just tried to view, but your twitter app is busy writing a new tweat it just received, your mail app is forced to wait.
This is bad, but it could be worse! And it is... your twitter app didn't just get one tweat, it got 50 tweaks. It is busy writing the tweats one by one to the filesystem. This would be fine, since all modern filesystems will buffer writes, so instead of writing each one at a time, they will batch them together and write it as a big chunk. Uh oh - RFS does no buffering at all! After each write, it will also write an update to the grafted-on journal system. Guess what happened to your mail you were trying to view while all this happened? It 'lagged' and you got a black screen for half a second, before the mail popped into view.
Luckily the hardware on the device is so good that you usually don't even notice the problem until you have a lot of apps running, all writing their updates when you unlock the phone.
This is mostly speculation based on experiments done on RFS -- RFS is closed source, and we have no idea if the problems are just badly set settings (such as a block size that is too small), coding bugs in the implementation, or if RFS is just really that badly designed.
This fix just grafts a buffer on top of the RFS filesystem, using a very very simple and fast filesystem, EXT2. It fixes most of the issues by writing to RFS as seldom as possible.
So no, this fix won't fix other devices, since they're already running quite close to maximum speed. The SGS at stock is running nowhere near maximum speed, and this lag fix takes it a bit closer. You could probably speed up other devices by tweaking the filesystem settings to give them a big buffer or similar, but it isn't really needed. (I haven't actually tried to put an EXT2 onto any other Android phone, as I don't have any other Android phone, so this is just speculation.)
Q: My phone is fast now!
A: Yeah.
Last edited by RyanZA; 18th August 2010 at 10:52 PM..

I used this yesterday. Works a treat! Just be patient when its running.
Texted While Driving

You need to fix the links if you reposted it

lqaddict said:
You need to fix the links if you reposted it
Click to expand...
Click to collapse
i fixed the links before i reposted it and re-added the attachments , is there a certain link i forgot to fix ?

===============================================================
===============================================================
One Click Lag Fix for Galaxy S I9000
===============================================================
===============================================================
__________________________________________________________
Pushing required files to /sdcard - Please wait.
* daemon not running. starting it now *
* daemon started successfully *
mkdir failed for /sdcard/lagfixtemp, File exists
cannot stat 'createlagfix.txt': No such file or directory
cannot stat 'playlogos1': No such file or directory
cannot stat 'userinit.sh': No such file or directory
cannot stat 'busybox': No such file or directory
cannot stat 'e2fsck': No such file or directory
cannot stat 'libext2_blkid.so': No such file or directory
cannot stat 'libext2_com_err.so': No such file or directory
cannot stat 'libext2_e2p.so': No such file or directory
cannot stat 'libext2_profile.so': No such file or directory
cannot stat 'libext2_uuid.so': No such file or directory
cannot stat 'libext2fs.so': No such file or directory
cannot stat 'mke2fs': No such file or directory
cannot stat 'resize2fs': No such file or directory
cannot stat 'tune2fs': No such file or directory
Now running lag fix. On your device, select allow root privledges!"
/system/bin/sh: Can't open /sdcard/lagfixtemp/createlagfix.sh
Script complete!
* server not running *
Press any key to continue . . .
any help?

did you unzip the files and put them all in the same directory ???
bobby915 said:
===============================================================
===============================================================
One Click Lag Fix for Galaxy S I9000
===============================================================
===============================================================
__________________________________________________________
Pushing required files to /sdcard - Please wait.
* daemon not running. starting it now *
* daemon started successfully *
mkdir failed for /sdcard/lagfixtemp, File exists
cannot stat 'createlagfix.txt': No such file or directory
cannot stat 'playlogos1': No such file or directory
cannot stat 'userinit.sh': No such file or directory
cannot stat 'busybox': No such file or directory
cannot stat 'e2fsck': No such file or directory
cannot stat 'libext2_blkid.so': No such file or directory
cannot stat 'libext2_com_err.so': No such file or directory
cannot stat 'libext2_e2p.so': No such file or directory
cannot stat 'libext2_profile.so': No such file or directory
cannot stat 'libext2_uuid.so': No such file or directory
cannot stat 'libext2fs.so': No such file or directory
cannot stat 'mke2fs': No such file or directory
cannot stat 'resize2fs': No such file or directory
cannot stat 'tune2fs': No such file or directory
Now running lag fix. On your device, select allow root privledges!"
/system/bin/sh: Can't open /sdcard/lagfixtemp/createlagfix.sh
Script complete!
* server not running *
Press any key to continue . . .
any help?
Click to expand...
Click to collapse

djkdawg said:
did you unzip the files and put them all in the same directory ???
Click to expand...
Click to collapse
i extracted all files to desktop and ran lagfix.bat from there

bobby915 said:
i extracted all files to desktop and ran lagfix.bat from there
Click to expand...
Click to collapse
do you have usb debugging enabled? do you have any other lag fix installed ?

djkdawg said:
do you have usb debugging enabled? do you have any other lag fix installed ?
Click to expand...
Click to collapse
Got it working thanks

bobby915 said:
Got it working thanks
Click to expand...
Click to collapse
no problem, download the quadrant standard app and run the test and post your score

I got 2072 quadrant score for the phone after the fix, how did the OP manage to get 2700+?

I'm still on version 1 with no issues. Any major differences or Improvements.

Uninstalled the Alpha fix and tried this one. upon reboot, I'm getting an error:
Memory Full
Internal phone storage is nearly full
Delete/Uninstall some applications or data
Didn't have this problem with the alpha fix.
Guess I shouldn't had played with the beta.
Any ideas?
Running Stock Kernel, just rooted.
I'm running Unlagfix now to remove.
Side note: I noticed that my custom font settings disappeared... Icons still appear to be in the same place.
Update:
I just re-read the FAQ. Storage reporting error... heh.. doh.
However, when running uninstall, it started streaming the following error message about 20-30 times over:
cp: write error: No space left on device.
Can't create directory 'data/bak/app': No space left on device
Update again:
Unlagfix didn't seem fully successful. All my application data/etc disappered. Looks like they are still in the /data/ directory, but not showing up on the device.
Here is a listing result
If I'm reading this correct, does that mean the Unfixlag didn't complete it's task? Looks like I still have a 1.5gb partition for data.

Tairen said:
I got 2072 quadrant score for the phone after the fix, how did the OP manage to get 2700+?
Click to expand...
Click to collapse
i started from scratch, i flash the true tmobile vibrant image to start from scratch, you dont have to do this but i did. Link is below
http://tinyurl.com/2bc5b6r <-- true tmobile vibrant image, it also includes odin
after that was done, i used the utility to format my card, you can get the one click utility below
http://forum.xda-developers.com/showthread.php?t=751864
after that i reboot, install the app and did a test and thats how i got my speeds.
edit: after installing all my apps back, i actually average about 2400-2500 , i havent seen the 2722 after installing all my apps

i would start from scratch like i did when i first tried it, because i think the other lagfixes actually jacked something up. follow the steps below
i started from scratch, i flash the true tmobile vibrant image to start from scratch, you dont have to do this but i did. Link is below
http://tinyurl.com/2bc5b6r <-- true tmobile vibrant image, it also includes odin
after that was done, i used the utility to format my card, you can get the one click utility below
http://forum.xda-developers.com/showthread.php?t=751864
after that i reboot, install the app and did a test and thats how i got my speeds.
Spiffywerks said:
Uninstalled the Alpha fix and tried this one. upon reboot, I'm getting an error:
Memory Full
Internal phone storage is nearly full
Delete/Uninstall some applications or data
Didn't have this problem with the alpha fix.
Guess I shouldn't had played with the beta.
Any ideas?
Running Stock Kernel, just rooted.
I'm running Unlagfix now to remove.
Side note: I noticed that my custom font settings disappeared... Icons still appear to be in the same place.
Update:
I just re-read the FAQ. Storage reporting error... heh.. doh.
However, when running uninstall, it started streaming the following error message about 20-30 times over:
cp: write error: No space left on device.
Can't create directory 'data/bak/app': No space left on device
Update again:
Unlagfix didn't seem fully successful. All my application data/etc disappered. Looks like they are still in the /data/ directory, but not showing up on the device.
Here is a listing result
If I'm reading this correct, does that mean the Unfixlag didn't complete it's task? Looks like I still have a 1.5gb partition for data.
Click to expand...
Click to collapse

Just a heads up!
A new version is available for people having trouble with this lag fix, check it out here:
http://forum.xda-developers.com/showthread.php?t=760571
It is designed to be easy to use and a lot safer.

Just wanted to say thanks to djkdawg for posting this and RyanZA for all the work!

im having font issues how about anyone else? i had choko cooky as my default and now it doesnt work anymore...
edit: no fonts work...

Code:
Making new directories to use as mount points for later.
We will now create a 1.5GB real EXT2 partition /data
Will take a long time.
dd: /data/linux.ex2: No space left on device
Linking loopback to the 1.5GB data file store
Creating the EXT2 filesystem
mke2fs 1.40.8 (13-Mar-2008)
mke2fs: Device size reported to be zero. Invalid partition specified, or
partition table wasn't reread after running fdisk, due to
a modified partition being busy and in use. You may need to reboot
to re-read your partition table.
Creating a mountpoint for files.
Mounting device
mount: Invalid argument
Copying data across. This could take a bit of time.
I keep getting this error when attempting to install. Not sure what's going on. I've got 8.5gb free on internal memory before beginning install. That should be plenty.

Related

Need some help from the linux gurus (Issue with file permissions and group ownership)

After flashing Haykuro's H build to my girlfriend's phone without a wipe everything went a little screwy. So I moved all of her data to the ext2 partition of her sd card, flashed JF RC33 back to her phone and then tried symlinking the data directory. This brought back alot of the same issues (she was getting an inconsistent system ID error).
So I went back to the default data directory as it stood after flashing rc33 and started copying over the /data/data/[app package] folders from the sd card for only the apps that she really needed the data for and even though I can read them in the terminal, for some reason whenever I try to start any apps that I copied the folders over for, they force close immediately. My only thought is that maybe they're owned by the wrong group or something. I tried chmoding them all 777 to see if that helped, but it didn't. I know I have to do a chown to change the owner of the files, but what should I chown it to? 0?
/data/data/* is 755, and the content is owned by the various sandboxed users (Except a handful of androids own services, which is owned by 1000 and 1001).
Symlinking the data directory itself should work just fine, i had the whole data partition symlinked out, until i just decided to mount my ext2 partition as /data.
Well, symlinking the data directory isn't fine. As I said in the original post there's something wrong with her data directory and whenever I boot up with the entire thing symlinked it says it needs a factory reset as there are inconsistent system IDs. So I'm trying to just add them back one by one. Is there any way to determine which user/group ID an app is running as so I can chown the data folder for that app to be the same? My thought is it has to come down to an ownership issue.
I'm far from a guru, but you may want to consider a couple of things.
I finally moved my data off of my sd. I had tons of quirks and force closes as long as data was on the ext2 partition. You may consider just moving apps and dalvik-cache.
If it's your GID that is incorrect, you should be able to go into the sd/data and "ls -l" to see what the ownership for each file looks like. Then verify that is carrying over when you copy it back to internal flash. If it's changing the group you can do a chgrp and change it back to what ever it was in the sd/data directory. Same goes for ownership also... ls-l will tell you who owns it and what group. Like you said, you can chown to change that.
I reall don't think this is going to solve your problems, but give it a shot. Ultimately, i think you're going to have to wipe data. If you did a nandroid before it went south, you might be alright.
Beyond that, i got nuthin... Good luck.
If it was my phone, I would've just wiped it and not thought twice about it. But my g/f is a fanatic about her shopping lists, todo lists, etc.
What I'm thinking about doing when I get home is running a ls -l on the app directory to see if I can see what group ID each of the apps are running at because I'm fairly certain that's what the problem is. The apps are running as one user id after the wipe, but the data is owned by another user id that was being used before the wipe.
Run it, and quickly check the UID with ps ("busybox ash", then "ps", or jut "busybox ps"
, the first one starts a shell, so you only have to write "ps"), then compare to the UID/GID of the files (ls -l, again with busybox).
If they don't match, you should change them with "chown uid:gid /data/data/directory".
If the UID's GID's are correct, you should just copy the contents of the directories out, wipe, run the apps once, and copy the content back in (Then you'll know the correct UID).
You can always take a nandroid backup if you don't trust me
Thanks Joushou, that's actually what I was looking for. I couldn't remember the command to see what the apps are running as. Now, considering they force close immediately, would I be able to run ps before I click force close and still see the IDs?
So in this format, which numbers are the user/group ids? I'm guessing the username is the first column.
USER.....PID PPID...VSIZE RSS..WCHAN PC............NAME
app_24 174 33 89264 13412 ffffffff afe0c824 S com.android.calendar
app_28 186 33 86828 11076 ffffffff afe0c824 S com.android.alarmclock
app_36 217 33 88892 11828 ffffffff afe0c824 S edu.mit.locale
Nevermind, that was from a regular ps. Did busybox ps and it turned up the number I was looking for, thanks Joushou!
LPChris said:
Nevermind, that was from a regular ps. Did busybox ps and it turned up the number I was looking for, thanks Joushou!
Click to expand...
Click to collapse
So were you able to get it working again?

New recovery script "utility" / AUTO PARTITION!!!

MORE INFO IN POST 3 HERE
I am happy to announce the release of my new utility script. This script currently has 11 functions as noted below. It runs in recovery with the help of sdutility which is another script that procures the necessary permissions and file location for some of the features. Some of these options are copied from Cyanogen's various scripts located in his recovery image.
Option 11 will ask you what size to make the swap and ext partitions and then it will partition your sdcard for you using the remaining space for fat32.
The menu looks like this:
Code:
1) Enable SDcard to USB
2) Disable SDcard to USB
3) Upgrade ext2 > ext3
4) Upgrade ext3 > ext4
5) Fix Permissions
6) Repair Filesystem
7) Clear Dalvik-Cache
8) Clear ext partition
9) Backup APPS on ext to FAT32
10) Restore APPS from FAT32 to ext
11) Partition SDcard
Q) Quit Utiltity Menu
Enter Number> _
i am going to get you samuel jackson's wallet from pulp fiction because that is what you are with these scripts.
I think these scripts, along with miketaylor00's fix_rotate script, need to be included in every ROMs /system/bin folders.
Btw, why the . in "./sdcard/sdutility"? I'll probably just move these scripts over to the /system/bin folder on my phone for consistency.
That is an execute command and is required because /sdcard is not in $PATH. sdutility copies the utility script which is the actual script doing all the work to /sbin, setting permissions to 755, and launching it. The point of all of that is with the script on the sdcard it can't partition it without deleting itself.
Fingerlickin said:
That is an execute command and is required because /sdcard is not in $PATH. sdutility copies the utility script which is the actual script doing all the work to /sbin, setting permissions to 755, and launching it. The point of all of that is with the script on the sdcard it can't partition it without deleting itself.
Click to expand...
Click to collapse
I follow... guess I can just keep it on SDcard to run it from.
I looked at the files and figured that's how it worked... I did copy utility to my system/bin and ran it from recovery console. I even backed up my apps using option 9. It gave me an access denied error from line 173 (the fi command in the script). However, it seems it did back up the apps.
dude, this is awesome. im gunna try it out later... using my ubuntu partition.
anyways, when you backup your apps from the ext partition, does it copy over the google apps as well?
backing up the apps copies the /system/sd/app folder to /sdcard/appbackup.
To the best of my knowledge this is NOT a violation because you are backing up your OWN apps including any closed source apps. As long as you don't distribute these apps you are fine.
P.S. I bought a movie tonight and immediately put it in my computer and ripped it. My reason for this is my computer stores all my movies and my xbox streams them to my TV. Nothing wrong with this because I am not distributing the movie to other people.
Fingerlickin said:
backing up the apps copies the /system/sd/app folder to /sdcard/appbackup.
To the best of my knowledge this is NOT a violation because you are backing up your OWN apps including any closed source apps. As long as you don't distribute these apps you are fine.
P.S. I bought a movie tonight and immediately put it in my computer and ripped it. My reason for this is my computer stores all my movies and my xbox streams them to my TV. Nothing wrong with this because I am not distributing the movie to other people.
Click to expand...
Click to collapse
hey finger, let your xbox stream video to my tv as well.
Fingerlickin said:
backing up the apps copies the /system/sd/app folder to /sdcard/appbackup.
Click to expand...
Click to collapse
I feel the urge to clarify this.
mounts both ext and fat32
check to see if both folders exist and creates /sdcard/appbackup if it doesn't
THEN it copies the CONTENTS OF /system/sd/app to /sdcard/appbackup
but david, I'm a good law abiding citizen and that would be illegal.
catch me on gtalk
So has anyone else had the access denied error referencing line 173?
Fingerlickin... any chance you could work with Cyanogen to integrate this with his recovery? I'm thinking it's time for a Cyanogen Recovery v1.5.
Great work fingerlickin
Unasari, the orig plan for this was to make cyan's recovery more noob friendly, hopefully cyan will roll this into his new recovery and add trackball support to it for the mt3g users. Don't be surpised if you see a wrecking crew modified recovey image
Great work I see all of us got something to keep us busy now.
I am looking into the line 173 error now. We need MT3G support before cyan will touch it, working on that too.
I can't recreate the error at line 173. Lets see if others have the problem as well.
Updated to v1.1 see post 3 HERE for details.
This has a possible fix for your line 173 error. I didn't anticipate someone trying to backup apps when they don't have any apps installed on the ext or you try to backup apps after partitioning the card because there obviously isn't a /system/sd/app directory in this case. I have no idea if this will fix your problem or not.
I also included support for ADB (MT3G) YAY
Updated again.
v1.2
updated to fix_permissions v1.29
fix_permissions always has the -r option

Odex script and optimised donut build

Our devices don't have very much flash memory and it's easy to fill up /data with apps but here is a quick solution that can give you a bit more space.
In /data is a directory called dalvik-cache, this is a cache of the classes.dex from every app on the device, including those in /system.
On most android devices this doesn't happen, the system applications and the framework are stored as optimised dex files with a .odex extension.
People have spent a lot of time figuring out how to recreate the apks from the odex files and this is good if you have enough space to put all your apps on the device twice because it allows them to be easily swapped for theming.
The attached script goes through each app and jar in /system, creates an odex file and deletes classes.dex. It will give you about 30M extra space on /data while making /system about 10% bigger.
To run it do the following:
Backup you device
Make sure you have at least 15% free on /system, this is important because if you run out of space things will go badly wrong.
unzip odex.zip and then do:
adb push odex /data/odex
adb shell /data/odex/odex.sh
Wait till it finishes and then reboot the phone.
Another reason for odexing is that it boots very quickly and when testing kernels its nice not to have to wait too long.
If you want to see a simple odexed system try this:
http://www.mediafire.com/download.php?qjyniynyqzz
Rename it to androidinstall.tar and it will give you the donut system in the attached screenshots.
The main disadvantage of odexing is that it means you can't change the theme without reinstalling /system so find a theme you like before doing this to your device.
Thanks to Paul O'Brien for writing the original script.
Have fun.
dzo, once again, Thank you.
This should provide ALOT more breathing room in Eclair and Sense builds. Not to mention more flexibility for ROM devs too.
Thanks!
so would this only be useful for people who are making roms and stuff like that I'm kinda a noob still sorry
Unfortunately with my eclair build, /system is almost full
App2SD or /data on sd card look better
but that's device dependant
thank you for the tip anyway
I was about to ask if this will mess up the zipaligning but then I looked a the script and it also does zipaligning.
jadenj5 said:
so would this only be useful for people who are making roms and stuff like that I'm kinda a noob still sorry
Click to expand...
Click to collapse
The end user could run it, too...
Any thoughts on adding this to the install menu? That way you could install system, apply themes, then odex.
I updated the system tar in the first post to fix the broken calendar. I've been running this on my primary phone for a few days now and it seems much faster than it was. Perhaps there's are fewer file accesses with an odexed system and it needs to keep less data in the fs cache. Whatever the reason, give it a try.
is there anyway to do this from the phone without adb?
Include in vogue tools?
Thanks DZO, great that more performance can be squeezed out of our aging devices!
Just a thought: Could this be included in Vogue tools?
Two strange things with this build (on a Kaiser and I've added Wifi so maybe that has to do with it?)
- It never sleeps, I haven't run any Donut build for very long but I think I had this issue when trying the Warm Donut once.
If I turn off the screen (or if it times out by itself) this shows up in /dev/kmsg:
stop_drawing_early_suspend: timeout waiting for userspace to stop drawing
- When I run GPS Test and use the time screen the updates are irregular and sometimes skips a couple of seconds and sometimes several updates comes quickle after each other (with less than a second between them). I actually spent some time debugging my GPS code before I tried on eclair and realized it was not the GPS code that was causing it.
Perhaps both issues are related. I've a panel 1 Kaiser.
Other than that it feels very quick and snappy but no sleeping is terrible for the battery life.
Oh, and I tried turning off both wifi and background transfer but that doesn't help.
Tried this on Incubus's Tattoo and it got to HTCCamera.apk and failed:
Code:
--- BEGIN 'HTCCamera.apk' (bootstrap=0) ---
--- would reduce privs here
--- waiting for verify+opt, pid=3751
--- END 'HTCCamera.apk' --- status=0xff00, process failed
Unable to create '/tmp.odex': File exists
rm: cannot remove '/data/dalvik-cache/*': No such file or directory
It repeated Unable to create '/tmp.odex': File exists but i removed them from the code above because it's not necessary to have them in there 9473975394 times.
I rebooted and reinstalled the system to be safe.
preardon said:
Tried this on Incubus's Tattoo and it got to HTCCamera.apk and failed:
Code:
--- BEGIN 'HTCCamera.apk' (bootstrap=0) ---
--- would reduce privs here
--- waiting for verify+opt, pid=3751
--- END 'HTCCamera.apk' --- status=0xff00, process failed
Unable to create '/tmp.odex': File exists
rm: cannot remove '/data/dalvik-cache/*': No such file or directory
It repeated Unable to create '/tmp.odex': File exists but i removed them from the code above because it's not necessary to have them in there 9473975394 times.
I rebooted and reinstalled the system to be safe.
Click to expand...
Click to collapse
it might have something to do with most of the apk's already being odexed
I've posted an odex:ed and zipaligned CM5.0.7 port here: http://forum.xda-developers.com/showthread.php?t=700669
It also odexes every app in /data/app on boot (and clears the dalvik cache).
great donut build!
Thanks Dzo, you managed to pull together a great, snappy no frills donut build! it is fantastic on my Kaiser - and it is only a by-product of yet another great contributions of your! Thanks!
how is this donut build for use?
thoughtlesskyle said:
how is this donut build for use?
Click to expand...
Click to collapse
Great, I am using it daily on my kaiser at the moment. I understand that Kalt_Kaffe had problems with sleeping and battery life, but it works fine for me.
yea i shouldnt have the sleep and battery life problems because i run a vogue and they do things a little differently.
i wish i wasnt changing builds like every other day anymore
this is an excellent vanilla donut build dzo. it's very responsive and stable running from my sd card on the vogue so far. i really like myn's warm donut rom but it would frequently lock up requiring a restart; not the case with this build. thanks.
edit: is it possible to run the odex script again considering that i've been funning this build on my sd card? i wanted to odex the additional apps i added since the first install. also, would i have to manually remove the odexed files after updating an apk?
Had this running for a day on my old Kaiser and it's nearly as fast as my Hero! Fantastic work! Thanks!
This is the "snapiest" android build I have run on my vogue.
loving it thus far.

[Q] Increasing free memory on my Milestone

I've noticed that killing all the apps on my milestone doesn't provide me with a lot of free memory compared to other users.
When I tap the ATK widget, I end up with 35 - 40mb free. I've read that other users can get upwards of 100mb free when they clean-up their running apps.
I did some research and came across the following "fix":
Code:
How To: Free Extra Memory::
look under Settings>SD Card & phone storage> down at avalible space internal storage make note on how much is there.
step 1: download this file
attached at bottom of this thread
step 2: rename the file by deleting the .txt extention and leaving it blank! *should just be named "mot_boot_mode"*
step 3: place the file on the root of your SDcard
step 4: using terminal emulator or adb shell type these commands:
su
mount -o remount,rw /dev/block/mtdblock6 /system
cd /system/bin
cp mot_boot_mode mot_boot_mode.bin
rm mot_boot_mode
cp /sdcard/mot_boot_mode .
chown root.shell mot_boot_mode
chown root.shell mot_boot_mode.bin
chmod 755 mot_boot_mode
chmod 755 mot_boot_mode.bin
reboot
NOTE THE "." at the end of cp /sdcard/mot_boot_mode YOU HAVE TO INCLUDE THE "."
congrats you should have alot more free memory! now go back to Settings>SD card & phone storage> and see how much is avalible
i went from 45mb to 113mb
However there is not much explanation as to what exactly this does.
Also while reading up on the SGS, I've noticed a lot of information on converting the RFS partition to ext2 or 4. I don't think the Milestone suffers from the same i/o problem as the SGS, is there something similar that can be done for the milestone to improve it's performance?
Any input would be appreciated, I'm still a bit of a scrub!
drae52 said:
I've noticed that killing all the apps on my milestone doesn't provide me with a lot of free memory compared to other users.
When I tap the ATK widget, I end up with 35 - 40mb free. I've read that other users can get upwards of 100mb free when they clean-up their running apps.
I did some research and came across the following "fix":
Code:
How To: Free Extra Memory::
look under Settings>SD Card & phone storage> down at avalible space internal storage make note on how much is there.
step 1: download this file
attached at bottom of this thread
step 2: rename the file by deleting the .txt extention and leaving it blank! *should just be named "mot_boot_mode"*
step 3: place the file on the root of your SDcard
step 4: using terminal emulator or adb shell type these commands:
su
mount -o remount,rw /dev/block/mtdblock6 /system
cd /system/bin
cp mot_boot_mode mot_boot_mode.bin
rm mot_boot_mode
cp /sdcard/mot_boot_mode .
chown root.shell mot_boot_mode
chown root.shell mot_boot_mode.bin
chmod 755 mot_boot_mode
chmod 755 mot_boot_mode.bin
reboot
NOTE THE "." at the end of cp /sdcard/mot_boot_mode YOU HAVE TO INCLUDE THE "."
congrats you should have alot more free memory! now go back to Settings>SD card & phone storage> and see how much is avalible
i went from 45mb to 113mb
However there is not much explanation as to what exactly this does.
Also while reading up on the SGS, I've noticed a lot of information on converting the RFS partition to ext2 or 4. I don't think the Milestone suffers from the same i/o problem as the SGS, is there something similar that can be done for the milestone to improve it's performance?
Any input would be appreciated, I'm still a bit of a scrub!
Click to expand...
Click to collapse
Where did you get this .bin file?
What does it do?
I am all for improving free ram and development efforts, but running executables from unknown, untrested sources (no offense) is borderline silly...
I know you said you dont fully understand this, but a bit more detail is in order...no?
Sent from my Milestone using Tapatalk
drae52 said:
I've noticed that killing all the apps on my milestone doesn't provide me with a lot of free memory compared to other users.
When I tap the ATK widget, I end up with 35 - 40mb free. I've read that other users can get upwards of 100mb free when they clean-up their running apps.
I did some research and came across the following "fix":
Code:
How To: Free Extra Memory::
look under Settings>SD Card & phone storage> down at avalible space internal storage make note on how much is there.
step 1: download this file
attached at bottom of this thread
step 2: rename the file by deleting the .txt extention and leaving it blank! *should just be named "mot_boot_mode"*
step 3: place the file on the root of your SDcard
step 4: using terminal emulator or adb shell type these commands:
su
mount -o remount,rw /dev/block/mtdblock6 /system
cd /system/bin
cp mot_boot_mode mot_boot_mode.bin
rm mot_boot_mode
cp /sdcard/mot_boot_mode .
chown root.shell mot_boot_mode
chown root.shell mot_boot_mode.bin
chmod 755 mot_boot_mode
chmod 755 mot_boot_mode.bin
reboot
NOTE THE "." at the end of cp /sdcard/mot_boot_mode YOU HAVE TO INCLUDE THE "."
congrats you should have alot more free memory! now go back to Settings>SD card & phone storage> and see how much is avalible
i went from 45mb to 113mb
However there is not much explanation as to what exactly this does.
Also while reading up on the SGS, I've noticed a lot of information on converting the RFS partition to ext2 or 4. I don't think the Milestone suffers from the same i/o problem as the SGS, is there something similar that can be done for the milestone to improve it's performance?
Any input would be appreciated, I'm still a bit of a scrub!
Click to expand...
Click to collapse
Wow, this is meant for freeing internal memory, not RAM. I'm pretty sure this was meant for 2.1, so don't try it on any 2.2 roms. My milestone also has barely any RAM available.
Caz666 said:
Where did you get this .bin file?
What does it do?
I am all for improving free ram and development efforts, but running executables from unknown, untrested sources (no offense){non taken } is borderline silly...
I know you said you dont fully understand this, but a bit more detail is in order...no?
Sent from my Milestone using Tapatalk
Click to expand...
Click to collapse
It would be silly if I ran it without asking that's why I asked if anyone knows what it does. It's the simplest looking ram "fix" I found, but I'm not versed well enough to understand exactly what it's doing.
I found it on some android forum, (still open on my desktop, I should have posted the link, my bad, I'll get it up soon.) There isn't anymore detail then this unfortunately, which is why I asked here
@Mohitrocks - thanks it was listed as a way to free up ram, but after I read the last line again I tend to agree with you.
How about that file system fix for the sgs? I don't understand much about the milestone filesystem, if anyone could point me to some reading it would be greatly appreciated!
I know it's not what you had in mind but the best way is to uninstall apps that restart themselves when you don't want them to restart.
For example, I had this wallpaper app... it downloads wallpapers... nice app... but why did have to stay in memory ALL THE TIME? I disabled the option for it to rotate wallpapers etc but it wouldn't go away...
There were a couple of others that I don't recall but keep on eye on those persistant memory hogs that shouldn't be persistent.
I'll keep that in mind.
I'm regularly sitting at like 35mb free. How are some users reporting ~100mb? They must have done something; I've never seen mine that high. I've heard of memory booster, what exactly does that app do?
No clue how they have 100mb free ram unless they have 512 mb to start with.
The most I would see on a fresh install of CM612 would be 60 mb max.
I am using shadowmod b3 in which background processes would be auto-killed quickly.
In this way, I can have 7x mb ram at best
how to boost up the ram to 100mb???
I'm using ShadowModb6 and getting between 70 and 80mb free with regular use, and a task killer of course.
LuigiC6 said:
I'm using ShadowModb6 and getting between 70 and 80mb free with regular use, and a task killer of course.
Click to expand...
Click to collapse
how many apps did you install??
It seems to me that the more apps you install, the slower the phone function though there should be no relationship between no.of apps and ram.
And what task killer do you use??
what is your setting??
You can get about 90mb ram with Gingerbread in the best case with the beta 3, but with services killed constantly, so that is not a good comparison, there is no way you can get more than 50-60mb even with froyo, so who told you that they have 100mb free, they talk bull**** or they have a phone with 384MB or 512mb ram
or you are talking about the internal storage space that on the milestone is about 190MB with a clean froyo,
Sent from my A853 using XDA App
I noticed that some apps just get killed in the background when I have recently flashed to CM6 Froyo. However there were less app 'killed' when I was using stock 2.1
I thought Froyo was better in terms of memory management?
The custom ROM OC'ed the Milestone to 900Mhz, so the speed is quite decent. But I'm frustrated when for example, I turn on my GPS Ndrive, and then a call came.. I answered and after that I switched to Ndrive - it loads back from the beginning. This isn't happening with Eclair before.
Come on guys, what can I do?

fbind

GitHub - VR-25/fbind: A versatile Android mounting utility for folders, EXT4 images, LUKS/LUKS2 encrypted volumes, regular partitions and more.
A versatile Android mounting utility for folders, EXT4 images, LUKS/LUKS2 encrypted volumes, regular partitions and more. - GitHub - VR-25/fbind: A versatile Android mounting utility for folders, E...
github.com
Reserved
Archive
Sweet, so this one will start binding automatically on reboot huh? Gonna try.
UPDATE:
Doesn't work mate, i tried "$bind $extsd/mangabird $intsd/mangabird", but it says "/mangabird: not found". The log said "sdcard not found".
For me to no working. Log says all ok. But when i copy some to internal Download, i dont see this file in external Download.
$bind $extsd/.fbind/Download $intsd/Download
Lig:
>>> FOLDER BINDER DEBUG LOG > Thu Jun 15 01:51:22 CEST 2017
Configuration updated. Reboot to apply changes. > Thu Jun 15 01:51:22 CEST 2017
I reboot twice.
khnoizer said:
Sweet, so this one will start binding automatically on reboot huh? Gonna try.
UPDATE:
Doesn't work mate, i tried "$bind $extsd/mangabird $intsd/mangabird", but it says "/mangabird: not found". The log said "sdcard not found".
Click to expand...
Click to collapse
Ok, your issue is simple, mate. If the log says, "SD card not found! Aborting..." try a higher number of seconds. That means your device just takes a little bit longer to mount the external SD card. I've added several zips, each with a different number of seconds to the Downloads page. Try the 15 seconds variant. As you may have noticed, the sooner the bind is performed, the better. I'm currently working on a way to automate that and have only one variant for all devices, regardless of mounting time.
koko115 said:
For me to no working. Log says all ok. But when i copy some to internal Download, i dont see this file in external Download.
$bind $extsd/.fbind/Download $intsd/Download
Log:
>>> FOLDER BINDER DEBUG LOG > Thu Jun 15 01:51:22 CEST 2017
Configuration updated. Reboot to apply changes. > Thu Jun 15 01:51:22 CEST 2017
I reboot twice.
Click to expand...
Click to collapse
Hmm... have you created the target folders manually in the external SD card? @khnoizer, see here? In his case, the SD card is mounted within the 10 seconds mark. Thanks both of you for the reports.
Yes. I created folder Download in extcard.
koko115 said:
Yes. I created folder Diwnload i extcard.
Click to expand...
Click to collapse
Just to be sure...
Code:
$bind $extsd/.fbind/Download $intsd/Download
means you must have the following:
Download folder in your internal SD card
.fbind folder (yes, with the dot) in your external SD card with a Download folder inside of it
is that your setup?
I got permission denied or write error when saving my edited fbind_list.txt on various text editor. Any suggestions?
khnoizer said:
I got permission denied or write error when saving my edited fbind_list.txt on various text editor. Any suggestions?
Click to expand...
Click to collapse
You can copy the file to another location, edit it, then replace the old one. Alternatively, running chmod 777 /data/media/0/fbind_list.txt in a terminal emulator before edition the file should also help. The next version will fix fbind_list.txt permissions automatically upon installation.
Edit: @khnoizer, I use QuickEdit. It asks for root permission in your case to work properly.
Edit 2: sorry, the link is fixed now.
Sorry for a silly question but does this basically do the same as foldermount?
p50kombi said:
Sorry for a silly question but does this basically do the same as foldermount?
Click to expand...
Click to collapse
Yes, but unlike FolderMount, it saves your settings and runs on boot.
@op can you tell me if I bind my download folder(size 5gb) then my internal memory in storage settings will show less then 5gb size or stroage setting still include 5gb in total used memory?
The new version are great, thank you. However, when I tried to bind my android/obb folder, it does got mounted at data/media/0/android/obb, but It's empty at mnt/storage/emulated/0/android/obb. And when I tried to play some games they asked me to download their obb files.
khnoizer said:
The new version are great, thank you. However, when I tried to bind my android/obb folder, it does got mounted at data/media/0/android/obb, but It's empty at mnt/storage/emulated/0/android/obb. And when I tried to play some games they asked me to download their obb files.
Click to expand...
Click to collapse
Here's what you need to do to bind OBB:
1. Install the OBB fix update
2. You don't need to copy your setup to the newer fbind_list.txt this time. Just delete that file and rename your previous_fbind_list.txt back to fbind_list.txt (there are no changes in the template. I just forgot to disable the auto backup/renaming)
3. Add the following lines to fbind_list.txt:
Code:
$bind $extd/Android/obb/YourAppOrGameOBBFolder $obb/YourAppOrGameOBBFolder
$bind $extd/Android/obb/YourAppOrGameOBBFolder $intsd/Android/obb/YourAppOrGameOBBFolder
Or, if you want to bind the entire OBB folder, the following lines are already present in the template (fbind_list.txt) by default:
Code:
$bind $extd/Android/obb $obb
$bind $extd/Android/obb $intsd/Android/obb
4. Reboot
That's a lot of text, I know. Everything will be much simpler in the next version. Stay tuned!
vikasb32 said:
@op can you tell me if I bind my download folder(size 5gb) then my internal memory in storage settings will show less then 5gb size or storage setting still include 5gb in total used memory?
Click to expand...
Click to collapse
That's still an ongoing issue, unfortunately. However, it has nothing to do with the module. Rather, that's a system problem, since other apps don't misreport storage space. I'll look for a workaround.
Edit: I forgot to say that you mentioned the wrong person. "op" shouldn't be there!
VR25 said:
Add this line to fbind_list.txt:
Or, if you want to bind the entire OBB folder, add this one instead:
Click to expand...
Click to collapse
Thank you for the help
i tried your fix, for pairing entire obb, internal pairs to extsd but /sdcard/Android/obb appears to have vanished but I believe it is there because trying to re-create directory results in an error. if I start up a game however, it aplears to be aware of the game data existence but the game freezes. strange?
let me know is you need any specific files, perhaps fstab?
cantenna said:
Thank you for the help
i tried your fix, for pairing entire obb, internal pairs to extsd but /sdcard/Android/obb appears to have vanished but I believe it is there because trying to re-create directory results in an error. if I start up a game however, it aplears to be aware of the game data existence but the game freezes. strange?
let me know is you need any specific files, perhaps fstab?
Click to expand...
Click to collapse
I PM'ed you. Check post #15 for more info. Should I need fstab, I'll ask here. Thanks for the report!
VR25 said:
That's still an ongoing issue, unfortunately. However, it has nothing to do with the module. Rather, that's a system problem, since other apps don't misreport storage space. I'll look for a workaround.
Edit: I forgot to say that you mentioned the wrong person. "op" shouldn't be there!
Click to expand...
Click to collapse
Can you tell me any app which show me my exact free space of internal memory not including bind folders?
vikasb32 said:
Can you tell me any app which show me my exact free space of internal memory not including bind folders?
Click to expand...
Click to collapse
X-plore File Manager

Categories

Resources