[Script][A2SD] Darktremor 2.7.5.3 Beta 04 [N1] (01/29/2011) - Nexus One Android Development

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.

Reserved...

Thank you so much!!! Can I flash this with ClockworkMod Recovery? I saw that you recommend Amon's but just thought I would ask before I flash back to Amon's.

Since we only have Amon's and Darch's recoveries, those were the only ones I could test with. It's possible you may be able to use ClockworkMod (I didn't ask my testers what recovery they were using).
Do a backup of your phone, then try it. If it works, let me know and I'll update the post.
THATTON said:
Thank you so much!!! Can I flash this with ClockworkMod Recovery? I saw that you recommend Amon's but just thought I would ask before I flash back to Amon's.
Click to expand...
Click to collapse

tkirton said:
Since we only have Amon's and Darch's recoveries, those were the only ones I could test with. It's possible you may be able to use ClockworkMod (I didn't ask my testers what recovery they were using).
Do a backup of your phone, then try it. If it works, let me know and I'll update the post.
Click to expand...
Click to collapse
Everything went well and I'm up an running. Thanks.
Ps-proud to be a test subject. Lol

As a reward for being the test subject, I have updated both the install post to include Clockworks Recovery and added your name on the Credits post as the tester.
THATTON said:
Everything went well and I'm up an running. Thanks.
Ps-proud to be a test subject. Lol
Click to expand...
Click to collapse

tkirton said:
As a reward for being the test subject, I have updated both the install post to include Clockworks Recovery and added your name on the Credits post as the tester.
Click to expand...
Click to collapse
Hey, that works for me! Thank you!

Add Apps2SD support in your Rom
I created a guide in my main thread on how to add Apps2SD into roms that don't have it.
http://forum.xda-developers.com/showthread.php?t=715116

Bump....New version 2.7.5 Preview Fix 4 is out (and there was a PF3, but it was only released to Desire users to try to work through the NAND protection on their device...their changes are part of PF4).

Has anyone tried this on the latest CM6 nightly build?

Chahk said:
Has anyone tried this on the latest CM6 nightly build?
Click to expand...
Click to collapse
I was going to, but the nightly are so often that I would hate to keep having to do it every update...well the nightlies have slowed down....I might try it out! Will report back if works!

djdarkknight96 said:
I was going to, but the nightly are so often that I would hate to keep having to do it every update...well the nightlies have slowed down....I might try it out! Will report back if works!
Click to expand...
Click to collapse
Cool, let us know here and in the CM thread. I would love to know as well.

THATTON said:
Cool, let us know here and in the CM thread. I would love to know as well.
Click to expand...
Click to collapse
I flashed the zip in recovery using CM6 and it did not work. The zip flashed without error but my apps did not move to the EXT partition

I'll check it out and see what's going on.
EDIT: It's possible that Busybox Run-Parts won't process two files with the same name. Since I can't run it, can you run a logcat so I can see what's going on. Send it to [email protected] and I'll take a look at it.
mightykc said:
I flashed the zip in recovery using CM6 and it did not work. The zip flashed without error but my apps did not move to the EXT partition
Click to expand...
Click to collapse

mightykc said:
I flashed the zip in recovery using CM6 and it did not work. The zip flashed without error but my apps did not move to the EXT partition
Click to expand...
Click to collapse
It works on CM6. All you need to do is flash boot from Modaco's (Paul's) Froyo R21 with a2sd.

I'm eager to try this -- but I noticed that in the update.zip, there's a "new" copy of Vending.apk. Why is the Market app being replaced? How does this one differ from the stock FRF91 copy? It makes me a bit nervous to be replacing the app. Previous apps2sd approaches haven't needed to modify this. Can you explain a bit what's going on under the covers?
I would have thought that just an init script, an ext3 partition and a few symlinks would be all that was required...
Thanks

Don't worry about it. It only replaces the app when you execute a2sd fixmarket. This was to address an issue with a disappearing market, but since then the problem has been pointed to zipalign (which is why zipalign won't run automatically at boot).
I think PF4a doesn't even have the command anymore, so, unless you manually push it from /data/a2sd, it won't replace anything.
The upcoming RC1 version will have that removed, as it is no longer needed.
Here's how Darktremor Apps2SD works:
1. First thing it does is transfer control to launcha2sd, which is ran by using bash instead of sh (bash seems to be more stable).
2. Once launcha2sd is running, it performs a quick test to see if you are asking for help (a2sd help). If so, it displays the contents of the help file and exits.
3. Next, it checks to see if the following properties are in the init.rc:
- cm.filesystem.ready or dc.filesystem.ready (only one has to be present)
If so, it can run the more advanced boota2sd. If not, it will run a basic version of Apps2SD (FYI, these properties actually are used to stop the init.rc until Apps2SD [and any other script the rom developer deems necessary to run] are complete. This prevents dalvikvm from interferring, preventing a race condition).
4. Next, it runs starta2sd unless you don't have the properties stated before, then it continues by moving the /data/app and /data/app-private to SD card (if needed and after attempting to mount the ext partition). Then it activates swap (if available) then it exits.
5. Under starta2sd, it checks to see if a command was requested (install, remove, cachesd, cachepart, jit, nojit, etc...). If so, it runs the appropriate commands for the command requested.
6. If no command was given, it checks to see if apps2sd is being ran for the first time. If so, it transfers control to boota2sd. If not, it displays a message stating you need to supply a command and promptly exits.
7. In boota2sd, it checks for the old flag files (from version 2.5 - 2.7) and moves them to the /data directory.
8. Next, boota2sd attempts to mount the ext partition. If that fails, it will engage Boot Loop Protection, which puts your /data/app, /data/app-private and /data/dalvik-cache (if it is stored on the SD card) back to internal storage and sets the No Apps2SD flag file. This can be reversed by executing a2sd install once the issue with the ext partition is fixed.
9. Next, it checks for flag files and whether the correct setup exists. If not (say you have the Dalvik to SD cache flag file active but your dalvik-cache is being stored on your internal storage), the program initiates auto-repair.
10. Once that is complete, it checks to see if it needs to move applications to the SD card and moves them, unless the No Apps2SD flag file is present.
11. Next, it looks to see if the user has activated ZipAlign on boot (a2sd zipalign) and, if so, will proceed to zipalign the /data/app and /data/app-private directories.
12. Next, it activates the swap partition, unless the swap partition isn't present or the No Swap flag file is set.
13. The program then ends.
This is the automated boot sequence. You can control the behavior of apps2sd by using commands (a2sd install, a2sd cachepart, a2sd align...)
System files are only modified if there is a need to (i.e. JIT) and only if the user activates the correct command (i.e. a2sd jit, a2sd nojit). In fact, the only time the /system partition is changed to a read-write state is during the JIT installation (and that is changed back to read-only when the setup is complete)...otherwise, the /system partition is read-only through the entire Apps2SD run.
mlevin said:
I'm eager to try this -- but I noticed that in the update.zip, there's a "new" copy of Vending.apk. Why is the Market app being replaced? How does this one differ from the stock FRF91 copy? It makes me a bit nervous to be replacing the app. Previous apps2sd approaches haven't needed to modify this. Can you explain a bit what's going on under the covers?
I would have thought that just an init script, an ext3 partition and a few symlinks would be all that was required...
Thanks
Click to expand...
Click to collapse

tkirton said:
Don't worry about it. It only replaces the app when you execute a2sd fixmarket. This was to address an issue with a disappearing market, but since then the problem has been pointed to zipalign (which is why zipalign won't run automatically at boot).
I think PF4a doesn't even have the command anymore, so, unless you manually push it from /data/a2sd, it won't replace anything.
The upcoming RC1 version will have that removed, as it is no longer needed.
Click to expand...
Click to collapse
Awesome! Thanks so much for the quick and detailed reply!

Just read through the code. Nice work!
I see that one of the options is to put dalvik-cache in /cache. Any reason apps can't be put into this partition as well? On a rooted device, /cache is mostly wasted space. Or does /cache get wiped on reboot like /tmp?

Related

Where can i find a apps2sd guide?

