Now it's time for the partitions :good:
Let’s start with a list of standard internal memory partitions on Android phones and tablets. These are:
/boot
/system
/recovery
/data
/cache
/misc
In addition, there are the SD card partitions.
/sdcard
/sd-ext
Note that only /sdcard is found in all Android devices and the rest are present only in select devices. Let’s now take a look at the purpose and contents of each of these partitions.
/boot
This is the partition that enables the phone to boot, as the name suggests. It includes the kernel and the ramdisk. Without this partition, the device will simply not be able to boot. Wiping this partition from recovery should only be done if absolutely required and once done, the device must NOT be rebooted before installing a new one, which can be done by installing a ROM that includes a /boot partition.
/system
This partition basically contains the entire operating system, other than the kernel and the ramdisk. This includes the Android user interface as well as all the system applications that come pre-installed on the device. Wiping this partition will remove Android from the device without rendering it unbootable, and you will still be able to put the phone into recovery or bootloader mode to install a new ROM.
/recovery
The recovery partition can be considered as an alternative boot partition that lets you boot the device into a recovery console for performing advanced recovery and maintenance operations on it. To learn more about this partition and its contents, see the ‘About Android Recovery’ section of our guide to ClockworkMod recovery.
/data
Also called userdata, the data partition contains the user’s data – this is where your contacts, messages, settings and apps that you have installed go. Wiping this partition essentially performs a factory reset on your device, restoring it to the way it was when you first booted it, or the way it was after the last official or custom ROM installation. When you perform a wipe data/factory reset from recovery, it is this partition that you are wiping.
/cache
This is the partition where Android stores frequently accessed data and app components. Wiping the cache doesn’t effect your personal data but simply gets rid of the existing data there, which gets automatically rebuilt as you continue using the device.
/misc
This partition contains miscellaneous system settings in form of on/off switches. These settings may include CID (Carrier or Region ID), USB configuration and certain hardware settings etc. This is an important partition and if it is corrupt or missing, several of the device’s features will will not function normally.
/sdcard
This is not a partition on the internal memory of the device but rather the SD card. In terms of usage, this is your storage space to use as you see fit, to store your media, documents, ROMs etc. on it. Wiping it is perfectly safe as long as you backup all the data you require from it, to your computer first. Though several user-installed apps save their data and settings on the SD card and wiping this partition will make you lose all that data.
On devices with both an internal and an external SD card – devices like the Samsung Galaxy S and several tablets – the /sdcard partition is always used to refer to the internal SD card. For the external SD card – if present – an alternative partition is used, which differs from device to device. In case of Samsung Galaxy S series devices, it is /sdcard/sd while in many other devices, it is /sdcard2. Unlike /sdcard, no system or app data whatsoever is stored automatically on this external SD card and everything present on it has been added there by the user. You can safely wipe it after backing up any data from it that you need to save.
/sd-ext
This is not a standard Android partition, but has become popular in the custom ROM scene. It is basically an additional partition on your SD card that acts as the /data partition when used with certain ROMs that have special features called APP2SD+ or data2ext enabled. It is especially useful on devices with little internal memory allotted to the /data partition. Thus, users who want to install more programs than the internal memory allows can make this partition and use it with a custom ROM that supports this feature, to get additional storage for installing their apps. Wiping this partition is essentially the same as wiping the /data partition – you lose your contacts, SMS, market apps and settings.
With this, we conclude our tour of Android partitions. Now whenever you install a ROM or mod that requires you to wipe certain partitions before the installation, you should be in a better position to know what you’re losing and what not and thus, you’ll know what to backup and what not.
[info] rom 101 and cwm error solutions
Hi guys .You all know me.
I have created this thread for the sole purpose educating every newbie and noob about ROM and it's components...
Here goes
Parts of a ROM
i. The kernel.
Android (like many other Smartphone operating systems) runs on the Linux kernel. The Linux kernel was created in the early 1990’s by a gentleman named Linus Torvalds in Helsinki, Finland. It’s incredibly stable, incredibly friendly, and incredibly difficult for the layman to understand and modify. Thankfully it’s also very popular so it has been ported on to a multitude of hardware, including our Android devices.
Think of the kernel as an interface layer between the hardware and software on your device. The kernel decides when things happen, such as the LED indicator gets lit or when the soft button's LED gets lit. An application sends a request to the operating system to blink the LED. The operating system then sends the request to the kernel, which makes the light flash for the amount of time requested by the OS.
What sounds like a round-about way to get things done is also what makes the system so scalable and robust. Application developers only have to code in a way the operating system understands and the kernel makes it work on the hardware. This also keeps the application running in it’s own user-space and separate from the kernel. That means when you run the latest uber-cool app that wasn’t designed for your particular OS version, or is still very beta and it crashes, the kernel gives you the option to Force Close the application and the kernel can run untouched.
In a standard Android ROM (we will leave developer images and the like for another discussion) the kernel is bundled along with a set of instructions that tell the device how to load the kernel and the OS during boot. This is the boot.img that you see inside a zipped ROM that your not able to easily open. The device knows to extract this image to internal memory (the ramdisk) and follow a series of scripts (init scripts) to load the kernel and then the other portions of the OS. That’s what’s happening while you’re watching the boot animation. Interestingly enough this is done the same way for a PC, your smartphone, an Android tablet, or even a smart Linux powered toaster. If you’re feeling exceptionally geeky, plug your Android phone into the USB port on your PC and let the PC boot from the USB device. No, it doesn’t actually load, but you can watch the animation while it tries to match up the hardware support with what’s inside your PC. As I said, Linux is amazingly scalable and as a result so is Android.
What is a kernel? If you spend any time reading Android forums, blogs, how-to posts or online discussion you'll soon hear people talking about the kernel. A kernel isn't something unique to Android -- iOS and MacOS have one, Windows has one, BlackBerry's QNX has one, in fact all high level operating systems have one. The one we're interested in is Linux, as it's the one Android uses. Let's try to break down what it is and what it does.
Android devices use the Linux kernel, but it's not the exact same kernel other Linux-based operating systems use. There's a lot of Android specific code built in, and Google's Android kernel maintainers have their work cut out for them. OEMs have to contribute as well, because they need to develop hardware drivers for the parts they're using for the kernel version they're using. This is why it takes a while for independent Android developers and hackers to port new versions to older devices and get everything working. Drivers written to work with the Gingerbread kernel on a phone won't necessarily work with the Ice Cream Sandwich kernel. And that's important, because one of the kernel's main functions is to control the hardware. It's a whole lot of source code, with more options while building it than you can imagine, but in the end it's just the intermediary between the hardware and the software.
When software needs the hardware to do anything, it sends a request to the kernel. And when we say anything, we mean anything. From the brightness of the screen, to the volume level, to initiating a call through the radio, even what's drawn on the display is ultimately controlled by the kernel. For example -- when you tap the search button on your phone, you tell the software to open the search application. What happens is that you touched a certain point on the digitizer, which tells the software that you've touched the screen at those coordinates. The software knows that when that particular spot is touched, the search dialog is supposed to open. The kernel is what tells the digitizer to look (or listen, events are "listened" for) for touches, helps figure out where you touched, and tells the system you touched it. In turn, when the system receives a touch event at a specific point from the kernel (through the driver) it knows what to draw on your screen. Both the hardware and the software communicate both ways with the kernel, and that's how your phone knows when to do something. Input from one side is sent as output to the other, whether it's you playing Angry Birds, or connecting to your car's Bluetooth.
It sounds complicated, and it is. But it's also pretty standard computer logic -- there's an action of some sort generated for every event. Without the kernel to accept and send information, developers would have to write code for every single event for every single piece of hardware in your device. With the kernel, all they have to do is communicate with it through the Android system API's, and hardware developers only have to make the device hardware communicate with the kernel. The good thing is that you don't need to know exactly how or why the kernel does what it does, just understanding that it's the go-between from software to hardware gives you a pretty good grasp of what's happening under the glass. Sort of gives a whole new outlook towards those fellows who stay up all night to work on kernels for your phone, doesn't it?
Click to expand...
Click to collapse
ii. The operating system.
Once the kernel is loaded, the init scripts tell the Operating System to load. Android is the user interface for a custom built Java virtual machine called Dalvik. Dalvik was written by Dan Bornstein, who named it after the fishing village of Dalvik in Iceland, where his family originated from. The debate of which Java VM is superior is best left for another discussion, so I’ll simply say that DalvikVM is a register-based machine versus true JavaVMs which are stack based.
The Dalvik machine creates executable files (.dex files) which can be interpreted by the OS and run by the end user. These .dex files are OS version dependant. That simply means that applications and core functions built to work with one version of Android may or may not work well with other versions. Google provides the tools through it’s Software Development Kit (SDK) for applications to communicate with the OS.
Click to expand...
Click to collapse
iii. Core functions.
No smartphone would be complete without a set of functions that allow the device to be used as intended. Things like the phone and dialer interface, the calendar, the messaging system are core functions of the Operating System. In Android, these are run on top of the kernel as separate applications. The merits (or lack of) of providing these needed functions as separate applications is once again best left for another discussion, but this is what allows developers like HTC or Motorola to replace the standard functions with alternatives that provide a different look and feel from stock. HTC’s onscreen keyboard or Motorola’s MotoBlur contact list are great examples of this. The “little guy” isn’t left out of the mix either. Handcent SMS or Chomp SMS can integrate into the OS very well, as most of us already know.
An additional set of Core Functions are provided by Google. Popularly called GoogleBits, things like Gmail, sync, Gtalk and the Android Market are applications written by Google that give an extra set of useful functions to the OS. You’ll find these on all smartphones, as well as many other Android devices.
Click to expand...
Click to collapse
iv. Optional applications.
These are applications provided by the manufacturer to give the device even more usability. Things like the Amazon MP3 store, PDF readers, Corporate Calendar etc. allow you to do even more with your device. Remember - Droid Does
Click to expand...
Click to collapse
B. How is a ROM packaged?
In most cases a ROM will come packaged in a .zip file. The recovery image’s kernel (yes, it has one too!) has the ability to unzip and copy the contents into the correct place. Inside this zip file is a folder
Click to expand...
Click to collapse
ROM & IT's COMPONENTS + CWM ERROR SOLUTIONS
ERRORS encountered in CWM Recovery
.
What is CWM Recovery ?
ClockworkMod Recovery is a custom recovery for many Android devices. It is considered to be the most popular recovery for Android due to its easily-ported nature, and integration with ClockworkMod ROM Manager by Koush(Koushik Dutta). The easiest way to recognize it is by the printed name when it first starts, and the background logo of a gear and hat.
Click to expand...
Click to collapse
ERROR STATUS 6
This is usually caused by CR/LF EOL(Windows style End Of Line) in updater-script. Change it to LF EOL(Unix Style EOL) using Linux command: dos2unix updater-script, then re-signing the ZIP, will usually fix this error.
Click to expand...
Click to collapse
ERROR STATUS 7
This is usually caused by a corrupt download, or bad file signature. Re-downloading (or re-signing) the ZIP will usually fix this.
Click to expand...
Click to collapse
We have been consistently seen and heard people facing error “Status 7″ error while trying to flash or install
custom ROMs or firmware packages on their Android smart phones or tablets with ClockworkMod Recovery. Many
of the users are nowadays facing this problem with CWM Recovery while flashing .zip files of modded or custom
Ice Cream Sandwich (ICS) or Jelly Bean (JB) ROMs on their devices. So, you have also downloaded a custom ROM,
placed its .zip file in your phone’s or tablet’s SD card, booted into ClockworkMod Recovery, selected – “install zip
from sdcard” and then chosen the .zip file of the ROM to get it installed on your device. But instead of getting
flashed successfully, if you are facing the issue mentioned below, then just keep reading this article to find out
what’s wrong and fix up the problem :
Finding update package…
Opening update package…
Installing update…
Error in /sdcard/custom-jelly-bean-rom.zip (Status 7)
Installation aborted
Click to expand...
Click to collapse
or the following error right after CWM recovery shows –
Installing update…
assert failed: getprop(“ro.product.device”) == “I9103″ || getprop(“ro.build.product”) == “I9103″ || getprop
(“ro.product.board”) == “I9103″
Error in /sdcard/android-4-1-1-ics-rom-latest.zip (status 7)
Click to expand...
Click to collapse
So, if you are facing any of these errors while trying to install the desired custom ROM package on your Android
phone or tab, then you may try a various things or steps which may turn out to be the workaround of this
problem. Here are a few tips to get this “Status 7” error fixed in ClockworkMod Recovery and flash the ROM
successfully on your device :
(1) First of all, make sure your device’s bootloader is unlocked. If it is already unlocked but you are still
not able to flash the ROM, then just extract the .zip file of the ROM into a new folder, find the boot.img file from
that directory and flash it up on your phone or tablet via fastboot on your PC.
(2) Make sure that you are having the appropriate Radio or Baseband version installed on your device which is
supported by the custom ROM you are trying to flash. Most of the ROMs requires the latest version of Baseband, so
just update or upgrade your device to the latest Baseband version and then try to install the ROM once again.
(3) Update your device to the supported / latest build of official firmware before trying to install the ROM. You can
do it from – Settings > About Phone / Device > Software Update.
(4) Make sure you are having the supported or required kernel installed on your phone or tab. If it’s not, then flash
a new kernel right away and try to install your custom ROM once again.
(5) Is the ROM which you are trying to flash really works ? Find out whether it is working for other users or not.
Click to expand...
Click to collapse
its seems great buddy. Great Info. But as I always say, make it readable. Means highlights heading & important informations.
Edit: Great.. You did it already.
If possible then try to collect the error list & solutions of CWM error. I have searched a lot but in the office I can't open such sites, due to ban at sites. :Crying:
kataria.vikesh said:
its seems great buddy. Great Info. But as I always say, make it readable. Means highlights heading & important informations.
Edit: Great.. You did it already.
If possible then try to collect the error list & solutions of CWM error. I have searched a lot but in the office I can't open such sites, due to ban at sites. :Crying:
Click to expand...
Click to collapse
Okay let me see brother.
Re: [WIP]ROM & IT's COMPONENTS + CWM solutions
To everyone
If you have any suggestions please tell me and I will try to add it. :thumbup:
Sent from my GT-I9103 using xda app-developers app
Re: [WIP]ROM & IT's COMPONENTS + CWM solutions
Nice one..
Sent from my GT-I9103 using xda app-developers app
Buddy, Status 7 Error became part of Status 6 in your above post ^^.
Change the Subject & remove WIP. Also, Add CWM ERROR SOLUTIONS instead of CWM Solutions.
Guys is this thread worthy of being a sticky ??? I fyes how to get it sticked???
kartiknnn said:
Guys is this thread worthy of being a sticky ??? I fyes how to get it sticked???
Click to expand...
Click to collapse
Contact MOD for sticky.
Re: ROM & IT's COMPONENTS + CWM ERROR SOLUTIONS
One of the best threads in sgr forum.. Quite informative for a person like me:thumbup::thumbup:
Sent from my Jellybeaned Galaxy Royale
For mmc
One more Suggestion:
Add two more Post just below to your OP post (ask MOD to add two Post via PM)
In 2nd Post(after OP 1st): add CWM problem & solution while removing the same from Post no 1
In 3rd Post(after 2nd post): Add the follow details:
List of mmc blocks with partitions. Means you can check/know that in which partition what is having.
For example: in mmcblk0p1 - /efs -> Means in Partition One, its has /efs folder.
/tmp ramdisk (null)
/efs ext4 /dev/block/mmcblk0p1
/system ext4 /dev/block/mmcblk0p2
/cache ext4 /dev/block/mmcblk0p3
/data ext4 /dev/block/mmcblk0p6
/prebuilt ext4 /dev/block/mmcblk0p11
/misc emmc /dev/block/mmcblk0p5
/recovery emmc /dev/block/mmcblk0p8
/boot emmc /dev/block/mmcblk0p9
/emmc vfat /dev/block/mmcblk0p4
/sdcard vfat /dev/block/mmcblk1p1
I don't know much about this but Devs can make me correct.
asked jonny as soon as he creates the two posts I will do the same
thanks vikesh
Edit: Done
Recovery Issue
I am trying to run a recovery in CWM V 6.0.3.1 and here is what I am seeing.
Checking MD5 sums...
Erasing boot before restore...
Restoring system...
Restoring data...
Error while restoring /data!
Anyone know how to remedy this?
My device is a Samsung Galaxy NOte 10.1 and the backup file is on my external sd card.
The Apostle said:
I am trying to run a recovery in CWM V 6.0.3.1 and here is what I am seeing.
Checking MD5 sums...
Erasing boot before restore...
Restoring system...
Restoring data...
Error while restoring /data!
Anyone know how to remedy this?
My device is a Samsung Galaxy NOte 10.1 and the backup file is on my external sd card.
Click to expand...
Click to collapse
Buddy are you sure that your backup was not of TWRP?
if yes then it will not restore.
Or do one thing try restoring by putting the backup in internal storage.
If doesn't work then try a different and properly functioning recovery.
:thumbup:
Best of luck!
Sent from my GT-I9103 using xda app-developers app
Tha TechnoCrat said:
Buddy are you sure that your backup was not of TWRP?
if yes then it will not restore.
Or do one thing try restoring by putting the backup in internal storage.
If doesn't work then try a different and properly functioning recovery.
:thumbup:
Best of luck!
Sent from my GT-I9103 using xda app-developers app
Click to expand...
Click to collapse
Yes I am sure. I wasn't even aware that TWRP was an option for the Note 10.1. I ended up doing a full restore from the base ROM. Then I tried backin git up once I had my settings all dialed in. Here is what I see when I attempt to make a backup on my external sd.
•backing up boot image...
•backup of boot image complete...
•backing up recovery image...
•backup of recovery image complete...
•backing up system...
•backinf up of systemn complete...
•backing up data...
•backing up of data complete...
•no /sdcard/ .android_secure found. skipping backup of applications on external storage
•.
•backing up cache...
•backing up of cache complete...
•no external sd-ext found. skipping backup of sd-ext.
•generating MD5 sum...
When I try and backup on the internal sd here is what I get.
•backing up boot image...
•backup of boot image complete...
•backing up recovery image...
•backup of recovery image complete...
•backing up system...
•error while making backup image of /system
Any thoughts or suggestions?
The Apostle said:
Yes I am sure. I wasn't even aware that TWRP was an option for the Note 10.1. I ended up doing a full restore from the base ROM. Then I tried backin git up once I had my settings all dialed in. Here is what I see when I attempt to make a backup on my external sd.
•backing up boot image...
•backup of boot image complete...
•backing up recovery image...
•backup of recovery image complete...
•backing up system...
•backinf up of systemn complete...
•backing up data...
•backing up of data complete...
•no /sdcard/ .android_secure found. skipping backup of applications on external storage
•.
•backing up cache...
•backing up of cache complete...
•no external sd-ext found. skipping backup of sd-ext.
•generating MD5 sum...
When I try and backup on the internal sd here is what I get.
•backing up boot image...
•backup of boot image complete...
•backing up recovery image...
•backup of recovery image complete...
•backing up system...
•error while making backup image of /system
Any thoughts or suggestions?
Click to expand...
Click to collapse
Buddy I am sorry to say that I don't have Note 10.1 . So if you could check out the Note 10.1 forum to see if someone else is having the same thing
"Thanks button is just to avoid "THANKS" posts in threads. Nothing more than that. Don't ask in signature or post for it and defeat the purpose why it was introduced"
The Apostle said:
Any thoughts or suggestions?
Click to expand...
Click to collapse
I feel you should try this.See if you can take backup on internal sdcard or not.
The Apostle said:
Yes I am sure. I wasn't even aware that TWRP was an option for the Note 10.1. I ended up doing a full restore from the base ROM. Then I tried backin git up once I had my settings all dialed in. Here is what I see when I attempt to make a backup on my external sd.
•backing up boot image...
•backup of boot image complete...
•backing up recovery image...
•backup of recovery image complete...
•backing up system...
•backinf up of systemn complete...
•backing up data...
•backing up of data complete...
•no /sdcard/ .android_secure found. skipping backup of applications on external storage
•.
•backing up cache...
•backing up of cache complete...
•no external sd-ext found. skipping backup of sd-ext.
•generating MD5 sum...
When I try and backup on the internal sd here is what I get.
•backing up boot image...
•backup of boot image complete...
•backing up recovery image...
•backup of recovery image complete...
•backing up system...
•error while making backup image of /system
Any thoughts or suggestions?
Click to expand...
Click to collapse
Have u checked ur memory space?
Thanks,
Disturbed™
? Sent from my Disturbed™ Galaxy S4 using XDA Premium 4 ?
||||||||||||||||||||||||||||||||||||||||||||||●●●●●●●●●●●||||||||||||||||||||||||||||||||||
Wait for my time, U gonna pay for what U have done. - Disturbed™
Disturbed™ said:
Have u checked ur memory space?
Thanks,
Disturbed™
? Sent from my Disturbed™ Galaxy S4 using XDA Premium 4 ?
||||||||||||||||||||||||||||||||||||||||||||||●●●●●●●●●●●||||||||||||||||||||||||||||||||||
Wait for my time, U gonna pay for what U have done. - Disturbed™
Click to expand...
Click to collapse
+1
Sent from my GT-I9103 using xda app-developers app
Related
Hi,
It just came into my mind. Since we can have custom recovery and android recovery also boots, can we have multi boot option in Defy as like in a PC's
Good question ..............i think there is no answer for this question
rvd_516 said:
Hi,
It just came into my mind. Since we can have custom recovery and android recovery also boots, can we have multi boot option in Defy as like in a PC's
Click to expand...
Click to collapse
some resources would have to be used by both ROMs..
with the current hacks it can't be done easily.
i guess some way of ramdisking the shared resources will have to be used.
basically, if you think about a hack for defy ask first:
can it be done in a completely open (=bootloader not locked) phone like nexus ?
if yes, ask:
is it WORKING?
if yes also, so maybe it can be done.
nevertheless, it's easy enough to create a script to backup & restore NANDROIDS.
but then every switch between roms will take like 25+ minutes, so it won't be a real multiboot.
Somebody at one point on the desire was working on something like this. Run rom from nand and other rom from sdcard.
Ephumuris.
ephumuris said:
Somebody at one point on the desire was working on something like this. Run rom from nand and other rom from sdcard.
Ephumuris.
Click to expand...
Click to collapse
I think there are two possibilities for this to happen: first of all, we should try NAND boot for the primary ROM, and try somehow to load the secondary ROM from the internal memory (it'll be faster than the SD Card, I think). The problem here would be allowing the bootloader to read from internal memory instead of NAND. I know this can be done based on the number of WinMo-Android and iOS-Android dual boot solutions, with a menu to choose which system to load, in the boot screen.
The second option is the method used by Wing Linux to run Android on old WinMo devices. In this method, you MUST boot in WinMo (or, in our case, in the primary ROM), then open the app that loads Android (the secondary ROM, for us). Android does NOT run emulated in this method, but, since the device can't dual boot directly, the app sends a signal for the device to restart running from the bootloader to the SD Card (for us, internal memory). This second option is, somehow, like the System Recovery app (not 2ndInit), that has an option that reboots directly into Recovery. So, if we can tell the phone to load from custom Recovery (which is, in fact, in internal memory, not in NAND), I think it's possible to make it load an entire ROM from the internal memory (without having to mount it everytime and waiting for the dalvik-cache to load).
However, it's surely a hard work to do.
Yes one from nand and one from sd card..........good......can we partition nand and use it both on the nand itself??
it should really work if we use virtual images or sdcard-partitions instead of system, data and cache partitions.
This can be changed in the init.rc-file(of 2nd-init).
The creator of the 2nd-init-bootmenu should implement this feature.
it is possible... just need 2 new partitions ext3 on sdcard for data and system...
you can use 2nd-boot profile in bootmenu to change dev block links and customize mount settings
Epsylon3 said:
it is possible... just need 2 new partitions ext3 on sdcard for data and system...
you can use 2nd-boot profile in bootmenu to change dev block links and customize mount settings
Click to expand...
Click to collapse
Did you try it?
Epsylon3 said:
it is possible... just need 2 new partitions ext3 on sdcard for data and system...
you can use 2nd-boot profile in bootmenu to change dev block links and customize mount settings
Click to expand...
Click to collapse
even i like to know tht did u tried tht?
I managed to boot from virtual system,data and cache partitions with the 2nd-boot-option of bootmenu like ep3 said.
It was a bit difficult because android-init remounts /dev so the changes will be lost but now I found a way.
And: I got recovery working for the virtual system so you don't need to prepare your images, BUT: only the wipe and restore are working. "install zip" will still affect your real system.
My scripts need some testing but after that I will release a first version.
the multboot works for me i writed a cutsom boot sh and init.rc and woila WORKS!
NOT PUBLUC because it not works for all rom
---------- Post added at 04:59 PM ---------- Previous post was at 04:36 PM ----------
this is a dualboot rom
http://forum.xda-developers.com/showthread.php?t=1225179
So here is the first (very early) version of 2nd-boot:
http://www.multiupload.com/Z17M0WO3SU
Before continuing please make a backup of your phone!
Installation:
Just install it via CWM.
This will place the script in your 2nd-boot and replace the "CWM-Lastest"-script so it will install into the images. BUt can still use the "CWM-Stable" option for your normal system.
I've created 3 empty 300MB ext3-images for system,data and cache so you don't have todo that. Download them here:
http://www.multiupload.com/VY3U4IXRO1
Just copy the folder "fsimages" to your sdcard.
Usage:
After installing the update-zip and copying the files to the sdcard you can reboot into bootmenu, select "Lastest Recovery" and Restore an backup.
Please DO NOT install a ROM with a zip-file. Currently this will affect your real system.
After you restored your backup into the virtual file-system you can boot them with the 2nd-boot-option in bootmenu.
I successfully installed CM7.1 and MIUI-Pikachu-Edition in the virtual filesystem.
I uploaded a new version of my multiboot-script(v0.2)
changelog:
- "Install zip from SDcard" works now
- changed hook-method so it works with more ROM's(including ICS)
Download:
http://www.multiupload.com/UT0TLPR3ZW
m11kkaa said:
So here is the first (very early) version of 2nd-boot:
http://www.multiupload.com/Z17M0WO3SU
Before continuing please make a backup of your phone!
Installation:
Just install it via CWM.
This will place the script in your 2nd-boot and replace the "CWM-Lastest"-script so it will install into the images. BUt can still use the "CWM-Stable" option for your normal system.
I've created 3 empty 300MB ext3-images for system,data and cache so you don't have todo that. Download them here:
http://www.multiupload.com/VY3U4IXRO1
Just copy the folder "fsimages" to your sdcard.
Usage:
After installing the update-zip and copying the files to the sdcard you can reboot into bootmenu, select "Lastest Recovery" and Restore an backup.
Please DO NOT install a ROM with a zip-file. Currently this will affect your real system.
After you restored your backup into the virtual file-system you can boot them with the 2nd-boot-option in bootmenu.
I successfully installed CM7.1 and MIUI-Pikachu-Edition in the virtual filesystem.
Click to expand...
Click to collapse
Thanks for your work.
Did the 2nd android system boots from sdcard?
Yes, but it's very flexible. By changing 2 lines you can let it boot from whereever you want.
I prefer storing it at the data-partition because it's over 1gb in size and my apps are using 200mb only.
I'm looking forward to better bootmenu-integration and boot-image-selection but for that I have to figure out how to compile bootmenu.
m11kkaa said:
Yes, but it's very flexible. By changing 2 lines you can let it boot from whereever you want.
I prefer storing it at the data-partition because it's over 1gb in size and my apps are using 200mb only.
I'm looking forward to better bootmenu-integration and boot-image-selection but for that I have to figure out how to compile bootmenu.
Click to expand...
Click to collapse
Ask pedrodh http://forum.xda-developers.com/member.php?u=2098689
He can help.
Nice work, thanks i will add this soon, in the future bootmenu versions
m11kkaa said:
Yes, but it's very flexible. By changing 2 lines you can let it boot from whereever you want.
I prefer storing it at the data-partition because it's over 1gb in size and my apps are using 200mb only.
I'm looking forward to better bootmenu-integration and boot-image-selection but for that I have to figure out how to compile bootmenu.
Click to expand...
Click to collapse
I released a dual boot version that uses 2nd-boot a few months back, hadn't have much time to improve it since.
I was using loop-back mount with /system and bind mount with /data since it's much more space efficient than just use an ext3 image.
Awesome job. I think u shud create a new thread for it. Dual booting cm7 and miui :O
Sent from my Moto Defy
I put this short guide together because I tend to see a lot of confusion regarding what a "wipe data / factory reset" does to your phone.
These are the steps you should take before loading a new ROM:
1) Download your new ROM and relevant supporting or needed files like modem, alternate kernel, etc., and place them on your internal SD.
2) Backup your applications, settings, messages, etc., with a backup tool like Titanium Backup, image specific backup tool, etc.
3) Boot into recovery and run a “wipe data/factory reset"
4) Follow the developers ROM loading instructions.
When you perform a “wipe data/factory reset” the content of the following directories are deleted :
/data
/cache
/datadata
/sd-ext
/sdcard/.android_secure
Nothing else on your SD card (internal or external) outside of these directories is modified so it is safe to leave files outside of the above mentioned directories without fear of losing them. Your external SD card and SIM do not need to be removed. The goal here is load a new or updated ROM in as much a clean environment that you can. Files left behind in these, especially cache and davlik-cache can cause some of the strangest problems. The kind that nobody can really resolve.
/cache - This is the partition where Android stores frequently accessed data and application components to make these, as implied, respond much faster as well as faster to retrieve / access.
/datadata – This directory contains the library, database, user specific configuration files as well as log files for its specific application installed in the /data directory.
/data directory is where your contacts, messages, settings and apps that you have installed go. Wiping this partition essentially restores it to the way it was when you first booted it, or how it was after your last custom ROM install.
If your ROM uses an /sd-ext partition on your SD card for data storage your /data directory is mapped to /sd-ext and wiping the /sd-ext directory will result in losing your data.
/sd-ext is used for apps moved to your SD card. Your Android OS runs natively in an ext format while your SD card has a fat32 format, which is used typically for USB storage devices, Windows computers, etc.
The sd-ext partition is an additional partition on your SD card that acts as the /data partition when used with certain ROMs that have APP2SD or data2ext enabled. It is popularly used on devices that have little memory allotted to the /data partition. A misfortune that in my experience, Captivate does not partake in. Still, users who want to install more programs than the internal memory allows can take advantage of this partition and use it with a ROM supporting this feature.
The folder named .android_secure is where apps are stored when you perform the "move from phone to SDram/SD card" operation.
Consider this, Apps2SD uses the fat32 portion of your SD card, which is obviously limiting because it isn't Androids native file system. However, if you format your SD card, or partition a part of it as a ext file system, you can trick the phone into thinking it's part of the Android OS native environment. This will allow you to move applications, widgets, even cache and davlik cache over to it.
Disclaimer! I am not responsible for any damage you may cause to your phone or SD Card if you try to enable/use sd-ext.
To enable sd-ext in ClockWork Mod (ROM Manager):
Boot into CWM
Go to Advanced
Then to "Partition SD Card"
Choose an sd-ext size
Then choose a swap size, or not. Swap is just like windows' virtual memory. The system will use it when you're running low on RAM and use it as temporary RAM storage. This is where you'll probably see an increase in speed.
Just for fun I put sd-ext at 512MB and Swap at 64MB which is probably more than plenty for the swap. The swap will assist a little with memory and with the extra space I can move my apps over to it with a program like App2SD or in most custom ROMs nowadays just use the "move to USB" option in "Manage Applications". Titanium Backup will also move apps to SD for you and I'm sure you can find plenty more in the market.
You can also use a tool like Minitool Partition Wizard:
1. Open Minitool Partition Wizard
2. Delete Existing Partition from SDCard (Backup data first!!)
3. Create Fat32 Partition
Note: Set all partitions to PRIMARY (Steps 3 - 6)
4. Create EXT2 Partition (System) about 150MB-200MB depend on ROM
5. Create EXT2 Partition (Data) about 150MB-250MB
6. Create EXT2 Partition (Cache) about 50MB
Personally I don't see a need to do any of this on either of my Captivate phones though I have played with it on my DEV phone.
And since it does play a big role and needs to be cleared at times...
Davlik-Cache - dalvik cache is a program cache area for the program "Dalvik". Dalvik is a java based virtual machine that is the base for running your (.apk) programs. In order to make access times faster (there wasn't a JIT compiler installed by default until Android 2.2), the dalvik-cache is the result of dalvik doing a optimization of the running program/s. This optimization is kept so that it is then re-used every time you use your application/s. By default, davlik-cache is located in your /data partition.
No, I'm not looking for donations. Just trying to clarify things for some.
Great info, but a "guide" assists you in doing something, this is just straight info.
While I initially intended on writing it to guide flashers into the benefits of a wipe data / factory reset, and avoiding the myriad of strange issues experienced, I can see now where it can more construed as informational. Hmmm... maybe I'll add more to it or ask a mod to change the title topic for me.
Regardless, my hope is that some people get some benefit out of it otherwise I've only wasted my time.
Thanks, I've been wondering for a while what that actually did.
Great start for a guide that should clear the boards up a bit. I vote it to be stickied after adding a bit more info on backing up, partitioning the sd card, dalvik cache, etc.
I think it is important to explain that a reset should not be done after flashing a custom ROM because it deletes the Dev's settings/data/non-system apps. Instead flashers should either reset after flashing back to stock or before flashing a custom ROM over the current custom ROM.
Cozmo1 said:
I put this short guide together because I tend to see a lot of confusion regarding what a "wipe data / factory reset" does to your phone.
When you perform a “wipe data/factory reset” the content of the following directories are deleted :
/data
/cache
/datadata
/sd-ext
/sdcard/.android_secure
/cache - This is the partition where Android stores frequently accessed data and application components to make these, as implied, respond much faster as well as faster to retrieve / access.
/datadata – This directory contains the library, database, user specific configuration files as well as log files for its specific application installed in the /data directory.
/data directory is where your contacts, messages, settings and apps that you have installed go. Wiping this partition essentially restores it to the way it was when you first booted it, or how it was after your last custom ROM install.
If your ROM uses an /sd-ext partition on your SD card for data storage your /data directory is mapped to /sd-ext and wiping the /sd-ext directory will result in losing your data.
/sd-ext is used for apps moved to your SD card. Your Android OS runs natively in an ext format while your SD card has a fat32 format, which is used typically for USB storage devices, Windows computers, etc.
The folder named .android_secure is where apps are stored when you perform the "move from phone to SDram/SD card" operation.
Consider this, Apps2SD uses the fat32 portion of your SD card, which is obviously limiting because it isn't Androids native file system. However, if you format your SD card, or partition a part of it as a ext file system, you can trick the phone into thinking it's part of the Android OS native environment. This will allow you to move applications, widgets, even cache and davlik cache over to it.
Nothing else on your SD card (internal or external) is modified so it is safe to leave files outside of the above mentioned directories without fear of losing them.
If you plan on trying several different ROM's and/or updating your favorite ROM every time a new version is released you need to invest in an application like Titanium Backup or one that comes with your ROM if it's supplied with one. MIUI includes one that works extremely well. Performing a “wipe data/factory reset" after loading your new ROM and before booting into it should provide you with a smoother transition to your newly chosen or upgraded ROM. Having a standard backup and restoral process should help you enjoy it quicker too.
Click to expand...
Click to collapse
Here is something I keep in a word file to help answer what you are also trying to answer. It is a bit shorter and simplified but it may help to polish your thread for us simpletons.
Dalvik cache is a place where the Android OS re-compiles the executable programs the first time to optimize them. It does this when you make a major change like replace the kernel/modem. Clearing the Dalvik cache will force Android OS to recompile the apps for the the new kernel/modem. This can take time on the first boot after clearing the Dalvik cache.
Also the main data Cache is used by the Android OS at run-time to write temporary files for specific reasons. You want to clear this out so it doesn't re-use the old cached data.
Manually clearing both caches allows the new kernel/modem to be installed in a "cleaner" environment. It's just preventative maintenance.
snowake said:
I think it is important to explain that a reset should not be done after flashing a custom ROM because it deletes the Dev's settings/data/non-system apps. Instead flashers should either reset after flashing back to stock or before flashing a custom ROM over the current custom ROM.
Click to expand...
Click to collapse
This actually makes perfect sense to me. I have modified my OP because of your input. Thank you very much, snowake!
Cozmo1 said:
This actually makes perfect sense to me. I have modified my OP because of your input. Thank you very much, snowake!
Click to expand...
Click to collapse
do u have more info about "format your SD card, or partition a part of it as a ext file system" or how to do that.
i have read someone format part of the sdcard (class 10)to ext 2 or 4,to make the write n read faster.is that what you mean.can u guide me to the right direction.thank in advance.
? ? ? about this......(However, if you format your SD card, or partition a part of it as a ext file system, you can trick the phone into thinking it's part of the Android OS native environment. This will allow you to move applications, widgets, even cache and davlik cache over to it.)
Cozmo1 said:
This actually makes perfect sense to me. I have modified my OP because of your input. Thank you very much, snowake!
Click to expand...
Click to collapse
I struggled with all of this my first first few flashes.
xpakage said:
...Dalvik cache is a place where the Android OS re-compiles the executable programs the first time to optimize them.
...
Also the main data Cache is used by the Android OS at run-time to write temporary files for specific reasons.
Manually clearing both caches allows the new kernel/modem to be installed in a "cleaner" environment. It's just preventative maintenance.[/I]
Click to expand...
Click to collapse
That is much more boiled down. I looked back at the "how to flash" threads and a couple good explanations on custom roms. None explain this that I found.
Cosmo, here are some more thoughts on misunderstandings I have had and seen posted. Like post above I pasted from my notes, so may be incorrect.
Bootloaders: Same for Froyo/Eclaire in both i897 and i9000 roms. GB requires new bootloaders, but i897 are apparently cross-compatible. However, issues seem to pop up on i9000 roms with GB i897 bootloaders. If flashing back to Froyo, use the full jf6 stock, not cezar's stock eclaire without bootloaders.
Using Tibu: If no useful data (i.e. Bookmarks on dolphin) then simply click data only when restoring user apps. Typically no issues when restoring user apps after switching Android versions. However, system apps should not be restored because of the rom customizations. Especially when switching to GB because it uses different directory structure. I do not seem to have issues when staying on same version and restoring foreground (user accessible) apps with data only or restoring green text color sys apps with Tibu as icon (i.e. Accounts).
Rom manager: really only need the app if flash to stock and need to flash rom directly from cwm. If so, then flash cwm (top button in menu) and choose phone. This places update.zip in /sd, which is opened after selecting "reinstall update" in stock recovery. Usually have to select it twice for it to work. This will replace ATT stock 2e recovery (blue text) with cwm 2.5 (froyo).
Voodoo color, lagfix, sound: must either be included in kernel. Lagfix simply allows user to format sd as ext4 (linux). Color balances display so less blue iodes are used and color is more realistic. Sound allows clearer sound through headphones through tweaks enabled in voodoo app. If sound is not in kernel then purchase voodoo pro in market and it will install it into the kernel (if rooted, even if stock).
Thanks for clearing that up!
- Aaron
Updated with more details.
Really, really useful. Had no idea partition options were available to this extent! Especially swap. By mini tool are you referring to Easus' program? I am definitely checking this out tonight. Thanks!
Great guide. In order to clear
/sdcard dir I master clear it after flashing to stock. Is there an alternate method besides deleting dirs myself?
snowake said:
Great guide. In order to clear
/sdcard dir I master clear it after flashing to stock. Is there an alternate method besides deleting dirs myself?
Click to expand...
Click to collapse
That is probably the safest way to do it within the phone itself. An alternate way would be to mount it to your computer:
In Windows right click the drive that was assigned to your internal SD card and then click on format. By default it'll most likely set you to Fat32 and if you click format it'll say its complete, but nothing will be deleted. Android being a Linux OS doesn't use fat. You can format it by choosing exFat, but by doing this...
!!!WARNING!!! be aware that you will lose everything on your internal SD card AND your external SD card.
Emphasis placed mainly for others that read this and might not know.
Safer and easier to do it within the phone.
snowake said:
Really, really useful. Had no idea partition options were available to this extent! Especially swap. By mini tool are you referring to Easus' program? I am definitely checking this out tonight. Thanks!
Click to expand...
Click to collapse
This one is from MiniTool, though I wouldn't be surprised if Easus owned them. I didn't investigate to confirm. You can get the free home edition of MiniTool Partition Wizard here.
Very nice infos. Deserves a sticky, although, probably in a different thread.
Some information on what "Master Clear" in Odin would also be helpful - I have never trusted my phone to 'truly' clear everything on the phone, I have found the Odin Master Clear option to be much more complete.
It is a bit odd, I do this with my PC every six months, I back everything up and format the drive and start over again (after running Spinrite on all the drives) - I do this on / around New Years and again over 4th of July weekend and I decided this past weekend to also do the same with my smart phones (4 Cappies) and tablets (Ipad and 2 Android tabs) this past weekend.
It gives me that sort of squeaky clean feeling and seems to make my devices run smoother. Maybe its all in my head, dunno *shrugs*.
One thing I can say however, I have not had a hard drive go bad on me since I started the Spinrite thing 10 years ago (I still have an 8 GB hdd in my desktop that is working!!).
Any decent update(r)-script will do this for you.
Sent from my Infuse 4G
littlewierdo said:
Very nice infos. Deserves a sticky, although, probably in a different thread.
Some information on what "Master Clear" in Odin would also be helpful - I have never trusted my phone to 'truly' clear everything on the phone, I have found the Odin Master Clear option to be much more complete.
It is a bit odd, I do this with my PC every six months, I back everything up and format the drive and start over again (after running Spinrite on all the drives) - I do this on / around New Years and again over 4th of July weekend and I decided this past weekend to also do the same with my smart phones (4 Cappies) and tablets (Ipad and 2 Android tabs) this past weekend.
It gives me that sort of squeaky clean feeling and seems to make my devices run smoother. Maybe its all in my head, dunno *shrugs*.
One thing I can say however, I have not had a hard drive go bad on me since I started the Spinrite thing 10 years ago (I still have an 8 GB hdd in my desktop that is working!!).
Click to expand...
Click to collapse
I can run some tests on Odin's master clear to confirm what it does. Initially I would believe it does the same as a "wipe data / factory reset", but testing should let us know for sure. I'll test it this weekend. Maybe sooner.
Awesome to hear that I'm not the only advocate for SpinRite and I still use it a lot though not every 6 months like you do. It's definitely worth having and using.
MikeyMike01 said:
Any decent update(r)-script will do this for you.
Sent from my Infuse 4G
Click to expand...
Click to collapse
I totally 100% agree with you, MikeyMike01. Unfortunately, not all update scripts are created equally Asides from teaching people how to script themselves or parse through it, a task I do not have the time or patience to tackle, this it probably the easiest and best way to have users try to avoid the many and strange issues posted that possibly / most likely could've been avoided by using the tools at their disposal.
On a side note... I didn't notice you got yourself an Infuse 4G. Congrats! How do you like it? I've been out of contract for almost a year now and wouldn't mind upgrading (my wife is in contract), but I haven't seen anything really worth upgrading to or that does something I really need/want that the Captivate cannot, atm. I haven't looked up any specs and reviews on the Infuse yet tho.
Hi everybody,
i am sure, that everybody except me seems to know how to install this awesome recovery...
I already renamed the zipfile to PG88IMG.zip, have put it into the root of the sd card, rebooted, the bootloader says 'parsing PG88IMG.zip', then nothing happens...
So, could someone please enlihgten me how to flash this thing? (if possible without creating an expensive brick ;-)) thanks a lot
Who told you to do that?
EDIT:
This should be a one click zip.
http://forum.xda-developers.com/showthread.php?t=1130004
Hi,
wow, that was fast ;-) thanks a lot...
Hmm, no, i already installed ClockworkMod via the method i described above.
i also -successfully- installed the saga LBC mod - both are running fine.
Now i want to just replace the ClockworkMod, (not the LBC Mod - i know how to install a new ROM ;-)) with 4ExtRecovery.
basically the question is:
how can i flash 4ExtRecovery from within the bootloder.
the PG88IMG.zip Method seems to fail here...
you know, i basically followed the instructions found the lbd mod homepage
[lbc-mod-homepage]/custom-recovery/modded-clockworkmod-recovery/
install-instructions for on this page
(i cannot post links to outside the forums, sorry)
can somebody help me?
EDIT:
yes, i found the one-click-zip but dont want to use it; i don't want to flash via the adb tool, i don't know why, just personal preferences ;-)
glubber008 said:
Hi,
wow, that was fast ;-) thanks a lot...
Hmm, no, i already installed ClockworkMod via the method i described above.
i also -successfully- installed the saga LBC mod - both are running fine.
Now i want to just replace the ClockworkMod, (not the LBC Mod - i know how to install a new ROM ;-)) with 4ExtRecovery.
basically the question is:
how can i flash 4ExtRecovery from within the bootloder.
the PG88IMG.zip Method seems to fail here...
you know, i basically followed the instructions found the lbd mod homepage
[lbc-mod-homepage]/custom-recovery/modded-clockworkmod-recovery/
install-instructions for on this page
(i cannot post links to outside the forums, sorry)
can somebody help me?
EDIT:
yes, i found the one-click-zip but dont want to use it; i don't want to flash via the adb tool, i don't know why, just personal preferences ;-)
Click to expand...
Click to collapse
................... You'll need to extract the images from the zip images and I suspect, with respect that you don't know what your doing.
So leave that method well alone!
yes, of course - i don't know how to flash this recovery ;-)
i already know that
that's the reason, why i'm asking here, you know... ;-)
try doing this
1.put the zip on your sd card
2.reboot into recovery
3.go to install from sd card
4.choose the zip from sd card
5.select the zip file & choose yes
the phone should flash the recovery & restart again into recovery
choose reboot
ah, thanks a lot ;-)
btw, exploring the zip, i found the following in the updater-script:
assert(getprop("ro.product.device") == "saga" || getprop("ro.build.product") == "saga" || getprop("ro.product.board") == "saga");
assert(package_extract_file("recovery.img", "/tmp/recovery.img"),
write_raw_image("/tmp/recovery.img", "recovery"),
delete("/tmp/recovery.img"));
So, you are right, it flashes the recovery.img correctly to the recovery partition, then reboots again into recovery, all understood now, thanks again...
btw:
i might be new to android, but not to computers - i am actually a programmer ;-)
that's why i'm usually asking before doing something i don't understand completely...
anyways,
it worked, thanks again for pointing me into the right direction
Ah,
i found out, that the PG88IMG.zip method only works, if there's an android-info.txt file in the archive, so it seems, that the parser of the hboot checks the contents of this file and if this thing is valid, it continues to the builtin flash routine.
That's the reason, why this method fails with the 4Extrecovery zip file.
on the other hand, if you want to flash from the recovery system, there must be a folder called META-INF with 'some' defined structure in it, a file called updater-script (i dont know, what this update-binary file is - it is a binary ELF executable, maybe the interpreter? maybe the compiled form of the updater-script? - will run 'strings' on it...); anyways, this file is then executed and contains basically the information how to install / flash this thing.
So, thanks for helping me doing the first steps on this awesome platform ;-)
EDIT:
it seems, the update-binary file is the interpreter for the updater-script:
the relevant strings are:
wrong updater binary API; expected 1, 2, or 3; got %s
failed to open package %s: %s
META-INF/com/google/android/updater-script
Ok, enough for today... ;-)
EDIT2:
...and update-binary is part of the recovery, as found here for example:
https://github.com/arco/android_bootable_recovery/blob/gingerbread/updater/install.c
nice, nice...
EDIT3:
...currently building my own recovery, this thing is plain c, so not a big problem for me, we'll see...
EDIT4:
..flashed this thing, it's working, so i guess i can now start hacking on it ;-)
is it possible to install 4EXTRecovery to desire s with s-on? and how?
realies said:
is it possible to install 4EXTRecovery to desire s with s-on? and how?
Click to expand...
Click to collapse
no, it is not possible
you need s-off to install recovery
does CWM have to be removed to install this?
greenster4470 said:
does CWM have to be removed to install this?
Click to expand...
Click to collapse
No. Use CWM to flash it like any other mod! It'll automatically re-start recovery, and you'll in be in your shiny new 4EXT recovery.
As log as we are on this topic, I have a few doubts too:
1) Can I use my CWM nandroid backups with 4EXT without any conversion?
2) Will the paid 4EXT app from the android market automate the changeover process?
3) As our phones have a decent internal memory, it is advisable to convert the partitions to ext3/4 including the SD card or not and if done will a ROM/backup have to be reflashed?
4) Other benefits over CWM?
Could someone please enlighten me. Thanks
harshs23 said:
As log as we are on this topic, I have a few doubts too:
1) Can I use my CWM nandroid backups with 4EXT without any conversion?
2) Will the paid 4EXT app from the android market automate the changeover process?
3) As our phones have a decent internal memory, it is advisable to convert the partitions to ext3/4 including the SD card or not and if done will a ROM/backup have to be reflashed?
4) Other benefits over CWM?
Could someone please enlighten me. Thanks
Click to expand...
Click to collapse
Answers:
1) Yes you can.
4EXT will restore CWM backups to the file system they were taken in (most probably ext3 {default of CWM}). But you can even restore old ext3 backups as ext4 without any data loss or corruption with 4EXT Recovery. You'll need to tweak a few things, but i can help you if you want.
2) Yes it will, and so will the free app, 4EXT Recovery Updater..
I suggest you try out the free app first, which includes the features of the paid app for the first 3 days, and then still remains functional enough to let you update your recovery whenever you want. Then you can go ahead and purchase the paid app from the market.
3) No, do not try to change SD Card file system. Just convert the system, data and cache partitions to ext4. No need to touch the SD card, as it works only in the Fat32 format.
4) There are numerous benefits.
Prominent ones include MD5 cheksum verification, Theming support, option to remain in recovery after flashing zips or taking backups, better interface and menus, auto ROM name detection and labeling of Backups unlike CWM and great developer support from Madmaxx.
I suggest you read THIS.
Hope this helps you.
Thank you, make a lot more sense to me now.
enigmaamit said:
Answers:
1) Yes you can.
4EXT will restore CWM backups to the file system they were taken in (most probably ext3 {default of CWM}). But you can even restore old ext3 backups as ext4 without any data loss or corruption with 4EXT Recovery. You'll need to tweak a few things, but i can help you if you want.
2) Yes it will, and so will the free app, 4EXT Recovery Updater..
I suggest you try out the free app first, which includes the features of the paid app for the first 3 days, and then still remains functional enough to let you update your recovery whenever you want. Then you can go ahead and purchase the paid app from the market.
3) No, do not try to change SD Card file system. Just convert the system, data and cache partitions to ext4. No need to touch the SD card, as it works only in the Fat32 format.
4) There are numerous benefits.
Prominent ones include MD5 cheksum verification, Theming support, option to remain in recovery after flashing zips or taking backups, better interface and menus, auto ROM name detection and labeling of Backups unlike CWM and great developer support from Madmaxx.
I suggest you read THIS.
Hope this helps you.
Click to expand...
Click to collapse
Everyone in doubt about 4EXT, go through enigmaamit's post, you will be sorted. Have flashed the new recovery and am totally satisfied. No clobbering needed... LOL
4EXT Recovery Control
https://market.android.com/details?id=ext.recovery.control
Although the free version is available, I highly recommend an investment in the application that supports this incredible recovery. The added features in the market version outweigh the free version drastically.
harshs23 said:
Everyone in doubt about 4EXT, go through enigmaamit's post, you will be sorted. Have flashed the new recovery and am totally satisfied. No clobbering needed... LOL
Click to expand...
Click to collapse
@ Harsh, regarding my earlier commitment on helping you with the partition conversion and advanced restore:
Before you do any of this,
1. Take a nandroid backup. The whole procedure below is utterly harmless but you should develop a habit of doing this whenever you play around with anything.
2. Make sure you have at least 50% charge, and preferably have it plugged into your laptop. The reasons are pretty obvious.. first, you dont want to run out of charge while doing something as grass-root level as this, and secondly, having hooked it up to a laptop, adb access is available to start with. (i'm assuming you have adb set up on your pc)
3. Make sure you have adequate free space on your sd card. I would recommend around 1.5 to 2 GB. This is because when changing a file system the recovery first backs up your data from the partition onto the sd card, formats the partition into the new file system and then moves the data back into the partition after that into the new file system (ext4, in our case). So you need to give enough room for the recovery to be able to temporarily cache the contents of the partitions on the sd card. Hope this is clear to you.
EDIT: Don't worry about insufficient space on your sd card...since the 2.2.7 version, 4ext calculates the actual required free space needed for a conversion of a selected partition before it even starts doing that. If space needed is too low it won't do the conversion.
Let us begin:
1.) To convert existing file system:
To convert your existing file system, go into recovery and see what the partitions are right now. You'll see four partitions: 1. system, 2. data, 3. cache, 4. sd card
Next to these you'll see the file system they're on. I'm guessing it will look something like ext4, ext3, ext3, fat32 respectively, if you're coming from ClockWorkMod recovery. What you need to do to convert the ext3 partitions to ext4 is go to the EXT3 - 4EXT - EXT4 option in the menu and once inside, choose the first option (convert l change a backup -> ext4).
In that sub-menu, choose the partition you want to convert. (2nd, 3rd and 4th options SYSTEM, DATA & CACHE respectively). The execute menu will prompt you regarding going ahead. Select Yes - do it!
Now the process that i had described earlier will begin and at the end you'll have all your original data on the ext4 file system on whichever partition you selected.
Do the same for each partition that is in ext3 format.
2.) To change file system for old backups:
Again, if you want to change one of your old backups that you took while on CWM Recovery (which were most probably taken in ext3 default format), you need to convert them to ext4, otherwise 4EXT Recovery will restore them to their default file system (another neat feature of this recovery) as a safeguard against restore onto contrasting file systems.
To do this, go to EXT3 - 4EXT - EXT4 menu > then convert l change a backup -> EXT4 > THEN change one of your backups > now select the backup you want to change to ext4 > at the prompt menu, select Yes, do it!
Once you've done this, you'll get a hang of what all the other sub menus are for... You'll figure them out on your own in no time.
Whew! That was long and tedious... But i've tried to be as elaborate as i can for all those users new to 4EXT and apprehensive about migrating. I've also posted this in the Development section in the relevant thread.
I remember how i was before i converted for the first time and there was no detailed guide available.
Hope this has helped!!
P.S. Thanks to Madmaxx for the tips and inputs that helped me write this mini tutorial.
enigmaamit said:
@ Harsh, regarding my earlier commitment on helping you with the partition conversion and advanced restore:
Before you do any of this,
1. Take a nandroid backup. The whole procedure below is utterly harmless but you should develop a habit of doing this whenever you play around with anything.
2. Make sure you have at least 50% charge, and preferably have it plugged into your laptop. The reasons are pretty obvious.. first, you dont want to run out of charge while doing something as grass-root level as this, and secondly, having hooked it up to a laptop, adb access is available to start with. (i'm assuming you have adb set up on your pc)
3. Make sure you have adequate free space on your sd card. I would recommend around 1.5 to 2 GB. This is because when changing a file system the recovery first backs up your data from the partition onto the sd card, formats the partition into the new file system and then moves the data back into the partition after that into the new file system (ext4, in our case). So you need to give enough room for the recovery to be able to temporarily cache the contents of the partitions on the sd card. Hope this is clear to you.
EDIT: Don't worry about insufficient space on your sd card...since the 2.2.7 version, 4ext calculates the actual required free space needed for a conversion of a selected partition before it even starts doing that. If space needed is too low it won't do the conversion.
Let us begin:
1.) To convert existing file system:
To convert your existing file system, go into recovery and see what the partitions are right now. You'll see four partitions: 1. system, 2. data, 3. cache, 4. sd card
Next to these you'll see the file system they're on. I'm guessing it will look something like ext4, ext3, ext3, fat32 respectively, if you're coming from ClockWorkMod recovery. What you need to do to convert the ext3 partitions to ext4 is go to the EXT3 - 4EXT - EXT4 option in the menu and once inside, choose the first option (convert l change a backup -> ext4).
In that sub-menu, choose the partition you want to convert. (2nd, 3rd and 4th options SYSTEM, DATA & CACHE respectively). The execute menu will prompt you regarding going ahead. Select Yes - do it!
Now the process that i had described earlier will begin and at the end you'll have all your original data on the ext4 file system on whichever partition you selected.
Do the same for each partition that is in ext3 format.
2.) To change file system for old backups:
Again, if you want to change one of your old backups that you took while on CWM Recovery (which were most probably taken in ext3 default format), you need to convert them to ext4, otherwise 4EXT Recovery will restore them to their default file system (another neat feature of this recovery) as a safeguard against restore onto contrasting file systems.
To do this, go to EXT3 - 4EXT - EXT4 menu > then convert l change a backup -> EXT4 > THEN change one of your backups > now select the backup you want to change to ext4 > at the prompt menu, select Yes, do it!
Once you've done this, you'll get a hang of what all the other sub menus are for... You'll figure them out on your own in no time.
Whew! That was long and tedious... But i've tried to be as elaborate as i can for all those users new to 4EXT and apprehensive about migrating. I've also posted this in the Development section in the relevant thread.
I remember how i was before i converted for the first time and there was no detailed guide available.
Hope this has helped!!
P.S. Thanks to Madmaxx for the tips and inputs that helped me write this mini tutorial.
Click to expand...
Click to collapse
Thank you very much for the detailed tutorial, I think the following 3 posts should be compiled and made a stickied tutorial for all the others here and to come.
http://forum.xda-developers.com/showpost.php?p=18562457&postcount=14
http://forum.xda-developers.com/showpost.php?p=18593426&postcount=18
http://forum.xda-developers.com/showpost.php?p=18565951&postcount=437
With your and madmaxx's help, I have changed over to 4EXT without a single hitch. Thanks once again.
harshs23 said:
Thank you very much for the detailed tutorial, I think the following 3 posts should be compiled and made a stickied tutorial for all the others here and to come.
http://forum.xda-developers.com/showpost.php?p=18562457&postcount=14
http://forum.xda-developers.com/showpost.php?p=18593426&postcount=18
http://forum.xda-developers.com/showpost.php?p=18565951&postcount=437
With your and madmaxx's help, I have changed over to 4EXT without a single hitch. Thanks once again.
Click to expand...
Click to collapse
You're more than welcome. This is what all of us are here for...
This thread serves as a guide to install both firerats and data2ext mods on a single rom and have them work simultaneously.
I do not take any credit for the creation of any files mentioned or attached, nor methods for the installation of each individual mod, nor roms, gapps, or otherwise mentioned content. All credit goes to those who created each mod, rom, gapps, and the methods for installing each individually. I only claim responsibility for my own research and the order and hierarchy of steps below that combine these incredible feats of development into a working system of internal storage expansion and space management.
Even though it is impossible to brick your phone using the guide below, I am not responsible if you break your device, because you have willfully chosen on your own to void your warranty by rooting your phone and installing the mods mentioned below.
To make firerats work with data2ext simultaneously, follow these over-detailed instructions EXACTLY. This is written so that anyone who has never held a smartphone in their lives can understand and do this right the first time, so those of you that know what you're doing, sorry about the length, but it should be pretty easy for you.
Note: I've uploaded some pertinent files from the following steps and added all links to all files needed so you don't have to go find them yourself. I did not include any roms, gapps, or the freespace app from the Play Store(just download from your phone, or from the link in step 6d). Links for all necessary files are in their respective steps below. The only links to a rom or gapps are for ICS. Otherwise you'll have to find and use your own downloaded roms and the correct gapps for your rom. If you would rather use the links below to download the files instead of using the ones I provided, be my guest.
I've updated this guide to make installation much easier and work with Sense roms!
Now on to the good stuff!!
Steps 1 through 7a are written for you to collect the files necessary, and to prepare your phone, sd card, and recovery for the correct method of installation of the collected files.
Steps 8 through 10 are to install the mods.
Preparation
1. Be sure to start from scratch!!! This means an UNPARTITIONED, FULLY WIPED sd card, fully wiped and rooted phone, and fully wiped recovery. Fresh file downloads for roms, gapps, and other mods you like wouldn't hurt either. If your phone is not rooted, go here, it's the best and easiest root method I've found.
1a. If you already have a partitioned sd card, insert it into your computer via a microsd adapter or other means(you cannot use your phone for this; it will not recognize that it's partitioned), delete the partitions and wipe the card using partition management software on your computer. I recommend EASEUS Partition Manager 9.1.1 Home Edition(Windows users only). If you use this program, after you delete partitions on your sd card, you will be left with unallocated space. Create a partition that takes up the entire unallocated space and set it as a Primary and FAT32 file system(remember, only do this to your sd card, NOT THE C: DRIVE!!!!).
2. Boot to recovery(hold down home, press and release power, then release home once recovery shows up)
2a. Be sure you have a recovery that supports flashing unsigned .zip files. If your recovery does not support flashing unsigned .zip files, flash a rom and then the corresponding gapps that are signed(cyanogenmod roms and gapps are the easiest way to go), boot into rom, sign in, download rom manager from Market/Play Store, open rom manager, flash clockworkmod recovery, and boot to recovery.
3. Make sure you are using latest 5.5.0.4 recovery, found here.
3a. If you are not already using the 5.5.0.4, flash the 5.5.0.4.zip in your current recovery(or follow the instructions from step 2a if you cannot flash unsigned .zip files) and reboot back into recovery.
4. In your new recovery, make sure you wipe everything, and go to advanced>partition SD card. Choose whatever size you want to have as internal storage(the 'M' means Megabyte, if you didn't already know...). I use 1024M or 2048M(i.e. 1Gb or 2Gb), depending on what mood I'm in, but it works with any of them. Then choose 0M swap size and wait for it to process.
5. Wipe everything once again(just to be safe), including sd-ext, and place your rom and preferred gapps on sd card, along with any other flashable modifications you like to use(I use the sd card speed boost, which can be found here. 2048Kb works best for my card, a 16Gb Class 4).
Note: For ICS users only! I use official, larger ICS gapps, found here(download the one next to 4.0.X, the link will be: '20120429'). The smaller gapps, as well as the current best ICS rom, can be found in whoshotjr2006's thread, here.
6. Make sure you have the latest firerats(1.5.8), which can be found here.
6a. Don't use any of the alphas or betas. Just 1.5.8. Download only the recovery-v1.5.8-CustomMTD_S.zip and boot-v1.5.8-CustomMTD_S.zip and place on sd card. Create a .txt file named 'mtdpartmap' and type 'mtd XXX XX'. These X's represent the size in numbers that you want your /system and /cache partition sizes to be, and therefore will not actually be used. See step 6b or 6c, depending on what rom you'll be using, for information on how to determine the correct partition sizes/numbers to use. DON'T KEEP THE X's IN THE FILE! REPLACE THEM WITH THE NUMBERS YOU WILL USE AFTER YOU DETERMINE WHAT YOUR /SYSTEM AND /CACHE SIZES SHOULD BE!
6b. For ICS users: If you are using the official, larger gapps, type 'mtd 190 60' into the text file and save to sd card. If you are using smaller gapps, type 'mtd 190 30'. Proceed to step 7.
6c. For Non-ICS users: To find out what numbers to replace the X's with in your mtdpartmap.txt, first wipe everything and install only the rom and gapps you'll be using this mod with. Then boot into rom, sign in, and follow step 6d. After you do this, however, you will need to repeat steps 5 and 6a, then proceed to step 7.
6d. You can download 'freespace' from the Play Store, which needs root access, and will show you the total size and space remaining for each of the /system, /data, /cache, /sdcard, and /ext partitions, so you can change the numbers in your mtdpartmap file to what you want the /system and /cache to be that best suits the rom you want to flash. The first number after 'mtd' is for the /system partition, the second number is for /cache. You can't change the /data, because it is dependent on what you set the system and cache sizes to, and will be set to what you partitioned the sd card to anyways. Also, keep at least a 5Mb allowance over what you need for both /system and /cache partitions as you will run into force closing problems if there is no breathing room, especially for the /cache partition.
7. The data2ext thread and .zip file can be found here.
7a. Download the unCoRrUpTeD_data2extV2.2.zip at the bottom of the post and place on sd card. DO NOT FLASH!!!
Summary of what should be accomplished after following steps 1 through 7a: You should now be using CWM Recovery 5.5.0.4, have a partitioned sd card, wiped everything, and placed the boot-v1.5.8-CustomMTD_S.zip, recovery-v1.5.8-CustomMTD_S.zip, unCoRrUpTeD_data2extV2.2.zip, mtdpartmap.txt, the rom and correct gapps, as well as any other mods you want to use onto your sd card. If all of this is true, move to step 8. If not, go back and find what you missed.
The Installation Process
8. Flash recovery-v1.5.8-CustomMTD_S.zip, then under mounts and storage, wipe /system, /cache, and /data in that order.
8a. Reboot to recovery(go to advanced>reboot recovery).
9. Flash rom, gapps, and whatever other mods you have or like, then flash boot-v1.5.8-CustomMTD_S.zip, then unCoRrUpTeD_data2extV2.2.zip, and reboot.
Note: the firerats installation thread for the HeroCDMA says to flash boot-v1.5.8-CustomMTD_S.zip after anything that changes the kernel specifications, but the unCoRrUpTeD_data2extV2.2.zip does not change these. The thread also says that adb is necessary to reboot; it's not. After wiping /system, /cache, and /data, just go to advanced>reboot recovery. It will work just fine, I promise. Newer recoveries don't need to use adb for this step.
10. Reboot immediately after signing in for data2ext to take effect.
That's it! You're all done! Set up your phone the way you want and start installing apps!
Summary of steps 1 through 10: By now, you should be using 5.5.0.4 recovery, have a partitioned sd card, have placed all necessary files, your rom, gapps, and other mods onto your sd card, flashed the correct files in the correct order and rebooted, signed in, and rebooted after signing in. You should now be looking at the home screen(or lockscreen) of your rom, and if you check storage from settings, you should see internal storage showing the size you partitioned the sd card to be in step 4.
Hopefully this wasn't too confusing...good luck!
If you have any questions, don't hesitate to post in this thread!
Thanks, great guide! Wish I had it back when I had my first experience...
Speaking as per my own experience:
I ended up using the latest Firerats (dunno if its an alpha or beta) since I found myself flashing different ROM's and ROM updates quite a bit, for me it didn't require the use of a boot flash, rom works fine for me (spare some thoughts on this?, maybe just not required for the Alpha/Beta as abandoned work)...
Side note:
If you dont want to download an app to flash from the market to find out the space your rom is going to use for /system (at least, and for fresh install only), simply unzip your ROM and GApps to the same directory and right click and view the properties, this is its uncompressed size, and using a 4Mb buffer my self (Id recommend 8Mb just to be safe for most), Its normally right on the money for SOD or Size On Disk...
Hammerfest said:
Thanks, great guide! Wish I had it back when I had my first experience...
Speaking as per my own experience:
I ended up using the latest Firerats (dunno if its an alpha or beta) since I found myself flashing different ROM's and ROM updates quite a bit, for me it didn't require the use of a boot flash, rom works fine for me (spare some thoughts on this?, maybe just not required for the Alpha/Beta as abandoned work)...
Side note:
If you dont want to download an app to flash from the market to find out the space your rom is going to use for /system (at least, and for fresh install only), simply unzip your ROM and GApps to the same directory and right click and view the properties, this is its uncompressed size, and using a 4Mb buffer my self (Id recommend 8Mb just to be safe for most), Its normally right on the money for SOD or Size On Disk...
Click to expand...
Click to collapse
What version of firerats are you using? And I agree with you about the unzip method, and would have included that, but I wanted it to be as easy as possible for people who don't know what they're doing, and usually, 'an app for that' is the best way to go. Not saying it isn't easy to unzip, check the size, and rezip, I just thought an app that checks it for you would have less possibility of confusion. It does make the process a bit longer, yes, but at least people don't have to mess with the file at all.
On my own side note: After the several hours spent writing, rewording, adding, changing, and moving things around in this guide, I'm pleased to say it's 100% complete. No further changes that I can see happening.
goliath714 said:
What version of firerats are you using? And I agree with you about the unzip method, and would have included that, but I wanted it to be as easy as possible for people who don't know what they're doing, and usually, 'an app for that' is the best way to go. Not saying it isn't easy to unzip, check the size, and rezip, I just thought an app that checks it for you would have less possibility of confusion. It does make the process a bit longer, yes, but at least people don't have to mess with the file at all.
On my own side note: After the several hours spent writing, rewording, adding, changing, and moving things around in this guide, I'm pleased to say it's 100% complete. No further changes that I can see happening.
Click to expand...
Click to collapse
I think 1.59 alpha... after a system crash a few months ago, i havent had the need to re-bookmark the firerats mediafire folder... I really should, and seeing as most file share hosts are closing down or restricting free access to files I really should re-download and archive them... god knows how many things I have lost because of the MAFIAA fiasco's...
Yeah that might be a good idea. Personally I've never used any alphas or betas so I really don't have any input for them lol
Sent from my HeroC using XDA
Bumping my own thread...lets get some more views for this thing! If you haven't tried it yet, or have questions about it, or simply don't know what it does, send me a message or post on this thread! It's really a very useful mod for those of you that use or like installing lots of apps...
Thanks for the guide to this. The only problem I may seem to have is that when I follow all your steps at 11b this is what I get:
mke2fs 1.41.12 (17-May-2010)
/dev/block/mmcblk0p2s apparently in use by the system; will not make a filesystem here!
Is that correct? Or am I doing something wrong?
I see no reason to use both scripts combined. The data2ext you can have 2048mb/2gb That should be more than enough space for all your apps. Although this is a good write up I see a lot of conflict with using both mods together. One or the other should do. I'd recommend data2ext. You can create a 2048 partition and it will run just fine on a class 4 or better sd. Anything lower and you might suffer glitches like screen freezing, apps missing,lock up's and reboots. If you have a stock sd or a higher capacity sd but without a class rating or class 2 then I recommend firerats mod. Also you could very well run both of these mods and have not one problem whatsoever so it just user experience and preference I'm referring to.
#Root-Hack_Mod*Always\=LTE
Hmoobphajej said:
Thanks for the guide to this. The only problem I may seem to have is that when I follow all your steps at 11b this is what I get:
mke2fs 1.41.12 (17-May-2010)
/dev/block/mmcblk0p2s apparently in use by the system; will not make a filesystem here!
Is that correct? Or am I doing something wrong?
Click to expand...
Click to collapse
You have to unmout the partition first.
#Root-Hack_Mod*Always\=LTE
App2sd
Yea, I got that too, is it not working for you.
If not, add "/system/etc/init.d/40data2ext --enable" That made it work for me. Don't add "".
after reboot and the memory still hasn't change then go back in to terminal manager and add the above line and then reboot, should work then, never got firerats to play nice with the script, so i just use data2sd
laie1472 said:
I see no reason to use both scripts combined. The data2ext you can have 2048mb/2gb That should be more than enough space for all your apps. Although this is a good write up I see a lot of conflict with using both mods together. One or the other should do. I'd recommend data2ext. You can create a 2048 partition and it will run just fine on a class 4 or better sd. Anything lower and you might suffer glitches like screen freezing, apps missing,lock up's and reboots. If you have a stock sd or a higher capacity sd but without a class rating or class 2 then I recommend firerats mod. Also you could very well run both of these mods and have not one problem whatsoever so it just user experience and preference I'm referring to.
#Root-Hack_Mod*Always\=LTE
Click to expand...
Click to collapse
That's all true, but the reason I combined both is to customize the /system and /cache partitions, while still allowing my 2gb data partition to work. This way I have control over what size I want each partition to be.
goliath714 said:
That's all true, but the reason I combined both is to customize the /system and /cache partitions, while still allowing my 2gb data partition to work. This way I have control over what size I want each partition to be.
Click to expand...
Click to collapse
You can still achieve that without the combination of both mods.
#Root-Hack_Mod*Always\=LTE
In step 11 you said to reboot into rom immediately after flashing data2ext2-v7.zip and open terminal emulator. But terminal emulator isn't preinstalled in my rom. Is it ok to install it from play store after I flash data2ext2-v7.zip or this is not right?
fforward72 said:
In step 11 you said to reboot into rom immediately after flashing data2ext2-v7.zip and open terminal emulator. But terminal emulator isn't preinstalled in my rom. Is it ok to install it from play store after I flash data2ext2-v7.zip or this is not right?
Click to expand...
Click to collapse
You can install from the market
Sent from my HERO200 using xda app-developers app
ajrty33 said:
You can install from the market
Sent from my HERO200 using xda app-developers app
Click to expand...
Click to collapse
Thanks a lot!
laie1472 said:
You can still achieve that without the combination of both mods.
#Root-Hack_Mod*Always\=LTE
Click to expand...
Click to collapse
How? The firerats mod allows you to change the /system and /cache partition sizes, but from what I can find, data2ext only applies the /ext partition to the /data partition to make the phone utilize the /ext partition as /data, and doesn't allow for modification of the /system and /cache partitions.
Updated
Edit: Updated again to fix minor wording issues and make links much prettier!
Can I use twrp recovery on this firerats. Or is it only the provided cwm recovery ?
Sent from my HERO200
So I flashed this data2ext on my desire, the phone recognized my ext partition as internal memory, but, I can't install any apps, I always get the message "application not installed".
Any ideas?
dankdank11 said:
Can I use twrp recovery on this firerats. Or is it only the provided cwm recovery ?
Click to expand...
Click to collapse
Firerats has nothing to do with recovery. It's about resizing partitions. Recovery functions on a level above, so whatever you do with firerats won't affect it. TWRP is a great recovery program.
Tux2609 said:
So I flashed this data2ext on my desire, the phone recognized my ext partition as internal memory, but, I can't install any apps, I always get the message "application not installed". Any ideas?
Click to expand...
Click to collapse
Try again. Go through the instructions verbatim, as outlined. I wouldn't deviate in any way.
UPDATE: This can't be used with CM10 Alpha 4 (or later) as it is due to the new partitioning system.
____
I made this thing time ago and I thought to share.
What it does is to boot a stock ROM from the external SD card. It's nothing special, I simply changed few things here and there. I did it because I needed a stock ROM for a couple of minutes and this was the faster way to get it.
I'm using CM and I made this with that in mind, so, don't use while using a stock ROM. It won't mess your current setup, but it won't work.
You need to change kernel to boot the stock ROM (reboot recovery > flash zip. Simple and fast). That's because, as you probably now, kernels made for stock ROMs are not compatible with CM.
Prepare you SD card
You need first to repartition your external SD like this:
Code:
1° partition (mmcblk1p1): FAT - it will be the usual external SD
2° partition (mmcblk1p2): ext4 - /system (make it around 300MB big, 254MB will be more or less the space used)
3° partition (mmcblk1p3): ext4 - /data
I can't help you with this, I did it with adb and parted (the command is available in CWM). Look for instructions on the web, it's full of guides out there. Your external SD card is /dev/block/mmcblk1 (mmcblk0 is the internal one).
If you'll use the zip linked to flash the ROM, the two partitions (mmcblk1p2 and mmcblk1p3) will be automatically converted, unless they are already two ext4/ext3/ext2 partitions.
It shouldn't matter which kernel you are currently using and it should be safe flashing it, the only important thing is to have three partitions. If mmcblk1p2 or mmcblk1p3 are not detected, the installation will be aborted (it means that your SD card is not partitioned). Nothing else will be touched.
If you don't want to use the zip, mount mmbclk1p2 and copy the ROM there.
/dbdata will be the usual one (it's not used in CM. This will also makes Samsung apps a lot faster when using a slow SD card), same for /cache.
The flashable ROM is a stock XXLE4 + su/Superuser.apk.
How to use the additional ROM
To use the ROM on your SD, flash kernel-stock-SD.zip (see below) from recovery.
To go back to the real ROM you have to flash its kernel. Here below you can find CM10 Alpha 2 kernel, flashable from recovery. If you have doubts, reflash the entire ROM, it won't wipe your data.
I only mentioned CM10 because it's what I'm using, but this thing should work with CM9 too.
Things to know
I built the kernel using the latest Samsung sources with inbuilt ext4 support (and ext3/ext2 compatibility). Nothing else was changes, so I think there's no need to publish the sources, they are available here.
I attached the tools I use to unpack/repack boot images (they are a modified version of skin1980's tools):
Code:
./unpack.pl boot.img
./repack.sh [gz|lzma|bzip2|xz]
To see the changes I made, compare "out/android" with the stock XXLE4 ramdisk and the other two directories with CM10 boot.img ramdisk.
I changed recovery.fstab accordingly, but I can't tell you if flashing stuff from CWM while using the additional ROM will work as expected. You should read the updater-script to know it for sure.
I can only tell you that dhiru's builds will be flashed into the real /system partition and not your SD card.
Backups should work too, but I didn't try.
Of course, performances depends on your SD card. Mine is not that good I think, I took it from an old phone and I really don't know anything about it. The ROM is still usable, but apps that intensely use databases are slow (not Samsung apps, those will use /dbdata). Maybe disabling journaling will help (search for more info).
The Galaxy SL screen will last more than usual because I intentionally added a delay (3 seconds, SD cards are detected after a while) and of course because of the slower load.
Please, use this if you have some experience.
Note: dual booting two ROMs with a single kernel is possible, but only if they use the same kernel image. See this and this.
Downloads
XXLE4-CWM.zip: CWM flashable ROM
kernel-stock-SD.zip: kernel to boot the ROM from the external SD, flashable from recovery
kernel-CM10-Alpha2.zip: CM10 Alpha 2 kernel, flashable from recovery
Wow ! thats dualboot for i9003 ! sweet gud to see development back in action
Good work.
The class of an SD card can be misleading. It is only a measure of the sequential Write access and that doesn't tell the whole story. Class 10 cards are great for cameras and applications that write or read sequential data, such as saving a picture and transferring a file. They are not so good for random access which is what the Android OS does when operating. In fact the random access speed for class 10 cards is lower than class 4 or 6 cards. From what I have seen, the sweet spot for smartphones is class 6.
Awesome. Only if we could achieve dual boot without flashing kernel everytime. But anyways awesome guide. Thanks.
Reminded me of dual booting of maemo and android on my brother's n900.
Whats the benefits of dual boot? I heard about it but i dont have an idea
juztinlee said:
Whats the benefits of dual boot? I heard about it but i dont have an idea
Click to expand...
Click to collapse
Dual Booting means you can have two OS's (here firmware) on the phone at the same time. You can choose on which you want to go. This, besides being awesomely cool, is really helpful in many scenarios.
But its not exactly a dual booting. On galaxy s2 dual booting uses a single kernel but in our case.we are still using two different kernels which has to flash saperately.
Really we should create a kernel which can be used for cm9/10 & for stock GB rom. Then real fun will begin
^But this can be useful when you have to go for a long trip and want to record videos which only our stock rom is capable of doing good. Thanks to the developer.
Also, if anyone can, please tell me what is the possibility we can create a dualboot kernel like siyah kernel?
vishal24387 said:
But its not exactly a dual booting. On galaxy s2 dual booting uses a single kernel but in our case.we are still using two different kernels which has to flash saperately.
Really we should create a kernel which can be used for cm9/10 & for stock GB rom. Then real fun will begin
Click to expand...
Click to collapse
I didn't say dual boot
Creating a single kernel for ICS/JB and GB is not possible, or at least not an easy thing.
CyanogenMod is using newer graphic drivers not compatible with GB. I tried to use my CM10 kernel with GB, just to see what could happen. Well, it works, but with no hardware rendering as expected. It doesn't mean "it's laggy", it's painfully slow. And if we'll have the 3.0 kernel working, I guess this will be even more difficult.
The only option I think is kexecing an additional kernel, but kexec is hard to implement.
However I dual booted CM10 and CM9 (SD) with a single kernel (there are traces of this in my unpack/repack tools), I simply added an additional "cpio.gz" inside the boot.img. There's an additional boot reason that we never use, so we can use it to choose the corrent "cpio.gz" by parsing /proc/cmdline. The only problem is that you need to boot the ROM first and the reboot, because to get the other boot reason you have to run this:
Code:
reboot arm11_fota #or arm9_fota
(if you are using a stock ROM and try to reboot with the command above, you'll see weird stuff, but nothing should happen to your phone. I did it once.).
Maybe there's something else possible, but dual booting never interested me. As I said, I did it because I needed it.
You can do a lot of things, I even stored a ROM in a subdirectory in /data and use it from there (=> fast).
santoshsadani009 said:
^But this can be useful when you have to go for a long trip and want to record videos which only our stock rom is capable of doing good. Thanks to the developer.
Also, if anyone can, please tell me what is the possibility we can create a dualboot kernel like siyah kernel?
Click to expand...
Click to collapse
I don't know how exactly dual booting with this kernel works. I actually don't know how usually dual booting is implemented in Android.
I just looked at it. It allows you dualbooting only two ICS+ ROMs (so no GB), it automatically creates an hidden partition, automatically stores the ROM there, provides additional tools in CWM and other nice things.
I guess is something possible, but don't expect it from me. As I said, I'm not interested in dual booting and this thing requires time and knowledge.
loSconosciuto said:
I didn't say dual boot
Creating a single kernel for ICS/JB and GB is not possible, or at least not an easy thing.
CyanogenMod is using newer graphic drivers not compatible with GB. I tried to use my CM10 kernel with GB, just to see what could happen. Well, it works, but with no hardware rendering as expected. It doesn't mean "it's laggy", it's painfully slow. And if we'll have the 3.0 kernel working, I guess this will be even more difficult.
The only option I think is kexecing an additional kernel, but kexec is hard to implement.
However I dual booted CM10 and CM9 (SD) with a single kernel (there are traces of this in my unpack/repack tools), I simply added an additional "cpio.gz" inside the boot.img. There's an additional boot reason that we never use, so we can use it to choose the corrent "cpio.gz" by parsing /proc/cmdline. The only problem is that you need to boot the ROM first and the reboot, because to get the other boot reason you have to run this:
Code:
reboot arm11_fota #or arm9_fota
(if you are using a stock ROM and try to reboot with the command above, you'll see weird stuff, but nothing should happen to your phone. I did it once.).
Maybe there's something else possible, but dual booting never interested me. As I said, I did it because I needed it.
You can do a lot of things, I even stored a ROM in a subdirectory in /data and use it from there (=> fast).
I don't know how exactly dual booting with this kernel works. I actually don't know how usually dual booting is implemented in Android.
I just looked at it. It allows you dualbooting only two ICS+ ROMs (so no GB), it automatically creates an hidden partition, automatically stores the ROM there, provides additional tools in CWM and other nice things.
I guess is something possible, but don't expect it from me. As I said, I'm not interested in dual booting and this thing requires time and knowledge.
Click to expand...
Click to collapse
so that means we can dualboot cm9/10 with miui v4 . right ? since they both use the same kernel
vishal24387 said:
But its not exactly a dual booting. On galaxy s2 dual booting uses a single kernel but in our case.we are still using two different kernels which has to flash saperately.
Really we should create a kernel which can be used for cm9/10 & for stock GB rom. Then real fun will begin
Click to expand...
Click to collapse
Ya a Universal kernel will do the trick.If later then we can achieve dual boot then the people who were holding back from CM9 or CM10 can flash that for features and a stock rom for stability and camera.
shriomman said:
so that means we can dualboot cm9/10 with miui v4 . right ? since they both use the same kernel
Click to expand...
Click to collapse
As long as the kernel is the same, yes.
If you want, here you can find the unpacked boot.img I (probably) used to dual boot CM10 and CM9 (SD).
There's no zImage in there, use the one you prefer, CM10 and CM9 are using the same kernel.
EDIT:
I almost forgot. "out/ramdisk/2ndROM" is for the ROM stored in your SD card, so you have to adjust the mount points there (already done in the one linked). "out/ramdisk/android" should be the "stock" ramdisk.
recovery will work only for the primary ROM in this case, maybe with some scripting you can make it works for both the ROMs, but I won't do it (if it's something possible).
The tools I posted will automatically take care of the additional ramdisk.
Possible to fix the download links? I want to boot rom from SD card since my internal is corrupted...
nick0016 said:
Possible to fix the download links? I want to boot rom from SD card since my internal is corrupted...
Click to expand...
Click to collapse
I don't know what happened to the links, probably I deleted the files by mistake on dev-host. Sadly I no longer have them and I currently don't have the time to make them again.
Anyway, I suggest you to follow other guides in order to replace only the corrupted memory instead (we have two different memories). This one for example, but there are other guides probably.
Thanks for your answer, problem is that my "device" memory is corrupted (as in read only).
I did the SD / USB storage swap but still have the problem that I cannot run/remove/install. So I need a ROM that loads completely from the external SD card and also uses it for data/storage...
I can flash a rom/kernel without problems, but changing version makes it only worse because the data does not get erased (background/applications/settings.... stays the same everytime, even after a wipe from the recovery).
If it helps I would love to pay/donate money to you as a thanks for your help and effort because the phone itself is working fine (except the corrupted memory of course) and would like to use it again
nick0016 said:
Thanks for your answer, problem is that my "device" memory is corrupted (as in read only).
I did the SD / USB storage swap but still have the problem that I cannot run/remove/install. So I need a ROM that loads completely from the external SD card and also uses it for data/storage...
I can flash a rom/kernel without problems, but changing version makes it only worse because the data does not get erased (background/applications/settings.... stays the same everytime, even after a wipe from the recovery).
If it helps I would love to pay/donate money to you as a thanks for your help and effort because the phone itself is working fine (except the corrupted memory of course) and would like to use it again
Click to expand...
Click to collapse
The guide I linked is fine then.
It explains how to repartition your SD card and the script Dipu K attached to his post is to use the newly created partition inside your external SD for /data. It's not to swap internal and external SD.
As I said, we have two memories, /data is in one, /system, kernel and other things are in the other memory. The corrupted one must be the one which holds /data.
Try to do as explained in the guide, if the problem persists, I'll see what I can do to help.
I followed the guide and got the Device memory replaced (data partition). Problem is now it is stuck in at boot because the partition is empty.... and when I copy the files from the corrupted data partition it boots fine but get message that I must wipe my data or the system will be unstable (which is correct because I get then flooded with unexpected errors which make it unusable). But formatting data partition gives stuck @ samsung boot logo??
So I need to get the "factory" data files from somewhere... I am running stock KPE ROM with BAM kernel (for init.d support).
Is it possible to extract the data partition from the stock rom?!
nick0016 said:
I followed the guide and got the Device memory replaced (data partition). Problem is now it is stuck in at boot because the partition is empty.... and when I copy the files from the corrupted data partition it boots fine but get message that I must wipe my data or the system will be unstable (which is correct because I get then flooded with unexpected errors which make it unusable). But formatting data partition gives stuck @ samsung boot logo??
So I need to get the "factory" data files from somewhere... I am running stock KPE ROM with BAM kernel (for init.d support).
Is it possible to extract the data partition from the stock rom?!
Click to expand...
Click to collapse
The content of /data is generated, there's nothing like what you asking for.
Maybe the problem is that the script posted in the guide copies the content of the old /data partition to the new partition inside the SD card. Wiping data shouldn't work because the path to the SD card is not specified.
Try the script attached. I zipped it to be able to upload it here, but it's not flashable. Since you've been able to follow the guide I assume you know how to use adb.
Wipe the content of the data partition you created inside you SD card (/dev/block/mmcblk1p2). You could reformat it with make_ext4fs, use a computer and so on. What's important is that it's ext4 formatted.
While in recovery, run:
Code:
adb shell mount /system
adb shell mkdir -p /system/etc/init.d/
adb push [I]PATH_TO[/I]/remount_data /system/etc/init.d/
adb shell chmod 777 /system/etc/init.d/remount_data
I'm sorry, but I currently don't have much free time to help more than this. With no logs or access to the device it's really hard for me to know what's the problem.