I’m starting to field a lot of questions about what changes are coming in Safestrap v3 (for those of you who don’t know what Safestrap is check here: How-To-Safestrap). Time for a blog post!

I have quite a few “issues” with Safestrap as it stands currently. And I’m sure many of you do too:

Too many different device-based versions: Each device has a separate APK installer and the whole process is customized for partition #’s involved. This means that anytime I want to update Safestrap, I’m building/recompiling the thing 5-6 times, which makes me NOT want to update it with new features. This is a big one for me personally.

Too long to wait between ROM swaps from stock to safe-system. We all wait that minute or more between swaps thinking.. there really should be a better way to store a seperate set of data.. shouldn’t there?

By using “preinstall” or “webtop” partitions we’re effectively “breaking” a partition which will be checked during OTAs. And while this isn’t a huge issue day to day, it’s a hassle when OTAs roll out to restore that partition. Part of what Safestrap should be doing is providing a “hassle-free” way of flashing ROMs to our devices, even tho they have locked bootloaders.

Why oh why can’t I flash my stock ROM? Nuff said.

We’re still using finicky hard button controls to navigate around recovery? This is 2012 isn’t it?

I’m not sure about you but doesn’t it seem like you always want to flash something when your battery is a bit low? And there’s nothing worse than getting “stuck” in a low battery situation. Why doesn’t battery charging work in recovery?

Enter Safestrap v3.0. I’d like to say that I’m going to address every single one of these issues on the first release, but I will probably only hit the majority of them and then follow-up with a few late additions.

MAJOR CHANGES:

Safestrap will now use the internal emmc storage partition on our devices to create 2 image files for ext3 paritions: system and userdata. System.img is hard set to 500MB and the userdata.img is user selectable in size from 1GB to 3GB. Note: Size can be important here as it can limit the # of usable 2nd-system ROMs you have access to. (see below). Also if playtesting determines that we need a cache.img per ROM slot then I will add that later before release. But that’s another 200-300MB of space that I’d like to avoid if possible.

Multi-ROM swapping support: Based on the available space of the internal emmc storage partition (/sdcard in Android OS), we can now have from 1-4 safe-system ROMs available for flashing to. This means you could have: a stock-based and kexec-based version of CM10 and AOKP.

Touch Based Recovery / Theming: Instead of using ClockworkMod Recovery as the base for the new Safestrap, I chose TWRP 2.2.2.1: http://teamw.in/project/twrp2 This is a fully touch-based recovery with all of the bells and whistles you would expect and some you wouldn’t. (This page shows the default TWRP theme)

Safestrap support for ROM slot creation, management and selection is all under a sub-menu “Boot Options”

TWRP supports user-based themes loaded as /sdcard-ext/TWRP/Theme.zip. I will post a full theme.zip which will install a TWRP theme when the design is more final. Dev’s can take that .zip and replace their own art. Here is the WIP template design for Safestrap v3: https://dl.dropbox.com/u/41149741/safestrap3-theme-template.png

Instant ROM swapping: Because we’re moving from the preinstall / webtop usage which didn’t leave room for a 2nd-userdata partition, we can now have nearly instant ROM swaps between stock and any one of the 4 available ROM Slots via recovery. I might eventually add “instant boot” buttons on the splash screen for choosing a boot ROM during boot. But, this isn’t in the planned 3.0 release.

Flashable “Stock” partition. You will be able to flash the stock system in this go around. For me personally, I’m not a huge fan of doing this, but I see reasons why users want this feature enabled. I’m currently working on pre- and post- stock flash features such as saving the current version of Safestrap that is installed to /system/etc/safestrap + the logwrapper hijack and then re-installing them after the .zip flash is complete. I’m on the fence about supporting 2nd-init / kexec boot from the stock ROM. Isn’t that what we have 4 ROM slots for?

Safestrap v3 for Bionic, RAZR/MAXX/XT910, and Droid 4 is a single .APK to distribute. It’s only because I need to rebuild Safrstrap for D3 as a GB-compatible binary that the Droid 3 needs a separate APK. This will make updates easier in the future.

Battery Charging in Recovery. Right now I have battery charging working for the test devices I’m using. Hopefully it will be good for all 4 models which should be supported by the initial v3.0 release.

QUESTIONS / ANSWERS:

Question: Won’t the partitions running on emstorage (sdcard) cause additional wear and tear on the memory?Answer: The primary /system and /userdata partitions are also on the same emmc chip as the /sdcard partition (emstorage). So no, not in my opinion. If you’re an expert with proof that this will in some way damage the phones I support, please send me an email with the details. However, there are already other multi-boot supporting systems such as Boot Manager which do something similar to handle multi-ROM swapping. This isn’t something entirely new. This is just my implementation of it.

Question: Why the move in the STS-Dev-Team ROMs to establish the external SD card as the “primary” storage method?Answer: The goal is to let users keep the internal emmc space as free as possible so that they can have more ROMs installed. However, you can still use the /sdcard space for storage purposes. Just don’t format it or you will lose the ROM slots you’ve created.

Question: I’m using a 2GB external SD card which is filled w/ music. Won’t I have issues using the new ROMs which treat this as primary storage?Answer: Short answer: probably. Long answer: we’re also looking at a way of letting the user designate which storage location to use as default. On a side note: Ebay has listings for 16GB+ micro sd cards for less than $15 (Just saw a class 4 16GB card w/ free shipping for $12). Perhaps this is a good time to upgrade that external storage?

Question: How much will Safestrap v3.0 cost?Answer: Free as always. With no limitations. Though, I’ve been asked about having a $5 “donate” version in the App Market. Not sure if I really want to do that yet.

Question: When will Safestrap v3 be publically available?Answer: When I think it’s “safe” for the general public and everything you guys will try and throw at it.. :P