I looked for a while, and found parts of the method, but no guide....
can someone give me a link as to where i can find it?
I'm not sure that all the ROM devs are using the same code, so:
"Use the force; read the source."
On my current ROM (Aloysius V12), a2sd is a shell script at /system/bin/a2sd - 453 lines long. At the beginning of that script are the comments
Code:
# A2SD version 3
# Edited By: TrevE @ xda for damagedrom
# Based on the modded Apps2SD by Robert Travis Kirton
# Automatic ZipAlign by Wes Garner
Not the easiest read in the world, but "what it does" is right there; you just need to decipher the script.
In the Aloysius version, it becomes apparent that it just "runs" automatically (started from /init.rc). It can be configured by toggles in
/data/data/com.damaged.DConfig/dc.conf -or-
/system/etc/dc.conf
It appears from examination of that version of the script that it tries to be reversible - that is, if you turn it off with a toggle in the configuration file, the next time it boots, it will move the apps back to /data. Don't quote me on that, though; YMMV.
Make sure you have backups and test thoroughly.
bftb0
There's not much of a guide for it, but I'll try to explain it as best as I can.
Apps2SD (or A2SD) is a script originally created by Cyanogen. The script, in its basic form, does one thing: moves your applications from the internal storage (/data/app and /data/app-private) to a linux-formatted (ext2, ext3 and sometimes ext4) partition created on your SD card. The way it does that is the following:
1. Creates /system/sd/app and /system/sd/app-private directories on the ext partition of your SD card
2. Moves the programs in /data/app and /data/app-private to /system/sd/app and /system/sd/app-private, respectively
3. Deletes the /data/app and /data/app-private directories
4. Recreates the /data/app and /data/app-private entries as symbolic links pointing to /system/sd/app and /system/sd/app-private, respectively.
Over time, developers such as myself has expanded on Cyanogen's basic script (even Cyanogen has improved the script quite a bit since the original version). The program has evolved to do the following (depending on developer):
1. Moving dalvik-cache to the SD card (and even to the Cache partition in Modaco's version)
2. Enabling JIT functionality (an enhanced Dalvikvm)
3. ZipAligning programs to make them load faster
4. Changing the Dalvik heap size to minimize dalvik-cache bottlenecks
5. Enabling swap partition
6. Diagnostic functions to check if your setup is correct
7. Automated repair function
Currently, there are three popular versions of Apps2SD: CyanogenMod's version by Cyanogen (commonly known as Apps2SD 1.x, though I know it has evolved as well), Darktremor A2SD by me (version 2.x), and DamageControl's version by TrevE (version 3.x). The version numbers really don't mean anything nowdays. When I created Darktremor A2SD, I based my code from CyanogenMod's first versions (1.x). TrevE based his code from my 2.5 code. At the time, TrevE's code was the most feature-rich, but over time Cyanogen's version and my version have evolved, so now all three are close to the same features.
The way each controls the various options is different. Both Cyanogen and TrevE uses custom properties (Cyanogen starts his custom properties with cm for CyanogenMod, while TrevE uses dc for DamageControl). I use a series of files stored on /system/sd (the root of the ext partition) that control which options are loaded.
Cyanogen and TrevE's versions have GUI interfaces while mine is all terminal based commands. Theirs is easier to program, but mine is more flexible with immediate feedback (designed for diagnostics). Also, whatever roms don't work with Treve's version will usually work with Cyanogen's version. Darktremor A2SD was designed to work with most roms (whether it does is another question, but that's why it's constantly evolving as well).
Trying to keep this from sounding like I'm trying to pitch my program.
I don't know what else there is to say...if you want to ask more questions, I will be happy to answer them to the best of my abilities.
adammsu said:
I looked for a while, and found parts of the method, but no guide....
can someone give me a link as to where i can find it?
Click to expand...
Click to collapse
excellent replies, thanks you very much, both of you. That definitely clears some things up.
if i were to take what i read (from this and other things) and try to make it practical for me:
1: partition SD (after backups and what not)
2: install rom that supports
3: use one of the 3 a2sd apps (depending on rom) to move the files and set up functionality
sounds about right?
adammsu said:
excellent replies, thanks you very much, both of you. That definitely clears some things up.
if i were to take what i read (from this and other things) and try to make it practical for me:
1: partition SD (after backups and what not)
2: install rom that supports
3: use one of the 3 a2sd apps (depending on rom) to move the files and set up functionality
sounds about right?
Click to expand...
Click to collapse
Steps #1 and #2 sound about right - a2sd is already set up in them, and merely detecting an ext2 (or ext3) partition on your SD card will kick it in place.
Wiring it into another ROM that doesn't already have it is a little bit more detailed, and - because you need to start up the mounting and symlinking pretty early in the boot, part of the fixups need to be done inside the boot image. (That means that you would have to unpack the boot image, edit it appropriately, repackage it, and then flash that boot.img back to the phone). A fair bit of work.
Thankfully, the ROM devs that have everything set up for you have already done this work for you... just do steps #1 and #2... and then afterwards, make sure you understand the implications of doing regular Nand backups versus Nand+ext backups.
bftb0

[ZIP][DEV][ROM] Nookie Froyo 0.6.8 (02/15) CWM flashable!

Nookie Froyo 0.6.8
is a development build of Froyo 2.2.1 for the Nook Color.
ClockworkMod flashable! - info below, please *read carefully* before flashing!
This build is near-AOSP and contains almost no extra software not deemed required for the device to function normally.
It is pre-rooted with SuperUser, busybox, SoftKeys v3.07, and ROM Manager 3.0.0.5 however.
The eventual intention will be a build that other devs and users can easily fork and create their own custom builds, themes, roms, etc.
** THIS IS A DEVELOPMENT BUILD **
Use this at your own risk! Myself, XDA, and NookDevs are *NOT RESPONSIBLE* for anything that happens directly or indirectly related to this software!
We're approaching a daily driver! Most things work now, including mp3 and video playback. Post any bugs you find here!
I'd like to thank all the nook color devs involved in getting to this state, testing, documenting, etc. We've got an amazing group of minds behind this device!
INFO
The microSD card image contains 4 partitions:
/dev/block/mmcblk1p1 : boot (fat32)
/dev/block/mmcblk1p2 : system (ext2)
/dev/block/mmcblk1p3 : data (ext3)
/dev/block/mmcblk1p4 : sdcard (fat32)
Use these partition IDs when following guides that require mounting/remounting filesystems.
What's Working:
MP3 playback
Video playback
Youtube, Pandora and other mp4 streaming apps (apps not included)
Accelerometer!
Wifi (adhoc + infrastructure!)
Graphics acceleration (LWP!)
Sound
Browser
Mostly working
Lockscreen is wrong size - REBOOT to fix
Not included / Not working
gapps ( gmail, youtube, maps, etc ) - can be installed, youtube fixed!
Bluetooth
FM radio
This build was created using the B&N kernel sources for 1.0.0, Omappedia's Froyo source ( currently RLS27.9.0.RC0 ), and binary drivers from TI for wireless, SGX530 acceleration, and DSP codecs.
Download:
This SD image requires a 2GB microSD card! Bigger is OK, smaller is not ok!
Note: if you wish to use a larger microSD card, you can use a partition editor to increase the size of the /sdcard partition (partition 4, fat32) *after* writing the image to your card.
Simply unzip this image and dd the file to your (empty) SD card, just like nooter.
nookie-froyo-SDIMAGE_2GB-0.5.1.gz 76459ec18fd32885257a3c8b7dbb2b76
nookie-froyo-SDIMAGE_2GB-0.5.6.img.gz 74e5310bcc21edf326bdc73a5652c124
nookie-froyo-SDIMAGE_2GB-0.5.8.img.gz 15158e735517c209a8f2ed14683a589c
nookie-froyo-SDIMAGE_2GB-0.5.9.img.gz 7d30f56eeede98ee1e99a0766f69dea3
nookie-froyo-SDIMAGE_2GB-0.6.6.img.gz fc58aa06fcfe1f46939ab72e38292abe
nookie-froyo-SDIMAGE_2GB-0.6.7.img.gz 92ef91dbac7a7baad3999256597b7920
nookie-froyo-SDIMAGE_2GB-0.6.8.img.gz
MD5: 18e7cc8393681ec590f698b7a671e859
If you want to customize your SD card, upgrade an already burned Nookie Froyo SD, live on the edge and burn it into your eMMC, or just want to poke around, download the base filesystem:
nookie-froyo-base-0.5.1.tar.gz 3e95a33e3926bc88011e66a724dccf8f
nookie-froyo-base-0.5.6.tar.gz 4419b21dd8eb56f6a6537345aa1c8ba1
nookie-froyo-base-0.5.8.tar.gz 2c279dbdaa6aad480590d55e48abf8ca
nookie-froyo-base-0.5.9.tar.gz 093a964685f0cbea2ef1aa8f6f0d7581
nookie-froyo-base-0.6.6.tar.gz 2304e337c351c667f27eb9aa4c3791b8
nookie-froyo-base-0.6.7.tar.gz 99b6a9d991951c368cf1f6b3429be958
nookie-froyo-base-0.6.8.tar.gz
MD5 c3c7aea7cdf8a3dde32acc1694f633aa
This archive also contains an uncompressed ramdisk image which you can easily edit, package, and copy to your boot partition.
ClockworkMod Flashable ZIP!
*IMPORTANT*
- please wipe data/factory reset if you're coming from B&N stock firmware or another rom!!
- please see other threads about installing and using CWM recovery - keep this thread to NF issues please
- this has been tested only using CWM 3.0.0.5 downloaded from market, be warned it may not work with IOMonster's kit or other versions. Let us know if you try and it does!
- replaces kernel and ramdisk - if you were using an alternate kernel you'll need to reflash it.
- This will irrevocably erase and replace the software on your eMMC! MAKE BACKUPS BEFORE FLASHING, you have been warned.
If you're upgrading from an older version of Nookie Froyo, you should not have to wipe - however if you do have problems *wipe data* and try again.
*IMPORTANT* - this zip does not require any extra steps such as formatting /boot, changing system permissions, and does not replace or remove CWM. If you are coming from a ROM that required these extra steps and are having issues, *please post your questions there* so the dev can be prompted to correct those issues properly.
If you're coming from a rom that doesn't support CWM properly see the following thread:
http://forum.xda-developers.com/showthread.php?p=11437545
Installing /system will take some time, and the progress bar doesn't update in realtime; you haven't 'locked up', just be patient as it may take a few minutes.
nookie-froyo-flashable-0.6.6.zip 6f61a464483ecf45d6e6e2d199b44d6c
nookie-froyo-flashable-0.6.7.zip 9bd13877addbad725a5bfe1eb13412df
nookie-froyo-flashable-0.6.8.zip
MD5: 03544d6a5a52eebdb468c89a5a2581e9
Please do not PM me for help, that's what this forum and the IRC rooms are for - I simply do not have the time to answer all of your questions, and asking them in a public forum will allow others with the same issue to help or learn from your experience!
CHANGELOG
v 0.5.6
permissions corrected on /system/bin/input for SoftKeys
corrected default cpu governor to conservative
added SuperUser
added busybox 1.17.2
added SoftKeys 3.00 ( thanks bpk! )
AdHoc WIFI support enabled
crypto/cryptofs added in kernel for ASEC support (required for installing some apks such as Angry Birds)
v 0.5.8
uses the /cache partition on eMMC instead of combining with data
replaces u-boot.bin to remove the 'touch the future..' splash (trademark)
increased refresh rate to improve responsiveness and reduce flicker (see tips in the next post)
added sensors lib - accelerometer works!
v 0.5.9
default web browser FC fix - no longer dies on location requests!
v 0.6.6
Youtube, Pandora, and other streaming media should now work.
added codecs for more media formats - including hw accelerated mp3 and video
vold reverted - no more broken SD card message
flashable zip!
updated SoftKeys to 3.07
fixed a /cache issue which sometimes prevented market downloads
v 0.6.7
SD card mount fixed - please post if you continue to have issues
Added back Mms, Phone, Camera, Telephony apks to resolve missing apps in Market - more apps should be available
Modified CWM zip reliability
v 0.6.8
Corrected improper handling of Format SD Card option - no longer formats /boot!
Touchscreen enhancements - no need to toggle screen on boot and better responsiveness around the edges - thanks deeper-blue!
Please see the updated issues/workarounds list in the following post
For more information, sources, and install instructions, please see:
http://nookdevs.com/NookColor:_Nookie_Froyo
Need help? Want to contribute? Join us in IRC! irc.freenode.net
#nookcolor - general chat, questions, ask for help here
#nookie - development
Do not try to Format SD card from Settings -> SD & Phone storage!
- there is currently a bug that causes the system to format the /boot partition instead of /sdcard when this option is used, leaving your NC unbootable. Format your SD card in your PC or another device if you need to! - fixed in 0.6.8!
FIRST BOOT TIPS -
On first boot, Launcher and SoftKeys will fight for control of the home intent - that is, when you boot the first time, your NC will ask you to pick your home activity.
*CHOOSE LAUNCHER* at first (DO NOT select 'always use this action'), and let the system boot and stabilize (3-4 minutes).
Hit Home (the N button). You'll be asked to choose your activity again, this time choose SoftKeys.
Try using one of the SU-required buttons (back or menu), and after a few moments SuperUser will prompt you to accept the action.
SoftKeys 3.06+ now prompt for SU permission at startup, just accept the superuser prompt when it pops, you'll still want to let the system stabilize for a minute or two.
If SoftKeys fails to ask for SU permissions, "Unable to execute as root":
Go to Settings -> Applications -> Manage Applications -> 'All'
Select SoftKeys from the list
'Force close' Softkeys if it's running, then 'Clear defaults'
Hit the N button, choose SoftKeys when prompted to choose your home action, accept the SU prompt when it pops.
Workarounds for some known bugs/issues:
(default in 0.5.8+) Improved Refresh-rate (no flicker! thanks [mbm]!): this should set the refresh rate to 68hz, the supposed default for the Nook Color's LCD panel -
Code:
adb shell echo 68000,1024/70/200/40,600/10/11/10 > /sys/devices/omapdss/display0/timings
Browser: force closes when opening a website that tries to use location services, due to the missing GPS. Try browsing to a url by typing in the google search box, and if you can get into the browser menu changing your homepage away from google will stop it from FC'ing on open.
Lockscreen wrong size: Simply reboot to correct this.
Touchscreen is slow/unresponsive:
Turn your screen off and then back on.
Disable Haptic Feedback in Settings -> Sounds.
Also, see this page for a possible calibration fix: http://nookdevs.com/Recalibrate_the_NookColor_touch_screen
(fixed in 0.5.6 w/included SoftKeys 3.00) No buttons! Try: http://forum.xda-developers.com/showthread.php?t=860153
(fixed in 0.5.6) SoftKeys - in 0.5.1 softkeys' buttons do not work due to a permissions issue. To fix, do:
Code:
adb shell mount -o remount,rw /dev/block/mmcblk1p2 /system
adb shell chmod 0755 /system/bin/input
Please post issues/workarounds/bugs in this thread, I'll try to keep this list updated.
To answer from the other thread...
Timeframe-- well, this isn't me doing this. But I think the devs just want to take the edges off, so be patient... I'm just the messenger on the news that it's been done. This is other people's accomplishment.
In fact, froyo was done weeks ago, though not entirely from open-source/freely distributed components like this (as far as I know).
To answer some questions--
BT not working, FM not working, accellerometer not working. Softkeys should work... dont' see why not anyway. It's stock froyo. No gapps, no Superuser.apk, no nothing over and above AOSP. Overclocking not in but should be possible... video playback hasn't been tried (it's early still!).... battery life who knows I haven't even had a chance to let it run down... I posted because the news was "out" anyway. I also can't compare to stock because I've never run stock, believe it or not. But it's based on the same kernel 2.6.29. It boots off a SD partitioned for system, data, cache, and sdcard. Only thing (I think) it touches on the internal storage is resetting that boot counter, otherwise you'd only get 7 boots at a time. Doesn't need much space. 2GB should be enough. That's what phones have anyway. Guess it depends what you want to do with it. Performance is decent, not steller compared to my g2 at least. Will benefit from OC.
devis said:
@fattire
Questions on everyone's (well, mine at least) mind... please answer as much as you can, and a big big thank you!!!
1. Is BT working?
2. Is FM working?
3. Can we still use SoftKeys for hardware key emulation?
4. Can we overclock the processor?
5. How's the video playback?
6. How's the battery life compared to stock?
7. Since you're booting from SD, does that mean the internal memory of the NC remains untouched, should we need to boot stock?
and
8. How does the device feel overall?
Click to expand...
Click to collapse
Nice stuff guys keep up the stellar work
Sent from my LogicPD Zoom2 using XDA App
So awesome, looking forward to the progression of this!
I got my SD to boot tonight!
It defiantly isn't for the faint of heart but it seems to work well enough as a good base to start on. Pretty snappy to boot.
I would like to emphasize that this is VERY rough around the edges and if you aren't planning on hacking with the kernel, or code, or attempting to make your own rom then this is NOT for you.
http://i.imgur.com/WRyNV.jpg
http://i.imgur.com/H4ahM.jpg
Defiantly awesome work (and pure AOSP + TI drivers) which means no propritary B&N bits
Thanks for releasing such and early build to the public. It's not often you see that.
(I won't even consider playing with this build)
As a humble Analysts I grovel at the feet of your magnificent tech prowess.
(thanks)
Does this include a working JIT or is that one of the things in progress?
That seems to be one of the more compelling things from froyo (at least for a device with more internal storage than a nexus one). I would expect (well, hope anyway) that the froyo JIT would have a noticeable impact on the speed...
Mods, can we please stickie this?
Very awesome... Will try it out later today!
Since this runs off the sdcard can you power down the NC and remove the sdcard and boot normally?
Novarider said:
Since this runs off the sdcard can you power down the NC and remove the sdcard and boot normally?
Click to expand...
Click to collapse
Read: http://nookdevs.com/NookColor:_Nookie_Froyo#After_you_have_burned_the_uSD_card
To get back to stock, just remove the uSD card and reboot.
Click to expand...
Click to collapse
It has all the info you want, and is mentioned in the first post.
cicada said:
Workarounds for some known bugs:
No buttons! Try: http://forum.xda-developers.com/showthread.php?t=860153
Click to expand...
Click to collapse
You also have the option of converting the volume buttons to back/menu as well. It is documented in this thread, but the filenames have changed in this build. You will need to modify the following files..
/system/usr/keylayout/qwerty.kl
/system/usr/keylayout/twl4030-keypad.kl
I am not a developer.
I am not likely to become one at this stage of the game...
I am, however, either brave or stupid because I am downloading the image and will see if it will boot on my NC.
I do this because:
A) I want to SEE froyo running on my NC, and
2) If I have any problems, feedback might help the devs
I love seeing all the progress that has been made on these things.
Is flash supported in the browser with this initial froyo build?
jay084 said:
Is flash supported in the browser with this initial froyo build?
Click to expand...
Click to collapse
I tested flash and it does work.. The flash plugin is not included in the build however, I had to find it and install it via ADB.
Just rebooted back to my regular rooted NC system after pulling the sdcard and can only say-
Marvelous.
Yes, it is slow, no keyboard and all of the other things that were spoken of in the initial posts, but IT WORKS.
I don't have time to do much else with it right at the moment, but I will mess with it more later.
BertoJG said:
I tested flash and it does work.. The flash plugin is not included in the build however, I had to find it and install it via ADB.
Click to expand...
Click to collapse
Could you post the flash plugin you used? I would really appreciate it. Could you also comment on the quality of flash videos online. I'd like to watch espn3 on the nook...in bed...lol
OK, so I booted the rom, and followed the instructions at nookdevs...
Installing superuser.apk and pushing su seemed to work just fine!!!
Softkeys installed and got superuser permissions and works as well.
Installed astro file manager, and that works fine too...
At that point, I wanted to mount the usb storage and move over a bunch of APK files... mounted the nook and could only see the mlo, img file etc... no problem creating an apk folder and putting files in there, but then I can't see that folder when I look for it in astro....
Any info on simply copying files via USB using this build?
Also, thanks to all the devs for the awesome work... looking forward to playing around with this more!!!

