a2sd help - Hero CDMA Q&A, Help & Troubleshooting

i am trying to run a2sd on the stock 1.5 Rom (right out of RUU). when i use this method, http://forum.xda-developers.com/showpost.php?p=6087116&postcount=2316, it gives me this :
Code:
C:\Users\Family>adb shell
$ su
su
# a2sd cache
a2sd cache
[*] Starting A2SD version 2.5 beta 1
[: not found
[: not found
[: not found
[: not found
[: not found
[: not found
[: not found
[: not found
[: not found
[ ] Searching for Mount Point...
[: not found
[ ] Creating Mount point.
mkdir failed for /system/sd, File exists
[ ] Mount point created.
[ ] Checking for ext partition
[: not found
[X] No ext partition available. A2SD not active.
#
any suggestions?

andyandrwew said:
i am trying to run a2sd on the stock 1.5 Rom (right out of RUU). when i use this method, http://forum.xda-developers.com/showpost.php?p=6087116&postcount=2316, it gives me this :
Code:
C:\Users\Family>adb shell
$ su
su
# a2sd cache
a2sd cache
[*] Starting A2SD version 2.5 beta 1
[: not found
[: not found
[: not found
[: not found
[: not found
[: not found
[: not found
[: not found
[: not found
[ ] Searching for Mount Point...
[: not found
[ ] Creating Mount point.
mkdir failed for /system/sd, File exists
[ ] Mount point created.
[ ] Checking for ext partition
[: not found
[X] No ext partition available. A2SD not active.
#
any suggestions?
Click to expand...
Click to collapse
I believe you need to be rooted...

regaw_leinad said:
I believe you need to be rooted...
Click to expand...
Click to collapse
i already did. i even repartitioned the sdcard. maybe a reinstallation would fix it.

andyandrwew said:
i already did. i even repartitioned the sdcard. maybe a reinstallation would fix it.
Click to expand...
Click to collapse
nope that didnt work.

andyandrwew said:
i am trying to run a2sd on the stock 1.5 Rom (right out of RUU). when i use this method, http://forum.xda-developers.com/showpost.php?p=6087116&postcount=2316, it gives me this :
Code:
C:\Users\Family>adb shell
$ su
su
# a2sd cache
a2sd cache
[*] Starting A2SD version 2.5 beta 1
[: not found
[: not found
[: not found
[: not found
[: not found
[: not found
[: not found
[: not found
[: not found
[ ] Searching for Mount Point...
[: not found
[ ] Creating Mount point.
mkdir failed for /system/sd, File exists
[ ] Mount point created.
[ ] Checking for ext partition
[: not found
[X] No ext partition available. A2SD not active.
#
any suggestions?
Click to expand...
Click to collapse
Try installing busybox. I bet that's the issue.
There are instructions somewhere on how to install it and where to get it...I don't have those in front of me.

tkirton said:
Try installing busybox. I bet that's the issue.
There are instructions somewhere on how to install it and where to get it...I don't have those in front of me.
Click to expand...
Click to collapse
ive tried busybox b4
i gave up and switched back to Fresh 2.0d

Related

[Script][A2SD]Darktremor 2.7.5.3 Beta 04 [Legend] (01/29/2011)

Introducing...
Darktremor Apps2SD 2.7.5.3 Beta 04
Date of Release: January 29, 2011
Download Current Version
Instructions - Change Log - Commands - ROM List - Developer's Guide
Darktremor Apps2SD Fan Page ----
Darktremor Apps2SD Development Group
Are you installing Darktremor Apps2SD on your phone? Here are the instructions to help you: Facebook
Are you a developer wanting to include Darktremor Apps2SD in your latest ROM? Here is the Developer Guide: Facebook
Click to expand...
Click to collapse
Update on Beta 4
It seems I'm getting mixed results with these betas. I'm not sure why this is occurring, some people have been able to get this working right while others have had a hard time with it.
Currently, I'm rebuilding the entire program. This takes a while because I have to figure out how to pack all these options into the program but make it small enough to where it will run correctly.
I will say that some of the beta features are coming back out...one of them is the search for a partition code. I suspect that code may be leading me into issues with certain platforms, so I'm going back to the 2.7.5.2 method of mounting (mmcblk0p2 or mmcblk1p2).
Also, parts of the code will use Busybox Ash (the only code that won't will be starta2sd, which will still use Bash for the time being). The startup code will definitely use Busybox Ash.
Until then, here are the links to the the last two betas and the last official release:
Version 2.7.5.3 Beta 04 - http://www.darktremor.info/files/a2sd/dtapps2sd-2.7.5.3-beta04-signed.zip
Version 2.7.5.3 Beta 03 - http://www.darktremor.info/files/a2sd/dtapps2sd-2.7.5.3-beta03-signed.zip
Version 2.7.5.2-1 - http://www.darktremor.info/files/a2sd/dtapps2sd-2.7.5.2-1-signed.zip
And, if you want past versions, you can view the repository: ftp://dtuser:[email protected] (ignore the smiley face...that's XDA doing that.)
Click to expand...
Click to collapse
Beta 04 took longer than I expected to release. I have done major changes to the code:
1. New commands: convert-ext4 - This will convert your EXT3 partition into EXT4. Just a friendly reminder on this command: Not every rom supports EXT4, so it is possible to go into a boot loop if you switch roms. Use with caution.
2. Reworked convert-ext3 (convert-ext4 gets similar code)...now a flag file is set before the reboot (no conversion is done before the reboot). At load time, the conversion is performed. This takes longer in the reboot process and you may think your phone has locked up...wait about five minutes before doing anything with the phone.
3. Repair is rebuilt...now it uses existing commands to repair the setup (reinstall, remove, cachesd, cachepart, nocache, datasd, nodata). Definitely shrinks the code.
4. Added fix_permissions program to the package. This may help with Superuser issues when using the datasd feature. It is used in reinstall, remove, datasd and nodata.
5. a2sd install is back!!! Both a2sd install and a2sd reinstall do the exact same thing.
6. Dalvik heap code has been shrunk and now creates a file called dalvikheap. Actually, the code has been doing this all along (since about 2.7.5.2, I think), but I never put the code in to use the file.
7. Low Memory Killer code has also been shrunk and uses a file caled dtset_lowmem to set the low memory killer parameter.
8. Replaced Busybox PS function with Toolbox PS. The issue with Busybox PS is that it gives a false reading when I look for android.process.acore (which is the main program when the GUI starts up). If that is present, the program thinks you are trying to run Darktremor without any command line parameters. This was because Busybox would report the process was there when, in reality, it wasn't (validated this when my phone was boot looping.) Toolbox's PS reports the correct setting. This should fix the bootlooping issues some people are experiencing.
9. New commands: usedtbusybox and usedefaultbusybox - these commands may help in diagnosing issues that is may be related to the native Busybox on your rom. a2sd usedtbusybox will use the Busybox that is packaged with Darktremor. a2sd usedefaultbusybox will turn back on the scan behavior of the program introduced in Beta 03.
10. Support for Darktremor Apps2SD version 2.7 and earlier has been discontinued. To upgrade correctly from one of those versions, use version 2.7.5.3 Beta 03b or earlier.
11. Finally fixed stalled boot issues (or at least my tests with several roms says so.)
See the change log for additional details.
You will notice that if the program runs repair and finds a problem, it will correct the issue and reboot. You will see a second reboot when the dalvik-cache clears (this is to fix timing issues with CyanogenMod...I can't control that startup as well as I can other roms). This only happens if repair is ran or you flash a new rom (as repair will realign all data). If you are upgrading from a previous version of Darktremor, you should not see the reboots.
Click to expand...
Click to collapse
This is Darktremor Apps2SD, a multipurpose program that primarily allows a user to execute applications created for the Android OS on their Secure Digital card (with the proper setup...more on that later). But, Darktremor Apps2SD is all about stability. The goal is to be able for all users of the Android OS to be able to take advantage of a method to run their applications from a secure digital card.
But just because the Darktremor Apps2SD is all about stability, doesn't mean it isn't packed with features:
- Move applications (both free and paid) to the Secure Digital card.
- Move Dalvik Cache to run either from your Secure Digital card or from your cache partition and clears the cache on demand.
- Boot Loop Protection: prevents the phone from boot looping in the event the SD card could not be mounted.
- Dalvik JIT for faster performance on Roms which support it.
- User selectable sizes for the Dalvik heap sizes, allowing a user to freely optimize their system.
- Activate a swap partition on your SD card and sets how often the swap partition is utilized.
- Automatically fixes configuration issues.
- Users can check the free space on their SD card and check the installation to make sure all is setup correctly.
- Runs ZipAlign on demand...this makes your programs load faster.
- Built in help system for easy reference of commands.
- All features can also be reversed without repartitioning your Secure Digital card.
- New logging features assists in troubleshooting issues.
- Commands to set the Low Memory Killer feature at boot time. Great for those people who are the "set it and forget it" type.
- And more...
Darktremor Apps2SD is not the same as Froyo Apps2SD. Froyo Apps2SD creates a secure folder on the FAT32 section of your SD card (this is the section that you see when you mount your phone to your computer) and stores the programs there. This is nice as you don't have to do anything special with the phone, but it isn't backwards compatible with older versions of Android (Cupcake, Donut, Eclair) and, because of the way Froyo works, older programs not designed for Froyo will automatically stay on your internal storage (unless you install a program that forces the move to your SD card).
Darktremor Apps2SD takes a different approach. Based on the original CyanogenMod works, Darktremor Apps2SD uses symbolic linking to force Android into moving your applications to the SD card. Because Android will not allow anything to be ran from the FAT32 partition on your SD card (and, in Froyo, it will only allow you to run programs from a special folder), Darktremor utilizes filesystems called EXT2, EXT3 and EXT4. Each one of these filesystems is native to Linux (the operating system running Android), which allows you to run programs from them (same as, say, a computer running Ubuntu). This method is completely compatible with all versions of Android, including Froyo. In fact, you can run both the Darktremor Apps2SD and Froyo Apps2SD at the same time.
Check out the list of Roms that either have Darktremor Apps2SD installed or are compatible with Darktremor Apps2SD. Click on the link labeled ROM List at the top of this message.
Darktremor Apps2SD Installation Instructions
For the list of people that helped me test this on the various roms that use or can use Darktremor Apps2SD and the changelog: http://forum.xda-developers.com/showpost.php?p=7034326&postcount=3
Click to expand...
Click to collapse
The installation instructions can be found here: http://forum.xda-developers.com/showpost.php?p=7021325&postcount=2
Click to expand...
Click to collapse
If you want a list of commands for Apps2SD, type a2sd help.
Tried installing it on Indigo Bean (CyanogenMod 5.0.8 port), didn't work. It seems it can't mount the ext3 partition:
[ ] Launching Darktremor A2SD
[*] Starting Darktremor Apps2SD version 2.7.5 preview fix 1
[ ] Mounting /system as read-write
[ ] Starting Apps2SD in install mode
[ ] Checking SD Card.
[ ] Searching for Mount Point...
[ ] Creating Mount point.
mkdir: cannot create directory '/system/sd': Cannot allocate memory
[X] Mount point could not be created.
Apps2SD cannot mount ext partition.
I re-partitioned my SD card just to be sure (32 / 512 / the rest) with the same results. Don't know if it's because of the ROM or a2sd. Let me know if there's anything I can do to help you diagnose the problem.
EDIT: I know that there were problems other a2sd solutions and the Legend, the fix was to put a short sleep in the a2sd script, don't know if this is of any help to you..
Your boot sequence is working similar to the Desire (with one exception...yours isn't rebooting when it tries to mount /system as read-write).
Try Preview Fix 3 Test 1: http://www.darktremor.info/files/a2sd/dtapps2sd-2.7.5-pf3-test1-signed.zip
This uses the flash to put the sd directory in /system. It also removes almost all references to remount /system as read-write (the only exception: JIT)
Let's see if this works and I really appreciate your help in testing this.
schpinn said:
Tried installing it on Indigo Bean (CyanogenMod 5.0.8 port), didn't work. It seems it can't mount the ext3 partition:
[ ] Launching Darktremor A2SD
[*] Starting Darktremor Apps2SD version 2.7.5 preview fix 1
[ ] Mounting /system as read-write
[ ] Starting Apps2SD in install mode
[ ] Checking SD Card.
[ ] Searching for Mount Point...
[ ] Creating Mount point.
mkdir: cannot create directory '/system/sd': Cannot allocate memory
[X] Mount point could not be created.
Apps2SD cannot mount ext partition.
I re-partitioned my SD card just to be sure (32 / 512 / the rest) with the same results. Don't know if it's because of the ROM or a2sd. Let me know if there's anything I can do to help you diagnose the problem.
EDIT: I know that there were problems other a2sd solutions and the Legend, the fix was to put a short sleep in the a2sd script, don't know if this is of any help to you..
Click to expand...
Click to collapse
Now I get the following error:
[ ] Launching Darktremor A2SD
[*] Starting Darktremor Apps2SD version 2.7.5 PF3 (Preview Fix 3)
[ ] Starting Apps2SD in install mode
[ ] Checking SD Card.
[ ] Checking for ext partition
[!] Ext partition found, but not mounted.
[ ] Checking Ext partition...
e2fsck 1.40.8 (13-Mar-2008)
/dev/block/mmcblk0p2: clean, 11/249856 files, 39620/499713 blocks
[ ] Mounting ext partitions
mount: mounting /dev/block/mmcblk0p2 on /system/sd failed: No such file or directory
[X] Mounting ext partition failed.
[X] Can't continue script...aborting.
[X] SD card not mounted. Install can't continue.
Problem may be one of the following:
But I was able to manually mount the ext3 partition to /sdcard/sd for instance.
Sorry...I did something stupid. Forgot to put the /system/sd as part of the package.
http://www.darktremor.info/files/a2sd/dtapps2sd-2.7.5-pf3-test2-signed.zip
schpinn said:
Now I get the following error:
[ ] Launching Darktremor A2SD
[*] Starting Darktremor Apps2SD version 2.7.5 PF3 (Preview Fix 3)
[ ] Starting Apps2SD in install mode
[ ] Checking SD Card.
[ ] Checking for ext partition
[!] Ext partition found, but not mounted.
[ ] Checking Ext partition...
e2fsck 1.40.8 (13-Mar-2008)
/dev/block/mmcblk0p2: clean, 11/249856 files, 39620/499713 blocks
[ ] Mounting ext partitions
mount: mounting /dev/block/mmcblk0p2 on /system/sd failed: No such file or directory
[X] Mounting ext partition failed.
[X] Can't continue script...aborting.
[X] SD card not mounted. Install can't continue.
Problem may be one of the following:
But I was able to manually mount the ext3 partition to /sdcard/sd for instance.
Click to expand...
Click to collapse
It works! Excellent .
One question, I tried enabling JIT and got the following errors, but I don't know exactly what they mean.
[ ] Launching Darktremor A2SD
[*] Starting Darktremor Apps2SD version 2.7.5 PF3 (Preview Fix 3)
[ ] Starting Apps2SD in jit mode
[ ] Running A2SD JIT Install Program.
[ ] Remounting /system in read-write
[ ] Running JIT Setup.
[ ] Installing JIT.
[ ] Backing up critical files.
cp: cannot create '/data/dalvik-backup/build.prop': No such file or directory
cp: cannot create '/data/dalvik-backup/bin/dalvikvm': No such file or directory
cp: cannot create '/data/dalvik-backup/lib/libdvm.so': No such file or directory
cp: cannot create '/data/dalvik-backup/lib/libnativehelper.so': No such file or
directory
cp: cannot stat '/system/app/HtcLockScreen.apk': No such file or directory
[ ] Modifying /system/build.prop
[ ] Removing HTC Lock Screen (for stability)
[ ] Installing JIT
cp: cannot create '/system/bin/dalvikvm': File exists
cp: cannot create '/system/lib/libdvm.so': File exists
cp: cannot create '/system/lib/libnativehelper.so': File exists
[ ] Synchronizing...
[ ] Erasing contents of Dalvik-Cache
[ ] Rebooting Phone.
reboot returned
[ ] Remounting /system in read-only.
[ ] Setting File System Ready property to 1.
could not set property
The dalvik-backup is pretty normal...it just means it couldn't find those files in /system/bin. Some roms have it, some don't.
The copying to the /system/bin and /system/lib concerns me...I checked the code, and the busybox cp command is told to force the copy (-f parameter). It doesn't look like that's happening here. I'll look into it and see if I can find out why that's happening.
schpinn said:
It works! Excellent .
One question, I tried enabling JIT and got the following errors, but I don't know exactly what they mean.
[ ] Launching Darktremor A2SD
[*] Starting Darktremor Apps2SD version 2.7.5 PF3 (Preview Fix 3)
[ ] Starting Apps2SD in jit mode
[ ] Running A2SD JIT Install Program.
[ ] Remounting /system in read-write
[ ] Running JIT Setup.
[ ] Installing JIT.
[ ] Backing up critical files.
cp: cannot create '/data/dalvik-backup/build.prop': No such file or directory
cp: cannot create '/data/dalvik-backup/bin/dalvikvm': No such file or directory
cp: cannot create '/data/dalvik-backup/lib/libdvm.so': No such file or directory
cp: cannot create '/data/dalvik-backup/lib/libnativehelper.so': No such file or
directory
cp: cannot stat '/system/app/HtcLockScreen.apk': No such file or directory
[ ] Modifying /system/build.prop
[ ] Removing HTC Lock Screen (for stability)
[ ] Installing JIT
cp: cannot create '/system/bin/dalvikvm': File exists
cp: cannot create '/system/lib/libdvm.so': File exists
cp: cannot create '/system/lib/libnativehelper.so': File exists
[ ] Synchronizing...
[ ] Erasing contents of Dalvik-Cache
[ ] Rebooting Phone.
reboot returned
[ ] Remounting /system in read-only.
[ ] Setting File System Ready property to 1.
could not set property
Click to expand...
Click to collapse
tkirton said:
The dalvik-backup is pretty normal...it just means it couldn't find those files in /system/bin. Some roms have it, some don't.
The copying to the /system/bin and /system/lib concerns me...I checked the code, and the busybox cp command is told to force the copy (-f parameter). It doesn't look like that's happening here. I'll look into it and see if I can find out why that's happening.
Click to expand...
Click to collapse
maybe you have to symlink those files afterwards ...
tkirton said:
The dalvik-backup is pretty normal...it just means it couldn't find those files in /system/bin. Some roms have it, some don't.
The copying to the /system/bin and /system/lib concerns me...I checked the code, and the busybox cp command is told to force the copy (-f parameter). It doesn't look like that's happening here. I'll look into it and see if I can find out why that's happening.
Click to expand...
Click to collapse
OK, if there's anything I can do to help you diagnose the problem please let me know.
EDIT: typo.
The only thing I can think of is the /system partition isn't switching to read-write or there's a NAND protection on it. I would think I would get some other error, i.e. read only system error.
I'll see if there's another way to put JIT on a Legend.
frullewulle said:
maybe you have to symlink those files afterwards ...
Click to expand...
Click to collapse
Will do. I'm going to look for an alternative method to add JIT.
schpinn said:
OK, if there's anything I can do to help you diagnose the problem please let me know.
EDIT: typo.
Click to expand...
Click to collapse
tkirton said:
Will do. I'm going to look for an alternative method to add JIT.
Click to expand...
Click to collapse
I don't know if I was supposed to do it this way, but now I tried running the command in recovery, it worked and now JIT is running !
Hi,
I have tried this application but I don't succeed in making to work it as it would owe.
My problem is that it creates badly the run where they owe the apks to be preserved, to it creates here him to me:
/ data/app
instead that to create here it:
/ system/sd/app
and if I check with adb shell (-> su -> ls -l /data) I don't find me these lines:
dalvik-cache -> /system/sd/dalvik-cache
app-private -> /system/sd/app-private
app -> /system/sd/app
Click to expand...
Click to collapse
Is there a remedy?
I have made the test on:
- ROM rooter (poul) [r4]
- My personal ROM
For me Android is new as operating system and therefore I have little experience about it.
Thanks for the answers
Hi.. I also just wanted to test this.. I have rooted Legend with r4..
Running the Modoco-Rodrigez 2.3 ROM..
When installing this zip.. my phone loops into a continues reboot..
Keeps rebooting itself..
OK! I have resolved, I had not modified the boot.img
thanks for the guide
UJ
After a clean install of the latest Indigo Bean I flashed Darktremor again, ran a2sd jit in recovery, after rebooting got a bunch of FCs (phone and gapps if I'm not mistaken) and the device became totally unusable. Is this somehow fixable?
This is what logcat had to say:
I/Process (22549): Sending signal. PID: 22549 SIG: 9
I/ActivityManager( 241): Process com.android.phone (pid 22549) has died.
I/ActivityManager( 241): Start proc com.android.phone for restart om.android.phone: pid=22559 uid=1001 gids={3002, 3001, 3003, 1015}
I/ActivityManager( 241): Low Memory: No more background processes.
D/dalvikvm(22559): Total arena pages for JIT: 2
D/dalvikvm(22559): Total arena pages for JIT: 3
E/dalvikvm(22559): Can't open dex cache '/data/dalvik-cache/[email protected]@[email protected]': No such file or directory
I/dalvikvm(22559): Unable to open or create cache for /system/app/Phone.apk (/data/dalvik-cache/[email protected]@[email protected])
D/AndroidRuntime(22559): Shutting down VM
W/dalvikvm(22559): threadid=3: thread exiting with uncaught exception (group=0x4001e178)
E/AndroidRuntime(22559): Uncaught handler: thread main exiting due to uncaught exception
E/AndroidRuntime(22559): java.lang.RuntimeException: Unable to instantiate application com.android.phone.PhoneApp: java.lang.ClassNotFoundException: com.android
.phone.PhoneApp in loader [email protected]
E/AndroidRuntime(22559): at android.app.ActivityThread$PackageInfo.makeApplication(ActivityThread.java:523)
E/AndroidRuntime(22559): at android.app.ActivityThread.handleBindApplicat
ion(ActivityThread.java:3996)
E/AndroidRuntime(22559): at android.app.ActivityThread.access$2900(ActivityThread.java:119)
E/AndroidRuntime(22559): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1901)
E/AndroidRuntime(22559): at android.os.Handler.dispatchMessage(Handler.java:99)
E/AndroidRuntime(22559): at android.os.Looper.loop(Looper.java:123)
E/AndroidRuntime(22559): at android.app.ActivityThread.main(ActivityThrea
d.java:4363)
E/AndroidRuntime(22559): at java.lang.reflect.Method.invokeNative(Native
Method)
E/AndroidRuntime(22559): at java.lang.reflect.Method.invoke(Method.java:5
21)
E/AndroidRuntime(22559): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:860)
E/AndroidRuntime(22559): at com.android.internal.os.ZygoteInit.main(Zygot
eInit.java:618)
E/AndroidRuntime(22559): at dalvik.system.NativeStart.main(Native Method)
E/AndroidRuntime(22559): Caused by: java.lang.ClassNotFoundException: com.android.phone.PhoneApp in loader [email protected]
E/AndroidRuntime(22559): at dalvik.system.PathClassLoader.findClass(PathC
lassLoader.java:243)
E/AndroidRuntime(22559): at java.lang.ClassLoader.loadClass(ClassLoader.j
ava:573)
E/AndroidRuntime(22559): at java.lang.ClassLoader.loadClass(ClassLoader.j
ava:532)
E/AndroidRuntime(22559): at android.app.Instrumentation.newApplication(In
strumentation.java:942)
E/AndroidRuntime(22559): at android.app.ActivityThread$PackageInfo.makeApplication(ActivityThread.java:518)
E/AndroidRuntime(22559): ... 11 more
I/Process ( 241): Sending signal. PID: 22559 SIG: 3
I/dalvikvm(22559): threadid=7: reacting to signal 3
W/ActivityManager( 241): Process com.android.phone has crashed too many times: killing!
I/dalvikvm(22559): Wrote stack trace to '/data/anr/traces.txt'
I/DumpStateReceiver( 241): Added state dump to 1 crashes
I/power ( 241): *** set_screen_state 0
D/SurfaceFlinger( 241): About to give-up screen, flinger = 0x115d38
Click to expand...
Click to collapse
Thought I replied to this earlier...guess not.
JIT and SenseUI don't tend to work well together. Not sure if that's the issue here...I see you have a Low Memory issue (this looks oddly like the one that Flipzmode had on his).
Three things you can try:
1. Download 2.7.5 Preview Fix 4 - This was rebuilt last night due to the same issue you are seeing. I have tested on the Hero and all works well...unfortunately, I don't see the same issue you are seeing (or that Flipzmode saw). Hopefully, the rebuild will stop that.
2. After applying Dalvik JIT, erase the entire Dalvik-Cache (a2sd resetcache)
3. Increase the Dalvik Heap Size: 24mb = a2sd largeheap, 32mb = a2sd jumboheap.
schpinn said:
This is what logcat had to say:
Click to expand...
Click to collapse
tkirton said:
Thought I replied to this earlier...guess not.
JIT and SenseUI don't tend to work well together. Not sure if that's the issue here...I see you have a Low Memory issue (this looks oddly like the one that Flipzmode had on his).
Three things you can try:
1. Download 2.7.5 Preview Fix 4 - This was rebuilt last night due to the same issue you are seeing. I have tested on the Hero and all works well...unfortunately, I don't see the same issue you are seeing (or that Flipzmode saw). Hopefully, the rebuild will stop that.
2. After applying Dalvik JIT, erase the entire Dalvik-Cache (a2sd resetcache)
3. Increase the Dalvik Heap Size: 24mb = a2sd largeheap, 32mb = a2sd jumboheap.
Click to expand...
Click to collapse
You actually had already answered, my bad, I crossposted this to the original discussion thread, sorry for that.
I tried the new version, but it got me stuck in a bootloop. Also tried using the old version again, increasing the Dalvik heap size, but it didn't help. And I always cleaned my Dalvik cache when enabling JIT.

[MOD] full r/w access via overlay filesystem (any ROM)

OK, here we go. Following the model from Desire thread, I made this one for Legend too.
Backgroud:
If I sum up some key points from this thread... there is no way of writing to system partition (Legend, Desire...) even if it is mounted in read-write mode. The only way of writing to system partition is via recovery mode (if you have already rooted your Legend) which makes a process of updating/testing a pain... you have to reboot your phone into recovery mode each time you want to change something on system partition. So guys at Desire subforum came up with an idea to put a writable overlay over the /system directory. This principle is very well known from live CD distros of Linux and Asus also introduced this on their EEE systems running Linux.
This method can be used not only on system partition (so we can "write" to it) but also on data partition which brings us really a neat way of point-in-time backup. Basically one could make overlay of an entire system just after the system was installed and set-up (with all software and custom settings). Then when anything goes wrong after this point, all one has to do is to wipe the directory/partition where writes were being made - no need to factory reset (wiping data partition), setting things up and installing all the apps all over again. This method can well be a better alternative of nandroid backup, because restoring from nandroid backup wipes out all partitions and restore data to them from images. And we all know that frequent repetition of this process really deteriorates non-removable NAND flash chips in our phones.
Contents:
shell script that does the actual /system overlay
statically compiled mount (for compatibility reasons)
auplink utility for flushing pseudo-links to writable device (not used atm)
Shell script that does the overlay is made so it can use any (first) ext2/3 partition on your sdcard. That means you can use your a2sd partition for overlay too. If a2sd is not active but you still have ext2/3 partition on your sdcard, it will be mounted and used for overlay. If you don't have ext2/3 partition on your sdcard, then internal data partition will be used instead. In this case you will have to be careful not to fill it up entirely.
Requirements:
rooted Legend of course
any kernel with built-in aufs support
busybox
run-parts integrated in init.rc script (/etc/init.d)
a2sd script should run before the overlay script (only if you use a2sd)
(When I mention a2sd in this post I mean any a2sd; a2sd, a2sd+, apps2sd, DarkTremor, LightSabre, GoldenThrone )
Installation
Boot to recovery mode (ClockworkMod) and apply this update. After applying it (re)boot your phone. At this point overlay is not yet enabled. You have to issue:
Code:
adb shell aufs --enable
...to enable it and reboot your phone afterwards for changes to take effect.
Configuration
If you want to enable/disable overlay later on, issue:
Code:
adb shell aufs --disable
...to disable overlay or:
Code:
adb shell aufs --enable
...to enable overlay again. Reboot your phone for changes to take effect.
Be advised that after wiping (Factory data reset) overlay is disabled so you will have to enable it again.
Troubleshooting
Make logcat of boot process and check for errors in 1st 50 or so lines.
Warning!!!
Please, do not even try to flash this "update" if you don't know what you are doing or what things I mentioned above mean!!!
Click to expand...
Click to collapse
Click to expand...
Click to collapse
Changelog
0.7 (December 16, 2010)
compatibility enhancements
some minor changes
0.6.1 (December 2, 2010)
script is now calling e2fsck or e2fsck_recvy
0.6 (December 1, 2010)
dropped auplink binary
some more error handling
changed installation script
0.5.1 (October 4, 2010)
minor change in installation script
0.5 (October 4, 2010)
added enable/disable ability (dumfaq was here also)
improved error handling
0.4 (September 30, 2010)
updated aufs script to check if aufs support is already on
added statically compiled mount to support mount-move on any ROM
0.3 (September 28, 2010)
updated aufs script to check presence of /data/local/dosysoverlay file (to enable/disable)
0.2 (September 20, 2010)
updated aufs script to check availability of ext partition on SD card (thanks to dumfaq)
0.1 (September 3, 2010)
initial release
Wow impressive..
I'll try to include into my rom!
Thank you so much!
This sounds very good... But please enlighten me...
Will this only work on stock/modified stock roms.. or will this work on CM6 roms also? (Azure 1.0 etc.)
Hey Neon, this would certainly overwrite your OC kernel.
But you can always build your own with aufs support and use my overlay script (maybe you'll find some glitch in it ).
I would just ask you to consider putting init.d into /data/local (making symlink in /system/etc). That would ease up adding/removing/chmoding scripts inthere. I think this approach is very handy.
I have put together a little script that would look for init.d link or directory in /system/etc (or directory in /data/local) and then decide to make /data/local/init.d directory or not.
whitetigerdk said:
This sounds very good... But please enlighten me...
Will this only work on stock/modified stock roms.. or will this work on CM6 roms also? (Azure 1.0 etc.)
Click to expand...
Click to collapse
It would work on CM6 too, but you would have to copy WiFi module from stock ROM, because I didn't include it in this update. But bare in mind that CM6 is based on kernel 2.6.32 and above and we are talking 2.6.29 here!
Ahh one more thing. CM6 kernel should already contain AUFS support (if I'm not mistaken) so you could use just my overlay loading script and auplink binary.
Blayo, an alternative way for nandroid backup sounds really interesting. if included in the rom along with a few further instructions Im sure it could be brought down to the level of no-obs. Ill wait till puppy is 100% tested
Learners Lisence said:
Blayo, an alternative way for nandroid backup sounds really interesting. if included in the rom along with a few further instructions Im sure it could be brought down to the level of no-obs. Ill wait till puppy is 100% tested
Click to expand...
Click to collapse
Oh.. you can't wait.. you are the one who is ment to be doing the testing .. so the rest of us are waiting for your result.
Sent from my Legend using XDA App
So...basically, this will helps installing Ad-free and OpenVPN on our Legend, right?
BlaY0 said:
Ahh one more thing. CM6 kernel should already contain AUFS support (if I'm not mistaken) so you could use just my overlay loading script and auplink binary.
Click to expand...
Click to collapse
The CM6 port from Ali Baba (Azure 1.0) contains a 2.6.29 kernel and no AUFS module... So it should work with your zip. Great work BlaY0!!!
Just to be sure.
This should work with Azure 1.0, right? What was that thing about the wifi?
cryshop said:
So...basically, this will helps installing Ad-free and OpenVPN on our Legend, right?
Click to expand...
Click to collapse
I'm not sure what you mean... but it will certainly help you adding/removing stuff to/from /system on-the-fly...
Briix said:
Just to be sure.
This should work with Azure 1.0, right? What was that thing about the wifi?
Click to expand...
Click to collapse
It's for 2.6.29 kernel (check the thread title!) and you have to provide your own WiFi driver, because it is not included in this update. Be advised that modules/drivers versions and kernel versions can not mix most of the times. You also can not use just aufs module from this update with any non-aufs kernel (even if versions match), it just won't work.
well, I got this working on my slide (I have no ext partition) however, I had to make some changes...
Code:
7,8c7,8
< RODIR=/data/sysro
< COUNT=0
---
> RODIR=/system
> COUNT=2
16c16
< while [ ! -e /dev/block/mmcblk0p1 ]; do
---
> while [ ! -e /dev/block/mmcblk0p$COUNT ]; do
48,49d47
< insmod /system/lib/modules/aufs.ko
< mount --move /system $RODIR
Without changing the while loop, it always detected an ext partition even though none existed.
Haven't tested it with an ext partition though.
Obviously I used my own kernel and modules.
Thanks alot.
Tested on CM6.0 (Azure latest) and the ROM still works perfectly including my WiFI. I have not tested the overlay functions itself just that it did not screw up CM6.0 which it didn't!
Will let you know the results of the AUFS side of things once I have finished playing!
Let us know how it goes... I'm still trying to figure out how to the the aufs stuff working.
!!!ignore me!!!
dumfuq said:
well, I got this working on my slide (I have no ext partition) however, I had to make some changes...
Code:
7,8c7,8
< RODIR=/data/sysro
< COUNT=0
---
> RODIR=/system
> COUNT=2
16c16
< while [ ! -e /dev/block/mmcblk0p1 ]; do
---
> while [ ! -e /dev/block/mmcblk0p$COUNT ]; do
48,49d47
< insmod /system/lib/modules/aufs.ko
< mount --move /system $RODIR
Without changing the while loop, it always detected an ext partition even though none existed.
Haven't tested it with an ext partition though.
Obviously I used my own kernel and modules.
Click to expand...
Click to collapse
Hi m8,
Thanks for the input but I think that you are missing the point why this while loop is there
...it is there just to check when SD card is ready to be used. The thing is that it depends of what speed is your SD card. If you have a class 6 for example, it can be available in less than a second, but if you have stock SD card or slower one, it is available only after 2 or even 3 seconds.
But you were right about the script not doing overlay if there's SD card present and no ext partition on it so I changed it a little. here's the patch:
Code:
--- 70aufs.old 2010-09-20 10:29:49.000000000 +0200
+++ 70aufs 2010-09-20 10:28:57.000000000 +0200
@@ -26,13 +26,20 @@
done
if [ -z "$NOSD" ]; then
DEV=`fdisk -l /dev/block/mmcblk0|grep Linux|head -n1|awk '{print $1}'`
- SD=/data/sd
- RWDIR=${SD}/sysrw
- [ -d "$SD" ] || mkdir $SD
- e2fsck -y $DEV
- mount -t auto -o noatime,nodiratime $DEV $SD
- chown 1000.1000 $SD
- chmod 775 $SD
+ if [ -n "$DEV" ]; then
+ SD=/data/sd
+ RWDIR=${SD}/sysrw
+ [ -d "$SD" ] || mkdir $SD
+ e2fsck -y $DEV
+ mount -t auto -o noatime,nodiratime $DEV $SD
+ chown 1000.1000 $SD
+ chmod 775 $SD
+ else
+ mkdir /dev/shm
+ mount -t tmpfs -o size=4m shm /dev/shm
+ RWDIR=/data/sysrw
+ MTOPTS="xino=/dev/shm/.aufs.xino,dirs=${RWDIR}:${RODIR}=ro"
+ fi
else
mkdir /dev/shm
mount -t tmpfs -o size=4m shm /dev/shm
...now it will check the availability of SD card and if it's there it will check for ext partition on it. If one is present it will prepare and mount it, otherwise it will do the overlay on data partition.
Update is also available in 1st post.
BlaY0 said:
Hi m8,
Thanks for the input but I think that you are missing the point why this while loop is there
...it is there just to check when SD card is ready to be used. The thing is that it depends of what speed is your SD card. If you have a class 6 for example, it can be available in less than a second, but if you have stock SD card or slower one, it is available only after 2 or even 3 seconds.
But you were right about the script not doing overlay if there's SD card present and no ext partition on it so I changed it a little. here's the patch:
Code:
--- 70aufs.old 2010-09-20 10:29:49.000000000 +0200
+++ 70aufs 2010-09-20 10:28:57.000000000 +0200
@@ -26,13 +26,20 @@
done
if [ -z "$NOSD" ]; then
DEV=`fdisk -l /dev/block/mmcblk0|grep Linux|head -n1|awk '{print $1}'`
- SD=/data/sd
- RWDIR=${SD}/sysrw
- [ -d "$SD" ] || mkdir $SD
- e2fsck -y $DEV
- mount -t auto -o noatime,nodiratime $DEV $SD
- chown 1000.1000 $SD
- chmod 775 $SD
+ if [ -n "$DEV" ]; then
+ SD=/data/sd
+ RWDIR=${SD}/sysrw
+ [ -d "$SD" ] || mkdir $SD
+ e2fsck -y $DEV
+ mount -t auto -o noatime,nodiratime $DEV $SD
+ chown 1000.1000 $SD
+ chmod 775 $SD
+ else
+ mkdir /dev/shm
+ mount -t tmpfs -o size=4m shm /dev/shm
+ RWDIR=/data/sysrw
+ MTOPTS="xino=/dev/shm/.aufs.xino,dirs=${RWDIR}:${RODIR}=ro"
+ fi
else
mkdir /dev/shm
mount -t tmpfs -o size=4m shm /dev/shm
...now it will check the availability of SD card and if it's there it will check for ext partition on it. If one is present it will prepare and mount it, otherwise it will do the overlay on data partition.
Update is also available in 1st post.
Click to expand...
Click to collapse
sweet thanks man. I'll give it a go tomorrow.
BlaY0 said:
Hi m8,
Thanks for the input but I think that you are missing the point why this while loop is there
...it is there just to check when SD card is ready to be used. The thing is that it depends of what speed is your SD card. If you have a class 6 for example, it can be available in less than a second, but if you have stock SD card or slower one, it is available only after 2 or even 3 seconds.
But you were right about the script not doing overlay if there's SD card present and no ext partition on it so I changed it a little. here's the patch:
...now it will check the availability of SD card and if it's there it will check for ext partition on it. If one is present it will prepare and mount it, otherwise it will do the overlay on data partition.
Update is also available in 1st post.
Click to expand...
Click to collapse
Works great for non ext now, thanks. I still have to set sysro to /system and take out the mount --move or it breaks though.
What's the logic/purpose of moving the sysro anyways, I noticed they are not doing that in the desire version. Just curious.
Thanks again
The purpose of mount moving /system to some place else is that you have only one instance of "/system" in /proc/mounts eventually. If you just do the overlay over /system, you have two instances of "/system" in /proc/mounts and that causes some root apps to panic because they chose the first instance (to remount it read-write) which we don't actually want.
But as soon as you mount move /system to some place else you also loose everything that's in it (bin, xbin, lib). And since you are on CM6 (i believe), your busybox is compiled dinamically thus it depends first on /system/bin/linker and then on libraries in /system/lib. You can catch those lib deps with LD_LIBRARY_PATH variable but the problem is still /system/bin/linker absolute path which is compiled into your busybox and all other native binaries.
There is actually only one solutions to this problem and that is to get statically built busybox, copy it to let say /data/bin and call this busybox from script.
I will add to 1st post that statically built busybox is imperative.

[Script] App/Data Backup

Hello all,
I have updated the script further to allow for arguments to be accepted as well as having the script placed in /system/bin. This works pretty much like Titanium Backup except that it's a script and uses a CLI. No pretty GUI . You can backup, restore, and fix app and data permissions from this script. 'fix_permissions' is embedded within this script and it will be install in the /system/bin folder if the startup script does not already find it. The script does not really work like an Apps2SD other than it backs up apps from /data/app and their appropriate data folders from /data/data.
This script can be very useful when switching between ROMs as your app and data can be reinstalled with the script's restore feature.
The script currently looks for APKs to backup from /data/app, /data/app-private, and /mnt/asec.
My first creation of this script was based upon a modified version of Firerat's Apps2SD script so naturally many thanks goes to him. Also the fix_permissions script comes from Koush and the Cyanogen Team.
No EXT partition required! Just download the file and run on an Android device.
STEPS:
1. Put the attached file on your SD card and run. It will install app_backup to /system/bin. From there you can type the following to start the program:
Code:
app_backup
Here's an example of backing up a couple apps with a data backup:
Code:
C:\Users\zlippard\Documents>adb shell
# app_backup
app_backup
Welcome to AppBackup 1.1
OPTIONS
--------------------------------
'b' to backup
'r' to restore
'f' to fix all app permissions
'd' to delete app_backup folder
'x' to reboot
'q' to quit: b
b
Creating app list to /dev/applist.txt...
Done!
[1] sd com.DefiantDev.RocketBunnies
[2] sd com.rovio.angrybirds
[3] sd com.rovio.angrybirdsseasons
[4] sd sts.pl
[5] app android.tether
[6] app com.alfray.timeriffic
[7] app com.androidemu.gbalite
[8] app com.aurorasoftworks.quadrant.ui.standard
[9] app com.batterypoweredgames.lightracer3dbasic
[10] app com.bfs.papertoss
[11] app com.chase.sig.android
[12] app com.chung.compasslevel
[13] app com.citrix.Receiver
[14] app com.facebook.katana
[15] app com.faziklogic.scripter
[16] app com.fede.launcher
[17] app com.forthegamer.android.scheduler
[18] app com.google.android.apps.chrometophone
[19] app com.google.android.apps.googlevoice
[20] app com.google.android.apps.maps
[21] app com.google.android.apps.unveil
[22] app com.google.android.carhome
[23] app com.google.android.gm
[24] app com.google.android.stardroid
[25] app com.google.android.street
[26] app com.google.android.voicesearch
[27] app com.google.android.youtube
[28] app com.google.zxing.client.android
[29] app com.gravitymobile.app.hornbill
[30] app com.icenta.sudoku.ui
[31] app com.intuit.instantreturn
[32] app com.intuit.instantreturn.filing.key
[33] app com.joelapenna.foursquared
[34] app com.koushikdutta.rommanager.license
[35] app com.metago.astro
[36] app com.mhuang.overclocking
[37] app com.mobitv.client.nfl2010
[38] app com.pandora.android
[39] app com.paypal.android.p2pmobile
[40] app com.shazam.android
[41] app com.sirma.mobile.bible.android
[42] app com.southwestairlines.mobile
[43] app com.sporadicsoftware.NetQFree
[44] app com.twitter.android
[45] app com.verizon.ams.companion
[46] app com.verizon.android.wifios
[47] app com.vzw.hss.myverizon
[48] app com.zebdor.android.poolCare
[49] app net.flixster.android
[50] app net.rbgrn.lightracer
[51] app org.connectbot
[52] app org.coolcode.emuroms
[53] app ru.orangesoftware.areminder
Enter app #'s to backup or 'a' for all and press [ENTER].
Or 0 to exit (ex: 1 5 15): 1 3 4
1 3 4
Copy data? ('y' or 'n') y
y
1 of 3] - Backing up com.DefiantDev.RocketBunnies...Done!
2 of 3] - Backing up com.rovio.angrybirdsseasons...Done!
3 of 3] - Backing up sts.pl...Done!
OPTIONS
--------------------------------
'b' to backup
'r' to restore
'f' to fix all app permissions
'd' to delete app_backup folder
'x' to reboot
'q' to quit: q
q
Goodbye!
#
When starting the script, you will be brought to the main menu screen where you can choose to either backup, restore, fix permissions, delete /sdcard/app_backup (this is the storage folder), reboot or quit. The rest is pretty self explanatory...
So far I have tested this script on the DROID and DROID Incredible. The DROID was running Bugless Beast 2.2 and the Inc I've tried ran CM6 and CM7.
UPDATES:
1.4
Added "busybox " before each command call within the app_backup script to make sure busybox commands are being called.
1.3
Fixed issue with backup apps not showing up. Thanks to welcomb for notifying me.
Fixed mounting issue for ro/rw in /system
1.2
Fixed backup feature for phones that use Apps2SD. Thanks to welcomb.
Fixed deletion feature of apps and data.
1.1
Arguments: use -b to auto-run a full backup. -r will auto-run a full restore of all apps in android_app_backup
Apps and data are now stored in /sdcard/android_app_backup.
app_backup script is now automatically installed to /system/bin/app_backup when running the new script. The new script is more of an installer.
Let me know of any bugs!
Much of the credit goes to Firerat for creating the initial apps2sdext script. This is what gave me the idea to continue on with an app backup script. Here's Firerat's latest version of apps2sdext in case you want to see it or don't have an incredible: http://forum.cyanogenmod.com/topic/...mount-issues-i-hope/page__p__24386#entry24386
As the usual goes, I'm not responsible for any mishaps that may occur while using this script or bricked phones, data loss, blah blah blah... So, USE AT YOUR OWN RISK.
The script is attached below. Have fun! Please post any findings, bugs, questions, comments, or updates you would like to see here. Feel free to make any modifications to this script.
NOTE TO SAMSUNG RELAY 4G USERS:
A friend of mine has this phone and was getting the following error when running the .sh script:
Code:
can't create temporary file /sqlite_stmt_journals/mksh.<random>
To remedy this, I remounted the root directory / as read-write,created the folder /sqlite_stmt_journals, ran the .sh script, and afterwards remounted to read-only.
anyone tried this? lots of success of nexus one
For future use...
zebdor44 said:
Hello all,
I have modified my script to be more of an app & data backup utility. This works pretty much like Titanium Backup except that it's a script and uses a CLI. No pretty GUI . You can backup, restore, and fix app and data permissions from this script. 'fix_permissions' is embedded within this script and it will be install in the /system/bin folder if the app_backup.sh script does not already find it. Since this is a complete revision, I have set the version back to 1.0. The script does not really work like an Apps2SD other than it backs up apps from /data/app and their appropriate data folders from /data/data.
This script can be very useful when switching between ROMs as your app and data can be reinstalled with the script's restore feature.
The script currently looks for APKs to backup from /data/app, /data/app-private, and /mnt/asec.
<...>
Click to expand...
Click to collapse
This is SO much easier than Titanium, and I am trying to figure out how to automate backup / restore. My end goal:
Run a Nandroid
Run this script (in Backup mode)
Wipe userdata
Install Rom
Install extras (kernel, Gapps, etc)
Restore apps.
Anyone want this?
If people are interested, I may take a look into this.
Woooow, nice work man =]
I was gonna write something really simple, but you beat me to it! Thanks!
EDIT: ooppps, didn't mean that your script was simple! I meant that you beat me to an app backup script, and yours would blow mine out of the water xD
I'm a bit busy right now (haha, but not too busy to post... ), but does anyone know if this supports restoring apps only? I feel like it probably does, but can anyone confirm?
Again, this looks awesome!
Thanks guys for the comments!! Good to hear you like it
alanthemanofchicago said:
This is SO much easier than Titanium, and I am trying to figure out how to automate backup / restore. My end goal...
Click to expand...
Click to collapse
Let me try making an update.zip that'll run the script. Then you could run the update.zip in recovery mode like CWM or AmonRa.
gmichaelow said:
Woooow, nice work man =]...but does anyone know if this supports restoring apps only? I feel like it probably does, but can anyone confirm?
Click to expand...
Click to collapse
The script will restore apps and their data folders. Basically what it does is it reinstalls the app that you selected to restore and then overwrites the appropriate /data/data folder for that app with the backup.
Automating backups and restores
So it seems it may not be that easy to create an update.zip that will work properly. The script will need to mount /system, /data and /datadata to access the apks and data folders while in recovery. That's not difficult to do but apps on the sdcard under /mnt/asec may prove to be a little more difficult. I made a working update.zip that would run 'app_backup -b' to automate the process but there is no output of script so I have not posted that. The output would be kinda nice to see just so you know how far along the backup process is at.
I may need to dig deeper on the update.zip but for now check out the updates!
Thanks!
After finally getting the script into /system and running it, it doesn't work. I get the output:
Code:
[: not found
[: not found
[: not found
Ok nevermind!
Goodbye!
Using a rooted Samsung Galaxy 3. I'm still very new to custom ROMs, etc.
Hi
I get the following error when trying to backup on my Samsung Galaxy S :
data/system/packages.xml no such file or directory
Nothing to backup
What can i do?
Skele Drew said:
After finally getting the script into /system and running it, it doesn't work. I get the output:
Code:
[: not found
[: not found
[: not found
Ok nevermind!
Goodbye!
Using a rooted Samsung Galaxy 3. I'm still very new to custom ROMs, etc.
Click to expand...
Click to collapse
FadeFx said:
Hi
I get the following error when trying to backup on my Samsung Galaxy S :
data/system/packages.xml no such file or directory
Nothing to backup
What can i do?
Click to expand...
Click to collapse
Hmm... If you have Astro lookup /data/system and see if the packages.xml file exists. Better yet, if you have a terminal emulator or ADB do a
Code:
ls /data/system | grep packages.xml
and see if anything comes up. The Galaxy series should have the same file system structure as any other Android phone... What Android OS are you running?
EDIT: It looks like the Galaxy series is using 2.2... Also if one of you could do a
Code:
su
cd /
find -name packages.xml
find -name packages.list
within a terminal emulator or ADB this should show where the packages files are located. It may take a bit of time to do the search since its looking for it from /.
./dbdata/system/packages.xml
find -name packages.list does search forever it seams...
Ok I might have to update the script to look in that directory for the packages.xml file. Stay tuned! Sorry for the delay in getting back. Been pretty busy.
EDIT: Download Busybox Installer from the market (the free one) and try installing the latest busybox for your samsung phone and then try running the script again. Does the script seem to act any better? I'm thinking the :not found] issue has to do with a bad busybox and the script not finding the right commands it needs to use. Let me know how that turns out.
Remember to nandroid backup before installing the busybox just in case
Busybox version is 1.19.0 but i didn't try the script yet. Will when i come home...
FadeFx said:
Busybox version is 1.19.0 but i didn't try the script yet. Will when i come home...
Click to expand...
Click to collapse
Just curious, any luck with the busybox upgrade?
I've updated the script to version 1.3. Welcomb noticed that there was an issue with bringing up the apps when requesting a backup although I'm not sure if that will fix the issue you had Fade...
Also mounting /system to copy the script over should be fixed .
I've added this to the OP already but for those with a Samsung Relay 4G phone:
A friend of mine has this phone and was getting the following error when running the .sh script:
Code:
can't create temporary file /sqlite_stmt_journals/mksh.<random>
To remedy this, I remounted the root directory / as read-write,created the folder /sqlite_stmt_journals, ran the .sh script, and afterwards remounted to read-only.
Is this still going?
I'm getting "There is nothing to backup" in CM11. I'm on the appropriae line fo the script but I can't figure out what's wrong.
So, this is the only script I found to backup and restore app data.
Needs some changes for newer android OS
Needs a check, as out of the box toybox is used, not busybox
Mount point needs something:
As
Code:
# busybox grep /system /proc/mounts | busybox awk '{print $1}'
/dev/block/bootdevice/by-name/system
/dev/block/bootdevice/by-name/system
It is doubled.
Removing $DEVICE seems to work. I removed $DEVICE from all mount commands:
From:
Code:
$MOUNT -o remount,rw $DEVICE /system
To:
Code:
$MOUNT -o remount,rw /system
backup needs a fix for app list
$EGREP "^< seems to cause issues. I removed ^ and it worked, meaning applist success.
I was able to backup data, but the apks were missing. Maybe because it used to be app.apk now it is base.apk?
restore does not work at the moment
As applist returns empty. Checked /dev/applist.txt and it was empty for some reason.
Also, fix_permissions file not in some devices, /dev/fix_permissions not found.
Some issues:
Code:
{system("busybox cat /data/system/packages.list | busybox grep $2")}
causes errors
Some errors when creating applist, but apps are displayed afterwards. So, might be same issue as above
Code:
Creating app list to /dev/applist.txt...
sh: /data/system/packages.list: can't execute: Permission denied
sh: /data/system/packages.list: can't execute: Permission denied
sh: /data/system/packages.list: can't execute: Permission denied
sh: /data/system/packages.list: can't execute: Permission denied
sh: /data/system/packages.list: can't execute: Permission denied
sh: /data/system/packages.list: can't execute: Permission denied
sh: /data/system/packages.list: can't execute: Permission denied
sh: /data/system/packages.list: can't execute: Permission denied
sh: /data/system/packages.list: can't execute: Permission denied
sh: /data/system/packages.list: can't execute: Permission denied
sh: /data/system/packages.list: can't execute: Permission denied
sh: /data/system/packages.list: can't execute: Permission denied
sh: /data/system/packages.list: can't execute: Permission denied
sh: /data/system/packages.list: can't execute: Permission denied
sh: /data/system/packages.list: can't execute: Permission denied
sh: /data/system/packages.list: can't execute: Permission denied
sh: /data/system/packages.list: can't execute: Permission denied
sh: /data/system/packages.list: can't execute: Permission denied
sh: /data/system/packages.list: can't execute: Permission denied
sh: /data/system/packages.list: can't execute: Permission denied
sh: /data/system/packages.list: can't execute: Permission denied
sh: /data/system/packages.list: can't execute: Permission denied
sh: /data/system/packages.list: can't execute: Permission denied
sh: /data/system/packages.list: can't execute: Permission denied
sh: /data/system/packages.list: can't execute: Permission denied
sh: /data/system/packages.list: can't execute: Permission denied
sh: /data/system/packages.list: can't execute: Permission denied
sh: /data/system/packages.list: can't execute: Permission denied
sh: /data/system/packages.list: can't execute: Permission denied
sh: /data/system/packages.list: can't execute: Permission denied
sh: /data/system/packages.list: can't execute: Permission denied
sh: /data/system/packages.list: can't execute: Permission denied
sh: /data/system/packages.list: can't execute: Permission denied
sh: /data/system/packages.list: can't execute: Permission denied
sh: /data/system/packages.list: can't execute: Permission denied
sh: /data/system/packages.list: can't execute: Permission denied
sh: /data/system/packages.list: can't execute: Permission denied
sh: /data/system/packages.list: can't execute: Permission denied
sh: /data/system/packages.list: can't execute: Permission denied
sh: /data/system/packages.list: can't execute: Permission denied
Done!
[1] app a...
[2] app a...
[3] app c...
...
[35] app o...
[36] app o...
[37] app o...
[38] app o...
[39] app o...
[40] app x...
Last thing is that the commands used to generate applist
Code:
$ECHO "Creating app list to /dev/applist.txt..."
$CAT /data/system/packages.xml | $EGREP "<package.*serId" | $GREP -v framework-res.apk | \
$GREP -v com.htc.resources.apk | $SED 's/<package name=\"//' | $SED 's/\" codePath="/ /' | \
$SED 's/\"//g' | $SED -e 's/\/data\/app-private\//private /' | $SED 's/\/data\/app\//app /' | \
$SED 's/\/system\/app\//system /' | $SED 's/\/mnt\/asec\//sd /' | \
$AWK '{if($2 !~ /system/) printf "%10s %s %s",$2,$1,$3"\n"}' | sort | \
$AWK '(++count) {printf "%5s %7s %s %s\n","["count"]",$1,$2,$3} \
{system("$CAT /data/system/packages.list | $GREP $2")}' | $SED 's/\/data\/data\///' | \
$AWK '{printf "%5s %7s %s %s %s\n",$1,$2,$3,$4,$8}' > $applist
causes some errors, even though apps are displayed at the end:
Code:
BusyBox v1.22.1 bionic (2017-04-22 22:10 +0300) multi-call binary.
Usage: grep [-HhnlLoqvsriwFE] [-m N] [-A/B/C N] PATTERN/-e PATTERN.../-f FILE [FILE]...
Search for PATTERN in FILEs (or stdin)
-H Add 'filename:' prefix
-h Do not add 'filename:' prefix
-n Add 'line_no:' prefix
-l Show only names of files that match
-L Show only names of files that don't match
-c Show only count of matching lines
-o Show only the matching part of line
-q Quiet. Return 0 if PATTERN is found, 1 otherwise
-v Select non-matching lines
-s Suppress open and read errors
-r Recurse
-i Ignore case
-w Match whole words only
-x Match whole lines only
-F PATTERN is a literal (not regexp)
-E PATTERN is an extended regexp
-m N Match up to N times per file
-A N Print N lines of trailing context
-B N Print N lines of leading context
-C N Same as '-A N -B N'
-e PTRN Pattern to match
-f FILE Read pattern from file
cat: write error: Broken pipe
BusyBox v1.22.1 bionic (2017-04-22 22:10 +0300) multi-call binary.
Usage: grep [-HhnlLoqvsriwFE] [-m N] [-A/B/C N] PATTERN/-e PATTERN.../-f FILE [FILE]...
Search for PATTERN in FILEs (or stdin)
-H Add 'filename:' prefix
-h Do not add 'filename:' prefix
-n Add 'line_no:' prefix
-l Show only names of files that match
-L Show only names of files that don't match
-c Show only count of matching lines
-o Show only the matching part of line
-q Quiet. Return 0 if PATTERN is found, 1 otherwise
-v Select non-matching lines
-s Suppress open and read errors
-r Recurse
-i Ignore case
-w Match whole words only
-x Match whole lines only
-F PATTERN is a literal (not regexp)
-E PATTERN is an extended regexp
-m N Match up to N times per file
-A N Print N lines of trailing context
-B N Print N lines of leading context
-C N Same as '-A N -B N'
-e PTRN Pattern to match
-f FILE Read pattern from file

Modify init.rc to add a2sd partition

Hello,
I'm looking for explanation of how to auto-mount the a2sd (ext3) partition.
My rom is a simple rooted stock rom and so the init.rc is not already modified, so anyone could help ?
Best regards,
rXp>!<
As it happens, I've done just that recently:
http://forum.xda-developers.com/showthread.php?t=934777
I should have tried different words in my search ^^
Thank you for the link. Little follow-up question... can I extract the init.rc and put it in my phone without installing all over again ?
Short answer: no
Besides, you don't have to re-install your setup to use it, just flash the boot image, followed by DTA2SD and you're away.
Edit: Assuming your ROM is FRG83G anyway, I don't know if it'll work with other versions.
Rusty! said:
Short answer: no
Besides, you don't have to re-install your setup to use it, just flash the boot image, followed by DTA2SD and you're away.
Edit: Assuming your ROM is FRG83G anyway, I don't know if it'll work with other versions.
Click to expand...
Click to collapse
I have the FRG83(D) Stock.
Hmmm.
Well, given it's only stock rooted, I would use the OTA file to get on FRG83G then re-root with SoC... least then I know it will work, since that's what I based it on.
I use the http://forum.xda-developers.com/showthread.php?t=714184 rom.
So I tried to search but I didn't find how to update my rom already rooted ^^ because he hasn't upload the update.
Yeah you wont be able to update that one with the OTA file.
However, there is a changelog at the bottom that says it's already got the A2SD stuff there. Just install DT-A2SD and you're away.
Didn't see the changelog... but A2SD is on my phone already ! But I can't see the partition from the phone (root explorer).
A2SD doesn't create the partition, that's down to you. You can do it from recovery (after backing up your SD card), or you can do it on the fly using GParted Live CD.
I wanted to say that A2SD is up and ready. Partition is good and all the applications are on it and it works. But the partition is not auto-mount.
If it's not auto-mounting it kinda wont work?
It's mount point is /system/sd
But I still can't see it :/
Sent from my Nexus One using Tapatalk
If you run a2sd check it should say what it thinks the mount point is and if all is well
There is the check:
sh-3.2$ su
sh-3.2# a2sd check
[ ] Apps2SD is launching...
__ _____
| \ |
| | |
|__/ | Darktremor Apps2SD 2.7.5.2 (2010-09-30)
[ ] GetProp Command = /system/bin/toolbox getprop
[ ] SetProp Command = /system/bin/toolbox setprop
[ ] Mount Point = /system/sd
[ ] Creating /cache/dc
[ ] Symlinking /cache/dalvik-cache to /data/dalvik-cache
[ ] Starting Apps2SD Check Program.
[ ] Checking for ext partition
Darktremor 2.7.5.2 Apps2SD Status Report
===================================================================================
Legend: [*]=Setting is correct
[!]=Setting is correct, but not optimal.
[X]=Setting is incorrect and needs to be fixed or option is not available.
===================================================================================
Block Device - [*] Found
- [*] /dev/block/mmcblk0p2
EXT Partition - [*] Mounted
Mount Point - [ ] /system/sd
Partition Type - [*] EXT3
Support EXT2? - [*] Yes
Support EXT3? - [*] Yes
Support EXT4? - [X] No
Apps - [ ] Linked to SD Card.
[ ] No Apps2SD Flag File not found.
[*] Programs run from SD card
To run from internal storage, type a2sd remove
Private Apps - [ ] Linked to SD Card.
[ ] No Apps2SD Flag File not found.
[*] Private Programs run from SD card
To run from internal storage, type a2sd remove
Dalvik Cache - [ ] Symbolically Linked.
[ ] Dalvik to SD flag file found.
[*] Dalvik runs from SD card
To run from internal storage, type a2sd nocache
To run from /cache partition, type a2sd cachepart
Swap - [ ] Partition not present or no swap support.
[*] Swap does not start.
ZipAlign - [*] Not running at boot.
To activate it, type a2sd zipalign
Dalvik Heap(MB) - [*] 32m
Low Memory
Killer Settings - [*] 1536,2048,4096,4096,5120,15360
Note: Values are in pages.
1 page = 4KB memory.
Values represent the following:
1st number = Foreground App
2nd number = Visible App
3rd number = Secondary Server
4th number = Hidden App
5th number = Content Provider
6th number = Empty App
[] For a list of commands that you can use with Apps2SD
Type: a2sd help
sh-3.2#
Click to expand...
Click to collapse

[Gen9] Developement organization

Hi
Archos G9 devices are quite new so we should create some developement guidelines/standards to avoid total mess.
This thread is meant to be the place to create those, feel free to contribute.
1. Firmware file name- archos.ext4/squashfs/img
as propposed by letama (source) and agreed by suduru_petru (source)
2. Firmware updating
letama in his builds added a mechanism to painlessly update system image: new image is called [...].update, kernel initrd deletes "old" file and renames new one- there is no need to boot or install stock firmware.
My opinion- this should be the standard but subject is to be discussed
However updating/downgrading firmware may cause problems so-
3. Recovering from problems (bootloop, FC's etc)
This subject is to be discussed.
Archos G9 has specific system structure and "non-standard" Recovery. For now the only way to fix app FC's or a bootloop is to wipe data (Reset Android option in recovery) but this deletes all system data. Better solution is to wipe dalvik-cache- this deletes some files used by system but they are rebuilt during boot- but there is no way to do it now.
After talking with letama we've come to an idea: kernel init looks for .update files and
-if it's archos.ext4/squashfs/img.update kernel updates system image
-if it has another but predefined name- .update file is a shell script that is executed
This would give us a substitute for a "standard" recovery. Best way would be to use external SD-card for this task but first we have to check if there are any problematic cards (seems that letama has such card)
Please post your opinions/ideas/suggestions but keep in mind that this is not a system/app feature request topic
And if you have a better idea for the topic title- let me know
My idea how .update files should be handled:
during boot check if external sd card is present
1)yes- check for .update files
a)archos.[...].update present- delete current system image from /data/media, copy new one, delete archos.[...].update files from card AND from /data/media
b) .update script file present- run script, delete script .update from sd AND /data/media
2) no- check /data/media for .update files
a)archos.[...].update- delete current system image, rename update file
b).update script- run script and delete .update file
Notes:
-both types of .update files should be handled if found- when updating firmware wiping dalvik-cache (rm -r -f /data/dalvik-cache) is always advised and this can be done using a script since we don't have a "standard" recovery
-using external sd as the first choice- if adb can't be accessed (no PC, no USB cable, bootloop etc) there is no way to access internal storage
gen_scheisskopf said:
My idea how .update files should be handled:
during boot check if external sd card is present
1)yes- check for .update files
a)archos.[...].update present- delete current system image from /data/media, copy new one, delete archos.[...].update files from card AND from /data/media
b) .update script file present- run script, delete script .update from sd AND /data/media
2) no- check /data/media for .update files
a)archos.[...].update- delete current system image, rename update file
b).update script- run script and delete .update file
Notes:
-both types of .update files should be handled if found- when updating firmware wiping dalvik-cache (rm -r -f /data/dalvik-cache) is always advised and this can be done using a script since we don't have a "standard" recovery
-using external sd as the first choice- if adb can't be accessed (no PC, no USB cable, bootloop etc) there is no way to access internal storage
Click to expand...
Click to collapse
First...Thanks @gen_scheisskopf for your idea....ofcourse is very important for us to have a standard "language".....and you are rigt ( is also my opinion ) - is very unpleasant to take it from zero for an future update or custom rom , considering that many users have installed many custom applications ( games, contacts-data, calendar-data and other personalizated-data....or other stuff).
I hope that together , we'll found the right way for this inconvenience ......and what you began is a necessary and welcome environment to improve programming and use.
Without portability not succeed to have its own development !
I hope in a close collaboration among you especially as you have one of the best developers (Thanks @LeTama) .. but I hope to help us and other developers ....See you soon ! and you started a great job anyway !
Problems like bootloop or FC's can occur even if firmware wasn't changed but there is no *easy* way to fix this yet- so we should make one
One more thing from my side- [email protected] image should be mounted RO by default:
-system RO is a standard (also in official firmware)
-nobody can do any harm to system by accident- any changes will require remounting RW first and no app does this by itself
-all root apps that can make changes to system (TitaniumBackup, RootExplorer, Abslute Root Tools, SUFBS etc) will function properly for remounting RO/RW
gen_scheisskopf said:
-system RO is a standard (also in official firmware)
Click to expand...
Click to collapse
Agreed, it would be nice. However, Archos has not the android standard way of managing partitions, they don't mount a /system partition on top of initrd , they mount a root partition that contains a system directory and chroot it. In short, we mount /dev/loop0 on /new-sys then chroot /new-sys, we don't /dev/block/mmcblkp1 on /system.
More, /dev/loop0 is becoming /dev/block/loop0 when android is booted, so it's a bit tricky to remount r/w after that. I think most root applications are confused with this layout and can't remount properly, that's why I left default to r/w in my build.
It would be good to test it a bit more with few root apps to see if some are working, I didn't do much tests.
I understand.
How about "ln -s /dev/block/loop0 /"? This can be done in init.rc (both kernel initrd and in system image init), not sure if this will work properly
Another idea about .update files- possibly safer way would be to add a predefined set of scripts to initrd- like it's done in recovery- and to use .update files with a different names (like wipe-dalivik.update).
letama said:
It would be good to test it a bit more with few root apps to see if some are working, I didn't do much tests.
Click to expand...
Click to collapse
TitaniumBackup has problems with integrating updated apps into rom- device rebooted during Maps.apk processing (2nd of 4) and now Market is missing from /system/app
Can't say however what caused this- system img file location (loop0) or RW by default. Ext4 is not the cause, I've used ext2 and ext4 for /system on the other device before and there was no problem.
EDIT:
TB restored Market from backup straight to /system/app and it seems that manual integration works fine. Maybe that was just a system error.
Dalvik-cache wipe in init:
Code:
# Do updates if need
if [ -e /data/media/archos.ext4.update ] ; then
rm /data/media/archos.ext4
mv /data/media/archos.ext4.update /data/media/archos.ext4
[B]rm -r /data/dalvik-cache[/B]
fi
if [ -e /data/media/archos.squashfs.update ] ; then
rm /data/media/archos.squashfs
mv /data/media/archos.squashfs.update /data/media/archos.squashfs
[B]rm -r /data/dalvik-cache[/B]
fi
[B]if [ -e /data/media/wipe-dalvik.update ] ; then
rm -r /data/dalvik-cache
rm /data/media/wipe-dalvik.update
fi[/B]
-when archos.ext4/squashfs.update file is found dalvik-cache wipe is mandatory
-file /data/media/wipe-dalvik.update also triggers wipe (and dalvik-wipe.update file is removed
Tested, works fine
gen_scheisskopf said:
Dalvik-cache wipe in init:
Code:
# Do updates if need
if [ -e /data/media/archos.ext4.update ] ; then
rm /data/media/archos.ext4
mv /data/media/archos.ext4.update /data/media/archos.ext4
[B]rm -r /data/dalvik-cache[/B]
fi
if [ -e /data/media/archos.squashfs.update ] ; then
rm /data/media/archos.squashfs
mv /data/media/archos.squashfs.update /data/media/archos.squashfs
[B]rm -r /data/dalvik-cache[/B]
fi
[B]if [ -e /data/media/wipe-dalvik.update ] ; then
rm -r /data/dalvik-cache
rm /data/media/wipe-dalvik.update
fi[/B]
-when archos.ext4/squashfs.update file is found dalvik-cache wipe is mandatory
-file /data/media/wipe-dalvik.update also triggers wipe (and dalvik-wipe.update file is removed
Tested, works fine
Click to expand...
Click to collapse
Thanks...good job !
Another test, possibly will work for HDD models:
Code:
mount_p data
mount_p storage_`$GET_INFO p` #this should return product name and use correct storage mountpoint
#Check if system image is present, if not- copy from storage
if [ ! -e /data/local/archos.ext4 ] ; then
cp /mnt/storage/archos.ext4.update /data/local/archos.ext4
fi
# Do updates if need
if [ -e /mnt/storge/archos.ext4.update ] && [ -e /mnt/storage/system.update] ; then
rm /data/local/archos.ext4
cp /mnt/storage/archos.ext4.update /data/local/archos.ext4
rm /mnt/storage/system.update
rm -r /data/dalvik-cache
fi
if [ -e /mnt/storage/archos.squashfs.update ] && [ -e /mnt/storage/system.update ] ; then
rm /data/local/archos.squashfs
cp /mnt/storage/archos.squashfs.update /data/local/archos.squashfs
rm /mnt/storage/system.update
rm -r /data/dalvik-cache
fi
if [ -e /mnt/storage/wipe-dalvik.update ] ; then
rm -r /data/dalvik-cache
rm /storage/wipe-dalvik.update
fi
umount_p storage_`$GET_INFO p`
# Now boot
if [ -e /data/local/archos.ext4 ] ; then
$LOSETUP `get_mount_info d rfsext4` /data/local/archos.ext4 || log_and_die "Mounting system partition failed"
mount_p rfsext4 || log_and_reboot "Mounting system partition failed"
umount_p rawfs
rootfs_path=`get_mount_info p rfsext4`
umount_pseudo_fs
log "SWITCHING TO REAL ROOT"
exec switch_root $rootfs_path /init
fi
$LOSETUP `get_mount_info d rootfs` /data/loacl/archos.squashfs || log_and_die "Mounting system partition failed"
mount_p rootfs || log_and_reboot "Mounting system partition failed"
umount_p rawfs
rootfs_path=`get_mount_info p rootfs`
umount_pseudo_fs
log "SWITCHING TO REAL ROOT"
exec switch_root $rootfs_path /init
Changes
-system image file is mounted from /data/local (not /data/media)
-archos.ext4.update file is preserved on storage (/data/media or hdd) in case of data wipe- init copies it to the right place if file is not present
-updating firmware requires two files- archos.ext4.update and system.update- second one is an empty file, it is removed after system update (archos.ext4.update is not removed)
-I did not add checking for archos.squashfs file
Prequisites
-minimum 512 MB free on /data for hdd models- they have much smaller /data- about 1.5GB
This works fine on 16GB model- file is copied without any problem and possibly will work on HDD models too- I've sent test version to philmein (he was willing to test)
Android does not touch /data/local/archos.ext4 file (/data/local belongs to shell, not system so it's a safe place)
Other thoughts:
-maybe we drop archos.squashfs support?
-archos.ext4 can be made smaller- 191 MB is free so 400 MB should be more than enough
-maybe add mounting official system file (.squashfs.secure) if there is no custom one present and no archos.ext4.update on storage?
-other possible location can be /data/customization but I didn't test it
Hi @gen_scheisskopf...
I think ( not sure ...) , that until we find a way for mount proper HDD into initramfs , we can't load any files system ( .ext4, .squashfs, .update ) for Archos HDD !
Your test it's work great because for flash 8/16G , @letama modified initramfs
for mounting (.ext4, .squashfs ) -proper !
I believe the solution to root version Archos HDD,is just find a solution to change something in initramfs for a proper mount , after that I do not think it matters where you are place the files system ( /data/media, /data/local , /data/customization - is the same way )
Still believe that /data/media was not chosen at random - when we connect the tablet to the computer we see just Internal Storage ( ..or + SD Card), which is equal to /data/media/....you don't need root, you don't need any other app for look into Internal Storage....
surdu_petru said:
Hi @gen_scheisskopf...
I think ( not sure ...) , that until we find a way for mount proper HDD into initramfs , we can't load any files system ( .ext4, .squashfs, .update ) for Archos HDD !
Click to expand...
Click to collapse
All proper mountpoints are stored in /etc/mountpoints- init reads device name and uses correct mount. The only thing that possibly can be required is
Code:
wait_blk_device storage_$DEVICENAME
(I'm not sure if it's wait_blk_device, will check)
surdu_petru said:
Your test it's work great because for flash 8/16G , @letama modified initramfs
for mounting (.ext4, .squashfs ) -proper !
I believe the solution to root version Archos HDD,is just find a solution to change something in initramfs for a proper mount , after that I do not think it matters where you are place the files system ( /data/media, /data/local , /data/customization - is the same way )
Still believe that /data/media was not chosen at random - when we connect the tablet to the computer we see just Internal Storage ( ..or + SD Card), which is equal to /data/media/....you don't need root, you don't need any other app for look into Internal Storage....
Click to expand...
Click to collapse
Problem is that after android boots all mountpoints change.
Using /data/media may not work- on HDD there may be problems with mounts if /data/media belongs to hdd.
I've chosen /data/local not by mistake:
-android does not touch files placed there (as they may be vendor specific)
-/data/local is chmoded to shell while most of other /data folders are chmoded to root
-running system form HDD may decrease battery life greatly while /data/local is for sure flash memory
-modified initrd check for required files/updates on storage (/mnt/storage) and does not delete possibly necessary archos.ext4.update file (in case of data wipe) so copying those files doesn't change at all- just drag'n'drop on PC
It seems that modified init works for HDD models but more tests are required: http://forum.xda-developers.com/showpost.php?p=22309411&postcount=72
Modified part of init:
Code:
mount_p data
mount_p storage
#Check if system image is present, if not- copy from storage
if [ ! -e /data/local/archos.ext4 ] && [ ! -e /mnt/storage/archos.ext4.update] ; then
cp /mnt/storage/archos.ext4.backup /data/local/archos.ext4
rm -r /data/dalvik-cache
fi
# Do updates if need
if [ -e /mnt/storage/archos.ext4.update ] ; then
rm /data/local/archos.ext4
cp /mnt/storage/archos.ext4.update /data/local/archos.ext4
mv /mnt/storage/archos.ext4.update /mnt/storage/archos.ext4.backup
rm -r /data/dalvik-cache
fi
if [ -e /mnt/sdcard/wipe-dalvik.update ] ; then
rm -r /data/dalvik-cache
rm /mnt/sdcard/wipe-dalvik.update
fi
umount_p storage
# Now boot
if [ -e /data/local/archos.ext4 ] ; then
$LOSETUP `get_mount_info d rfsext4` /data/local/archos.ext4 || log_and_die "Mounting system partition failed"
mount_p rfsext4 || log_and_reboot "Mounting system partition failed"
umount_p rawfs
rootfs_path=`get_mount_info p rfsext4`
umount_pseudo_fs
log "SWITCHING TO REAL ROOT"
exec switch_root $rootfs_path /init
fi
$LOSETUP `get_mount_info d rootfs` /data/local/archos.squashfs || log_and_die "Mounting system partition failed"
mount_p rootfs || log_and_reboot "Mounting system partition failed"
umount_p rawfs
rootfs_path=`get_mount_info p rootfs`
umount_pseudo_fs
log "SWITCHING TO REAL ROOT"
exec switch_root $rootfs_path /init
Changes:
-support only for archos.ext4
-after update a backup file is created in case of data wipe (archos.ext4.backup)
Works on flash model, to be tested on HDD models:
http://dl.dropbox.com/u/14106051/archos/kernel_hdd_test7.zip
EDIT:
As it was just reported- G9 80 HDD does not have SD card slot so earlier idea to use external SD has to be dropped.
Backup & restore of archos.ext4 without wiping data (in case something went wrong with merging changes into the system).
Code:
#backup & restore of system image
if [ -e /mnt/storage/backup.update ] ; then
rm /mnt/storage/archos.ext4.backup
cp /data/local/archos.ext4 /mnt/storage/archos.ext4.backup
fi
if [ -e /mnt/storage/restore.update ] ; then
rm /data/local/archos.ext4
cp /mnt/storage/archos.ext4.backup /data/local/archos.ext4
rm -r /data/dalvik-cache
fi
umount_p storage[...]

Categories

Resources