Recovery & Bootstrap?
The last few nights I have been researching the whole idea of flashing ROMS. I thought I was very familiar with it after having my D1 for 2 years and flashed nearly every ROM created. After looking through all the D3 options, I am very confused.
From what i've seen, just on hashcodes blogspot itself he has 3 different bootstraps? (safestrap, stock cm bootstrap, and original non-stock boostrap). There is also a bunch of different recovery options. This doesn't even include Koush's bootstrap..
After researching all of the ROM options it seems as though some of these ROMs only allow for specific combinations of recoveries or bootstraps.
Can anyone breakdown the whole recovery/bootstrap dilemma here so I am a little less mind-boggled? Are all of these bootstraps just previous versions and one is the final? are they all used for different purposes/ROMs?
Any info would be great!
Well, coming from the D1, you need to change your thinking a bit. Unlike the D1, the D3 has a locked bootloader. Thus, the D3 init sequence has to be hijacked, so to speak, to trick the phone into booting into recovery. So, the D3 requires two separate concepts: That of the bootstrap, and that of CWM recovery. In other words, on the D3, you need a software bootstrap installed to get into recovery. Of course you need recovery flashed, too.
So, for the most part, ClockworkMod Recovery (CWM) is CWM. The differences lie in the bootstrap.
The very first bootstrap was Hash's, which has since been abandoned. It didn't allow entry into CWM from a cold-start (power up) reboot, but only from within his bootstrap app on a fully functioning phone. Not good for a soft brick. A great first effort, but it's now merged with Koush's bootstrap. Unfortunately, in the event you installed Hash's original bootstrap, you have to be sure to remove Hash's bootstrap before using Koush's, or you have problems. That old original Hash bootstrap isn't around anymore I don't think, so unless you jumped on the bandwagon the first two days that bootstrapper was invented, you don't have to worry about this issue. Update: wrong! Do NOT install any bootstrap mentioned in any droid-life articles. That's the original Hash bootstrap. Bad!
Now, there is a bit of confusion here, in that the newer Koush's bootstraps have been implemented by Hashcode. Thus, you have to understand that Hash's original bootstrap is different than Hash's implementation of Koush's bootstraps. Clear as mud?? :)
So, at present, there are two Koush bootstraps provided by Hashcode. The first is the Droid 3 bootstrapper, available in the market, which has the same problem as Hash's original bootstrapper, in that it doesn't allow access to CWM from a cold-start power up condition. However, it is compatible with Rom Manager, which the original Hash bootstrapper wasn't. Again, whether you enter CWM from Rom Manager, or from within the bootstrapper app, you obviously need a fully functioning phone. Not good if you've bricked.
Finally you have what Hash calls the "tweaked" Koush bootstrapper (from his website), which allows you access to CWM from either Rom Manager, the bootstrapper app, or if the phone's bricked, from from a cold boot using BP tools (fastboot menu: power up + M on keyboard). It's the best of all possible worlds. It also has some tricks that allow a bootlooping phone to enter CWM automatically via the use of a semaphore that's set and released strategically as the phone is booted and once it functional.
The Safestrap bootstrapper is ONLY for those wanting to boot the CyanogenMod ROM. It uses a different technique, something called a "sandbox" which keeps the original ROM intact. It's kind of like being able to dual boot your phone. Eventually, CyanogenMod will be booted with the same method as the other ROMS.
All that being said, it boils down to really three choices:
1) Use the safestrap bootstrap for booting the CyanogenMod ROM only.
2) Use the D3 bootstrapper in the market for everything else, including ROMs other than CyanogenMod, and for using Rom Manager and making NANDROID backups.
3) Use the tweaked D3 bootstrapper available from Hash's website, which does all described in 2), as well as allowing entry from
a cold boot via fastboot BP tools.
As Hashcode points out, the bootstrapper is stored on /system and can be overwritten when a new ROM is installed. So, whenever changing ROMs, realize that the appropriate bootstrap will likely have to be reinstalled.
Also REMEMBER that this discussion has been all about the bootstrapper. However, the Droid 3 bootstrap app DOES install CWM 18.104.22.168 as well. Or you can install CWM from Rom Manager. However, ROM Manager does not install the bootstrap. You need both to have an effective alternative recovery. :)
Hope this helps more than it hurt :) Neall
Corrections inserted above: 1) Hash points out in his blog that the bootstrap app does install CWM. 2). Do not install any bootstrap mentioned in (or referenced to) the droid-life article on D3 bootstrap. That's the original (outdated) Hash bootstrap.
Thank you! All that info will help when the time comes to flash. I too was a flash junkie on the D1 and was finding it difficult to follow all the " strap" lingo. For now, the debloated stock rom has been functioning well for me.
Sent from my DROID3 using DroidForums App
@ndoren, that was superb. Thanks. :) Probably should move your explanation to a sticky!
Great information! Exactly what I was looking for, thank you!
This has been stuck. Thank you ndoren!
My pleasure. I think a lot of confusion arises from reading Hash's blog, in that it was built gradually day by day, with independent thoughts per day, and therefore it's not very coherent or organized. So, reading it all at once is a bit overwhelming and confusing. That's not a criticism of his blog... he's brilliant and all the information that you need is there. It's just that I was lucky enough to have followed the process as it unfolded, so it was easier for me to track and explain here. Of course, that initial development frenzy has slowed down, and we have good bootstraps, but obviously things will change. Hopefully we can keep track of that here. Neall
Sorry for the bad English (i will going to stop write this) but i read and a have a a Question.
I have install the unnoficial bootstrap version 0,87 but in the recovery image screem is show this: CWM Based Recovery v22.214.171.124, and i have download the applicqation from here: Unofficial DROID 3 ClockworkMod Recovery Released
And in a post up i read the correct versios is 126.96.36.199...if this is true then the version that i have install es the first version hashcode version and if my phone goes out my recovery donīt works ?
IF yes i have a problem, because i have a XT860 Milestone 3, and here in Brasil we donīt have acess a ROM or a Custom Rom, and then i donīt going to install the last bootstrap from hashcode.
Somebody can answer my question ?
In the Rom section i ask if an XT862 rom works on the XT 860 and nobody replay...and if not, the 4g droid 3 works ?
And the Bootstrap will works ?
I was wondering about this as well. I'm used to flashing roms on my OG Droid and have no idea what bootstrap is. Does this act like Nandroid backup? Is their any chance of someone posting a video of how to use this in conjunction with flashing Steeldroid?
Edit: Nevermind, some further digging answered my questions.
This is Hash's original bootstrap, and the one that is no longer supported. With it installed you can get to CWM from within this app, or from BP tools at the startup quick boot menu (power up + M). It is not compatible with Rom Manager, and it can NOT be used to flash new ROMS. Basically, its use is limited to making nandroid backups. If this works for you, then fine... stick with it. However, if you wish to install the market version, you absolutely MUST remove this bootstrap first. Remove the bootstrap from within the application (there is an option when you run it), then delete the application itself. If you do NOT do this first, but instead you install and run the market version, your phone will NOT boot anymore. At that point, you'll have to reflash the phone from scratch using the SBF and RSDLite, because you'll be bricked. I'm guessing Hashcode wishes this version and the media references to it would disappear. No one needs to be installing it anymore. Neall
Originally Posted by Calen