Clear Cache and Data from Stock Recovery

I've seen a number of requests for this functionality and recently it became necessary for one user who had a disabled Home Key to clear cache and data without the use of ClockworkMod. I have reserached two methods to address this issue. These instructions require some familiarity of android, computer and tablet terminology and usage. Feel free to ask for clarifications in comments. Here we go...
Method I - Stock Recovery Command File
Technical: Stock Recovery command file can be used to perform a few additional functions as well as to alter the path to update files. These commands will execute with all privileges available to recovery mode.
Advantages: Very easy to use. Very little technical knowledge required. No third party software is required for use.
Prerequisites: You will need a MicroSD card formatted FAT32 and a method for transferring files from your computer to the MicroSD.
Usage:
1) Prepare a text file named "command" (no file extension) with one of the following commands on a single line. The wipe data command will wipe both data and cache. Wipe cache will wipe cache only.
--wipe_data
--wipe_cache
2) Place the file in a folder named "recovery" in the root directory of your MicroSD card.
3) From a powered down state, insert the MicroSD card into your tablet and boot into recovery by powering it on while holding down the Volume Up key.
4) Allow the command to execute completely then the tablet should reboot (this may not occur automatically depending on firmware installed).
Method II - Updater Script
Technical: The attached "Updater Scripts" perform delete commands (recursively if necessary) on the named directory or file(s). The directories are mounted automatically by the system before the script executes but it could be easily revised to include that step if necessary. The partitioning, formatting and directory structure are left untouched. Only files are deleted.
Advantages: No third party software is necessary for execution. Relatively easy to modify for more surgical precision (i.e. leaving installed apps but clearing possibly corrupted system data). Included example: "Clear Battery Stats"
Prerequisites: You will need a MicroSD card formatted FAT32 and a method for transferring files from your computer to the MicroSD.
Usage:
1) Download the attached archive (ClearData.zip) to your computer.
2) Extract the files to your computer. You should then have a folder named "recovery" (which contains a file named "command") and an additional archive named "update.zip"
3) Place the recovery folder and the update.zip in the root directory of the MicroSD card.
4) From a powered down state, insert the MicroSD card into your tablet and boot into recovery by powering it on while holding down the Volume Up key.
5) Allow the script to execute completely then reboot the tablet (this may occur automatically depending on firmware installed).
This will become handy someday.
Thanks for sharing your knowledge.
You're welcome. One quick note... the new stock recovery adds a menu simiilar to ClockworkMod. These methods will still work since the recovery folder/command file are checked first but it really isn't as necessary any more.
Need Help
Tried both methods above but either way I get to the viewsonic splash with the message "Booting recovery kernel image" in the upper left and it just stays there, stuck there, I left it for a long time to see and it never leaves that screen.
Any ideas?
Me too
I can't get into clockworkmod either. My machine is running faster. I almost hate to mess it more.
lrgche said:
Tried both methods above but either way I get to the viewsonic splash with the message "Booting recovery kernel image" in the upper left and it just stays there, stuck there, I left it for a long time to see and it never leaves that screen.
Any ideas?
Click to expand...
Click to collapse
That's an indication that you may have more serious problems. nvflash will be required. http://forum.xda-developers.com/showthread.php?t=861950
Once done you will likely need to install ClockworkMod and repartition your internal storage.
Loukoebel said:
I can't get into clockworkmod either. My machine is running faster. I almost hate to mess it more.
Click to expand...
Click to collapse
If your tablet boots properly but you can't get into CWM then it probably isn't installed properly (or at all). http://forum.xda-developers.com/showthread.php?t=865245
Keep in mind that CWM is NOT compatible with all ROMs. Make sure the developer for your chosen ROM recommends it before installing it.
Does your method in opening post have to be run from external micro sdcard?
Both methods are performed with an external MicroSD card. They will work from internal also but it is a little more difficult to get the files in place if your tablet is not booting properly.
K J Rad said:
Both methods are performed with an external MicroSD card. They will work from internal also but it is a little more difficult to get the files in place if your tablet is not booting properly.
Click to expand...
Click to collapse
so your method is a simple way to replace one of the main uses of Clockword MOD?--Plus you stay stock more or less.
That is correct. Method II can also be modified to be less intrusive (leave user apps installed) or embedded into update scripts to perform a wipe during new ROM installs.
K J Rad said:
That is correct. Method II can also be modified to be less intrusive (leave user apps installed) or embedded into update scripts to perform a wipe during new ROM installs.
Click to expand...
Click to collapse
Wipe data does what--remove the apps installed?
And the partitions?
Your post is very interesting. It implies that you have a knowledge of the g-tabs partition structure. I have played with Linux off and on for the last 10+ years. When I began, I used Slackware and when you set it up you had to manually create partition tables using fdisk. You were only required to create two - the data partition and a swap partition but it was often recommended that you create several others - one to contain the home directory to prevent users from using all the disk space (in the days of small disks) for example. It appears that there are a lot of partition on the g-tab. Up to now, I have used various wiping tools like clockwork or calkulins wipe all on faith. I would really like to know what all the partitions are and what is in them. I have used terminal to get to the root folder and tried to do an fdisk to display the partitions but try as I might everything remains hidden. It would seem that a script like yours could be adapted to do many things but I would certainly want to understand the structure a little better before I did anything. I have searched and been unable to find that information. Can you point a way for the curious to learn more about the partition structure on the g-tab?
Wish I had a direction I could point you in. What I've found so far has mostly been stumbled upon while looking for something else. What I can tell you is this...
1) When using fdisk in Android you must specify the device to look at. Try something like: fdisk /dev/block/mccblk3 That should list the current partitions as defined by CWM or whatever was used originally.
2) Within one of those partitions in the list generated above are sub-partitions holding the bootloader, system, data, etc partitions. You can see how they're described in the .cfg files in the nvflash restores that are lying about.
lsu205 said:
Wipe data does what--remove the apps installed?
Click to expand...
Click to collapse
Removes user apps and their associated data as well as system related data and settings.
K J Rad - any idea if the partition size can be set with these methods (2048 & 0) in case I can't get clockwork installed?
CodeNamePapa said:
K J Rad - any idea if the partition size can be set with these methods (2048 & 0) in case I can't get clockwork installed?
Click to expand...
Click to collapse
I'm looking for a solution to that problem. Unfortunately these methods still require the ability to get into recovery mode which likely won't work if you're having trouble getting CWM installed.
If, however, you can get into recovery... then it is theoretically possible to create a script that would accomplish that. As soon as I have one I'll be adding it to the mix ;-)
Edit: I've found something I think will work. Will do some testing tonight. It will still require access to recovery.
I wasn't sure if you saw my other post but I am seeing no partition 0 when I NVFlash with a verifypartition.
http://forum.xda-developers.com/showpost.php?p=13059520&postcount=57
I haven't yet but I will. Let's try to keep this thread on topic. Thanks.
More thoughts:
because I went w/ cyan7 is it possible i have a "bad" kernel and that the stock bekit-1105 or the roebeet-3588 files are crashing w/ the kernel in place already?
I know custom ROMs can have a custom kernel applied separately, but I have no idea whether cyan7 loads it's own kernel...
I have yet to try the nvflash_gtablet_46 version, as I see the img files w/in are different from the original 1105 .zip
Also:
read on another thread that part 2 and part 3 aren't loading for other users when doing nvflash - I did notice that it pauses, runs some stuff, then starts loading part 4 through to the last part, then success. - do part 2 and 3 run for you?
edit: I see a 4349 downgrade.zip in another thread for those who got the OTA update but want to go back to stock 3588 prior to jumping off somewhere else - I can't expect that would help me as I can't do squat w/ recovery yet, but could that possibly "reset" any bad kernel problems? - again, I'm just thinking out loud.
This is well outside the scope of this thread but I find some of what you mention interesting so I'll address it and then end any further off topic discussions.
I did not build nor have I ever used Cyan7 so I have no basis for an opinion on the matter other than this... Each ROM comes with a kernel installed so if properly done an nvflash should overwrite any "bad" kernel.
Part2 and Part3 do indeed load, they are just displayed differently than the other Parts. Just minutes ago I flashed down from Mountain Laurel (4349 based with the new bootloader and recovery) with absolutely no trouble. I can, and have, read back those partitions after an nvflash to prove that point.
The 4349 downgrade will only work for you if recovery is working. Having never used it I don't know that it would "reset" the kernel but any subsequent flashing of a new ROM image would.
I am working on a stock recovery solution for partitioning but it isn't likely to help anyone who is stuck in an APX loop. I do have some ideas on what might help for that condition but I haven't been able to get my hands on one for testing and trying to help people here is like being a consulting mechanic for a car repair that's in someone else's shop having work done on it that you're not being told about.
I'll be happy to address any further comments or questions regarding your specific issue in an appropriate thread or via PM. Thanks.

