Hello guys, I want to present you the
TEAM WIN RECOVERY PROJECT
(TWRP)
v2.X for our Transformers
This is the touch version of Team Win's recovery project.
It is already avaiable for many devices, but not for ours, so I ported it.
In addition, I am the responsable developer and maintainer for this recovery, so if any errors occur, please post them in this thread and I will see what I can do.
WHY did I port this ?
We do now have a fully functional file manager in the recovery system
The GooManager app lets you now install .zips directly through the open-recovery scripting system
You can queue .zips for flashing in recovery, makes installing new roms MUCH easier !
WHICH features do we have after-all ?
Key Features:
Ability to save custom recovery settings
Default partitions to back up
Default zip folder location
Default color theme (lots to choose from) (Thanks to ffolkes!)
Default Time Zone (for more accurate time stamps)
Zip Signature Verification
Zip md5 Verification (looks for file with zipname.zip.md5)
Ability to flash multiple zips in one go
Ability to select which individual partitions to backup, and restore.
Ability to choose compression or no compression backups.
Compression takes longer of course, but you save roughly half the space. EVO3D's stock system uncompressed is ~800mb, 380mb compressed. You choose.
Ability to auto restore GAPPS on zip flash (for CM based ROMS)
Ability to auto reboot after successful flashes (for the lazy)
Some devices utilize their capacitive buttons in recovery.
Home - Main Menu
Menu - Advanced Menu
Back - Up a Menu Level
Search - Select Current Selection
Battery Level and Timestamp (Better safe than sorry)
Fully working terminal emulator (with exclusive fixes by me)
WHAT does work ?
The file manager
Using internal and external storage mounts
Backup & restore
Zip file installing
Mounting devices
Everything else ?
WHAT doesn't ?
OpenRecovery scripting
You tell me !
A FEW NOTES
OpenRecovery scripting for GooManager and others does currently *NOT* work, this is because the init.rc is missing a recovery boot flag, because of this the GooManager app fails to pass the correct recovery command to our device. This will be fixed very soon !
THEMERS, please take a look here : http://forum.xda-developers.com/showpost.php?p=28605855&postcount=67
??? --- Profit.
DOWNLOADS
FLASH THE TWRP-X.zip file in your current recovery!
NEWEST DOWNLOADS ALWAYS AT android.lensmangallery.com
Code:
[FONT=Georgia]
[B]v2.2
[/B] [/FONT]
[LIST]
[*][FONT=Georgia][B]Fixed EVERYTHING.[/B]Really. No bugs left ![/FONT]
[*][FONT=Georgia]When installing a zip, you can now choose from internal or external storage right from the 'install zip' page, just like in Rogue Touch Recovery ![/FONT]
[*][FONT=Georgia][B]Added a super-awesome terminal emulator in 'advanced' page ! Try this out, it's amazing, really ! [/B][COLOR=Red]In addition, it has a special goodie by me, the command you type in, and hit enter, would normally stay there until you delete it manually each time. I fixed the source, so it goes away after hitting enter, just like a real command prompt ![/COLOR][/FONT]
[/LIST]
[B]v2.1.8 FINAL[/B]
[LIST]
[*][FONT=Georgia]Fixed the 'free disk space' shown on backup tab. Now it displays always the correct size which is left for backups, either internal or external storage. Both do fully work now.[/FONT]
[*][FONT=Georgia]Fixed the *EXTERNAL* storage automount, when you change your storage paths (mount->change radio buttons), while clicking the 'using external sdcard', the external MicroSD gets automounted. It gets auto-unmounted again when hitting 'using internal storage'[/FONT]
[*][FONT=Georgia]Fixed the boot partition backup system. Since we cannot backup /boot , I excluded this partition from the whole nandroid system. The button in the backup tab is gone now, so no choice to fail at backing up anymore ![/FONT]
[/LIST]
[FONT=Georgia] [B]
v2.1.8
[/B] [/FONT]
[LIST]
[*][FONT=Georgia]Initial release[/FONT]
[*][FONT=Georgia]Based on newest TeamWin Sources[/FONT]
[*][FONT=Georgia]Touch recovery[/FONT]
[*][FONT=Georgia]Tablet UI (1280*800) resolution
[/FONT]
[*][FONT=Georgia]Modified recovery.fstab & BoardConfig to make this compile.[/FONT]
[*][FONT=Georgia][COLOR=Red][B]SOURCE[/B][/COLOR] is at [/FONT][URL]https://github.com/skirata/device_asus_tf101[/URL] and [URL]https://github.com/skirata/Team-Win-Recovery-Project-v2.X[/URL]
[/LIST]
Credits
Team Win
Team Douche
Cyanogenmod
Shane Francis
Roach2010
That sound really nice, good work! But, where's the download link ?
hanthesolo said:
That sound really nice, good work! But, where's the download link ?
Click to expand...
Click to collapse
Oh, stop it, you ! You were a bit faster than me ...
Download link is up in 2nd post.
Can someone post any screenshots?
rayman33 said:
Oh, stop it, you ! You were a bit faster than me ...
Download link is up in 2nd post.
Click to expand...
Click to collapse
I love it when that happens.... I see them now. I will flash it and see how it stacks up to the other touch recoveries.
EDIT: I just flashed it and played around with the UI for a few minutes. I found it vaguely reminiscent of UEFI, and it seemed very useful. I have had a need for a file browser more than once while in recovery, it is a shame though that editing files cannot be done (due to the difficulty level if creating a keyboard, and size limitations, i am sure). It is on my bucket list though, to be able to use some kind of terminal emulator in recovery without using adb. Overall, excellent work, and this will be my recovery if choice from now on! Just out if curiosity, how long did it take you to port this?
I'll be the numb nut that will ask.......what are the fstab zip and the other zip for?
Do i need to flash all 3 zips or just the main recovery zip if i havent got a clue what the other 2 do? :laugh:
No doubt someone would screw it up....... id rather look like a plank!
TheFirlen said:
Can someone post any screenshots?
Click to expand...
Click to collapse
Screenie.
You better be happy now, it has got 3297562 Megapixles !
scottyf79 said:
I'll be the numb nut that will ask.......what are the fstab zip and the other zip for?
Do i need to flash all 3 zips or just the main recovery zip if i havent got a clue what the other 2 do? :laugh:
No doubt someone would screw it up....... id rather look like a plank!
Click to expand...
Click to collapse
My faultie, didn't put the explanation in the notes ..
You will only have to flash the TWRP-X.zip file.
The other two zips are the sources needed for compiling.
Of course, those alone aren't sufficent at all. If someone would like to have instructions on how to compile, just ask here.
@Hanthesolo Well, I think it was like one week or so until I figured out how to compile the recovery and another week until I managed to get internal and external storage working correctly.
installed fine
EDIT: its ok i read the op again..........looks good, another job well done Rayman33
You, man, are awesome. Me and hillbillyhacker tried that, but couldn't get touch working. Waiting for your stuff to see the diff
I had it installed but do not see any internal storage.
Sent from my Transformer TF101 using xda premium
bkmo said:
I had it installed but do not see any internal storage.
Sent from my Transformer TF101 using xda premium
Click to expand...
Click to collapse
Go into the "Mount" tab and make sure "Using internal storage" is checked.
My internal storage files are found under "data/media"
baseballfanz said:
Go into the "Mount" tab and make sure "Using internal storage" is checked.
My internal storage files are found under "data/media"
Click to expand...
Click to collapse
It was checked by default, but my brain didn't compute that I need to look at data/media. Makes perfect sense.....thanks.
Sent from my Transformer TF101 using xda premium
NICE guys.
thanks gonna try it
hope they start porting AROMA to tablets too.
that would be cool
bkmo said:
It was checked by default, but my brain didn't compute that I need to look at data/media. Makes perfect sense.....thanks.
Sent from my Transformer TF101 using xda premium
Click to expand...
Click to collapse
Edit: time is being reported as one hour ahead, also had an abort during a backup. Here is from the log:
I:=> Size of is 0 KB.
[ (0 MB)]
...Backing up partition.
I:=> Filename: ..win
I:Backup command: 'dd bs=4096 if= of=/data/media/TWRP/BACKUPS/0384018241611197/2012-07-08--12-41-34/..win'
dd: can't open '': No such file or directory
* Done.
* Verifying backup size.
E: File size is zero bytes. Aborting...
Sent from my Transformer TF101 using xda premium
bkmo said:
Edit: time is being reported as one hour ahead, also had an abort during a backup. Here is from the log:
I:=> Size of is 0 KB.
[ (0 MB)]
...Backing up partition.
I:=> Filename: ..win
I:Backup command: 'dd bs=4096 if= of=/data/media/TWRP/BACKUPS/0384018241611197/2012-07-08--12-41-34/..win'
dd: can't open '': No such file or directory
* Done.
* Verifying backup size.
E: File size is zero bytes. Aborting...
Sent from my Transformer TF101 using xda premium
Click to expand...
Click to collapse
Please check if you had ticked "boot" in the backup menu...
Don't backup the boot partition, it won't work, and only give errors.
Just backup the partitions that have an actual size, like /system /data and /cache.
Then it should work; I have tested this.
Also, you can edit the Time Zone settings in the corresponding settings menu in TWRP's home... just look for it.
I'm Trying to mount the ext sd card but its not working.
News :
Backup system does now work out of the box, no need to refresh the menu first.
I nearly found a way to exclude the boot partition from backing up, to make it all more user-friendly.
Fixed version coming the next 2 days.
Stay tuned !
Related
The Ultimate Guide to put Hero Builds and other Builds to your G1/Magic Android Phones by hellogadgetman from Greece
or download from here for best structure and more
http://rapidshare.com/files/2522727..._Builds_and_other_Builds_to_your_G1_best.docx
for ROOTED Phones
I have no responsibility for mistakes and problems through this guide
1) Find your SPL and Radio Versions
• Radio
o Next you will want to confirm your Radio Baseband.
To Confirm this Press Menu - Settings - About Phone - Scroll down till you see Baseband version.
Compare the Baseband value to the value below to see if you are using the correct radio for your build or if you need to update.
o You will need 2.22.19.26I
• Currently there are three SPLs available. The G1 variant is the SPL that is installed in stock T-Mobile G1 phones. The Engineering variant is found in the Android Dev Phone 1. Finally, the HardSPL is a modification of the Engineering variant by cmonex, with additional hacker-friendly functionality.
• HardSPL
• VER: HSPL10.95.3000
• HardSPL is a modification of the Engineering SPL by cmonex. In addition to the functionality of the Engineering SPL, HardSPL also allows NBH files to be used without matching the CID (carrier ID) check.
• Engineering SPL
• VER: HBOOT-0.95.3000
• The Engineering SPL is a custom SPL installed in devices intended for Android development. It has existed since before the launch of the G1 and is now available to the general public as preinstalled on the Android Dev Phone 1.
• G1 Original SPL
• VER: HBOOT-0.95.0000
• This is the original SPL which is installed in a stock G1. It is easily distinguished by the "trademark" red-green-blue bootloader screen which appears in many HTC phones. This SPL does not support the fastboot protocol and thus will not allow the user to flash nand backup images.
2) Update the Radio to the Latest
• Download the Radio zip.
• http://android-roms.googlecode.com/files/ota-radio-2_22_19_26I.zip
• Rename it to "update.zip".
• Copy it to the root of your phone's SD card.
• Turn your phone off.
• Start up in recovery mode by holding Home and pressing Power.
• Press ALT+S to apply the update.
• Once the update is applied press Home+Back to reboot the phone. The Phone will start to boot up and then continue applying the update. Once this is completed the Recovery menu will ask you for the second time to reboot the phone via Home + Back
3) Update the SPL to the Latest
IF YOU HAVE ONE SD CARD:
• Upload new SPL on your microSD and rename to "update.zip"
• Reboot your phone into recovery mode. I ASSUME YOU MEAN HOLDING POWER AND HOME BUTTONS>>>RIGHT?
• THIS IS IMPORTANT (perform a nandroid backup, of course) APPLY THE UPDATE USING ALT-S..., and once complete DON'T DO ANYTHING.. read step 4.
• WITHOUT PRESSING ANY BUTTONS remove your microSD card from your phone, and plug it into your microSD card adapter/SD card reader
• Remove/rename the SPL update (to something other than "update.zip") and upload the update file of the build you are currently using onto your microSD card. Put your microSD card back in your phone AGAIN WITHOUT PUSHING ANY BUTTONS I KNOW THIS IS STUPID, BUT WE RENAME THE BUILD TO UPDATE.ZIP AS WELL
• Press Alt + x to go to the console. If your phone does not reboot automatically, press enter, type "reboot recovery", then press enter again.
• If you boot up in recovery, you have done everything correctly. Now APPLY THE UPDATE USING ALT-S, reboot, and you're done
4) Performing a NANDROID Backup
At this point you should backup your phone via NANDROID
1 Turn your phone off.
2 Hold Home, press Power button to boot into Recovery Mode
3 Press ALT+B to start the backup.
4 Once the backup has completed press Home + Back
Next your phone will reboot and load the OS, at this point you should copy the files your just backed up to your PC incase you need to recover your phone
1 Mount your SDCard to your PC
2 On your SDCard change to the nandroid/HT840GZ30985
3 Inside this folder you will see another folder the first 8 digits of this folder name is the date it was created in the YYYYMMDD format and the last four are the time.
4 Copy this entire folder to your PC and save it. As you make more backups to your phone repeat this process.
5) Format your sd card to Fat32 and Ext2/Ext3 Partitions
• Install the sdsplit executable to your phone. To so this, open the 'terminal' application / ADB Shell and type the following commands at the prompts:$ su
# cd /data
# wget http://64.105.21.209/bin/lib/droid/sdsplit
# chmod 555 sdsplit
# exit
• Decide the size of your FAT partition:
You should use one of two approaches to decide the size of your FAT partition. The first one involves simply directly deciding this size (i.e. I want a 5G FAT partition). In this case, the EXT2 partition will be the remainder of the card.
size_of_fat_partition = size
The second method is based upon the fact that you want to decide the size of the EXT2 partition and would like the FAT partition to be the remainder of the card. In this case, the size of the FAT partition will be based on the size of your sdcard and the size of the EXT2 partition that you want. Use this formula to calculate it:
size_of_sdcard - size_of_ext2_partition = size
So, if you have an 8GB sdcard and want 1GB of space for apps on your EXT2 partition, use 7000M for the FAT size.
No matter which method you use, you will need to specify either bytes (no parameter), kilobytes (K) or megabytes (M) . So, for a 5G partition would use a 5000M size parameter.
Note: The size parameter is currently case sensitive, use 7500M, not 7500m!
• Backup your SDCard onto your PC
Note: To figure out how much data (in K) you have on you FAT partition, you can type the following in your terminal / ADB Shell (the sdcard can not be mounted for this cmd to work):
$ du -s /sdcard
Note: to find out how much free space is left on your /data partition type (see available)
$ df /data
• Run sdsplit. Use the size from step 3 below (do not forget the "M" in size if you are specifying megabytes): (Note: you will need an internet connection on your phone for this step)
Note: If you are using the JF1.5 update, you should put a -nc at the end of the commands below since system configuration is not needed!
Non JF1.5 Build:
$ su
# /data/sdsplit -nd -fs size
# exit
JF1.5 Build:
$ su
# /data/sdsplit -nd -fs size -nc
# exit
Please, remember to record the output of this stage if you run into a problem. There will be a permanent record of it in, /data/sdsplit.log.
• Reboot your phone, via terminal:
reboot
• Restore your data from your PC to your Fat partition of your SDCard.
• You're done! You should have two partitions now on your sdcard. The FAT one mounted at /sdcard and the EXT2 one mounted at /system/sd.
6) Put the Cyanogen Recovery image 1.2
http://n0rp.chemlab.org/android/cm-recovery-1.2.img
To install raw image: copy it to your sdcard and run from a terminal:
flash_image recovery /sdcard/cm-recovery-1.2.img
It is suggested to fully shutdown the device and power it back up.
Check Recovery IMG by rebooting phone and pressing Home + Power to see the new Recovery IMG
If you have problems with a "no space on device" error, try using fastboot and erasing first:
fastboot erase recovery
fastboot flash recovery cm-recovery-1.3.1.img
7) Upload JACHero 2.2.3 or any other to sd card and rename them as update.zip
8)Last steps to finalize
• wipe
• run apps2sd from recovery image menu
• then run fix filesystems
• then run update.zip
• then run apps2sd from recovery image menu again
• then reboot
• when phone reboots, give it about a minute after the screen comes on and chose deny on swapper in SU permissions pop up.
• then go thru the setup for gmail and android..
• after you get logged in to everything, do your settings for backlight and whatever else,
• then go to programs and do the swapper settings -
• SWAPPER SETTING:
/system/sd/swapfile.swp
Change swapper size
i did 20mb / 32mb ( i think thats right )
• then reboot ( after Gmail has finished syncing your contacts )
• when it comes back up choose always allow on swapper ( in su permission popup )
• then do you market and flickr( disable wifi for a sec ) to accept the terms..
• then give it a few seconds, and in about 1 min the phone will be running faster like cupcake
Many thanks to JACHero,Cyanogen,Robpet2,Jesus Freke,Jon Pezz, xmoo, Haykuro, Stericson, dapro, The Dude, Darkrift, and many others!
very nice guide thank you...also very nice guide structure
gonna try this and see if i can really get this to run as fast as cupcake
Just a side note;
Http://twistedumbrella.googlepages.com/index.htm
The guide there has all the resources loaded to the site already and no longer requires you to have to use fastboot because the recovery there has restore built in.
pretty good guide...but this has nothing to do with porting builds -- only installing builds that have already been "ported"
porting (in the context you used it) means to change a build to work on another system / device:
http://en.wikipedia.org/wiki/Porting
also...Recovery 1.3.1 is the latest and greatest
cheers
alapapa said:
pretty good guide...but this has nothing to do with porting builds -- only installing builds that have already been "ported"
porting (in the context you used it) means to change a build to work on another system / device:
http://en.wikipedia.org/wiki/Porting
also...Recovery 1.3.1 is the latest and greatest
cheers
Click to expand...
Click to collapse
I know but 1.2 Cyanogen has Apps to sd and fix filesystems
alapapa said:
pretty good guide...but this has nothing to do with porting builds -- only installing builds that have already been "ported"
porting (in the context you used it) means to change a build to work on another system / device:
http://en.wikipedia.org/wiki/Porting
Click to expand...
Click to collapse
Yes, the title of this post is rather misleading. I was expecting a guide to porting. This is a well organized collection of instructions to prepare your phone for most modern builds, and will surely be useful to some, but the title should really be changed to better reflect the content of the post.
hellogadgetman said:
I know but 1.2 Cyanogen has Apps to sd and fix filesystems
Click to expand...
Click to collapse
1.3.1 does too, but much like fix_permissions its executed through concole instead of menu
If someone made the guide please post his thoughts
Thanks
Anyone or better None
thanx for your instructions!
and, is the Cyanogen Recovery Image the necessary part for flashing Hero roms on G1?
thanx again.
thanx for your instructions!
and, is the Cyanogen Recovery Image the necessary part for flashing Hero roms on G1?
thanx again.
Very good, indeed.
EDIT:
What happens if you miss a step, but still able to flash the latest 2.3.5 hero rom? (Following these steps reduces the lag?)
That's what exactly what I did:
1. I already had the latest radio update (so I didn't bother downloading again)
2. I installed latest SPL, renamed it to "update" in my sd card, turn off phone, turn-on phone (HOME+END button), hit ALT+S.
(I don't have a SD card reader yet.....but I have another phone (T-Mobile Wing), I removed SD card from G1, put it in T-Mobile Wing, opened folder where SD card is, and deleted "update" (SPL file), rename the 2.3.5 HERO rom to "update", took SD card out of T-Mobile Wing, put it in my G1)
3. Turn on G1 (HOME + END), wipe (ALT+W), then flash (ALT+S)
(Waited until it installed new hero ROM, it was installed, then I went to swapper application and changed settings to " /system/sd/swap.swp "
That's it.
I already had partition my SD card before doing this update. I dont know if it's necessary to do it again.
My G1 is working, and I have 72MB free space in internal phone storage (so far).
My question is:
Do I need to follow these steps to make the rom work better? To allow my apps go to my SD card (like it was before).?
By the way, I installed the OVERCLOCKWIDGET app from market and it won't open. (Launch Error, "Overclockwidget (need root) could not be launched")
Any inputs would be greatly appreciated.
Then I wipe, flash new ROM.
ss1271 said:
thanx for your instructions!
and, is the Cyanogen Recovery Image the necessary part for flashing Hero roms on G1?
thanx again.
Click to expand...
Click to collapse
Yes if you want to be a fast Hero ROM
jay22are said:
very nice guide thank you...also very nice guide structure
gonna try this and see if i can really get this to run as fast as cupcake
Click to expand...
Click to collapse
if it is let me lnow to make the change to hero
FAILURE to install
I followed your guide exactly but when I was flashing the hero update an error came back
"E: Cant't chown/mod /system/xbin
(no such file or directory)
E:Failure at line 14:
set_perm_recursive 0 2000 0755 06755 SYSTEM.xbin
Installation aborted."
Any suggestions???
NVM. Problem fixed. had to download the following spl
https://www.digital-bit.ch/g1devel/6.0-spl-signed.zip
Alt+M (apps2sd option) isn't showing up in v1.3.1
Anyone have any idea why Alt+M (apps2sd option) isn't showing up in Cyanogen's Recovery Image when all the other options that were updated in 1.3.1 are?
twistedumbrella said:
1.3.1 does too, but much like fix_permissions its executed through concole instead of menu
Click to expand...
Click to collapse
Thats the reason I put in my guide the 1.2 Cyanogen recovery
DirectMatrix said:
Anyone have any idea why Alt+M (apps2sd option) isn't showing up in Cyanogen's Recovery Image when all the other options that were updated in 1.3.1 are?
Click to expand...
Click to collapse
app2sd is automatic in version 1.3.1, but that's for new apps installation.
All the hero roms (at least that i know) require not the recommended "HardSPL" but Haykuro's updated SPL
This guide is very misleading esp since you bascially c/p from the other posts.
Dont take it personally, but it really needs to be cleaned up
B-man007 said:
All the hero roms (at least that i know) require not the recommended "HardSPL" but Haykuro's updated SPL
This guide is very misleading esp since you bascially c/p from the other posts.
Dont take it personally, but it really needs to be cleaned up
Click to expand...
Click to collapse
But this is the point of somebody who has to read over 500 posts to understand to have all the things straight away.
I have used it and it is fine and some others also ...(over 100 downloads of the document)
Thanks
Custom MTD Partitions
This is an implimentaion of lbcoder's Custom partition layouts
be sure to checkout that thread for the full history
What does it do?
Well, basically Custom MTD Partitions resizes your MTD partitions
for instance this is a CM6.1RC1, ( heavily customised )
Code:
Filesystem Size Used Available Use% Mounted on
/dev/block/mtdblock3 73.0M 72.8M 236.0K 100% /system
/dev/block/mtdblock5 134.8M 107.2M 27.6M 80% /data
/dev/block/loop0 896.0K 896.0K 0 100% /system/lib/modules
/dev/block/loop1 4.0M 4.0M 0 100% /system/xbin
/dev/block/mmcblk0p2 457.4M 201.8M 231.1M 47% /sd-ext
/dev/block/mmcblk0p2 457.4M 201.8M 231.1M 47% /cache
/dev/block/mtdblock4 2.0M 776.0K 1.2M 38% /dev/cache
most of my Apps are on sd-ext, dalvik-cache is on data
/dev/cache is where the real cache partition is mounted, /cache is actually a bind mount from /sd-ext/cache
Applicable to..
Probably any device that uses the same kind of nand as the G1 MT3G ( msm_nand )
The intial scripts are geared towards G1 / MT3G. however I have 'rewritten' much of the script for v1.5 , it now reads the partition table in dmesg, so it _should_ be universal **
v1.5.3 confirmed to work on heroc
v1.5.6 confirmed to work on bravo + bravoc ( with S-OFF )
unsure if it will work with your device? checkout the source on github ( or ask your favourite dev to take a look )
The 'Tech' in Breif
This method is beautifully simple...
When booting we give the kernel the mtd partition table we want to use..
Thats it
In practice we need to do this when booting to recovery, and booting the rom.
below are files to make this as simple flashing a rom.
Credits :-
Lbcoder - for coming up with the idea
Skraw ( CM forums ) - for getting lbcoder interested
Koush - for AnyKernel
Cyanogen & Co - for giving us all such great ROMs to play with
Amon_RA and Koush - for giving us something to patch
Techjosh - for fixing the patchers for use with Rogers (EBi1)
Mblaster - for pointing out my nasty habit of using -r zip flag at the end of command ( breaks compatibility with older zip versions, fixed in AutoPatcher v1.5 )
Safety First
This method is safe, however it is not without risk
Two things could potentially go wrong
Recovery flash corrupt
This is extremely unlikely, and tbh could happen anytime you flash recovery
If in the very unlikely event that you find you can't reboot to recovery you have three options
re-flash recovery via fastboot ( the preferred option )
re-flash recovery via ROM ( not a great option with cm5.0.x/cm6 )
Do the whole root thing all over again ( no one wants to do that )
system, cache , data partition unmountable - corrupt
Under the right ( or wrong ) circumstances it is possible to get 'junk' files stuck in system ( or cache,data ), and in such away that recovery can not delete them, more serious corruption can render the partitions unmountable.
It is actually quite straight forward to fix this, but it does require fastboot
Code:
fastboot erase system -w
Clockwork Recovery 2.0.2.0 and later has erase_image binary, if you can adb shell in then
Code:
for i in system cache userdata;do erase_image $i;done
and reboot
I would advise you seek out how to 'fastboot', which tbh is a good thing to have regardless of using this 'hack' as it can get you out of so much trouble
*NB* don't use a patched recovery to flash SPL or RADIO ( you should avoid using recovery to flash these anyway, feel free to ask for current advice on spl / radio flashing )
Prevention is better than cure
I have only managed to corrupt partitions when switching partition layouts while having files on cache or data, for example going from System 67.5 Cache 67.5 to System 90 cache 5 with
cache approx 80% 'used'...
I have not been able to repeat this if I wipe Cache before rebooting,
therefore I advise that you wipe both cache and data * after patching recovery ( and rebooting )
* along with system if you are using clockwork
OK, now lets patch recovery and a ROM
Install Instuctions
It really is quite simple
download FR-recovery-v1.5.6-CustomMTD_S.zip and FR-boot-v1.5.6-CustomMTD_S.zip
create mtdpartmap.txt and put on /sdcard/ see configuration *
reboot to recovery
nandbackup
wipe cache + data
flash FR-recovery-v1.5.6-CustomMTD_S.zip
reboot to recovery ( reboot and hold Home )
Either : -
Nandrestore
Flash ROM + extras
flash FR-boot-v1.5.6-CustomMTD_S.zip
reboot
* configuration
The script in the recovery patcher checks for /sdcard/mtdpartmap.txt and reads that to override the default sizes.
e.g. for system 90mb and cache 2mb
NB make sure you mount sdcard first, else you won't write to sdcard/mtdpartmap.txt !
Code:
echo "mtd 90 2" > /sdcard/mtdpartmap.txt
data would be 117.8mb ( 116.7 useable )
e.g. for system 55mb and cache 2mb ( Purhaps a nice 'sugar free' Donut )
Code:
echo "mtd 55 2" > /sdcard/mtdpartmap.txt
data would be 152.8mb ( 151.7 useable )
NB, above data sizes are for G1s, MT3Gs should add ~78mb
All In One Patch runner ( New to v1.5.3 )
new option to run the All In One Patch script ( versions 1.3.6 and higher )
the format is
Code:
aio <option1> <option2> <option3>...
e.g.
Code:
aio swap remount shabang lwp
By default it will install the sd-ext mount ( option sdext )
so a line just reading aio will be fine
Note: the patch must be on the root of the sdcard, and its file name must start with "fr-patch" and end with ".txt"
if you have several versions the newest ( as per files datetime stamp ) will be used
Faking your SPL
If your using an SPL that is not officially supported by your ROM and that ROM checks your SPL you can 'patch' to fake it.
Code:
echo "spl 1.33.2005" >> /sdcard/mtdpartmap.txt
note that we are using ">>" here, this is to append to the file ( ">" would overwrite it )
you can by all means use any text editor you like, the script will automatically convert to unix format
NOTE : you are dodging the checks the ROM dev put in place, do not complain to them if this doesn't workout for you
in post 2 I have some 'CM6' Kernels I compiled for (1)0.95.xxxx SPLs
but I will only likely do these for RCs and Finals ( and there maybe a delay ).
In that post I point you towards the 'SafeSPL' ( 1.33.2003 ) this SPL is compatible with the current CM6 kernels ( so no need to wait for me or someone else to compile with bluetooth as modules ), but 1.33.2003 is not 'officially' supported ( its stock at 67.5mb system ) so you need to Fake your SPL ( say 1.33.2005 ) and resize to 90mb system ( or whatever you feel is optimum )
.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:.
Downloads
.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:.
http://tinyurl.com/customMTD
aab0fadf658ed275954aea8d0aed9c8f FR-AutoMTD_partitionPatcher_v1.5.6.tar.bz2
8857194cdbe34a52d173def4441ad2ae FR-AutoMTD_partitionPatcher_v1.5.6.zip
1f84a5ec50684a7830a93a8d455bc159 FR-boot-rpp-v1.5.6-CustomMTD_S.zip
bca0360f91aed0acf6e2dc82dfe01b56 FR-boot-v1.5.6-CustomMTD_S.zip
94b4238c2668cbe7cd52fb8ad5a2ee12 FR-recovery-v1.5.6-CustomMTD_S.zip
5404f1a41dbc60105d59c7fa0c335a70 FR-remove-v1.5.6-CustomMTD_S.zip
NB New Config option !!! to automatically run fr-patch136+
e.g.
Code:
mtd 90 2
spl 1.33.2005
aio swap remount shabang lwp a2sd
.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:.
ROM Zip Patcher for Devs
To make life even simpler for end users it is possible to integrate the 'patch' within a ROM
AutoMTD_partitionPatcher_v1.5.6.zip
currently Linux only,
within the zip is a tarball, untar that.
get that directory into your PATH, ( or just cd into it )
and then execute
Code:
PatchUpdateScript.sh <zip file to patch>
it will then
create a temp directory ( in your current directory )
copy your zip to it
extract required files
patch update(r)-script
zip and sign.
It simply saves the user from flashing the boot patch after flashing your ROM
The Future....
lbcoder has already suggested ways in which we can implement this 'on the fly'
so for instance it would be possible for a ROM , to instruct recovery what MTD partition layout is required, reload mtd kernel modules, and then flash ROM + boot.img
for those with huge partitions
Hey, you could go all silly and dual boot between ROMs ..
Anyway, enjoy and feel free to modify/improve on these
Changelog
v1-5-6 : 2010-10-28
Calculate userdata size, greatly improves compatibility
Added a version to patch a boot.img ( boot-rpp ) with run-parts
didn't want to , but some are using roms which don't have run-parts, so the 06BindCache script wasn't running
Added a remove version ( remove )
flashing this will return the recovery to SPL's layout
I may well integrate that better, so you don't need a separate zip
AutoMTD_partitionPatcher can convert a recovery.img to a AutoMTD flashable zip
PatchUpdateScript.sh <full path to>/recovery.img
boot patcher is much cleaner, it just uses the cmdline of the running recovery
removed the default 90 2 sizing, you *must* set your own size in mtdpartmap.txt
v1-5-4/5
added stuff
removed stuff
moved stuff
see v1-5-6
v1-5-3 : 2010-08-13
This should be last version we need
greater compatibility with none dreams/sapphires
option to launch All in One Patcher
v1-5-2 : 2010-08-0
Bug fixes
recovery was getting written to boot ( flash_image <partition> is now a variable )
typo in env variable was causing cache and data calculations to fail
AutoMTD now prints version number ( when flashing patched Zip )
tided up system "0x" 'fudge' ( to be compatible with trout/sapphire fall back )
removes temp files from memory when done
v1-5-1 : 2010-08-06
Bug fixes, had an extra '0x' on the system start + functions had wrong env var for the location of dmesg derived partition map
v1-5 : 2010-08-06
Version numbers brought into sync
Zipe Filename - 'reordered' ( easier to see version numbers in CWR )
AutoMTD Patcher - changes as per boot Patcher + zip recursion fix ( my bad habit, thanks go to mblaster for pointing this out )
Boot Patcher - cleaned up cache bind mount
Now supports leagcy /system/sd mount point
[*]supports ROM Manager ( real cache partition mounted on /dev/cache, recovery dir symlinked from 'fake' to 'real' cache )
Recovery Patcher - can 'fake' your SPL ( see configuration )
Recovery Patcher - creates more noise ( advise wipe and reboot )
Single Patcher script ( so I don't have make the same changes to three different files that essentially do the same job )
No longer 'Hardcoded' to 32[a/b] Partition Layout ( figures out SPL layout via dmesg ) **
uses original boot/recovery img's base configuration ( i.e. EBi0 and EBi1 compatible )
=< v1.4
Recovery Patcher v1.3, added SPL faker
Boot Patcher v1.2, fixed oversite where boot.img was not 'dumped'
Recovery Patcher v1.1 initial
Boot Patcher v1.1 ( was a fail, it didn't patch boot.img on CM roms as the tmp boot.img was deleted, my fault for just using the AutoMTD Patcher's script ( which runs before the tmp boot.img is deleted )
Boot Patcher v1 initial
Todo
- 2010-08-13 redundent ( launching AIO script ) - I might add some stuff to cm5/6's backup routine via the Auto patcher, things like the "All in One" installed scripts: 05mountsd and remount
windows compatible AutoMTD script ( meh, I hate batch scripts )
- 2010-08-13 DONE - thinking of adding a config option to launch the "all in one" script, but have to make that recovery compatible first
.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:.
Downloads
.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:.
mediafire downloads
http://tinyurl.com/customMTD
aab0fadf658ed275954aea8d0aed9c8f FR-AutoMTD_partitionPatcher_v1.5.6.tar.bz2
8857194cdbe34a52d173def4441ad2ae FR-AutoMTD_partitionPatcher_v1.5.6.zip
1f84a5ec50684a7830a93a8d455bc159 FR-boot-rpp-v1.5.6-CustomMTD_S.zip
bca0360f91aed0acf6e2dc82dfe01b56 FR-boot-v1.5.6-CustomMTD_S.zip
94b4238c2668cbe7cd52fb8ad5a2ee12 FR-recovery-v1.5.6-CustomMTD_S.zip
5404f1a41dbc60105d59c7fa0c335a70 FR-remove-v1.5.6-CustomMTD_S.zip
The attached files are OLD
Custom MTD FAQ
FAQ
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Q my SPL starts with 0 or 10, and I want to try CM5.0.8 or/and CM6. DO I need to do anything extra?[/b]
A yeap, it seems the newer kernels are just a bit too big for x0.95.x00x SPLs, you can get round it with the below kernels. And to flash CM6 you need to 'fake' your SPL ( see configuration in OP ) or edit the updater-script. faking is easier.
However, I would recommend the 1.33.2003 SPL ( you still need to fake your SPL, but you won't need the 'special' kernels )
guide for flashing 1.33.2003 SPL by Ezterry
#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#
2010-07-11
I have compiled a kernel, which I hope is NoneDanger compatible
the source is simply CyanogenMod's github, I have taken the config from cm6rc1, and simply changed the bluetooth to modules
this approach has worked in the past
It is pre-patched with AutoMTD, so just flash cm6rc1, then flash this
FR-CM6RC1-bootimg4NoneD-AutoMTD.zip(MD5: 386D9A05A3C0FFC08E5B3F844D437AA7)
mirrors
http://rapidshare.com/files/406402016/FR-CM6RC1-bootimg4NoneD-AutoMTD.zip
http://www.mediafire.com/?152jnqwyme3
#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#
2010-07-27
NoneDanger compatible Kernel for RC2
FR-CM6RC2-bootimg4NoneD-AutoMTD.zip (MD5: 7858a8a8d126919318d1718c6e5167ec )
http://www.mediafire.com/file/ttxfcocsti3mma3/FR-CM6RC2-bootimg4NoneD-AutoMTD.zip
I'll have to dig out the src
#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#
2010-08-15
NoneDanger compatible Kernel for RC3
2010-08-17 ( Sorry, old one had a status6 bug )
New one here
87F160F08FCD2233DDD40FBFC50D3711 FR-CM6RC3-bootimg4NoneD-AutoMTD.zip
src = http://github.com/CyanogenMod/cm-kernel/tree/48c57f11abaaf3de6c81f6f5c44cfe2637251184
no modifications its straight cm ( besides the config, which you can get from the compiled kernel or zcat /proc/config.gz )
#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#
*NB* don't use a patched recovery to flash SPL or RADIO ( you should avoid using recovery to flash these anyway, feel free to ask for current advice on spl / radio flashing )
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Q do I need to flash both of the files each time I install a new rom?
A No, you only need to flash the recovery patcher once, unless you want to resize or you install a new recovery.
the boot patcher *must* be flashed after you have installed a new ROM or Kernel update
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Q my cache looks odd in df, I see two and its the same size as data or sd-ext, is something wrong?
A everything is fine, since we shrunk cache its no good for things like the Market, so a script is installed to 'bind mount' cache with /sd-ext/cache or data if sd-ext is not mounted.
it actually turns out that /cache is not actually used in CM6, so I might adapt the script a little in a future release.
EDIT: as of version 1.5 the cache bind mount script mount 'real cache' separately, which should reduce confusion
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Q When I tell ROM Manger to do something in recovery, it just reboots to recovery and does nothing. it used to do the action but not since I installed CustomMTD
A yeah, nearly forgot about that, I was going to fix it last week, basically ROM Manger writes commands to /cache, but its writing it to our bind mount so.. when recovery boots it doesn't see the commands.
In all honesty that one hasn't been pointed out to me yet, but yeah I can fix it..
EDIT: as of version 1.5 the cache bind mount is compatible with ROM Manager
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The Scripts
'source' is now available on github
http://github.com/Firerat/CustomMTD
errm, tbh I'm not all that clued up on it yet
looks very promising
So, will i need to change the values everytime i flash a different rom? or can i just set them to a large size and everything will work?
asb123 said:
looks very promising
So, will i need to change the values everytime i flash a different rom? or can i just set them to a large size and everything will work?
Click to expand...
Click to collapse
most roms have a target of 90mb system ( DangerSPL )
so 90 2 config will basically give you an extra 28mb on data than you would have with stock DangerSPL MTD map
so yeah
90 2 is a good all rounder
Firerat said:
most roms have a target of 90mb system ( DangerSPL )
so 90 2 config will basically give you an extra 28mb on data than you would have with stock DangerSPL MTD map
so yeah
90 2 is a good all rounder
Click to expand...
Click to collapse
is it okay if I make system 70mb?
The rom im using is only using 66 out of 90, i want more space for data instead. I remember you said something about it being a miltiple of 128K.
With this, could Devs stop skimping on stuff like wallpapers and ringtones or additional apps, and surpass the 90MB danger spl mark? It would seem so. Also, I do not make roms so I do not know how it works but if there is compression or lower quality stuff they would now be able to use up as much space as wanted correct?
Ace42 said:
is it okay if I make system 70mb?
The rom im using is only using 66 out of 90, i want more space for data instead.
Click to expand...
Click to collapse
yeap, should be fine
personally I would be tempted to use clockwork, since you can erase system ( part of partition options )
.img files can be found here
http://www.koushikdutta.com/2010/02/clockwork-recovery-image.html
I don't recommend flashing via ROM Manager with CM5 or CM6
fastboot it over, or flash via recovery
I may be a little over cautious recommending a full wipe, but I have never had problems when system, cache and data are clean.
if you are 'growing' system make sure cache and data are clean
if your 'shrinking' make sure system is clean ( so 'hangovers don't mess up /cache or data )
asb123 said:
With this, could Devs stop skimping on stuff like wallpapers and ringtones or additional apps, and surpass the 90MB danger spl mark? It would seem so. Also, I do not make roms so I do not know how it works but if there is compression or lower quality stuff they would now be able to use up as much space as wanted correct?
Click to expand...
Click to collapse
yes, you can 'grow' or 'shrink' at will
just hope it doesn't get used to be lazy and not trim bloat
Hi firerat,
you mentioned once before something about market data on the cahe... or something so downloads would be ok if a certain partition was big enough?....something like that... I am having a prob that might be related since it started when I tried to change from default to system 80 5 for data. now I cant sign in to google and after flashing gaaps there is no market? everything else in the gaaps zip is there...? It could be google i know but i remembered you saying that somewhere.
TheNewGuy said:
Hi firerat,
you mentioned once before something about market data on the cahe... or something so downloads would be ok if a certain partition was big enough?....something like that... I am having a prob that might be related since it started when I tried to change from default to system 80 5 for data. now I cant sign in to google and after flashing gaaps there is no market? everything else in the gaaps zip is there...? It could be google i know but i remembered you saying that somewhere.
Click to expand...
Click to collapse
I very much doubt it is related in anyway
/cache is where the market downloads apks to prior to install
it should be bind mounted to /sd-ext/cache or /data/cache if sd-ext is not mounted
your missing Market is related to something else
Firerat said:
I very much doubt it is related in anyway
/cache is where the market downloads apks to prior to install
it should be bind mounted to /sd-ext/cache or /data/cache if sd-ext is not mounted
your missing Market is related to something else
Click to expand...
Click to collapse
On my sdcard, why were my market Dls going to /Sdcard/Download folder?
I never seen them go there before, I'm used to seeing them in /cache.
Ace42 said:
On my sdcard, why were my market Dls going to /Sdcard/Download folder?
I never seen them go there before, I'm used to seeing them in /cache.
Click to expand...
Click to collapse
Because he bind mounted it.
Ace42 said:
On my sdcard, why were my market Dls going to /Sdcard/Download folder?
I never seen them go there before, I'm used to seeing them in /cache.
Click to expand...
Click to collapse
JAguirre1231 said:
Because he bind mounted it.
Click to expand...
Click to collapse
sorry for confusion
When I download stuff with dolphin HD it goes to /sdcard/download
maybe its different with stock browser
the cache bind mount is
added a few extra comments to make it easier to follow
/system/etc/init.d/06BindCache
Code:
#!/system/bin/sh
# check we don't already have a bind mount
# ( so if ran manually multiple times we don't end up with strange things happening )
if [ "`awk '/\/cache/' /proc/mounts |sed -n '$='`" -gt "1" ];
then
echo "cache already bind mounted"
echo `awk '/\/cache/' /proc/mounts`
exit
fi
# check if /sd-ext mounted, if yes then bind to /sd-ext/cache, if not /data/cache
if [ "`grep -q sd-ext /proc/mounts;echo $?`" = "0" ];
then
CacheDir=/sd-ext/cache
else
CacheDir=/data/cache
fi
# check we have something to bind mount, and create if not
if [ ! -d $CacheDir ];
then
install -m 771 -o 1000 -g 2001 -d $CacheDir
fi
mount -o bind $CacheDir /cache
# check dalvik-cache exists ( this is really for magics )
# so they don't end up in bootloop because dex files can not be created
if [ ! -d $CacheDir/dalvik-cache ];
then
install -m 771 -o 1000 -g 1000 -d $CacheDir/dalvik-cache
fi
actually, errm yeah it is d/l to /sdcard/downloads
not my doing
I guess cache really is pointless on froyo
hey firerat great job bro! again ive been really busy and i still didnt get to try this or the earlier betas you made...hell i havent even tried a froyo rom yet. ima try this right now and let you know how it goes!
speedysilwady said:
hey firerat great job bro! again ive been really busy and i still didnt get to try this or the earlier betas you made...hell i havent even tried a froyo rom yet. ima try this right now and let you know how it goes!
Click to expand...
Click to collapse
Froyo has been nice so far
but you may run into issues
for one the updater-script is actively 'kicking' NoneDanger
you can just remove the getprop checks
I have had problems booting cm5.0.8's kernel, I did get round it by compiling a new one from cm github,
I
'm not sure is cm6's kernel has the same issue
it does seem SPL related, I flashed Danger and it was fine, I plan to go back to NoneDanger and confirm it still doesn't work.
but figured that while I was on Danger I might as well put this (Custom MTD) through its paces with a DangerSPL
Firerat said:
Froyo has been nice so far
but you may run into issues
for one the updater-script is actively 'kicking' NoneDanger
you can just remove the getprop checks
I have had problems booting cm5.0.8's kernel, I did get round it by compiling a new one from cm github,
I
'm not sure is cm6's kernel has the same issue
it does seem SPL related, I flashed Danger and it was fine, I plan to go back to NoneDanger and confirm it still doesn't work.
but figured that while I was on Danger I might as well put this (Custom MTD) through its paces with a DangerSPL
Click to expand...
Click to collapse
lol yeah i was just gonna say the get prop error occured lemme remove those asserts resign and see what happens
hmm oddly everything flashed fine on the latest nightly build but when it gets past the g1 screen it keeps rebooting to recovery? ima rewipe and try again and see if i can get a logcat if it happens again
edit: no dice when i run logcat =/
-exec '/system/bin/sh/' failed: permission denied (13) -"
double edit: i get the same error for any rom i try to flash when i look at the logcat. the only difference is cm's latest nightly build rebooted on the g1, super e freezes at the g1 screen...ima try to modify the .txt to go back to the stock layout so i can nandroid my cachehacked cm5.08 back if not...idk what to do..
speedysilwady said:
hmm oddly everything flashed fine on the latest nightly build but when it gets past the g1 screen it keeps rebooting to recovery? ima rewipe and try again and see if i can get a logcat if it happens again
edit: no dice when i run logcat =/
-exec '/system/bin/sh/' failed: permission denied (13) -"
Click to expand...
Click to collapse
Odd, but at leasat the kernel is booting, I wasn't getting anywhere with cm5.0.8
It could be a general error
Which build are you using
I'm on a nightly, but I know Defcon works
If its still not working, try the older v1 version of boot patcher in lbcoders thread
I did change boot v1.1 to the script I use in the automtd one
I'm on the nightly 0704 (944 I think ) btw
Firerat said:
Odd, but at leasat the kernel is booting, I wasn't getting anywhere with cm5.0.8
It could be a general error
Which build are you using
I'm on a nightly, but I know Defcon works
If its still not working, try the older v1 version of boot patcher in lbcoders thread
I did change boot v1.1 to the script I use in the automtd one
I'm on the nightly 0704 (944 I think ) btw
Click to expand...
Click to collapse
noo this wasnt cm5.08 this was the latest nightly, same one youre 0704 on.
it got to the g1 screen and right when its abt to hit the boot animation it reboots.
i tried super e but it froze on the g1 screen
trying to get back to 67 67 for cache and system so i can nandroid but its weird that the logcat wont show no matter what rom i use.
One thing we have run into with BiffMod ROM is that there is no single "COMPLETELY erase the phone" solution.
So this is my attempt at it.... No console/terminal, no adb shell, no USB, no anything required. Just flash the file in recovery and you are done.
But OHSAKA! There are tons of threads about this, there are even existing "wipe-update" files to erase the phone. What makes your flashable update file so special???
Well I'm glad you asked that. This update contains the 'erase_image' executable with all the needed libraries statically linked. (thanks ezterry) 'erase_image' performs a low-level format of the partition which can fix unforeseen problems. Most other wipe-updates just perform "rm -rf *" at the file system level and don't touch the boot partition.
v2
---
Kudos to RichieDaze! He stepped up and added some often requested functionality to this popular wipe script. Now SuperWipe will check the root of the /sdcard/ directory for a file named "SuperWipe.conf". This file will control which partitions get erased and also control if the script triggers an auto-reboot. If the file is not present, then the script will default to wiping all partitions.
SuperWipe.conf
Code:
## SuperWipe Custom Configuration
## So Fresh and So Clean Clean Menu
## Cannot be blank (yes or No)
#
Wipe_Cache=yes
Wipe_Userdata=yes
Wipe_System=yes
Wipe_Boot=yes
Wipe_Sd_Secure=yes
Wipe_Sd_Ext=yes
#
##
## Extras
#
Reboot_when_done=no
Reboot_Delay=5
#
##
SuperWipe v2 (MD5: a3c358c1e027c8ec039ada8e667cab1a)
SuperWipe.conf (MD5: 1e7eb3a97270142aa6bf7c4fca9c2490)
You will need to reboot back into recovery after running this. If you forget and try to boot normally, you will have to pull battery to power off.
v1
---
This update will:
1) Call erase_image on CACHE, SYSTEM, USERDATA, and BOOT partitions
2) Mount /sd-ext (if it exists) and delete all files from it
3) Delete all files in the /sdcard/.android_secure directory which is where all the froyo apps2sd files live
4) Run e2fsck (file system repair) on the your ext partition
5) Log all output to the /tmp/wipe.log file (if you care)
I think this is the most complete way to wipe a phone. It supersedes 'fastboot erase system -w', VOL_DOWN+HOME+BACK, Amon_RA wipes, or various other flashable update-wipe zips.
I have tested this file the best I can on my phone. I verified all partitions are completely empty after running it. Any suggestions or bug reports are welcome!
SuperWipe (MD5: 945218bbbeab63d2c41e20c3243176ce)
You will need to power off and reboot back into recovery after running this. If you forget and try to boot normally, you will have to pull battery to power off.
This space reserved for Firerat's comments
Will definitely check this out! sounds like a "duh" kind of thing.
microb0i said:
Will definitely check this out! sounds like a "duh" kind of thing.
Click to expand...
Click to collapse
Yeah, when I told ezterry I was done and it works, he said "Doing what someone ought to have done ages ago"...
a "low format" kind of wipe should isolate the bad blocks on the memory (i have such things ) ? and because i can`t use anything that require usb on my phone, i`ll try use your file to wipe and then reinstall biffmode2.1 (which i have trough bart restore from another phone).
another question. if your file is like a low format, is it ok to use it every time ? or often ?
Later edit: tried it. the rom still doesn`t install. so i don`t know what the problem is. i guess that your wipe script is ok. the rom stuff is not your problem but since cm6 stable, i can`t install any rom.
for your script, just release a lot of time spent with the "wipe" operations in flashing new roms. and from what you say, it does it better. so, nice job!
yo9gnc said:
a "low format" kind of wipe should isolate the bad blocks on the memory (i have such things ) ? and because i can`t use anything that require usb on my phone, i`ll try use your file to wipe and then reinstall biffmode2.1 (which i have trough bart restore from another phone).
another question. if your file is like a low format, is it ok to use it every time ? or often ?
Later edit: tried it. the rom still doesn`t install. so i don`t know what the problem is. i guess that your wipe script is ok. the rom stuff is not your problem but since cm6 stable, i can`t install any rom.
for your script, just release a lot of time spent with the "wipe" operations in flashing new roms. and from what you say, it does it better. so, nice job!
Click to expand...
Click to collapse
If you havent been able to install any rom since CM6... then its either your hardware, or your not giving it enough time to boot.
Getting ready to try this out because Im sure I have some bad blacks on my Mytouch 1.2 that have been causing location issues in sense roms for only about 4 months, before that all worked fine.
whether I could use for my N1?
Ohsaka said:
Yeah, when I told ezterry I was done and it works, he said "Doing what someone ought to have done ages ago"...
Click to expand...
Click to collapse
I still find fastboot erase a bit cleaner than erase_image but for 99.9% of your problems erase_image works well.. and can be done without a computer on hand.
lackonne said:
whether I could use for my N1?
Click to expand...
Click to collapse
You need someone who knows how the n1 is set up to be sure, but I think it will work perfectly.. ask for some dev with an n1 to check.
Great work Ohsaka, this is something that the community has been needing for a long time. You rock.
Sent from my HTC Hero using XDA App
ill have to download this for future use
lackonne said:
whether I could use for my N1?
Click to expand...
Click to collapse
I promise to port this to the N1 if anyone donates an N1 to me.
Heck, I'll port it to ANY phone...just send me the phone!
Seriously though, I imagine this can be ported to most phones quickly by tweaking the install.sh script.
Quick dumb question. Could this possible offer a speed improvement when flashing a new ROM? I find that if I don't use fastboot, any Froyo ROM is completely unusable. Even if I do use fastboot, the Froyo ROMs usually bog down after a few hours. I'm talking like 10 minutes pounding on the screen trying to get an outgoing call to work. Could this possibly fix all this mess?
r3s-rt said:
Could this possibly fix all this mess?
Click to expand...
Click to collapse
Sounds more like permission/dalvik issues to me.
This if used right can prevent old permission/dalvic issues carrying into the new rom.
ezterry said:
Sounds more like permission/dalvik issues to me.
This if used right can prevent old permission/dalvic issues carrying into the new rom.
Click to expand...
Click to collapse
Speaking of Dalvik, does this also wipe the Dalvik cache?
crypysmoker said:
If you havent been able to install any rom since CM6... then its either your hardware, or your not giving it enough time to boot.
Getting ready to try this out because Im sure I have some bad blacks on my Mytouch 1.2 that have been causing location issues in sense roms for only about 4 months, before that all worked fine.
Click to expand...
Click to collapse
i think i`m a little bit offtopic but i`m curious why do you think that? if i try to flash old roms, based on cm6rc1-2 ( like htcclay`s, or chromersmith`s), they work ok. since cm6 stable ... i`m stuck on the g1 logo after flashing zip.
i give`em enough time, believe me. are 15 minutes enough ?
captaincrook said:
Speaking of Dalvik, does this also wipe the Dalvik cache?
Click to expand...
Click to collapse
It basically writes a 0 to every sector of the internal phone partitions except for the "recovery" partition. So EVERYTHING is erased. (it also wipes the sd-ext directory from the sdcard and runs repair on it)
I don't think the cache partition is getting wiped
XxKOLOHExX said:
I don't think the cache partition is getting wiped
Click to expand...
Click to collapse
Code:
#!/sbin/sh
/tmp/work/erase_image cache
echo "erase_image cache=$?" >> /tmp/wipe.log
/tmp/work/erase_image system
echo "erase_image system=$?" >> /tmp/wipe.log
/tmp/work/erase_image userdata
echo "erase_image userdata=$?" >> /tmp/wipe.log
/tmp/work/erase_image boot
echo "erase_image boot=$?" >> /tmp/wipe.log
After you flash SuperWipe, open a shell and run 'cat /tmp/wipe.log'
If you see "erase_image cache=0" then it means the erase_image command did not report any errors...
Ohsaka said:
Code:
#!/sbin/sh
/tmp/work/erase_image cache
echo "erase_image cache=$?" >> /tmp/wipe.log
/tmp/work/erase_image system
echo "erase_image system=$?" >> /tmp/wipe.log
/tmp/work/erase_image userdata
echo "erase_image userdata=$?" >> /tmp/wipe.log
/tmp/work/erase_image boot
echo "erase_image boot=$?" >> /tmp/wipe.log
After you flash SuperWipe, open a shell and run 'cat /tmp/wipe.log'
If you see "erase_image cache=0" then it means the erase_image command did not report any errors...
Click to expand...
Click to collapse
Oh okay lol
Awesome stuff. If this lives up, it should be included in more OP's for rom's. Can't wait to see that day
This thread is for help and support related to ubuntu on the eeepad transformer, all questions not related to development should be asked here, please be friendly and do not flame each other or I will request the thread be closed.
Download links are in the third post.
There is a wiki entry here that has a bit more detailed explanation. Please note though that as it is a wiki information
quoted in there may or may not be entirely accurite.
you will need to download an nvflashable rom, like prime.
Please read the README before attempting this. The readme is below as well as in the kit, YOU WILL LOSE DATA.
Download links are in the second post.
OLiFE for the ASUS transformer
------------------------------------------------------------------
(c) 2011 Steven Barker <[email protected]>
This package should have only been linked to from xda-developers
or rootzwiki if you got the links to this package from anywhere
but those sites please send an email to the above email
address with the subject: "unauthorised posts"
DISCLAIMER
------------------------------------------------------------------
Steven Barker (lilstevie) nor anybody will take any responsibility
for any damage, data loss, fire, death of a loved one, or loss of
data resulting from using this mod for your device. Using this mod
may void your warranty.
NVFLASH
------------------------------------------------------------------
nvflash is the intellectual property of nvidia, and remains the
property of nvidia. Any questions or queries regarding the usage
and licence of nvflash should be directed to nvidia.
abootimg
------------------------------------------------------------------
abootimg is by Gilles Grandou <[email protected]> and is
unmodified. The source is available from online at
http://gitorious.org/ac100/abootimg
usage
------------------------------------------------------------------
Usage has changed since the release of the last kit, please read
these instructions carefully, as the install method is a little
more complex, (but easier once you use it).
If you downloaded OLiFE.tar.gz you will need to inject the android
rom and ubuntu image. You can use any nvflashable rom with this.
I recommend that you use prime as that is the configuration that
I have tested myself, and the ROM that I support for use with this
device. You can download the ubuntu image from
http://lilstevie.geek.nz/ports/ubuntu.img.gz.
If you downloaded OLiFE-Prime-Edition.tar.gz you will not need to
download the ubuntu image or an nvflash rom as they are seeded into
the image.
Install instructions:
1) Download the specific flavour of OLiFE that you want to use, and
extract it with "tar xvf <filename>".
2) If needed inject android rom and ubuntu image.
3) From the directory that OLiFE was extracted in run the main script
with the command ./OLiFE.sh.
4) Read the text that comes up and answer the question it asks.
5) Follow the menu to the option you want (below is a breakdown of
what each menu item is) and follow the instructions prompted. (also below
is instructions on how to get into the modes requested).
Menu items:
1) Backup Menu:
1) Full Backup (stock)
- Full backup (stock) takes a full backup of a stock
android system. This gives you an option to also back
up your user data(this will take a while).
2) Full Backup (ubuntu)
- Full backup (ubuntu) takes a full backup of a system
that dualboots android and ubuntu, this backs up your
system, and the ubuntu image. This gives you an option
to also back up your user data(this will take a while).
3) User data only
- This backs up the user data partition on your device.
(This option takes a while)
4) Android ROM
- This option backs up the android system only. This
option generates all the files (minus bootloader, and BCT)
required to flash a rom via nvflash.
5) Ubuntu Install
- This option backs up the ubuntu install on your device.
2) Flash Device:
1) Dualboot:
- This option will install ubuntu to your device in a
dualbooting configuration with android. During the
installation process it asks you which OS you would like
to boot by default.
2) uboot (linux only):
- This option will install ubuntu with u-boot and the
ChromeOS kernel that supports acceleration. This option
is currently unavailable, but should be available soon.
3) asus boot (linux only):
- This option will install ubuntu with the asus bootloader
with this configuration you will use all the eMMC for ubuntu
and there will be no android system installed on your device.
4) stock:
- This option will partition the device in a stock way and
install the android system that is in ./images. Use this
option if you no longer want ubuntu on your device.
3) Update Device:
1) Android Kernel:
- This option will update the android kernel on your device
with the boot.img from ./images/. This allows you to install
your own kernel on the device for android rather than the one
that comes with your chosen rom.
2) Ubuntu/Linux Kernel:
- This will update the ubuntu kernel on your device to the version
included in this flashkit. This option is for updating just the
kernel with nvflash rather than using the blob method. This method
is also good for if you flash a bad ubuntu kernel to the device.
3) Android ROM:
- This option will update the android rom on the device with the
one from ./images/. This is good for if the ROM you use is updated
or you would like to change ROMs and there is an nvflash image for it.
This option does not destroy your data.
4) Ubuntu Rootfs:
- This will update your ubuntu image on the device. This is destructive
to data stored in the ubuntu image.
5) Advanced (Unsupported):
- Any option in this menu is not supported and should be considered
unstable. There may be bugs in these options and they are not maintained
at this point in time.
1) Flash ChromeOS Kernel (Primary Boot):
- This option will flash the ChromeOS kernel to the primary boot
partition. This option may not currently work in it's current
configuration.
2) Flash ChromeOS Kernel (Secondary Boot):
- This option will flash the ChromeOS kernel to the secondary boot
partition. This option may not currently work in it's current
configuration.
3) Update Uboot Partition:
- This option will update the u-boot boot partition that u-boot
reads the kernel and boot script from. This option does work if
you have installed u-boot by compiling it from source and installed
it yourself.
4) Flash ClockworkRecoveryMod:
- This option allows you to temperarily flash CWR to the device so
you can update the installed rom. It backs up the current kernel in
the recovery kernel position and then flashes CWR. When you have finished
using CWR you then push any key and put the device back in APX mode and
it will restore the kernel that was in that position. (This only works if
android is your primary boot option at this time).
4) Inject Firmware:
1) Bluetooth firmware (default install):
- This option will inject the Bluetooth firmware from the
android ROM located at ./images/ in to the ubuntu of your
currently running system.
2) Bluetooth firmware (CrOS Kernel):
- This option will inject the Bluetooth firmware from the
android ROM located at ./images/ in to the ubuntu of your
currently running system and flashes the proper u-boot kernel
if you no longer need adb support.
5) Onscreen Keyboard:
- This runs OnBoard so that you can run through oem-config properly
you only need to use this option if you do not have a keyboard dock
and on the first boot.
1) Standard Kernel:
- This will invoke oem-config on the standard kernel installed
on the device.
2) ChromeOS Kernel:
- This will invoke oem-config on the u-boot kernel that is
installed on the device and flashes the proper u-boot kernel
if you no longer need adb support.
Device Modes:
APX Mode:
-This mode is used by nvflash to write files to the eMMC device.
To boot in this mode you press Power and Vol-Up.
Recovery Mode:
- This mode is where CWR or Asus recovery normally lives, but is
replaced by the secondary OS in the dualboot configuration.
To boot in this mode you press Power and Vol-Down, then Vol-Up when prompted.
Normal Boot:
-This mode is where android normally lives.
To boot in this mode you press the Power button until the screen turns on.
Changelog
------------------------------------------------------------------
1.2a - Release name: Odyssey
* New name for kit: OLiFE
* New menu system
* Updated README
* Better handling of platform detection
* Bluetooth support in ubuntu.img
* Preliminary support for ChromeOS kernel
* Preliminary support for uboot
* Fixed touchpad
* Fixed network manager
* Updated to ubuntu oneiric
* More options for flashing and updating
* OTB Wireless support (No more injecting)
* Smaller ubuntu.img for faster upload to device
* Auto resizing of rootfs on first boot
* Larger partition size (6GB) for ubuntu
* Refactored to more easily between devices
* Maybe something else I have missed
1.1 - Release name: Daedalus
* Firmware injector for BT and wifi firmwares
1.0 and silent updates - Release name: Prometheus
* Support for x86_64 linux distributions
* Updated README for release on xda-developers
* Fixes to install scripts
* Initial Release
Downloads:
RootFS md5sum(1a9fa8a698e4a96245a3c08511841eb4)
OLiFE md5sum(c30263fd8271a23bb211fd9fdd69fa45)
OLiFE Prime Edition md5sum(767779ccfa200e5e00b2f1e33a3d73a9)
Sources:
http://gitweb.lilstevie.geek.nz
To clone the repos "git clone git://lilstevie.geek.nz/$(name of repo).git"
lilstevie said:
This is running natively and from the eMMC so no µSD card required,
The video is a class2 µSD card and speeds are not an example of speeds from this kit.
Click to expand...
Click to collapse
Thanks for your hard work, but I'm a bit confused by those 2 statements, contradicting each other :/
Also, if I understood properly, there is no CWM after selecting dual boot
Finally, is this a final release, or for testing purpose only ?
If final, a step by step guide would be very welcome
Edit : Just saw there is the tag [DEV] so forget about my last question (guide)
Wow, amazing work here. Haven't been able to do much to my Transformer as of late (due to uni starting up again, and been seeing how the TF goes as a substitute for my usual netbook), but absolutely can't wait to try this out when I got some time.
And yeah, I'm a tad confused here as well. I'm assuming that you mean the video was of Ubuntu running of your microSD drive using Jhinta's scripts but now this allows us to run it off the internal drive... am I right?
And how is the speed difference so far, running off internal vs class 2 microSD?
EDIT: Also, I'm assuming the same things that didn't work on Jhinta's aren't working on this (network-manager gui, touchpad etc)? Or have you changed things up a bit? And the tegra ppa you talk about; that contain the proprietary 3D drivers you were talking about having a lack of in the video?
Nice to see the post in XDA Good work !
bud77 said:
Thanks for your hard work, but I'm a bit confused by those 2 statements, contradicting each other :/
Also, if I understood properly, there is no CWM after selecting dual boot
Click to expand...
Click to collapse
The video was taken before I was stable enough to even think about using internal memory, where as this kit is not using the µSD
and yeah you lose recovery after selecting dual boot, not much we can do about that for the time being.
poltak11 said:
Wow, amazing work here. Haven't been able to do much to my Transformer as of late (due to uni starting up again, and been seeing how the TF goes as a substitute for my usual netbook), but absolutely can't wait to try this out when I got some time.
And yeah, I'm a tad confused here as well. I'm assuming that you mean the video was of Ubuntu running of your microSD drive using Jhinta's scripts but now this allows us to run it off the internal drive... am I right?
And how is the speed difference so far, running off internal vs class 2 microSD?
EDIT: Also, I'm assuming the same things that didn't work on Jhinta's aren't working on this (network-manager gui, touchpad etc)? Or have you changed things up a bit? And the tegra ppa you talk about; that contain the proprietary 3D drivers you were talking about having a lack of in the video?
Click to expand...
Click to collapse
I started back at uni this week myself, and have been using my transformer as a netbook replacement with ubuntu. The video is using my stuff but before I had it running on the internal memory.
speed diference is massive between the class2 and internal. It was so great of a difference that I forget that it is arm now that it is on internal
the PPA will have things such as kernel updates, bluetooth enabler and all that. as for what is working in the release, things are pretty similar to Jhintas release, touchpad does not work correctly network manager gui doesn't work, I have something to enable bluetooth, that works nicely, but it isn't in the fs or up on the ppa yet. 3D drivers are a work in progress, still no EGL and the likes with the L4T releases, so it is really just acceleration for normal use, I have been working on them but as of yet no dice.
So using the PPA, in theory we won't have to flash the device again (at least for the ubuntu part), it will be able to auto-update itself ?
ErGo_404 said:
So using the PPA, in theory we won't have to flash the device again (at least for the ubuntu part), it will be able to auto-update itself ?
Click to expand...
Click to collapse
yes, that is the plan anyway
lilstevie said:
the PPA will have things such as kernel updates, bluetooth enabler and all that. as for what is working in the release, things are pretty similar to Jhintas release, touchpad does not work correctly network manager gui doesn't work, I have something to enable bluetooth, that works nicely, but it isn't in the fs or up on the ppa yet. 3D drivers are a work in progress, still no EGL and the likes with the L4T releases, so it is really just acceleration for normal use, I have been working on them but as of yet no dice.
Click to expand...
Click to collapse
Ah lovely idea with the PPA. When new 3.2 based Prime gets released, I'll try to get a few hours to myself to get this all working together.
Just a few quick questions first:
How do your scripts change the eMMC layout? Does eMMC work the same as a standard HDD/SSD partitioned with a GPT? As in, have you made separate partitions for Android and Ubuntu, or is it somehow shared?
And also related, how much room will it take up on the eMMC (as I've only got a 16GB TF)?
And finally, since you've been using yours at uni running Ubuntu, have you got any idea of the battery life running Ubuntu? I'm assuming it'd be pretty similar to stock, but yeah the battery indicator wasn't working last time I was playing around with Ubuntu from the microSD. Also, does the second keyboard battery work?
poltak11 said:
Ah lovely idea with the PPA. When new 3.2 based Prime gets released, I'll try to get a few hours to myself to get this all working together.
Just a few quick questions first:
How do your scripts change the eMMC layout? Does eMMC work the same as a standard HDD/SSD partitioned with a GPT? As in, have you made separate partitions for Android and Ubuntu, or is it somehow shared?
And also related, how much room will it take up on the eMMC (as I've only got a 16GB TF)?
And finally, since you've been using yours at uni running Ubuntu, have you got any idea of the battery life running Ubuntu? I'm assuming it'd be pretty similar to stock, but yeah the battery indicator wasn't working last time I was playing around with Ubuntu from the microSD. Also, does the second keyboard battery work?
Click to expand...
Click to collapse
The second battery does work, unless you get one of those dodged ones that just randomly stops charging which happened to me, with the dock connected and the battery in it refusing to charge my battery lasted 6 hours.
the layout is different to standard, UDA(User DAta partition) is 4.2GB smaller than what it was, so you have 9.99gb for android and 4.2 for ubuntu, the kernel and recovery kernels are moved up to the end of the flash as well so that they are accessible through /dev
Just finished installing it. Yea, from internal memory it's working much faster. ~20 second boot time!(I didn't have timer with me, so I counted in the head) That's like my laptop with SSD + 10 second bios booting. With a dock it feels like a true netbook. I think I'll even dare to test c/c++ IDE on this thing. Good job!
Used online timer. It's 21 seconds.
Hmm how do I start wifi? eth0 is not even showing in the list of devices.
aligatro2010 said:
Just finished installing it. Yea, from internal memory it's working much faster. ~20 second boot time!(I didn't have timer with me, so I counted in the head) That's like my laptop with SSD + 10 second bios booting. With a dock it feels like a true netbook. I think I'll even dare to test c/c++ IDE on this thing.
Used online timer. It's 21 seconds.
Hmm how do I start wifi? eth0 is not even showing in the list of devices.
Click to expand...
Click to collapse
Sorry forgot to mention in the first post, firmwares are not included in this release due to potential licensing issues, you can push the wifi firmware via adb to /lib/firmware and also the nvram, they are located in /system/vendor/fw_bcm4329.bin and /system/etc/nvram.txt on your android system, the module will autoload on boot once you have the firmware in place, and the interface will be named wlan0
lilstevie said:
Sorry forgot to mention in the first post, firmwares are not included in this release due to potential licensing issues, you can push the wifi firmware via adb to /lib/firmware and also the nvram, they are located in /system/vendor/fw_bcm4329.bin and /system/etc/nvram.txt on your android system, the module will autoload on boot once you have the firmware in place, and the interface will be named wlan0
Click to expand...
Click to collapse
nvram.txt to /etc right? I copied them straight from android partition, but it still doesn't load. Could it be because of the bcm4329_sta.bin or nvram should be placed in /lib/firmware ?
It works now.
So basically we will be able to dual boot Windows 7 and Android?
liorry said:
So basically we will be able to dual boot Windows 7 and Android?
Click to expand...
Click to collapse
No, Windows 7 doesn't have arm version. Windows 8 maybe in future, long future ....
aligatro2010 said:
nvram.txt to /etc right? I copied them straight from android partition, but it still doesn't load. Could it be because of the bcm4329_sta.bin or nvram should be placed in /lib/firmware ?
It works now.
Click to expand...
Click to collapse
the wifi firmware should be called fw_bcm4329.bin and nvram.txt should be in /lib/firmware, I probably should have been a little clearer, but I posted that just before going to bed, and was a little tired
lilstevie said:
the wifi firmware should be called fw_bcm4329.bin and nvram.txt should be in /lib/firmware, I probably should have been a little clearer, but I posted that just before going to bed, and was a little tired
Click to expand...
Click to collapse
"bcm4329_sta.bin" was already there before I even copied 2 modules and it was also loaded as module when I did modprobe. (not 100% sure about the second)That's why I thought it was conflicting with android's modules.
Wow, great work! Can't wait to try it.
Sent from my Transformer TF101 using XDA Premium App
I've probably missed something obvious.. But I get this.
file not found: linux.img
failed executing command 2147483647 NvError 0x4
command failure: create failed
rm: cannot remove `linux.img': No such file or directory
Click to expand...
Click to collapse
After like 5 minutes of NvFlash installing stuff.
AROMA/TWRP version of SPFlash Tools.
This tool is for MTK devices with a GPT layout - (MT6732, MT6752 and their variants).
With some testing it may be possible to add some some support for the older devices using an MBR.
Requirements:Copy SPFlash contents to /sdcard/SPFlash
Rename *scatter.txt to scatter.txt
Run .zip from TWRPMTK-64bit_SoCs-v*.zip:During testing there will only be info displayed on screen, nothing should be modified. (Unless otherwise stated)SPFlash-v*.zip:This will install all .img/.bin in SPFlash folder if partition is large enoughDownloads:GDrive FolderChangelogs:SPFlash
v10 - Readded internal sd - fixed aroma exit/about screen - (a few cosmetic issues introduced).
v8 - Aroma menus updated
v7 - Create 'flashable' zip from backed up partitions.
v6 - Zipped backups added
v4 - Backup + Install fixed -- Aroma "Quit Installation" stalls
v3 - Backup function added - untested -- backup works / install from v2 broken
v2 - Menu Select Added
v1 - Initial Release
MTK-64bit_SoCs
v8 - attempts to fix unrelated menu/alert
v7 - calculations done quicker
v6 - script rewrite/reorder
v1 - v5: Initial test builds
Only follow menu Partition Related -> Scatter Information
Other menus/option are broken/dead ends...
Other things in the MTK folder:simg2img/img2simg are arm source compiled binaries to handle sparse files
file/magic were taken from @osm0sis's AIK (I can't seem to get file to compile)
MTKsplit is used to split boot/recovery images into it's individual parts. Normal images will split into 3; 1 = img ANDROID! header, 3 = kernel (zImage) and 5 = ramdisk (ramdisk). MTK images split into 5; 1,3,5 as before with 2 and 4 being additional headers.
XDA:DevDB Information
TWRP/AROMA SPFlasher, Tool/Utility for all devices (see above for details)
Contributors
HypoTurtle
Source Code: https://drive.google.com/open?id=0B8WPOq9wZyKxfktHVWgxbW9nYmtJd1ZWc2RIM1NXUU5pSXpramg0bVBYYUdyRDhid3hwM3c
Version Information
Status: Testing
Current Stable Version: V8
Stable Release Date: 2015-09-03
Created 2015-09-03
Last Updated 2015-09-03
Current StatusMTK-64bit_SoCs-v8 .zip will output the partitions that it deems are incorrectly sized in the scatter.txt and will also check the .img/.bins in the SPFlash folder and determine what should go where and will determine if the partition is large enough for the respective .img/.bin
SPFlash-v1.zip will flash the entire contents of /sdcard/SPFlash folder
SPFlash-v3.zip allows selection of files /sdcard/SPFlash folder to install and has a backup option
Improvements NeededFor SPFlash-v2 will add a basic menu select option for what you want to flash...
In future versions will add backup option and partition resize
Will start to look at resize...
Derivative Work - using scatt and part from #1
ScatterfixGenerating a fixed scatter from a 'broken one'
Code:
[size=1]#!/sbin/sh
ldr=`pwd`
scatterfix(){
scatt \${b} \${c} \${d}
part \${p} \${q} \${r}
scttrbfr=`cat "${scatterloc:-$ldr}/scatter.txt"`
while IFS=" " read -r a b c && read -r d e f <&3; do
if [ $a = $d ]; then
if [[ ! ${b} = "DONT_USE" && ${b} != ${e} ]]; then
scttrafter="${scttrbfr//${b}/${e}}"
scttrbfr=`echo "${scttrafter}"`
fi
if [[ ! ${c} = "DONT_USE" && ${c} != ${f} ]]; then
scttrafter="${scttrbfr//${c}/${f}}"
scttrbfr=`echo "${scttrafter}"`
fi
fi
echo "${scttrbfr}" > ${scatterloc:-$ldr}/scatter-new.txt
done </tmp/scatter 3</tmp/parted-new
}
scatterfix
diff ${scatterloc:-$ldr}/scatter.txt ${scatterloc:-$ldr}/scatter-new.txt[/size]
Problems to fixThe code will change any hex value deemed wrong to a new calculated value - there is a chance that 4 values are the same but only one/two are wrong - to fix will need to add a loop through scatterfix until the scatter-new.txt generated is actually correct.Resize Userdata/IntsdMore of a precursor - bugs fixed and maintained by @odigitech
Thread located here
Some Dev. QuestionsBefore adding the resizing partitions (Firmware Upgrade) option:
1. Is the preloader header custom or generic; and does it change when flashing the proloader?
2. Is there an actual function to the BPLGU/APDB files other than some sort of device/system check?
For v7 trying to add a backup + make installable zip option:
Have done it with basic dd backups; would prefer to use sparse/simg2img but simgimg can't seem to use zipped .img's; have looked into using dat/sdat2img but that would require getting python to run in recovery (unless I'm mistaken).
Have added the simplistic option as v7...
odigitech said:
@HypoTurtle I have made a modified version of MTKsplit with more human-friendly names, its in my Drive folder, if it's any use.
Click to expand...
Click to collapse
Thanks, I have updated mine to support non-MTK header-ed boot/recovery.imgs -- can't hurt to make it human readable I suppose.
MTKsplit will be used in the next uploaded version (v8) in the form of a simplistic porting tool...
Should be uploaded on Monday/Tuesday
odigitech said:
You made it work for non-MTK also? Nice one, is it on your Drive?
Sent from my thl 2015 using XDA Free mobile app
Click to expand...
Click to collapse
Should be... but I'll update it with the human-readable version now.
It's not vigorously tested; and not as robust as the (un)mkbootimg binaries out there but it seems to do the job.
@HypoTurtle: on my Jiayu s3, the Germans have been working on android 5.1.1 for it and so far it is great. I installed beta 3 and the next day they released beta 4. Rather then getting out the laptop, I thought I'd use your script, so I got the files needed, I got your script and set it up as the instructions. But when I ran the script, it didn't find the system.img file, and didn't give it to me as an option. I verified that the file was there on disk, but I was never given a check box to select it for flashing. Any logs I can send you to try and figure out why?
Sent from my KFTHWI using XDA Premium 4 mobile app
AlexZap said:
@HypoTurtle: on my Jiayu s3, the Germans have been working on android 5.1.1 for it and so far it is great. I installed beta 3 and the next day they released beta 4. Rather then getting out the laptop, I thought I'd use your script, so I got the files needed, I got your script and set it up as the instructions. But when I ran the script, it didn't find the system.img file, and didn't give it to me as an option. I verified that the file was there on disk, but I was never given a check box to select it for flashing. Any logs I can send you to try and figure out why?
Sent from my KFTHWI using XDA Premium 4 mobile app
Click to expand...
Click to collapse
Is it just the system.img that doesn't appear? And are you using internal or external SD?
HypoTurtle said:
Is it just the system.img that doesn't appear? And are you using internal or external SD?
Click to expand...
Click to collapse
Just system.img, and external_sd
Sent from my KFTHWI using XDA Premium 4 mobile app
AlexZap said:
Just system.img, and external_sd
Sent from my KFTHWI using XDA Premium 4 mobile app
Click to expand...
Click to collapse
Can you post the scatter; the menu items are just an existence check.
[ if *.img/*.bin from scatter exists in SPFlash folder then you are given the option to flash it ]
(Just noticed that it will stall if you try and install and there are no valid img/bin files present)
HypoTurtle said:
Can you post the scatter; the menu items are just an existence check.
[ if *.img/*.bin from scatter exists in SPFlash folder then you are given the option to flash it ]
(Just noticed that it will stall if you try and install and there are no valid img/bin files present)
Click to expand...
Click to collapse
Screenshot of the folder, and the scatter. I checked it and it looked fine.
AlexZap said:
Screenshot of the folder, and the scatter. I checked it and it looked fine.
Click to expand...
Click to collapse
Ah yes - this problem is caused by the amount of items shown - I have it set to show 3, 5 or 12. It will only show 12 (more than 5) if there are 12 things to flash. From your screenshot you have 7 items to be flashed (trustzone gets flashed twice), so you will miss two items - the second flash of trustzone.bin and system.img.
Hope that makes sense; I can alter it to work with 6+; but you should be able to adjust it to work as described above. the reason I did it this way was that otherwise it would look a bit messy - I suppose I could add a 7 option.
HypoTurtle said:
Ah yes - this problem is caused by the amount of items shown - I have it set to show 3, 5 or 12. It will only show 12 (more than 5) if there are 12 things to flash. From your screenshot you have 7 items to be flashed (trustzone gets flashed twice), so you will miss two items - the second flash of trustzone.bin and system.img.
Hope that makes sense; I can alter it to work with 6+; but you should be able to adjust it to work as described above. the reason I did it this way was that otherwise it would look a bit messy - I suppose I could add a 7 option.
Click to expand...
Click to collapse
Ahhh... Not a. Problem then. I don't really need to flash anything besides system and boot. I just included the rest for completness. I'll take one out and let you know how it goes.
On a side note, any reason for these (3, 5, and 12)? An not just everything that is there?
Sent from my JY-S3 using XDA Premium 4 mobile app
HypoTurtle said:
Some Dev. QuestionsBefore adding the resizing partitions (Firmware Upgrade) option:
Q1. Is the preloader header custom or generic; and does it change when flashing the proloader?
Q2. Is there an actual function to the BPLGU/APDB files other than some sort of device/system check?
Click to expand...
Click to collapse
A1 - Generic, MTK preloader has been the same since armv7 to armv8. Yes, dd backup copy needs to be clean up of the header & footer, more info then checkout with AlexZap... :good:
A2 - Not all MTK firmware include it, it contains the IMEI refer to here for more info or a single link that explained everything... :good:
AlexZap said:
Ahhh... Not a. Problem then. I don't really need to flash anything besides system and boot. I just included the rest for completness. I'll take one out and let you know how it goes.
On a side note, any reason for these (3, 5, and 12)? An not just everything that is there?
Sent from my JY-S3 using XDA Premium 4 mobile app
Click to expand...
Click to collapse
Not sure if you missed the edit. It was more for cosmetic reasons - I could have had say 12 files being displayed but if there's only one file to flash you would have a screen with a lot of blank entries. 3, 5 and 12 seemed the most appropriate without going down the route of creating a menu for all possible entries.
3 being typical install (system/boot and perhaps blank cache/userdata to wipe); 5 as 3 but with custom etc.
I figured that anyone with more than 5 flashable items in there would have dumped the entire SPFlash ROM which I calculated as ~12 items.
yuweng said:
A1 - Generic, MTK preloader has been the same since armv7 to armv8. Yes, dd backup copy needs to be clean up of the header & footer, more info then checkout with AlexZap... :good:
A2 - Not all MTK firmware include it, it contains the IMEI refer to here for more info or a single link that explained everything... :good:
Click to expand...
Click to collapse
A2. I don't thing it contains the IMEI - but it is the database that the IMEI is coded against; I'm not aware of any devices (other than the P6000) suggesting that you recode the IMEI on an upgrade from KK to LP so there is probably not an issue here.
i never use it myself, typically MDRT is able to recover it on mine, feedbacks from fellow XDA member is that, that is the only way that they manage to recover IMEI on their MTK...
On 2nd thought, BTW, i'm using intel nowadays :laugh: IMEI & calibration info is at a hidden partition, same as Samsung & Qualcomm devices that reside at /efs partition, how did MTK IMEI survive Factory Reset since it is at /data/nvram, i wonder, never really thought about it...
yuweng said:
i never use it myself, typically MDRT is able to recover it on mine, feedbacks from fellow XDA member is that, that is the only way that they manage to recover IMEI on their MTK...
On 2nd thought, BTW, i'm using intel nowadays :laugh: IMEI & calibration info is at a hidden partition, same as Samsung & Qualcomm devices that reside at /efs partition, how did MTK IMEI survive Factory Reset since it is at /data/nvram, i wonder, never really thought about it...
Click to expand...
Click to collapse
On the 64bits at least it is also on a hidden partition (nvram) - and it just gets copied to /data/nvram or something (ie. its not mounted but it's files are there). The DB files etc are present in /system as well as in the full SPFlash ROM so I guess things like MTKEng and apps like chamelephon use that when setting/'fixing' the IMEI.
What are the file formats used by intel stock ROMS? This tool isn't really MTK dependant - it's GPT partition dependant (with a scatter for validity check- I'll post a bear minimum of what a 'scatter.txt' needs to have).
Anyway v8 added - so that files to flash aren't hidden (max. 12 files).
Hmm, further digging seems MTK IMEI is at /dev/nvram, same thing happening on intel, users just never spell out everything, they use the format/ erase flash/ emmc that wipes out the IMEI partition but never tell...
i think on the X3, its not possible as its NOT an Android image file but proprietary fls file which they got it when they acquire infineon i think...
Manual fastboot/ dd backup/ restore & you'll end up with a brick device, ATM, no custom recoveries that boot on the x3, i haven't figure out how to repack its recovery that has three separate different region that requires three proprietary download file that packs it together into a fls file & only their FlashTool_E2 is able to download it correctly...
Can't really understand infineon/ intel for developing such cheap device but with such high end software tools...