[Kernel] TRIM: Speeding up the Galaxy S2 i9100

Brickbug Aftermath: Speeding up the Galaxy S2 i9100, S2 AT&T i777, S2 Epic 4G Touch d710 and Note n7000
UPDATE: KERNELS CAN TRIM FAT PARTITIONS
contrary to what has been said in this thread and elsewhere, the S2 TRIM kernels could always trim FAT partitions. the problem is that the FAT file system implementation does not support batch trimming (ie: fstrim), but the fact that the DISCARD mount option has always been supported on FAT has eluded us all. the mainline commit that introduced the option is here, and the corresponding code in CM's repo is here.
this means that it would probably be a good idea to add DISCARD to the default mount options of the internal sdcard in CM. deleting files from internal storage would probably become slower, but the expectation would be that overall performance should increase. the performance issues related to queue flushing that plague non-queued TRIM commands should not be a big problem in this case, since the sdcard is used mostly for media (few big files without multitasking access).​
UPDATE: VICTORY !!!
2016-03-02: after two years of tests and discussions, folklore, FUD and evidence, @Lysergic Acid finally took the plunge and merged! TRIM is now part of the official CM 12.1 and CM 13.0 kernels, and this project can at last be retired, yoohoo!!! CM 13 users now enjoy TRIM out of the box, but users of CM 12.1 builds older than Match 2016 as well as CM 11.0 users continue to require a separate TRIM kernel.
this thread is dedicated to Entropy and the brave users who risked their devices to run the very first TRIM tests.​
IMPORTANT NOTE FOR USERS
i am tried of lazy users sending private messages to me instead of reading the thread. i am especially tired of users asking over and over on PMs whether TRIM is safe. if you read the threads you would know: TRIM is completely safe on every supported device, stop asking! and please, never PM technical questions to anyone on XDA unless you already know the guy.
DOWNLOAD FROM -> HERE​
IMPORTANT NOTE FOR KERNEL DEVELOPERS ONLY
you should not blindly merge these changes into your kernel. doing so can result in unrecoverable bricks!!! you need to check that certain patches are already merged in your kernel before enabling TRIM. please follow these steps; you can get help from this post. please contact me when in doubt, let's not revive the slumbering brickbug monster from hell, thank you!​
UPDATE: CM 13.0 kernels are now available!!! (for CM 13.0-supported platforms only: i9100 and i777.)
UPDATE: several enhancements in new kernel batch:
CM 12.1 kernels are now available!!! (for CM 12.1-supported platforms only: i9100 and i777.)
kernels can now be flashed with the official, restricted cyanogen recovery that is bundled with CM 12.1.
rom-independent kernels: kernels are no longer dependent one-to-one on specific official CM builds (they might work with other roms too), and their names no longer reference a specific CM build.
although there are no official CM 11 builds for the i777, thanks to rom independence CM 11-based kernels for that device are now available.
CM 11 i9100-to-i777 cross-flash kernels for the i777 may now work with other i9100 roms besides official CM.
UPDATE: Dic 25, 2014: a holiday present!!! as kernel maintainers swiftly acted to patch PFBug, @Gustavo_s took the plunge and merged TRIM support in his latest kernel. i have verified that his kernel is as safe as mine regarding TRIM. finally a more mainstream kernel is getting this functionality, hopefully i will be able to discontinue my kernels soon!
UPDATE: great news, we have fixed FPBug!!! fixed TRIM kernels are online!
UPDATE: this project now supports all roms and kernels!
if you are not running CyanogenMod M snapshots, please see this post.
this project restores TRIM capability to CyanogenMod kernels for the Galaxy S2 family of 4210-based devices: i9100, i777, d710 and n7000. TRIM is needed to avoid "aging" of the state of the eMMC, the internal flash storage, that eventually slows the device to a crawl. TRIM functionality is built into android 4.3 and later. however, due to historical and safety concerns, TRIM capability was removed from the CM kernels for these devices (and from most if not all other AOSP-based kernels).
an in-depth discussion of this matter, including safety, risks and current state of the kernels for various devices, can be found in the main project thread. you can review that content if you are curious. get the source for this project: patches and patcher script are here (git) and base system here (repo). for instructions on how to recreate my kernels from source, see this post.
STATS: Nov 5: 500+ kernel downloads (latest version only).
Oct 1: 250+ kernel downloads (then-latest version only), top 5th thread in its forum (ThreadRank).
PROJECT STATUS: testing still needed on MAG2GA TRIM bug-affected devices before TRIM patches go mainstream. IMHO, TRIM patches are ready to be merged into mainstream kernels. kernel maintainers please read the warning at the very top of this post!
UPDATE: kernel wifi issues fixed! thanks to invaluable help from @mparus. also, ART works just fine.
What to expect
some users see big changes while others do not. there are many different eMMC models with different firmware versions embedded in these devices, and it is clear that some are faster than others. it is even possible that some eMMCs may have firmwares that completely ignore trim commands. following are some benchmarks and comments submitted by users.
@defecat0r run before-and-after benchmarks and packed it all in this neat graph (thanks so much!):
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
@defecat0r also says: "I've been dicking around copying stuff back and forward, factory resetting and restoring cwm recoveries while on this kernel for a day now, if this fix was going to trigger superbrick i'm sure it would have done it by now. As far as i'm concerned this is safe as houses. [...] This is the biggest thing to happen to these devices since i don't know when!" (post)
@smoke2tun got better results: "My phone is blazing fast". he says: "The phone is really snappy and responsive. [...] After runing Antutu v5.1 the overall score is 17816. On NeatRom the score had an average of 11000." (post)
@Roxxors: "My phone had become so unbearably slow I was about to toss it in the garbage, [...] I'm coming from NeatROM 4.1.2, and let me tell you something, after installing C11 M9 with this kernel, my phone is FLYING." (post)
@|Vyp|: "Nice work, the device is flying now." (post)
@bihslk: "OMG! Installed CM11 M10 and your TRIM. Phone is flying now,,, WoW" (post)
@burninghouse: "i installed it and i can say only one word....."AWESOME"... My s2 is blazingly fast with same battery life" (post)
@dirtyhewr: "Omg... I don't think my device has ever been this fast... No lags at all" (post)
@Dudebowski: "[...] the increase in write ops nearly doubled! Regardless of the numbers for proof, this trim along with the floater fix [ed. note: FPBug] has made this device enjoyable to use again for the first time in years. The change in responsiveness after trim is night and day." (post)
thank you so much for the feedback and benchmarks guys!!
When things do not work
then again, some users do not get big improvements. check out the case of @desvariando.
speculation about these cases can be made. TRIM failing to provide advantages can be attributed to one of two causes:
when the fstrim command is run on some devices, it reports success but runs in zero time instead of taking the usual couple of seconds it takes on most devices. it looks like samsung disabled ERASE/TRIM support in some eMMCs, as a stopgap measure while they researched the issue further and before they output a final fix. if your eMMC trims in zero time, there is probably no realistic way to ever trim it. once your device gets slow, it can never be rejuvenated. if you fall under this group, and you have not yet ever filled the device's internal memory and your device still performs well, i would reduce the internal sdcard partition in size asap and leave a healthy sized area of 2GB inaccessible. this overprovisions the eMMC and ensures that it will never ran out of untrimmed space (assuming that the disk area you are leaving out is in fact still trimmed from factory). UPDATE: so now i know of a way to trim these untrimmable devices. it is extremely dangerous though (unless you have JTAG access to the eMMC). these eMMCs have a command to resize their boot partitions (boot0/boot1). these partitions are treated differently from all others by these modules. you can think of them as separate, safe, small, virtual disks; even if you write all over the main disk, you will never touch these partitions. also, wear leveling on the main disk will never move data around on these partitions. contrary to data on the main disk, once you write something here, it stays written forever (until you write something else). because they are treated differently, the eMMC needs to know their size. for versatility there is a non-standard command that will resize these partitions, and as a side effect it will repurpose the rest of the flash as the "main disk", creating all of its FTL structures from scratch. this full, low-level reformatting will fix a brickbug-damaged eMMC and will also trim an untrimmable device. the trick is to resize the boot partitions to some strange value, then resize them back to original size. all data everywhere will be lost, including the bootloaders, and this is why it is so dangerous. these phones will brick unless there are proper bootloaders and friends in place (though with JTAG access you could restore all this data). so the procedure would go like this: boot into recovery, make backups of all partitions you care about (bootloaders, EFS, etc), resize boot0/boot1, resize them back, and restore the needed partitions. but if anything goes wrong before you finish... you have a brick! because it is so dangerous, AFAIK this procedure has never been attempted to fix a brickbugged S2, much less to just trim one. but it has been carried on successfully on devices that boot from alternative sources when their eMMC is wiped, check it out here.
your device still had a reasonable amount of trimmed space when you installed this kernel and trimmed, and was not in need of trim. this can happen if you never filled the device's internal memory throughout its entire lifetime, or if you trimmed your device recently without knowing it. you could have trimmed by using the stock 4.1.2 kernel (which is TRIM-capable) in two ways: by wiping data from android or recovery, or by using an app such as LagFix.
otherwise, your device should be more responsive and use less battery after trimming. the need for trim is a well established reality that no FTL-based flash storage can escape.
STOP!!! DRAGONS AHEAD!!!
in theory there could be risk of hard-bricking your device forever. i believe this risk to be non-existent, based on reasons i detail in the aforementioned thread, and also based on recent experience: many people are already using these kernels without any kind of incident. however, the standard disclaimer applies: you accept full responsibility for what happens to your device.
READ and FOLLOW the instructions carefully.
Downloads
for the supported devices, you will find IsoRec-compatible CyanogenMod-based kernels here. (old kernels without IsoRec support can be found here. yet older retired kernels without FPBug fix are still available here.) note that for some supported devices, no releases or M snapshots are currently being produced. for those devices i can produce kernels based on known 'stable' nightlies if users ask.
A word about CyanogenMod 10.1.3
UPDATE: great news, we have fixed FPBug!!!
there are no CM stable releases for 4210-based devices after CM 10.1.3. the sad truth is that the kernel for these devices is broken. this affects all roms, not just CM. there seems to be some unidentified defect in the hardware itself, and no workaround for it has been implemented in the kernel so far (if such a thing is even possible). after years, @cgx finally observed the bug in action and now we at least know what we are up against. it is nasty as hell: random stack corruption. in layman's terms, any process can randomly misbehave, crash, be corrupted, corrupt data, etc... all bets are off, anything could happen. and it looks like this might never be fixed.
for whatever reason this was not much of a problem in the CM 10.1.3 days. these days, with a much more advanced and demanding android, the bug is real trouble. most people find that the last reliable CM version for their 4210-based device is 10.1.3 (including the CM team itself). i made kernels for this version, find them in the downloads section.
NOTE: the CM 10.1.3 kernels are untested. do take a nandroid! and please post your results.
Instructions
prerequisites: you need to already be running a fully official version of CyanogenMod supported by this project. (i mean fully official: dual booters, alternative kernel/recovery users, etc are not invited to this party.) you will replace your current official CM kernel with the patched, EXACT SAME VERSION kernel from this project.
download this app and run it to check if your device is affected by hardware bugs. root is requested but not needed for this test. do not trust the app's verdict! instead use the reported eMMC model name and the firmware revision (fwrev) to look up your eMMC in this table.
is your eMMC model an MAG2GA? if so you are affected by TRIM bug. WARNING: this configuration is untested. my kernels should be safe but they have never been tested on this particular eMMC, so risk cannot be completely ruled out. please read this post and decide whether you would like to test. testers are needed! i believe this is the last remaining piece of evidence needed to establish the general safety of trim on this family of devices and start pushing for its inclusion in the standard kernels, which is the ultimate objective of this project. UPDATE: things are looking much better, see this post. testing is still needed though, please help. UPDATE: MAG2GA eMMCs with fwrev 0x0E can be found in d710 devices and were tested to TRIM without problems. i personally believe this configuration to be safe.
are you affected by WL Bug? impossible. according to the available data, no 4210-based device has ever been produced with this eMMC... SO YOU MUST BE MISTAKING. please double check your situation; then post. (in any case, this bug is supposed to involve data corruption only, and not bricking.)
are you affected by Brickbug? my kernels contain samsung's fix for this bug, but samsung's fix was never exercised in practice with TRIM. i will accept ONE volunteer to test. i do not want more than one device to brick if the test fails. know that testing can potentially brick your device beyond repair. i would prefer someone with a compromised S2 (eg: lost IMEI, cracked screen) to do the first test. please post your willingness to test on this thread (include eMMC and fwrev). UPDATE: many people affected by this bug are already using my kernels without incidents. i personally believe this configuration to be safe.
if you are not affected by the previous bugs, you run no special risks by flashing my kernels.
you should start on a supported official CyanogenMod; if you are not already running it, flash it now and test it.
optional: as an extra safety step, back up your EFS and store it OUTSIDE your phone. you should have done this years ago! you never know when you might need that backup.
optional: preferably no apps should be moved to the internal sd card (check 'apps' in settings). this could slow the device a bit, but is no problem otherwise. note that apps moved to the EXTERNAL sdcard can cause BIG SLOWDOWNS.
optional: make sure you have 20% (or at the very least 10%) free space in your internal 2GB /data partition (where apps are normally installed). you will not notice speed improvements unless/until you have free space in /data.
optional: if you have been on official CM (including kernel) for a long time, and this is the first time you are going to trim your device, please contribute benchmarks. install Androbench and run all benchmarks, it takes just a few seconds. in the history section you can see most if not all results in a single screen; please take a snapshot for your before-and-after comparison.
make a nandroid backup. if you need to back out of the change for whatever reason, you will be happy to have it.
download the appropriate kernel for your CM build (includes CWM-based recovery). flash it without wiping. (at any time you can reflash official CM without wiping or upgrade to a newer CM -loosing TRIM support, of course.)
reboot.
install the LagFix (free) app from xda (the market version is declared to be incompatible with the i9100). go to the lagfix tab, check the 3 partitions, and tap on run. grant root access. the 3 fstrim operations should be successful ("partition was trimmed" means success).
UPDATE: there is a replacement app for LagFix called Trimmer that has several advantages over the former: is fully free, can schedule TRIMs, and is compatible with Android 5.
alternatively, instead of using lagfix you can run one of these commands (these are better because they also trim /preload):
# on the phone in the terminal app:
su -c "fstrim -v /system; fstrim -v /data; fstrim -v /cache; fstrim -v /preload"
# on your PC if you are connected to the phone via adb:
adb shell su -c "fstrim -v /system; fstrim -v /data; fstrim -v /cache; fstrim -v /preload"​
reboot.
optional: contribute benchmarks if you qualify. run Androbench again to take an 'after' snapshot and share your before-and-after shots below.
your device should now run FAST... profit!
Please donate hardware to test
i do not have any of the supported devices to test, i am developing blind. i would gladly accept an i9100 with a cracked screen as a test bed if you can send it to an address in USA or Argentina (or any other supported device).
But wait, there's more...
Automatic trimming
android 4.3 and later should trim all writable file systems each night during charging automatically (/cache, /efs, /data and /preload). you do not need to invoke fstrim or lagfix manually again. if you want to be extra tidy you can invoke lagfix after each flash of a CM upgrade to trim /system (which is normally read-only).
because of this offline auto trimming, android 4.3 and later should not mount partitions with the discard mount option (which implements online trimming whenever space is freed), but CM does anyway. this is a bug that slows down the device and i have uploaded a patch to CM's gerrit. my kernels fix this as of Sep 14 2014.
if you use CM 10.1.3 (android 4.2.2), you might be thinking that you need to regularly trim the file systems yourself (you could use scripts or lagfix premium for automation). but as of Sep 14 2014 my kernels mount /cache, /data and /preload with the discard option, meaning that freed space on these partitions is immediately trimmed (which, again, slows down the device compared to offline trimming but is better than no trimming at all). so you only need to invoke lagfix after each flash of a CM upgrade to trim /system if you want to obsess about it. (the /efs partition is not mounted with discard; call me superstitious.) btw, i made the /preload partition writable (it is normally read-only in CM 10.1.3) so you can trim it and/or use it for whatever purpose you want. i could create 10.1.3 kernels without the discard mount option for those who wish to roll their own periodic trim feature; just ask.
The internal sdcard partition
the majority of the phone's flash is devoted to the internal sdcard partition which is formatted in a vesion of FAT. unfortunately the linux kernel file system driver for FAT is unable to trim its free space. some people format this partition to ext4 for performance and safety reasons (google). if you do that, you can fstrim it.
The preload partition
these devices have 0.5 GB ext4 /preload partition (also called "hidden"). in CyanogenMod it is unused and should be empty (you can check with the file manager). you can manually fstrim this partition (open a terminal on the phone and type: su -c "fstrim -v /preload" or from the PC via adb: adb shell su -c "fstrim -v /preload") or format it from my recovery to increase the trimmed free space in your eMMC, effectively increasing its over-provisioning by 0.5 GB. this makes the eMMC faster and extends its useful life.
UPDATE: i have removed the trim-on-format functionality (partition wiping) from the kernel patches, and thus all future kernels. there are no safety concerns with the previous kernels, but there can be problems if someone uses my patches to build a complete ROM (as opposed to just a kernel, as i have been doing). please refer to the commit for details. [Oct 3]
Adjusting partition sizes
you can repartition your phone to better distribute available flash space. i recommend vestigial /preload (unless you want to go back to stock roms later), 1 GB /system (the original 0.5 GB /system is too small for android 4.4 and gapps; 0.75 GB is enough, but the Nexus 5 comes with 1 GB, so i guess google expects it to keep growing), 6 GB /data (of which you should always keep 2 or 1 GB free to provide the eMMC with trimmable free space -remember the FAT partition does not trim), and the rest (about 8 GB) used for the internal sdcard. you can format the internal sdcard as some FAT or as ext4. (but windows does not understand ext4, but there is MTP... google!)
you can use ODIN (windows-only) or heimdall to repartition. @Roxxors contributed a nice partitioning how-to that you should read. note that he embedded my M9 kernel in his ODIN files. to create a file with the right kernel for your needs, read this.
here are some PIT files (these files are for the i9100 16 GB only, but you can use PIT Magic to roll your own):
0.5 GB system
0.75 GB system
1 GB system, 3/4/6 GB data
1 GB system, 8 GB data
1 GB system, 4 GB data, small preload
1 GB system, 6 GB data, small preload <-- this PIT is buggy!
(see attached file for a replacement i made; includes a script to repartition from linux using heimdall.)
in general, 2 GB, or even 1, of trimmable free space (ie: free space in the /data partition) will probably be more than enough to speed up your device, with rapidly diminishing gains over that.
UPDATE: due to a bug in CM, the recovery is unable to format the /preload partition. formatting is needed after repartitioning. to manually format, open a terminal on the phone and type: su -c "mkfs.ext2 /dev/block/platform/dw_mmc/by-name/HIDDEN" or from the PC via adb: adb shell su -c "mkfs.ext2 /dev/block/platform/dw_mmc/by-name/HIDDEN" (you can also use other commands such as mke2fs and mkfs.ext2.)
PLEASE NOTE: this is not a partitioning thread!!! please DO NOT seek partitioning help in this thread. please post in an appropriate thread instead. this thread is for KERNEL ISSUES ONLY. thank you!
XDA:DevDB Information
BrickbugAftermath-i9100, Kernel for the Samsung Galaxy S II
Contributors
Lanchon
Source Code: https://github.com/Lanchon/BrickbugAftermath-SGS2
Kernel Special Features: CyanogenMod kernel with TRIM support
Version Information
Status: Stable
Created 2014-08-10
Last Updated 2016-04-17
TRIM On Other Roms And Kernels
TRIM on custom roms
when running any non-trim enabled kernel, significant speed benefits can be obtained by overprovisioning the eMMC. as long as a portion of the eMMC is in the erased state (trimmed) it will perform well, even if the kernel is not able to trim. this can be seen for example when the device is new: non-trim kernel and still the device runs nicely. as time goes on, normal usage causes the eMMC to be written all over, reducing the amount of trimmed space to zero and killing performance. this situation can be avoided in two ways: 1) by using a trim-enabled kernel that will trim space once it is no longer used by files, or 2) by setting aside an area of the eMMC and never write to it, effectively keeping it in the erased state. this second option is called overprovisioning in SSD parlance.
those of you wanting to run official CM kernels, CM nightlies, or other custom roms altogether can still obtain most of the benefits of a trim-enabled kernel without one by overprovisioning your eMMC. the stock partitioning of the 4210-based devices includes an 0.5 GB /preload partition that is just perfect for the job.
Requirements:
you have not repartitioned your device and shrank the /preload partition to enlarge other partitions.
your custom rom does not use the /preload partition. (CM does not, and I do not know of any that does... but google!)
you are not using dual-boot or other mods that use the /preload partition.
NOTE: if you have shrunk /preload and enlarged /system to 1 GB you can still follow these steps to overprovision using the free space in /system, but you will need to redo them every time you flash a new rom. otherwise, if you have an 0.5 GB /preload, you can do these steps once and just forget about the whole thing (until you flash something to the /preload partition, that is).
Instructions:
NOTE: please read step 9 now and decide if you want to use a root file manager to delete everything in /preload before you start or if you want to try to format the partition with your current recovery.
READ THIS POST IN FULL. find out which bugs your eMMC has if any, and decide whether to run the risk of trimming.
download to your device the newest trim-enabled kernel for your particular device from here.
download to your device a recovery-flashable copy of the kernel that you are currently using. (or else make a nandroid backup in step 6.)
if you want, download to your device the recovery trimmer script attached to this post. (see step 11 for more information.)
reboot to recovery.
make a nandroid backup if you do not have a flashable copy of your current kernel on your device. (make sure your nandroid is compatible with CWM-based recoveries.)
flash the trim-enabled kernel.
in the advanced section, choose reboot recovery. now you are temporarily running a trim-enabled kernel.
in the mounts and storage section, choose format /preload. (make a nandroid backup first if unsure of its contents.)
NOTE: it has been reported that format /preload does not work. this is a bug in CM's recovery. you may want to adb shell to the device to delete all files and folders under /preload, including those hidden. free space in this partition will remain trimmed when you later use the phone so it is important that most of the partition be empty after this step. (bug report)
still in the mounts and storage section, mount (if necessary) the following partitions: /system, /cache, /data and /preload.
choose one of these two options:
attach your device via USB to your PC, open a terminal, and type adb devices to verify that your device is reachable and authorized. (if it is not, under linux type adb kill-server; sudo adb devices to troubleshoot the issue; under windows try restarting the adb server from an administrator console.) in the terminal type adb shell "fstrim -v /system; fstrim -v /data; fstrim -v /cache; fstrim -v /preload" to trim. for each partition, fstrim should output a message stating the number of bytes trimmed; this indicates success.
flash the attached recovery trimmer script. you will not have any indication of success using this method. (make sure you have mounted the applicable partitions in the previous step!)
flash your old kernel back or, equivalently, restore your nandroid. (you can advance-restore only the boot partition if you want.)
reboot and profit.
TRIM on rooted stock android 4.1.2
this is beyond the scope of this project, but still some people may be interested.
Instructions:
make sure you are rooted.
WARNING: MAKE SURE YOU ARE RUNNING STOCK ANDROID VERSION 4.1.2 (THE RELEASE, NOT A LEAKED VERSION) OR YOU WILL DESTROY YOUR DEVICE DUE TO BRICKBUG!!!
READ THIS POST IN FULL. find out which bugs your eMMC has if any, and decide whether to run the risk of trimming.
WARNING: MAKE SURE YOUR EMMC IS NOT AFFECTED BY TRIM BUG OR YOU WILL DESTROY YOUR DEVICE!!! if you have trim bug, you must not trim on a stock kernel, end of story.
also, it is assumed that release (not a leak) 4.1.2 stock kernel contains this patch and thus is brickbug safe. but there might be different versions, and there is no way to be sure if the corresponding source code was patched by samsung, so...
WARNING: IF YOUR EMMC IS AFFECTED BY BRICKBUG, THE POSSIBILITY HARD BRICKING YOUR DEVICE CANNOT BE COMPLETELY RULED OUT without access to the kernel source code. proceed at your own peril, or better yet, switch to a custom rom/kernel.
install the LagFix (free) app from xda (the market version is declared to be incompatible with some 4210-based devices). go to the LagFix tab, check the 3 partitions, and tap on run. grant root access. the 3 fstrim operations should be successful ("partition was trimmed" means success). alternatively, those with busybox installed can try issuing the fstrim commands themselves. in particular, you must do this to trim /preload. you can also look for the fstrim command in the private files of LagFix.
UPDATE: there is a replacement app for LagFix called Trimmer that has several advantages over the former: is fully free, can schedule TRIMs, and is compatible with Android 5.
reboot and profit.
NOTE: i assume there is little free space in /system and /preload in stock roms, so most benefits will come from trimmed free space in /data. this space will get overwritten in time so you will need to periodically trim.
Recreating My Kernels From Source
i have been wrongly accused of not providing full source code to my kernels. to counter this accusation i am providing step-by-step instructions on how to exactly recreate any of the kernels published in this project from source. to start, all you need to know is the filename of the kernel you want to recreate. then simply follow these steps:
identify and obtain the CM release that corresponds to the kernel based on the kernel filename. example:
kernel: kernel-cm-11-20140915-NIGHTLY-Lanchon-TRIM-20140916-n7000.zip
CM release: cm-11-20140915-NIGHTLY-n7000.zip​note that nightly releases are not kept for long in CM's download servers. that is why i mirror all relevant nightlies right beside my kernels in the downloads section.
extract the build manifest (/system/etc/build-manifest.xml) from the CM release zip file.
using the manifest, checkout the source code corresponding to the release to ~/android/system by following these instructions.
identify the version of the patches that corresponds to the kernel based on the kernel filename. example:
kernel: kernel-cm-11-20140915-NIGHTLY-Lanchon-TRIM-20140916-n7000.zip
branch: cm-11
date: 20140916
tag to match: cm-11-20140916​
identify the corresponding tag in my github repo and checkout its tree to ~/android/brickbug/BrickbugAftermath-SGS2. if no tag matches exactly, use the tag in the same branch that sports the closest earlier date.
run ~/android/brickbug/BrickbugAftermath-SGS2/scripts/repo-patch apply to apply the patches.
(repo-patch apply functionality used to be provided by standalone script apply in old versions.)
build the kernel using these instructions.
finally, you can run ~/android/brickbug/BrickbugAftermath-SGS2/scripts/repo-patch reset to unpatch your source tree.
(repo-patch reset functionality used to be provided by standalone script reset in old versions.)
Sh*t...
erdal67 said:
Sh*t...
Click to expand...
Click to collapse
lol brickbug
well someone will have to the guts to try. if you read the main thread (very long), i argue that it is probably safe to run my build in your phone... but then, there's only one way to know for sure
erdal67 said:
Sh*t...
Click to expand...
Click to collapse
Got the same Revision (19) according to the cm table this Rom could! But not must brick our device?
empulse92 said:
Got the same Revision (19) according to the cm table this Rom could! But not must brick our device?
Click to expand...
Click to collapse
i'm sorry you are affected. i personally think it would not brick (for reasons explained in the main thread, you are invited to chip in).
but i could brick! there's risk.
we will never know until somebody tests...
Lanchon said:
i'm sorry you are affected. i personally think it would not brick (for reasons explained in the main thread, you are invited to chip in).
but i could brick! there's risk.
we will never know until somebody tests...
Click to expand...
Click to collapse
I think i may give it a try... Unsure if i should usw another pit? Got 2gb (stock) for now you suggestet to use 4or 6 GB? I got some Mainboards hat home with destroyed imei chips, seems to be good testers if the chip is the same :highfive:
Another question: is the fw Version of the chip upgradeable via Odin vor heimdall? Is it possible to acces the Software used by this chip?
empulse92 said:
I think i may give it a try... Unsure if i should usw another pit? Got 2gb (stock) for now you suggestet to use 4or 6 GB? I got some Mainboards hat home with destroyed imei chips, seems to be good testers if the chip is the same :highfive:
Click to expand...
Click to collapse
boards with lost IMEIs? that would be great to test!!! no big loss in the worse case.
don't bother with the PIT files. just follow the main instructions. this is to test if it TRIM works without bricking in those chips. if you later want to set up a phone for real use, you can try resizing the partitions (i would for my phone).
exactly the same chip! VYLOOM 0x19 :victory: (date differs , 06/2011 but i guess this wont make a big difference at least )
edit: bootin...:fingers-crossed:
edit 2: succesfully booted,
empulse92 said:
exactly the same chip! VYLOOM 0x19 :victory: (date differs , 06/2011 but i guess this wont make a big difference at least )
edit: bootin...:fingers-crossed:
edit 2: succesfully booted,
Click to expand...
Click to collapse
cool!! thanks!!!
and? did you use lagfix?
did u trim /sdcard?
Lanchon said:
cool!! thanks!!!
and? did you use lagfix?
did u trim /sdcard?
Click to expand...
Click to collapse
i did dont know if there are errors if trim isnt supported or not but for now... see yourself
note : play store says lagfix app is incompatible with this device i got the app from xda
http://forum.xda-developers.com/showthread.php?t=2104326
Click to expand...
Click to collapse
empulse92 said:
i did dont know if there are errors if trim isnt supported or not but for now... see yourself
note : play store says lagfix app is incompatible with this device i got the app from xda
View attachment 2891398
Click to expand...
Click to collapse
thanks! yes i'll update the app link then. those trims were successful, and yes it shows errors when you try to trim and the kernel doesn't support it.
i guess now you should use that phone and see if it bricks... for now its looking like the chances of bricking are going way down.
could you do two more tests?
try to trim /sdcard (steps in my first post)
then enable ART (debugging menu) and and see if it boot loops or not.
thanks!
no error when trimming sdcard... should i wait some more before trying art?
empulse92 said:
no error when trimming sdcard... should i wait some more before trying art?
Click to expand...
Click to collapse
great! did the trim sdcard command took some time, like a second or two? or did it end absolutely immediately, like a no operation would?
no, everything checked ok, you can try ART. i think it should work. if it doesnt, wipe data from recovery (i think you are using an empty phone anyway, right?)
there was no delay after using the command.. just as you said, as if nothing happened. this is why i was wondering^^ but still not sure about this
yep the phone is empty, but i cant get into recovery or download mode .. time to set up adb
edit: device offline-.-'
edit 2: i am retarded and forgot to press the home button :')
edit 3: alrighty, now it boots but after wiping its still dalvik cache vm
empulse92 said:
there was no delay after using the command.. just as you said, as if nothing happened. this is why i was wondering^^
yep the phone is empty, but i cant get into recovery or download mode .. time to set up adb
edit: device offline-.-'
edit 2: i am retarded and forgot to press the home button :')
Click to expand...
Click to collapse
hmmm... i've read somewhere the android shell sends stderr to limbo. i just tried to fstrim /sys on my nexus and not a word, exits immediately. on my linux PC it says "fstrim: /sys: FITRIM ioctl failed: Inappropriate ioctl for device".
i'll look into this further. meanwhile, are u testing ART?
EDIT: i dont know why no error is printed. but on android, if you fstrim with -v option you get text if successful:
[email protected]:/ # fstrim -v /system
/system: 0 bytes trimmed
[email protected]:/ # fstrim -v /data
/data: 2399477760 bytes trimmed
[email protected]:/ # fstrim -v /sys
1|[email protected]:/ #
so if you do fstrim -v /sdcard and you get no output, then the kernel is unable to trim FAT32. if this is the case, it would pay to find a alternate solution to this in the long run.
enabling art forces bootloop, formatting data reverts back to dalvik :silly:
no chance to use art for now^^
edit: here's a logcat but i'm not sure if it shows a normal boot or the art bootloop
https://drive.google.com/file/d/0Bw86veXkn-fiZ2FnU3lqdkFuWVE/edit?usp=sharing
edit 2: another screenshot (dont be confused i didnt change the time zone yet)
empulse92 said:
enabling art forces bootloop, formatting data reverts back to dalvik :silly:
no chance to use art for now^^
edit: here's a logcat but i'm not sure if it shows a normal boot or the art bootloop
https://drive.google.com/file/d/0Bw86veXkn-fiZ2FnU3lqdkFuWVE/edit?usp=sharing
edit 2: another screenshot (dont be confused i didnt change the time zone yet)
View attachment 2891493
Click to expand...
Click to collapse
thanks!
assuming official M9 has working ART, there must be some trouble with my build setup. my OpenPDroid build has the same thing, it is not related to TRIM. oh well...
your screenshot clearly shows there is no TRIM support for FAT32
i will think of what to do next. in any case, if you turn off ART and flash this on your working phone (with 20%+ free space in your internal partition) you should notice a big improvement in responsiveness and diminished lags. (a friend told me "feels like a different phone", but maybe he is exaggerating.) i still warn against doing it! i would exercise the internal storage on this phone for a while, installing big apps then deleting them, flashing the rom a couple more times, and using LagFix to trim all partitions.
or you can make a backup of your current phone and restore it here, then lagfix, and see if the increased speed justifies the risk. its your call...
for now i have nothing else to ask you to test. thank you very much!!! you've been amazing help!!!
using this on my daily phone now :good:
empulse92 said:
using this on my daily phone now :good:
Click to expand...
Click to collapse
oops! are you sure??? i hope nothing bad happens...
after LagFix trimming and rebooting, how do you feel the phone in the way of responsiveness?

[Q&A] MultiSystem for Android

MultiSystem is a powerful tool for locked- and unlocked-bootloader Android devices with many features that at least includes the following:
Keeps stock system partition safe/rooted
Permenant root survival with proper use
MultiROM support via virtual ROMs
Unlimited number of virtual ROMs
Booting options to choose stock, primary, or secondary virtual ROM
Any of the virtual ROMs can work as a recovery replacement
Flashing multiple ROMs at the same time without a reboot
Ability to create/install ROMs on Linux to microSD card
Great performance & battery life on virtual ROMs
Recovery solution to install ROMs or Mods
Easy upgrade to newer versions of Android
Ability to safely apply OTA updates to virtual system
Permissive SELinux and other kernel tweaks
Safe flashing that doesn't trip KNOX flag on Samsung devices
Wrapper script runs via ADB or a Terminal Emulator on device
APK to manage all MultiSystem functions with a nice UI and extra options
Management for the best performance & user experience
Support for all Android devices with microSD card
Portability to almost all devices
Compatibility with all Android versions
Click to expand...
Click to collapse
Q&A​
What is the concept behind MultiSystem?
It runs virtual Android ROMs on microSD, like booting multiple systems on a PC from different partitions/disks. So, your stock system partition is kept safe/rooted. It won't affect performance or anything (might even be better on the virtual system if you've high quality microSD & the device supports its speed). Also, you can freely modify any of the virtual systems & in the worst case, reboot the safe stock system or another working virtual system to recover. So, no root loss or potential damage to the original device partitions.
Click to expand...
Click to collapse
Is it a recovery or an APK tool?
It's a shell script that hijacks system at early boot & force Android to boot from the stock system partition or a virtual system IMG & an APK that manages all booting options, virtual ROMs, and works as a recovery replacement + extra features...
Click to expand...
Click to collapse
Does it work as a recovery replacement?
It IS a POWERFUL recovery replacement. You can do whatever you do in recovery with the APK. HOW? recovery does its magic b/c it doesn't depend on the system & has its own kernel/ramdisk. In MultiSystem, you can boot a virtual ROM from extSD that sure doesn't depend on stock system partition or any of the other virtual ROMs (it does depend on the kernel, which you can't flash on locked devcies anyway). Hence, install, backup, restore, ... & all recovery functions are all possible +++ more features since you're running a full ROM not just a recovery ramdisk like Safestrap.
Bottom Line: I think it's the best & most convenient recovery replacement ever for locked devices & it can also attract unlocked devices for the powerful features, MultiROM, and recovery from within ROM.
Click to expand...
Click to collapse
Can I use FlashFire along with MultiSystem?
Yes. MultiSystem is compatible with FlashFire & fully supports it on stock & virtual ROMs. So, you can use both/any of them for flashing to either a stock or virtual ROM. However, it's recommended to use MultiSystem when flashing to the stock system partition (shouldn't be needed anyway since you can always be safe & flash to your old/new virtual ROMs).
Click to expand...
Click to collapse
Does MultiSystem require FlashFire?
No, MultiSystem doesn't require FlashFire. They're fully combatible though.
Click to expand...
Click to collapse
Would the virtual ROM we install be exactly the one in the stock slot?
In MultiSystem APK, you can create a virtual ROM from stock system, a copy from other virtual ROM, a new IMG, a dev-provided ROM, a flashable .ZIP, ... etc. Literally, your virtual ROMs can be any stock or custom ROM that's compatible with your firmware/kernel.
Click to expand...
Click to collapse
How can it run virtual ROMs from external microSD card?
External MicroSD will be formated into 2 partitions:
exFAT or FAT32 for the 1st partition (your new external storage)
EXT4 for the 2nd partition (your MultiSystem partition)
It'll hijack the system & boot a virtual system from the 2nd partition. The 1st partition will be automatically detected as your extSD.
Click to expand...
Click to collapse
Can I run unrooted virtual ROM for work apps or any other reason?
Yes. You can add unrooted virtual ROM & reboot to it via MultiSystem APK.
Click to expand...
Click to collapse
How do you boot back into a different ROM?
MultiSystem APK manages all functions including ROM activation & reboot to current system, another stock/virtual system, download mode, recovery, ... etc.
Click to expand...
Click to collapse
Will it be OK to still store media like movies/photos/music to extSD?
100% OK; That's my setup a few months ago. 2 virtual ROMs in the SECOND extSD partition in EXT4 format while all personal data are stored on the FIRST extSD partition in exFAT or FAT32 format... TWO COMPLETELY DIFFERET PARTITIONS.
Click to expand...
Click to collapse
How much space are we going to have for virtual ROMs?
The size of the 2nd partition is optional (> 4GB) for your ROMs, but here is an estimated sizes:
1 Virtual ROM Uncompressed = ~2.7 GB ---> ready for running
1 Virtual ROM Compressed = ~1.5 GB ---> for full ROM backups
I'd say better allocate 4 GB for each ROM you plan to run. If you just need one virtual ROM to keep stock system safe, 4 GB 2nd extSD partition is enough; The remaining space is allocated for the 1st extSD partition as your external storage.
For me, I run Linux too from extSD via MultiSystem. So, I've 64 GB extSD card with two partitions 32 GB each.
Click to expand...
Click to collapse
Can I clear up space on an existing SD card and partition it while full or will the entire card need to be wiped and partitioned from scratch?
You need to backup all your files; it'll be wiped & repartitioned.
Click to expand...
Click to collapse
How can I swap microSD cards & be able to run virtual ROMs?
You can swap microSD cards as you wish provided that the device is powered off; don't remove the microSD card when running a virtual ROM. If the new microSD card doesn't include a 2nd parition of available virtual ROMs, the device will boot directly to the stock system.
Click to expand...
Click to collapse
Is there a specific sd card you recommended for this?
I personally have two microSD cards:
SanDisk Extreme Plus 64GB (Up to 80MB/s read speed)
Samsung 64GB PRO (Up to 90MB/s read speed)
You don't have to change your microSD card for MultiSystem; any card you use on your device should work just fine. The need for more speed is relevant when the device supports that speed & if you're going to buy a new card anyway that you may use with a newer device later.
Click to expand...
Click to collapse
Can I copy virtual ROMs to a new microSD card?
Yes. I'll add a feature for swapping microSD cards so that you can backup/restore virtual ROMs from/to the current extSD to/from internal storage as follows:
power off device
use MultiSystem APK to backup your virtual ROMs
insert the new properly formatted microSD,
power on device (it'll boot to stock system)
use MultiSystem APK to restore your virtual ROMs
use MultiSystem APK to activate one of your virtual ROMs
use MultiSystem APK to reboot to any of your ROMs
Click to expand...
Click to collapse
What about other data/cache partitions and internal storage?
Only system img's are in the extSD. All ROMs share all other partitions. This substantially improves the performance & you won't notice any difference between your stock & virtual ROMs. The reason for performance improvement is that EXT4 loop devices are very fast in reading but not in writing. Your system partition is read-only while data (for example) is read write & cache IMGs cause problems like Safestrap issues on ROM slots. Also, you don't have to worry about switching data/settings between ROMs (they're shared), but you just need to regularly backup your important data (which is healthy anyway).
Click to expand...
Click to collapse
Can your elaborate where data is stored?
The userdata partition is also shared; so, you'll have access to all your FULL storage partitions & all apps/data similarly on either stock or virtual ROMs. This also solves the Safestrap issue of having less storage on ROM slots...
Click to expand...
Click to collapse
Will mSDcard incur a significant performance penalty on some devices?
there's no diffrerence between virtual & stock ROMs in terms of performance & battery life. The reason is simple: loop devices associated with the READ-ONLY system IMG mounted from EXT4 partition using a high-quality microSD card IS very fast more than enough.
The read speed is faster than the device can operate anyway + the exact same device should perform on the lowest speed when reading/writing from/to the FAT/FAT32/ExFAT extSD card (where you store your files or even move apps!!!) anyway, which is much slower than the read speed of a loop device mounted from EXT4 partition.
That's why data partition is shared for many reasons, including the poor READ/WRITE performance.
Click to expand...
Click to collapse
If virtual systems are read only, how do we modify them? Do we have to boot to another multisystem rom to modify a virtual rom?
The stock system partition is mounted by default read only & so are the virtual systems. To modify a stock/virtual system, the MultiSystem APK remounts them read/write. You can modify the currently running virtual system, copy it & modify the copy, modify another stock/virtual system.
Click to expand...
Click to collapse
How is a corrupted virtual rom handled? Does it see it's bad and default to stock system?
At early boot, MultiSystem checks for the microSD & active virtual ROM to boot it. There's a boot menu that gives you options to select a stock/virtual system, but it crashes on LP. I'm debugging it, but all functions won't be affected if I removed it. To fail safe, you can remove the microSD card to boot to stock system & restore/repair your virtual ROMs.
UPDATE1: MultiSystem v1.0.1 now allows you to also switch to stock system on boot to repair corrupted virtual IMGs or any other reasons. More options will be added during boot to ultimately select another virtual system if the active IMG is not booting normally (e.g., bootloop after applying a mod or flashing a bad .ZIP).
UPDATE2: Now, on boot, you can choose from two primary/secondary virtual ROM or stock ROM. Flashing multiple ROMs at the same time without a reboot is now possible.
Click to expand...
Click to collapse
How to check if an IMG is corrupted using MultiSystem status?
Code:
Current System IMG: Test_Rom.img
Current System DEV: [B][COLOR="Red"]/dev/block/mmcblk0p23[/COLOR][/B]
When you see "/dev/block/mmcblk0p23"; it's the original system partition; so MultiSystem failed to boot Test_Rom.img, but it should be your current system.
So, the check is simple based on "Current System Device":
/dev/block/mmcblk0p23 = Stock System Partition
/dev/block/loop0 = Virtual System IMG
Note: The block device number (mmcblk0p23) may vary per device & per variant !
Click to expand...
Click to collapse
Does android do any maintenance whatsoever on stored data within /data or external sd? So if I have an app installed on 1 system and not on another system will android see it and clear the data?
No, all storage partitions are shared between ROMs. If you installed an app, it'll be availabe for all of them. Since on locked devcies we're limited to stock manufacturer-based ROMs, this makes the switch between ROMs very convinient (you don't have to worry about your changes/data/setup & storage space on the another ROM; all ROMs share everything except system). However, you should make regular backups in case a virtual ROM (probably with unsafe mods) results in bootloop due to your user data. In this case, it's safe to wipe data & selectively restore apps/data from backup(s). Another advantage of sharing all storage partitions is that your messages/emails/etc received on a virtual ROM are immediated synced (actually shared) to the other ROMs.
Click to expand...
Click to collapse
Will anything like Xposed modify the virtual ROM system IMG as opposed to the stock system IMG?
When you run a Virtual System, everything incldung kernel & apps are hijacked to speak to it as the original system.
Click to expand...
Click to collapse
Can we install AOSP ROMs on locked devices?
You can only install stock/manufacturer-based ROMs on locked devices while unlocked devices can use kexec or flash the required kernel to boot any AOSP/Stock ROMs. I've got a Note 4 Developer Edition & a lot of development is planned to go there (thanks to the unlocked bootloader!) More devices will get supported including unlocked TMO & international variants after adding more features untilizing the unlocked bootloader with kexec'd kernels.
Click to expand...
Click to collapse
Are there limitations to the combinations of ROMs that can be loaded on the "stock" and "virtual" slots? Can you mix KK and LP?
Yes, if they can run on the same kernel. LP won't run on KK kernels & so, you'd have to upgrade the firmware anyway. As for running mixed compatible Android versions, this is possible but your'd have to backup your data before switching ROMs; if it cause no issues, enjoy smooth switch & if it doesn't, do factory reset in recovery & restore your data backup. Backups via MultiSystem are painless.
Click to expand...
Click to collapse
Are applications installed once for each ROM slot that has that applicaiton installed, or can I share a game across ROMs (for instance?)
Everything is shared between ROMs, which is very good for storage & for easy switching. Just make regular backups of your sensitive data.
Click to expand...
Click to collapse
How there are no performance hits while internal storage memory was much faster than any microSD technology?
Read speeds from microSD is very fast compared to write speeds & since virtual ROMs are actually a virtual read-only systems (hence, MultiSystem), they provide a high performance. Moreover, again, read speeds from EXT4 loop devices are higher compared to physical partitions. They're very bad in writing, which we don't need for the read-only "system".
Click to expand...
Click to collapse
Is there a preferred "daily driver" ROM that should be installed in the stock slot?
Uses a stock ODEXED ROM on stock slot for better stability!
Click to expand...
Click to collapse
Is it based off of Safestrap?
Short answer NO. I've been working on MultiSystem & Safestrap for ~7 months. Earlier versions of MultiSystem (called, JasmineREC) was based on Safestrap, but it failed to support newer versions of Android mainly due to TWRP changes in the graphics/UI libraries that cause segmentation fault & the stock kernel framebuffer issues. Then, I decided to find another solution. However, the basic idea of system hijack is powered by Safestrap (or 2nd-init recoveries in general) & all the work done by @Hashcode is GREATLY appreciated.
Click to expand...
Click to collapse
How can it overwrite system files while running?
MultiSystem allows you to install safe mod's or a ROM in full or OTA-like update. It's strongly recommended to install .ZIP files NOT to the current system, b/c some files can not be overwritten while running. So, you can use backup function to copy the current system & install to the new img or any of your other virtual systems. You'll have several options to activate a virtual img & reboot directly to stock system, any virtual img you've activated, quick reboot, Download/bootloader, recovery,... etc.
Click to expand...
Click to collapse
How would I benefit from it if I'm only running Stock ROM or would there be no point for me to install it?
If you run a ROM on stock system, you're vulnerable to root loss unless/untill a new rooting method for LP comes out. MultiSystem gives you the option to run safe-to-mod virtual ROMs + recovery replacement + extra features.
Click to expand...
Click to collapse
Is there a way to convert a normal ROM .ZIP into MultiSystem .IMG?
Create or copy any of your IMGs, activate it & reboot to the active IMG! Then, use FlashFire to flash the ZIP file. However, the updater-script should be safe/compatible. Some devs mount the phyical partition, which will redirect everything to it!!
For example:
Code:
mount(“ext4″, “EMMC”, “/dev/block/mmcblk0p23″, “/system”);
will mount the original system partition; while
Code:
run_program("/sbin/mount", "-t", "auto", "/system");
will mount the current system (stock or virtual). This is recommended/safe.
Click to expand...
Click to collapse
Would a KitKat ROM work with multisystem even though my stock is Lollipop?
Any ROM requires a compatible kernel & modem. So, running KK ROMs requires flashing KK firmware (namely, kernel & modem). This may work with MultiSystem on other devices, especially if the bootlpoader is unlocked. For example, I plan to add features for Note 4 DevED to allow different Android versions (including AOSP, manufacturer-based, & probably Linux systems) by utilizing kernel swapping or execution.
Click to expand...
Click to collapse
When MultiSystem comes out will it be open sourced?
Most probably, haven't decided yet!
Anyway, here's the repository on GitHub: https://github.com/hsbadr/MultiSystem
Click to expand...
Click to collapse
Click to expand...
Click to collapse
Video Tutorials
A quick preview of MultiSystem v1.0 tested on Lollipop for VZW Note 3. The video has been captured on a stable virtual ROM of JasmineROM v5.0.1. It's FULLY compatible with FlashFire on virtual/stock systems. More devices will get supported as well, after required testing.
Facebook: https://www.facebook.com/hsbadr/videos/vb.331488823689599/428178174020663
How to check if you are running a Stock/Virtual System?
There're many ways to check whether you're running a Stock or Virtual system. MultiSystem app should include this simple check at some point. That's important to avoint ruining the Stock system & keep it safe. To make it clear to NOOBZ & anyone who's requesting "another" proof even though I owe hime nothing. Very weird!
Anyway, BusyBox mountpoint applet can print the current block/device mounted to /system mountpoint by running the following command:
Code:
busybox mountpoint -n /system
The stock system is mounts the original system partition:
Code:
[B][COLOR="Red"]/dev/block/mmcblk0p23[/COLOR][/B]
while the virtual system mounts a loop device associated with a system IMG:
Code:
[B][COLOR="Blue"]/dev/block/loop0[/COLOR][/B]
Here're two videos for both stock & virtual systems...
UPDATE:
Now, you could run the following command to print the current system (stock or virtual) and the system device (physical partition or loop device):
Code:
MultiSystem status
Note: The block device number (mmcblk0p23) may vary per device & per variant !
How to repartition microSD card for MultiSystem?
You can use any tool/program for partitioning on Android, Linux, Mac, or Windows. For example, MiniTool Partition Wizard is a good partitioning tool for Windows. So, let's use it for this task. Simply, you need to follow this PDF tutorial (thanks to @carl1961). In sum:
Step 1: delete old partitions on SD card
Step 2: create FAT32 PRIMARY partition
Step 3: create EXT4 PRIMARY partition
Then, apply changes (note that the program UI may get changed in newer versions).
Notes:
This partitioning tutorial doesn't create PRIMARY partitions (it creates logical partitions). So, you need to change "Create As" from "Logical" to "Primary" when creatig a partition.
The sizes of the two partitions are arbitrary depending on number of ROMs you plan to install on the 2nd EXT4 partition.
The 1st partition (check size) is automatically detected as your external storage
In Terminal Emulator or ADB shell, check the existence of the two partitions by running the following command (in red):
Code:
[email protected]:/ # [COLOR="Red"]ls -l /dev/block/platform/msm_sdcc.3/[/COLOR]
drwxr-xr-x root root 2015-05-02 21:08 by-num
lrwxrwxrwx root root 2015-05-02 21:08 mmcblk1 -> /dev/block/mmcblk1
lrwxrwxrwx root root 2015-05-02 21:08 mmcblk1p1 -> [COLOR="Blue"]/dev/block/mmcblk1p1[/COLOR]
lrwxrwxrwx root root 2015-05-02 21:08 mmcblk1p2 -> [COLOR="Blue"]/dev/block/mmcblk1p2[/COLOR]
/dev/block/mmcblk1p1 is mounted by Android as your external storage.
/dev/block/mmcblk1p2 is NOT mounted & will be your MultiSystem partition.
Click to expand...
Click to collapse
How to check microSD card partitions for MultiSystem?
You need to correctly repartition microSD card into two partitions:
exFAT or FAT32 for the 1st partition (your new external storage)
EXT4 for the 2nd partition (your MultiSystem partition)
Use the directions in this post!
You should check your 2nd SD partition in EXT4 format mounted to /MultiSystem:
check that the /MultiSystem directory exists after a reboot
check that the 2nd SD partition (/dev/block/mmcblk1p2) is mounted to /MultiSystem by running the following command in Terminal Emulator or ADB shell:
Code:
mount | grep /MultiSystem
The output should be:
Code:
/dev/block/mmcblk1p2 /MultiSystem ext4 rw,seclabel,relatime,data=ordered 0 0
How to check MultiSystem Installation?
The 1st thing to do after installing MultiSystem is to check the /MultiSystem directory & its contents (it shouldn't be empty!). Then, check usage by running the following commands in Terminal Emulator or ADB shell:
Code:
su
bash
MultiSystem
If it retuns "MultiSystem not found" or permission denied, try to use open MultiSystem app to Update Configurations & try again. If this does't fix it, try the following command:
Code:
/MultiSystem/bin/MultiSystem
This should work if you've MultiSystem binaries installed in (extracted to) /MultiSystem directory. If so, you can create a symlink in /system/xbin as follows:
Code:
mount -o remount,rw /system
ln -sv /MultiSystem/bin/MultiSystem /system/xbin/MultiSystem
Then, test it by running:
Code:
MultiSystem
The last thing before using it is to check the boot options: reboot & monitor the GREEN LED indicator for 3 seconds (change in the app) , which give you the following options:
Volume UP = Primary virtual ROM
Volume DOWN = Secondary virtual ROM
HOME KEY = Stock System
Pressing nothing will boot the active system: stock or primary virtual system. Sure, you should have installed one or more virtual ROMs.
Backup & restore or creating/installing a virtual ROM are easy as copy & paste: all img's will be at
Code:
/MultiSystem/img/system
To backup a virtual/stock system, you have many options:
Use create function to create from stock system
Use copy function to copy the IMG
Copy & paste with a new name
Use FlashFire (fully supported on virtual/stock ROMs)
...
If you've IMG mounting issues, run the following commands:
Code:
mount -o remount,rw /system
busybox ln -sv /proc/self/mounts /system/etc/mtab
If this doesn't help, try mounting from Terminal Emulator or ADB shell after selecting the IMG in MultiSystem app, by running the following command:
Code:
MultiSystem mount virtual
Will this work on the s5 active version?
jasonj711 said:
Will this work on the s5 active version?
Click to expand...
Click to collapse
Maybe; it works on ARM-based Android devices with microSD card. Howerver, it's currently tested on the devices listed here. You may test it (backup all your files/ROM!) & report back.
Looking forward to trying this out. I've been waiting for a solid MultiBoot solution for some time. Kudos.
Sent from my SM-N910P using XDA Premium 4 mobile app
Sorry, I'm a bit confused as to how one installs a ROM into an img. Whenever I mount an img and try selecting a flashable zip file it returns "file selected: null"
Am I doing something incorrectly?
U kind Sir a genius and a god-send.
Quick Question:
I plan to add features for Note 4 DevED to allow different Android versions (including AOSP, manufacturer-based, & probably Linux systems) by utilizing kernel swapping or execution.
Click to expand...
Click to collapse
Does it mean that we have to wait for this functionality yet or can I use SimplRom or Dr Ketan's Rom as Primary ROM and CM12 as secondary ROM.
Also the MiniTool Partition does not see the phone's SD card. I have a Note 4 International version (N910F).
Thank U and plz forgive the noob question (if the answer is obvious), I have just recently started using Android.
Alright, so whenever I try flashing a ROM the red LED turns on and then quickly off again. Here's my log http://pastebin.com/txN8mSjq
ok a dumb question. do you recommend a special tutorial to show how to convert a zip rom to img rom
Yeah. Support for this is terrible so i gave up.
from my Samsung Galaxy S5 SM-G900T on AT&T, Android 5.0. DOB1 with twi5ted lollipop 5.0 ROM v6
So I installed this and read the Q&A (which tells you what it does) . Now is there instructions somewhere on how to use it?
Dhs92 said:
Sorry, I'm a bit confused as to how one installs a ROM into an img. Whenever I mount an img and try selecting a flashable zip file it returns "file selected: null"
Am I doing something incorrectly?
Click to expand...
Click to collapse
Anubis22666 said:
U kind Sir a genius and a god-send.
Does it mean that we have to wait for this functionality yet or can I use SimplRom or Dr Ketan's Rom as Primary ROM and CM12 as secondary ROM.
Also the MiniTool Partition does not see the phone's SD card. I have a Note 4 International version (N910F).
Thank U and plz forgive the noob question (if the answer is obvious), I have just recently started using Android.
Click to expand...
Click to collapse
Dhs92 said:
Alright, so whenever I try flashing a ROM the red LED turns on and then quickly off again. Here's my log http://pastebin.com/txN8mSjq
Click to expand...
Click to collapse
BACARDILIMON said:
ok a dumb question. do you recommend a special tutorial to show how to convert a zip rom to img rom
Click to expand...
Click to collapse
jt1998 said:
Yeah. Support for this is terrible so i gave up.
Click to expand...
Click to collapse
jir591 said:
So I installed this and read the Q&A (which tells you what it does) . Now is there instructions somewhere on how to use it?
Click to expand...
Click to collapse
Click to expand...
Click to collapse
I'm working with Rootjunky to create a full video tutorial that describes everything to make it easier for you.
As for kexec support for unlocked devices, this has not been implemented yet. MultiSystem supports many devices & so, there'll be delays in responding to all questions in all threads.
thanks for making the video. I think it will help a lot of people.
jt1998 said:
Yeah. Support for this is terrible so i gave up.
from my Samsung Galaxy S5 SM-G900T on AT&T, Android 5.0. DOB1 with twi5ted lollipop 5.0 ROM v6
Click to expand...
Click to collapse
It a work in progress and I am willing to bet when he gives us video we flash junkies will love this . changing rom to fit our mood. I will take it.
---------- Post added at 01:36 AM ---------- Previous post was at 01:35 AM ----------
hsbadr said:
I'm working with Rootjunky to create a full video tutorial that describes everything to make it easier for you.
As for kexec support for unlocked devices, this has not been implemented yet. MultiSystem supports many devices & so, there'll be delays in responding to all questions in all threads.
Click to expand...
Click to collapse
Thank you for all your hard work.
I have a question. I know you recommend a good base but lets say I keep stock image a odex . most roms are deodex will that cause any issues?
BACARDILIMON said:
I have a question. I know you recommend a good base but lets say I keep stock image a odex . most roms are deodex will that cause any issues?
Click to expand...
Click to collapse
It doesn't matter! I like the ODEXED ROMs for stability & memory while DEODEXED ROMs are great for customizations... So, basicly, I use the stock ODEXED on Stock partition & DEODEXED ROMs for the virtual systems.

Categories

Resources