[Q] Manually flash a new recovery - Eee Pad Transformer Q&A, Help & Troubleshooting

I've been looking around, and I can't really find anything on how to do this on a Transformer TF101(C10). Most of what I've read either uses outdated commands in the terminal that don't work anymore, or are just flashing a default recovery using an app. As the one that Gnufabio's recovery installer app flashes is very outdated and barely works, I'd like to flash something more recent, specifically CWM Touch Recovery. I have the recovery.img downloaded, but how would I go about flashing this?

If you really want to flash the recovery.img, use Wolf's method 3 or if you're already rooted, use RecoveryInstaller, flash cwm. Use the cwm to flash Roach's touch version. FYI touch version only read from internal sd.
Also on post 218 in the RecoveryInstaller thread is a modify version that flash Rouge XM recovery.

Here is the link of Rogue in case you need it.
http://forum.xda-developers.com/showthread.php?t=1446019&page=18

For learning purposes, if you still want to go about flashing manually, take a look at the update script (used from extracted RougeXM recovery) that CWM reads and uses to flash recovery.zips.
Code:
ui_print("[AnyKernel Updater by Koush]");
ui_print("Rogue XM Recovery 1.3.0 (CWM-based Recovery v5.0.2.7)");
ui_print("Built for the Asus Transformer TF101");
set_progress(1.000000);
ui_print(" ");
ui_print("Extracting dd...");
package_extract_dir("recovery", "/tmp");
set_perm(0, 0, 0777, "/tmp/dd");
ui_print(" ");
ui_print("Extracting new recovery blob...");
package_extract_file("recoveryblob", "/tmp/recoveryblob");
ui_print(" ");
ui_print("Flashing new recovery blob...");
run_program("/sbin/busybox", "dd", "if=/tmp/recoveryblob", "of=/dev/block/mmcblk0p4");
ui_print(" ");
ui_print("Cleaning up...");
delete("/tmp/recoveryblob");
If you look you see the commands:
dd if=/your/blob/here of=/dev/block/mmcblk0p4
So place the extracted recoveryblob on your tf, boot it up and using an onboard terminal app or adb shell run these commands (needs root and busybox):
adb shell (only if running off computer with adb)
su (gives a pound sign, approve root access when it asks you.)
dd if=/your/blob/here of=/dev/block/mmcblk0p4 (your/blob/here is the path on the storage of the recoveryblob you placed on the tf)
reboot.
You should get the asus logo with a blue line that fills up, then it reboots again, and you have new recovery!
EDIT: also, you want the recoveryblob file extracted from touch recovery's zip. it just says recoveryblob with no extension. Download, extract, extract, put on tf, run commands. Easy

Thing O Doom said:
For learning purposes, if you still want to go about flashing manually, take a look at the update script (used from extracted RougeXM recovery) that CWM reads and uses to flash recovery.zips.
Code:
ui_print("[AnyKernel Updater by Koush]");
ui_print("Rogue XM Recovery 1.3.0 (CWM-based Recovery v5.0.2.7)");
ui_print("Built for the Asus Transformer TF101");
set_progress(1.000000);
ui_print(" ");
ui_print("Extracting dd...");
package_extract_dir("recovery", "/tmp");
set_perm(0, 0, 0777, "/tmp/dd");
ui_print(" ");
ui_print("Extracting new recovery blob...");
package_extract_file("recoveryblob", "/tmp/recoveryblob");
ui_print(" ");
ui_print("Flashing new recovery blob...");
run_program("/sbin/busybox", "dd", "if=/tmp/recoveryblob", "of=/dev/block/mmcblk0p4");
ui_print(" ");
ui_print("Cleaning up...");
delete("/tmp/recoveryblob");
If you look you see the commands:
dd if=/your/blob/here of=/dev/block/mmcblk0p4
So place the extracted recoveryblob on your tf, boot it up and using an onboard terminal app or adb shell run these commands (needs root and busybox):
adb shell (only if running off computer with adb)
su (gives a pound sign, approve root access when it asks you.)
dd if=/your/blob/here of=/dev/block/mmcblk0p4 (your/blob/here is the path on the storage of the recoveryblob you placed on the tf)
reboot.
You should get the asus logo with a blue line that fills up, then it reboots again, and you have new recovery!
EDIT: also, you want the recoveryblob file extracted from touch recovery's zip. it just says recoveryblob with no extension. Download, extract, extract, put on tf, run commands. Easy
Click to expand...
Click to collapse
This is probably the most helpful response I've ever gotten. Problem is though, that the touch recovery doesn't come in a zip. It's just a .img file. Is that the blob, just rename that to recoveryblob?

alunral said:
This is probably the most helpful response I've ever gotten. Problem is though, that the touch recovery doesn't come in a zip. It's just a .img file. Is that the blob, just rename that to recoveryblob?
Click to expand...
Click to collapse
Have you looked at Roach's thread?
http://forum.xda-developers.com/showthread.php?t=1213723
and now the new Team Rouge Touch
http://forum.xda-developers.com/showthread.php?t=1446019
both have CWM flashable zip.

Yeah, look in those linked threads for a CWM flashable zip to use, and either flash that or use the method I wrote above to extract and flash. I highly recommend RougeXM touch (second link)
Thanks!

Thing O Doom said:
For learning purposes, if you still want to go about flashing manually, take a look at the update script (used from extracted RougeXM recovery) that CWM reads and uses to flash recovery.zips.
If you look you see the commands:
dd if=/your/blob/here of=/dev/block/mmcblk0p4
So place the extracted recoveryblob on your tf, boot it up and using an onboard terminal app or adb shell run these commands (needs root and busybox):
adb shell (only if running off computer with adb)
su (gives a pound sign, approve root access when it asks you.)
dd if=/your/blob/here of=/dev/block/mmcblk0p4 (your/blob/here is the path on the storage of the recoveryblob you placed on the tf)
reboot.
You should get the asus logo with a blue line that fills up, then it reboots again, and you have new recovery!
EDIT: also, you want the recoveryblob file extracted from touch recovery's zip. it just says recoveryblob with no extension. Download, extract, extract, put on tf, run commands. Easy
Click to expand...
Click to collapse
I am going to have to do this..as I have just had to get a B80 version ands it got the Chinese HC rom on.. I have rooted it so now I have to push a recovery to it.
will have a play.. wish me luck..
Edit: Fantastic..worked like a charm.. shifted rogue's CWM 5.0.2.7 in and booted in to like a charm.. using on board terminal commands. now I can drop the US versions of ICS onto it and start having some fun..

Glad to hear, it's good to understand the mystery behind "install zip from..."

Related

[Guide] Edify Script Tutorial - Replacing the Google Market

Return to Contents Page - doubleshot Developers Reference
This guide will teach you how to write an Edify script that replaces the Google market with a different version.
Big thanks to charlieb620 for posting the new market .apks with different color schemes, see the thread Here for more market colors.
The Google market is a great example for a guide on how to replace an app, because not only is it a system app but it's one with a lot of dependencies and will teach you how to deal with this. This is also an app you can't just install an .apk file for, you have to take specific steps to install it.
If you were going to just install a new Google market, you would have to:
Stop all apps that require market licensure to work, halt the market processes, delete the old vending.apk. Then you have to delete the market data directory at /data/data/com.android.vending and find the dalvik-cache file that belongs to the market ( [email protected]@[email protected] ) and delete that too.
Then you rename the new market .apk file to Vending.apk and use root explorer to copy it into your /system/app directory. Once there, you long-press on the Vending.apk file and select 'permissions' from the menu that pops up.
Change the permissions to read/write for owner, read for group, read for others, and nothing for the bottom 3 check boxes. Now it reads rw-r--r-- like all the other apps in the /system/app directory.
Then you reboot your phone and it should work, but you should clear the whole dalvik-cache in recovery, and you should clear cache in recovery too, so all the dependencies on the market get rebuilt the right way.
Click to expand...
Click to collapse
Who want's to deal with all that, and still have it maybe not work right?
No, the right way to replace the market is while the system is down, so doing it as an update you flash through clockworkmod is really the correct answer.
I will assume a windows computer from here on out - that's what I have.
Let's walk through this, and start by listing what you need to begin:
1 - A program you can write the script in. notepad++ is preferred.
2 - A tool to sign your update package. This one is the one i've been using. XDA link. Must be in your main directory, C:
3 - The right update-binary file to work with the MT4GS. I attached the one i've been using to this thread. Thank computerkid23 for that. Go into your signing tool and go to:
/update/META-INF/com/google/android/
...and replace the update-binary with the new one. Here also:
update-binary
Download Link
MD5: f570141f6c8cf7273a58228d0241704d
Size: 190.04 KB
Or you could hit post 10 of this thread for a flashable zip template file.
4 - Some knowledge of Edify scripting. I wrote up some notes that covers some of it, but also links to other threads around XDA with Edify script information. Read up on it, my link Here
5 - A new market .apk file to play with. Here is where ours came from, and it's called Dark.apk
6 - winrar
7 - A MT4GS phone to test your script on, before releasing it to the community.
Now that that we have that all taken care of, let's get started:
1 - Go to the flashable zip builder folder, go to the update folder, then system, and then make a new folder called app
2 - In this new folder, place the new market.apk and rename it to Vending.apk - the capital V is important.
3 - go back up 2 levels to the update folder, and then go to /META-INF/com/google/android/ and open updater-script in Notepad++
4 - Select all and then delete all the text in the updater-script file. Once done, move on to the next part of the guide.
Writing the script:
Since this is my tutorial, i'm going to pass on a concept that means a lot to me - which is formatting the printed output on the screen during installation to be useful. 23 lines down of 40 characters wide is our window to work with.
We will also be using the printed output to the screen to keep the user updated instead of using a progress bar, it's nice to keep them from thinking their phone froze.
Start out by typing these 3 lines of code:
Code:
ui_print("");
ui_print("MT4GS - Market Update Install");
ui_print("");
The ui_print("") command will print to the screen anything between the quotes in the parenthesis. After about 40 characters it will split your text to a new line, wherever the break happens. Could be in the middle of a word.
The second line is the title of our script. When the script is done running, in clockworkmod 4.0.0.9, this will be at the very top of the screen on the phone.
The third line will print blank, just like the first, and seperates our text output to make it easier to read on the MT4GS screen.
The ; character tells the phone to read the next line of code.
Next, we'll type in this code:
Code:
mount("ext4", "EMMC", "/dev/block/mmcblk0p22", "/system");
ui_print("Removing old market ...");
delete("/system/app/Vending.apk");
unmount("/system");
ui_print("");
The mount command will make a partition ready to do things to. Unmounted partitions can be formatted, for anything else they need to be mounted. The way this mount command is written mounts the /system partition specifically on the MT4GS phone.
Next we print a line saying what we are about to do.
Then we do it, which is to delete the old Vending.apk - this is the market app.
Then we unmount the /system partition, since we are done with it for now. This is a good practice to get into, in my opinion, because you won't forget to unmount the partition when you are done with it and you won't accidentally do something to it while you aren't using it.
Lastly, we print a blank line of text to keep things clean on the output screen. We are up to 5 lines of printed text so far.
Next, we'll type in this code:
Code:
mount("ext4", "EMMC", "/dev/block/mmcblk0p23", "/data");
ui_print("Wiping old market data ...");
delete_recursive("/data/data/com.android.vending");
ui_print("");
ui_print("Wiping dalvik-cache ...");
delete_recursive("/data/dalvik-cache");
unmount("/data");
ui_print("");
Again, mounted the /data partition, called for specifically for the MT4GS phone.
Next we print a line saying what we are about to do.
Then we do it, which is to delete the old market /data directory located at /data/data/com.android.vending
Then we print a blank line of text, and another line saying what we are about to do.
Then we do the next thing, which is to wipe the dalvik cache. It's located at /data/dalvik-cache, so we are just going to delete the whole folder. A new one will be generated by Android on the next boot. This is the same as if you did it from the clockworkmod menu.
Then we unmount the /data partition, since we are done with it.
Lastly, we print a blank line. We are up to 9 printed lines so far.
Next, we'll type in this code:
Code:
mount("ext4", "EMMC", "/dev/block/mmcblk0p24", "/cache");
ui_print("Wiping cache ...");
delete_recursive("/cache");
unmount("/cache");
ui_print("");
Again, mounted the /cache partition, called for specifically for the MT4GS phone.
Next we print a line saying what we are about to do.
Then we do it, which is to wipe the /cache. We just wipe the whole partition with the delete recursive command, it's the same as if you did this from the clockworkmod menu.
Then we unmount the /cache partition, since we are done with it.
Lastly, we print a blank line. We are up to 11 printed lines so far.
Next, we'll type in this code:
Code:
mount("ext4", "EMMC", "/dev/block/mmcblk0p22", "/system");
ui_print("Installing new market ...");
package_extract_dir("system", "/system");
set_perm(0, 0, 0644, "/system/app/Vending.apk");
unmount("/system");
ui_print("");
ui_print("...Finished.");
Again, mounted the /system partition. Notice it's the second time we've mounted the same partition. This time, we are going to put on instead of taking away.
Next we print a line saying what we are about to do.
Then we do it, which is to copy the contents of the /system/app folder included in our script to the /system/app folder on the phone. This puts the new Vending.apk file where it is supposed to be.
Then we set the permissions for the new Vending.apk file, this is a very important step. This makes the permissions description on the file read rw-r--r-- like the rest of the files in the /system/app folder.
Then we unmount the /system partition.
Then we print a blank line, and then the last line which says we are done. This puts us at 14 lines, we still need 9 more.
Since we still ned 9 more lines to fill the output screen so that your script output is all the user sees when it's done, heres what I did:
Code:
ui_print("");
ui_print("New Market application provided by:");
ui_print("");
ui_print("charlieb620 at XDA");
ui_print("");
ui_print("Press your hardware back button, then");
ui_print("select 'reboot system now' from the main");
ui_print("menu to continue.");
ui_print("");
I credited the person who provided the market .apk file, then told the user what to do next now that the script is done.
I am sure you could find a useful way of using any blank space you have, or managing the 23 lines of print you get when it's over.
Reading through my notes thread that I linked should get you set in the right directions for any further information you need about commands or their syntax.
The only thing not covered in-depth yet in any of my guides are permissions as far as this script is concerned, but that's coming. Meantime, you can find the information you need by browsing through XDA.
We have successfully removed the old market, cleared all the temporary files that had old market information, installed the new market in the correct location, and then set the proper permissions for the file.
This script is now a self contained update, where all the user has to do is run this script and then reboot their phone. No need to format this, wipe that, it's all done for them by the script itself.
The last steps in the process to make our zip is to save the file we just edited, which looks like this:
Code:
ui_print("");
uiprint("MT4GS - Market Update Install");
ui_print("");
mount("ext4", "EMMC", "/dev/block/mmcblk0p22", "/system");
ui_print("Removing old market ...");
delete("/system/app/Vending.apk");
unmount("/system");
ui_print("");
mount("ext4", "EMMC", "/dev/block/mmcblk0p23", "/data");
ui_print("Wiping old market data ...");
delete_recursive("/data/data/com.android.vending");
ui_print("");
ui_print("Wiping dalvik-cache ...");
delete_recursive("/data/dalvik-cache");
unmount("/data");
ui_print("");
mount("ext4", "EMMC", "/dev/block/mmcblk0p24", "/cache");
ui_print("Wiping cache ...");
delete_recursive("/cache");
unmount("/cache");
ui_print("");
mount("ext4", "EMMC", "/dev/block/mmcblk0p22", "/system");
ui_print("Installing new market ...");
package_extract_dir("system", "/system");
set_perm(0, 0, 0644, "/system/app/Vending.apk");
unmount("/system");
ui_print("");
ui_print("...Finished.");
ui_print("");
ui_print("New Market application provided by:");
ui_print("");
ui_print("charlieb620 at XDA");
ui_print("");
ui_print("Press your hardware back button, then");
ui_print("select 'reboot system now' from the main");
ui_print("menu to continue.");
ui_print("");
and then go back to the flashable zip builder folder, and then into the update folder. Select both META-INF and system folders, and zip in winrar. ZIP not RAR. Name your zip New_Market.zip
Now move this zip file up one level, to the main flashable zip folder. Drag it onto the DRAGandDROPsignONLY.bat file in the folder.
Wait until the dos prompt finishes and closes.
Go to the _out folder and get your new ready to install update, called New_Market_Signed.zip
That's it, just get that to the phone and flash in clockworkmod recovery.
Hope this was helpful!
*Unzip the update-binary to use.
*Go to charlieb620's Thread for ready-made install scripts for the rest of the market colors.
wow you really put a lot of work into your write ups lol =D. good job.
I don't think I've appreciated a single post on xda more than this one. Thank you. This is the kind of thing I love.
My goodness... you never cease to amaze me Blue. As a developer I've never had much patience for write-ups, so I can applaud your efforts! Learning the hard way blows (although does yield better lessons sometimes)!
On a side note, I applied the Dark Market update zip thinking that it applied the (regular) market... I wasn't really sure what "Dark" stood for. So I opened it and was surprised to see a - you guessed it - DARK version of the newest Market. Anyways, point being is that I opened it, checked it out, closed it and a few minutes later it was uninstalled and replaced with the regular (newest) Market. I like the regular Market, so it worked out for the best, but just figured I'd let you know.
nbetcher said:
My goodness... you never cease to amaze me Blue. As a developer I've never had much patience for write-ups, so I can applaud your efforts! Learning the hard way blows (although does yield better lessons sometimes)!
On a side note, I applied the Dark Market update zip thinking that it applied the (regular) market... I wasn't really sure what "Dark" stood for. So I opened it and was surprised to see a - you guessed it - DARK version of the newest Market. Anyways, point being is that I opened it, checked it out, closed it and a few minutes later it was uninstalled and replaced with the regular (newest) Market. I like the regular Market, so it worked out for the best, but just figured I'd let you know.
Click to expand...
Click to collapse
You know, it's funny - one of those little things that's a D'oh! moment.
When I first saw that, I thought you meant you just installed a different (or your stock) version of the market over it.
I browsed the thread again since I directed someone here and when I got to the bottom I just realized you were letting me know Google forced a market update when you connected to them. Funny I didn't read that right sooner.
Hi guys!
If i want to Freeze some app in updater-script, how could I do it?
What codes i have to use?
THanks!
Thank you blue! You might not know it but you just contributed to the cause of adding devs to the forum. :thumbup:
Achievement unlocked: knowledge acquired!
sent from a Nokia 3210
is there any syntax highlighter + editor for edify script.?
Notepad ++.....but I don't think it highlights
Template: flashable zip update
Return to Contents Page - doubleshot Developers Reference
nfs1mw said:
is there any syntax highlighter + editor for edify script.?
Click to expand...
Click to collapse
Not sure, I use notepad++ in windows and while my preference is ever for the lightest weight program notepad++ is too awesome to not use, it's the only editor of that type you need on windows pretty much.
If the regular windows notepad could do this stuff without destroying the files i'd use that instead, so i've never checked into anything that was like that in notepad++.
I taught myself html in a notebook with a pen way back when, and the advantages of writing the code down and typing it in beyond the memory exercise itself is not having to jog back and forth between another document on your screen(s) and keeping the actual machine in use more clutter free.
(that said - syntax highlighting and end-user formatting to code in editors is so nice...)
Besides, if the internet dies tomorrow your physical notebook that takes nothing more then opening up and looking at will still work. Then again, i'm anal about backups.
In linux I just use gedit.
----
Flashable Zip Template:
unsigned template zip download:
doubleshot_unsigned_flashable-update_template.zip
Download Link
MD5: 7591ff4996f84a394c46ae375c254a4c
Size: 125.64 KB
Edit before flashing.
signed template zip download:
doubleshot_signed_flashable-update_template.zip
Download Link
MD5: afc51c4bf34dcdd76d1d62061fa3ee5b
Size: 124.25 KB
Edit before flashing.
Zip Contains:
- Empty data folder.
- Empty system folder.
- Empty sdcard folder.
- META-INF folder set up, with the correct update-binary and a template updater-script file.
updater-script template:
- wipe cache
- wipe dalvik cache
- wipe data
- wipe system
- wipe sdcard
- extract whatever ends up in the system, data, sdcard folders.
- clean up
Pastebin of updater-script.​Edit before using, otherwise you will erase everything on the device...
...just delete what you don't want and go from there. I got tired of typing the same stuff in all the time so here ya go.
Compatible with all versions of CWM to date (April 2012) - CWM 4xx Recovery versions don't support format correctly and is why it's not here.
Current CWM is 5xx​
Need to sign it? On windows This one is great.
Want to fill those empty folders? Start with system and this thread:
doubleshot de-odexed system images
Is there anybody know this? Or is there anybody know where to ask this question?
in .zip file (for CWM) there is an updater-script file...
I want to delete some files but i dont want to write the exact names of the files... Is there any way to delete some thing like x*.* or t*.apk or talk*.* etc...
for example if i want to delete all the files which starts with "a" letter... How can i do this?
I know
delete("...");
delete_recursive("...");
commands... But i couldn't find out if there is any way to do this?
Thank you for your answers...
Thank you for taking the time to write this. I had some questions regarding editing updater-scripts (for a different device) and this helped me out a lot.
-h311s|DR0ID
.
Quick question, for a delete command can you use a wildcard?
Like this:
delete("/system/app/SamsungHub.*");
I only ask because some roms have .apk and some are .odex (for example). Looking to make one script work for any stock rom on my phone.
Also, according to my TWRP log I'm able to mount /system but /data threw an error:
mount: failed to mount /dev/block/mmcblk0p29 at /data: Device or resource busy
Looks right in the partition area:
Symlink_Path: /data/media/0
Symlink_Mount_Point: /sdcard
Primary_Block_Device: /dev/block/mmcblk0p29
Any thoughts why?
I don't know if there is an option for wild card, never tried. But it can't hurt just to throw in a remove line for both options, simple fix
Being you have an emulated SD, when flashing something from data I believe data partition is mounted by default and that's why it says busy. My best guess is you don't need to add the mount data command
Sent from my Nexus 4 using XDA Premium 4 mobile app

[Q] can we fastboot?

can we get into fast boot, im stuck at not being able to format my /data parition due to a denied permission on packages.xml. i searched everywhere and one person had this problem but it was on a different device and they fixed it by 'fastboot erase userdata'
help?
No. You cannot fastboot. That seems like a Nexus-only sorta thing. Sadly.
If you are lucky, you have SBKv1 and can use nvflash with your device in APX-mode.
Anyway. You should be able to format /data within CWM. If you get permissions issues there, something is terribly wrong.
Try hooking it up to a pc and connecting via adb.
In that case you should be able to get an adb shell and have the option to clean up manully.
josteink said:
No. You cannot fastboot. That seems like a Nexus-only sorta thing. Sadly.
If you are lucky, you have SBKv1 and can use nvflash with your device in APX-mode.
Anyway. You should be able to format /data within CWM. If you get permissions issues there, something is terribly wrong.
Try hooking it up to a pc and connecting via adb.
In that case you should be able to get an adb shell and have the option to clean up manully.
Click to expand...
Click to collapse
i have SBKv2, and i tried adb in recovery. the file gets permission denied when trying to delete it, and i cant SU in adb, which is weird.
i can get it up and running, but everything acts weird even the launcher, i tried doing a tibackup restore of system too, but everything is jacked, things just work weird, home button doesnt work. only back. quick launch widgets are gone. says apps are installed that are not installed.
i tried thinking of creating a edify script that would kill the data partition with busybox, think that might work?
Code:
assert(getprop("ro.product.device") == "tf101" || getprop("ro.build.product") == "tf101");
show_progress(0.500000, 0);
format("MTD", "userdata");
mount("MTD", "userdata", "/data");
delete_recursive("/data/system");
run_program("/sbin/busybox", "rm", "-rf", "/data/*");
run_program("/sbin/busybox", "umount", "/data");
BlueHarford said:
i have SBKv2, and i tried adb in recovery. the file gets permission denied when trying to delete it, and i cant SU in adb, which is weird.
i can get it up and running, but everything acts weird even the launcher, i tried doing a tibackup restore of system too, but everything is jacked, things just work weird, home button doesnt work. only back. quick launch widgets are gone. says apps are installed that are not installed.
i tried thinking of creating a edify script that would kill the data partition with busybox, think that might work?
Code:
assert(getprop("ro.product.device") == "tf101" || getprop("ro.build.product") == "tf101");
show_progress(0.500000, 0);
format("MTD", "userdata");
mount("MTD", "userdata", "/data");
delete_recursive("/data/system");
run_program("/sbin/busybox", "rm", "-rf", "/data/*");
run_program("/sbin/busybox", "umount", "/data");
Click to expand...
Click to collapse
Tried Adb fRom normal not our CWM? If you haven't tried the latter I would recommend trying that first.
Sent from my Galaxy Nexus using Tapatalk
josteink said:
Tried Adb fRom normal not our CWM? If you haven't tried the latter I would recommend trying that first.
Sent from my Galaxy Nexus using Tapatalk
Click to expand...
Click to collapse
you mean boot into the rom and use adb in there?
Tegra chipsets work a little different. I'm not the best tool in the drawer when it comes to development but NVFlash is almost just like fastboot. When in NVFlash move, you do similar commands such as "nvflash command"... syntax aside.
Check out some of the "SUPERWIPE" tools, both NVFLASH and CWM methods. You might be able to deconstruct one into formatting just the partition you need.
BlueHarford said:
you mean boot into the rom and use adb in there?
Click to expand...
Click to collapse
I mean boot into recovery and use adb there,

[Guide]How to recover from a bootloop

Guide: How to Recover from a bootloop​by brooplank1337​
This guide will learn you the common ways of fixing a bootloop, how to create a custom CWM Fix-Zip and how to use ADB to recover from a bootloop.
Chapters:
Chapter 1: Finding the cause of the bootloop
Chapter 2: Using a CWM ZIP as solution
Chapter 3: Using ADB as solution
Chapter 1: Finding the cause of the bootloop
Bootloops are mainly caused because system files interfering with each other which causes instability and/or crashes at the boot sequence.
To find the cause of a bootloop you have to think about what you did before getting the bootloop.
Choose one of the following reasons that caused the bootloop for you and try out its solution.
- After flashing a new rom
If you flash a new (base)rom with odin your /data will be kept. This means your old dalvik-cache will be used for the new system files which would result in a bootloop, to fix this problem:
1. Start your phone in CWM Recovery
2. Go to Advanced
3. Choose "Wipe dalvik-cache"
4. Now go to "Mounts & Storage"
5. Choose "Wipe /cache"
6. Reboot your phone
if the problems still exists after doing that and you're sure it's not related to the rom, then you need to do this:
1. Start your phone in CWM Recovery
2. Now go to "Mounts & Storage"
3. Choose "Wipe /data"
4. Choose "Wipe /cache"
5. Reboot your phone
- After restoring a system only backup
This one is actually the same as the above one, since only /system is restored (advanced restore) there is an incorrect dalvik-cache present which will cause the bootloop. perform the same steps as above to solve the problem.
- After installing a Mod / Theme or UOT Kitchen output
When you install a Mod / Theme or UOT Kitchen output and you get a bootloop, you know there is something wrong with the file that you are installing. This is mostly caused by an incorrect BaseROM of the mod/theme, but can also happen if the creator just didn't create it properly.
Wiping dalvik-cache won't be enough to fix this, you will need to open the zip on your computer and look at the files that are installed with the mod/theme. you can do this by looking into the system folder in the zip, there you can find the files that are being installed. for example:
You have installed an Extended Power Menu mod but it causes a bootloop, here is what you do:
1. Open the installation zip with Winrar (Extended Power Menu in this case)
2. Now look inside the "system" folder, in my case I found the framework folder inside the system folder
3. The framework folder contains: android.policy.jar & framework-res.apk, so these are the suspicious files.
4. What you simply do is searching for the original files (from your (base)rom) and drag them into the framework folder (inside winrar)
5. Now it will ask for a compression level, choose "Store" and the archive will be done in seconds.
6. You will need to put the file on your external sdcard using the "Mount USB Storage" option in CWM under "Mounts & Storage"
7. Install the zip just as you did with the mod, you should now be bootloop free, if not reinstall the zip with a mounted /system (Mounts & Storage > Mount /system) (and you can optionally wipe /cache and /dalvik-cache, this will never harm any file/setting.
Q: Ok... but I have no external sdcard.. how to fix it then?
A: Have a look at the "Using ADB as solution" chapter
- After setting wrong permissions
Android is very dependent on the right permissions, if you adjust file permissions incorrectly you could get a bootloop, giving a file to less permissions would break it, but also giving a file to much permissions would break it. most common permissions of system files are:
- 644 (RW-R-R) - (this is best known system permission, it exists in /system/app, /system/framework, /system/etc, /system/lib and allot of seperate files)
- 755 (RWX-RX-RX) - (mainly used for /system/bin)
- 777 (RWX-RWX-RWX) - (used for scripts inside /system/etc/init.d and busybox files)
An easy fix is performing the "Fix permissions" option in CWM under Advanced. be sure to mount the partitions before running the fix. Although this doesn't cover all permissions. have a look at the CWM or ADB chapter to find the solution.
Chapter 2 Using a CWM ZIP as solution
Using the original cwm zip is the easiest way, since the zip is already created for you, you only need to replace the files with the original rom files. You can get those files from the deodex packages for baseroms which are posted on the forums. If you are using an odexed ROM, you can get your files from system.img.ext4 (open the baserom: *.tar.md5 with Winrar and extract system.img.ext4)
Now you can open system.img.ext4 with "DiskInternals Linux Reader". browse to the app/framework directory and extract the needed files from the image file.
Once you got the same files as present in the original CWM zip you can easily drag em into the archive, then choose "store" as compression level. Now finally you need to put it on your sdcard and install it.
If you don't have an external sdcard or you can't reach your internal sdcard (which is very likely when you have a bootloop), you can use ADB to push the zip to your phone, read about how to use ADB in Chapter 3.
Commands for updater-script (located in CWMFIX.zip/META-INF/com/google/android/)
Mount & Install
To mount the system partition:
mount("ext4", "EMMC", "/dev/block/mmcblk0p15", "/system");
To extract the system folder in your zip:
package_extract_dir("system", "/system");
Setting Permissions
To set permissions of an individual file:
set_perm(0, 0, Mod, "File here");
A working example:
set_perm(0, 0, 0644, "/system/build.prop");
To set permissions of a directory:
set_perm(0, 0, Mod, "Dir here without a trailing slash");
Setting Permissions Recursively
To set permissions to all files inside a directory (resursive):
set_perm_recursive(0, 0, 0755, Mod, "Dir here without a trailing slash");
A working example:
set_perm_recursive(0, 0, 0755, 0777, "/system/etc/init.d");
Chapter 3 Using ADB as solution
ADB can be used to access the phone while booting, be aware that some bootloops make it unable to use ADB since they do not go further then the samsung logo.
The only tricky part about using ADB with bootloops is that you have to do it on the right time, this is just after the Galaxy S Plus logo, so just when the bootanimation starts. The easiest way to enter your phone in this part is using a batch script that monitors the state of your device and connects directly when possible.
I use this script for example (requires adb.exe and the 2 dlls)
Code:
@echo off
cd /d %~dp0
echo.
echo Waiting for device...
adb wait-for-device
echo.
adb -d shell stop
adb push mycwmfix.zip /sdcard/mycwmfix.zip
adb reboot recovery
This script will wait for the device to become ready, when it's ready it freeze the device, so the script has more time to push the file (instead of keep rebooting). Then it will push the specified cwmfix zip to your sdcard, and after that it will reboot in recovery so you can install the cwm fix you made.
You can also make an batch script that pushes the files automatically to your phone, here is an example:
Code:
@echo off
cd /d %~dp0
echo.
echo Waiting for device...
adb wait-for-device
echo.
adb -d shell stop
adb -d shell su -c "mount -o remount rw /system"
adb push framework-res.apk /system/framework/framework-res.apk
adb -d shell chmod 644 /system/framework/framework-res.apk
adb push SystemUI.apk /system/app/SystemUI.apk
adb -d shell chmod 644 /system/app/SystemUI.apk
adb reboot
This script will wait for the device to become ready, when it's ready it freeze the device, so the script has more time to push the file (instead of keep rebooting). Then it will push framework-res.apk and SystemUI.apk to the directory it belongs to, after that it changes the permissions of the files to RW-R-R (644) and then it will reboot.
I hope you learned something from this tutorial, when I think I forgot something Ill add it later.
That's perfect thanks a lot brood
knank said:
That's perfect thanks a lot brood
Click to expand...
Click to collapse
Thanks
broodplank1337 said:
Guide: How to Recover from a bootloop​by brooplank1337​
This guide will learn you the common ways of fixing a bootloop, how to create a custom CWM Fix-Zip and how to use ADB to recover from a bootloop.
Chapters:
Chapter 1: Finding the cause of the bootloop
Chapter 2: Using a CWM ZIP as solution
Chapter 3: Using ADB as solution
Chapter 1: Finding the cause of the bootloop
Bootloops are mainly caused because system files interfering with each other which causes instability and/or crashes at the boot sequence.
To find the cause of a bootloop you have to think about what you did before getting the bootloop.
Choose one of the following reasons that caused the bootloop for you and try out its solution.
- After flashing a new rom
If you flash a new (base)rom with odin your /data will be kept. This means your old dalvik-cache will be used for the new system files which would result in a bootloop, to fix this problem:
1. Start your phone in CWM Recovery
2. Go to Advanced
3. Choose "Wipe dalvik-cache"
4. Now go to "Mounts & Storage"
5. Choose "Wipe /cache"
6. Reboot your phone
if the problems still exists after doing that and you're sure it's not related to the rom, then you need to do this:
1. Start your phone in CWM Recovery
2. Now go to "Mounts & Storage"
3. Choose "Wipe /data"
4. Choose "Wipe /cache"
5. Reboot your phone
- After restoring a system only backup
This one is actually the same as the above one, since only /system is restored (advanced restore) there is an incorrect dalvik-cache present which will cause the bootloop. perform the same steps as above to solve the problem.
- After installing a Mod / Theme or UOT Kitchen output
When you install a Mod / Theme or UOT Kitchen output and you get a bootloop, you know there is something wrong with the file that you are installing. This is mostly caused by an incorrect BaseROM of the mod/theme, but can also happen if the creator just didn't create it properly.
Wiping dalvik-cache won't be enough to fix this, you will need to open the zip on your computer and look at the files that are installed with the mod/theme. you can do this by looking into the system folder in the zip, there you can find the files that are being installed. for example:
You have installed an Extended Power Menu mod but it causes a bootloop, here is what you do:
1. Open the installation zip with Winrar (Extended Power Menu in this case)
2. Now look inside the "system" folder, in my case I found the framework folder inside the system folder
3. The framework folder contains: android.policy.jar & framework-res.apk, so these are the suspicious files.
4. What you simply do is searching for the original files (from your (base)rom) and drag them into the framework folder (inside winrar)
5. Now it will ask for a compression level, choose "Store" and the archive will be done in seconds.
6. You will need to put the file on your external sdcard using the "Mount USB Storage" option in CWM under "Mounts & Storage"
7. Install the zip just as you did with the mod, you should now be bootloop free, if not reinstall the zip with a mounted /system (Mounts & Storage > Mount /system) (and you can optionally wipe /cache and /dalvik-cache, this will never harm any file/setting.
Q: Ok... but I have no external sdcard.. how to fix it then?
A: Have a look at the "Using ADB as solution" chapter
- After setting wrong permissions
Android is very dependent on the right permissions, if you adjust file permissions incorrectly you could get a bootloop, giving a file to less permissions would break it, but also giving a file to much permissions would break it. most common permissions of system files are:
- 644 (RW-R-R) - (this is best known system permission, it exists in /system/app, /system/framework, /system/etc, /system/lib and allot of seperate files)
- 755 (RWX-RX-RX) - (mainly used for /system/bin)
- 777 (RWX-RWX-RWX) - (used for scripts inside /system/etc/init.d and busybox files)
An easy fix is performing the "Fix permissions" option in CWM under Advanced. be sure to mount the partitions before running the fix. Although this doesn't cover all permissions. have a look at the CWM or ADB chapter to find the solution.
Chapter 2 Using a CWM ZIP as solution
Using the original cwm zip is the easiest way, since the zip is already created for you, you only need to replace the files with the original rom files. You can get those files from the deodex packages for baseroms which are posted on the forums. If you are using an odexed ROM, you can get your files from system.img.ext4 (open the baserom: *.tar.md5 with Winrar and extract system.img.ext4)
Now you can open system.img.ext4 with "DiskInternals Linux Reader". browse to the app/framework directory and extract the needed files from the image file.
Once you got the same files as present in the original CWM zip you can easily drag em into the archive, then choose "store" as compression level. Now finally you need to put it on your sdcard and install it.
If you don't have an external sdcard or you can't reach your internal sdcard (which is very likely when you have a bootloop), you can use ADB to push the zip to your phone, read about how to use ADB in Chapter 3.
Commands for updater-script (located in CWMFIX.zip/META-INF/com/google/android/)
Mount & Install
To mount the system partition:
mount("ext4", "EMMC", "/dev/block/mmcblk0p15", "/system");
To extract the system folder in your zip:
package_extract_dir("system", "/system");
Setting Permissions
To set permissions of an individual file:
set_perm(0, 0, Mod, "File here");
A working example:
set_perm(0, 0, 0644, "/system/build.prop");
To set permissions of a directory:
set_perm(0, 0, Mod, "Dir here without a trailing slash");
Setting Permissions Recursively
To set permissions to all files inside a directory (resursive):
set_perm_recursive(0, 0, 0755, Mod, "Dir here without a trailing slash");
A working example:
set_perm_recursive(0, 0, 0755, 0777, "/system/etc/init.d");
Chapter 3 Using ADB as solution
ADB can be used to access the phone while booting, be aware that some bootloops make it unable to use ADB since they do not go further then the samsung logo.
The only tricky part about using ADB with bootloops is that you have to do it on the right time, this is just after the Galaxy S Plus logo, so just when the bootanimation starts. The easiest way to enter your phone in this part is using a batch script that monitors the state of your device and connects directly when possible.
I use this script for example (requires adb.exe and the 2 dlls)
Code:
@echo off
cd /d %~dp0
echo.
echo Waiting for device...
adb wait-for-device
echo.
adb -d shell stop
adb push mycwmfix.zip /sdcard/mycwmfix.zip
adb reboot recovery
This script will wait for the device to become ready, when it's ready it freeze the device, so the script has more time to push the file (instead of keep rebooting). Then it will push the specified cwmfix zip to your sdcard, and after that it will reboot in recovery so you can install the cwm fix you made.
You can also make an batch script that pushes the files automatically to your phone, here is an example:
Code:
@echo off
cd /d %~dp0
echo.
echo Waiting for device...
adb wait-for-device
echo.
adb -d shell stop
adb -d shell su -c "mount -o remount rw /system"
adb push framework-res.apk /system/framework/framework-res.apk
adb -d shell chmod 644 /system/framework/framework-res.apk
adb push SystemUI.apk /system/app/SystemUI.apk
adb -d shell chmod 644 /system/app/SystemUI.apk
adb reboot
This script will wait for the device to become ready, when it's ready it freeze the device, so the script has more time to push the file (instead of keep rebooting). Then it will push framework-res.apk and SystemUI.apk to the directory it belongs to, after that it changes the permissions of the files to RW-R-R (644) and then it will reboot.
I hope you learned something from this tutorial, when I think I forgot something Ill add it later.
Click to expand...
Click to collapse
Dear sir,
I tried every possible way to recover my handset but its not working as the permissions for SYSTEM folder are changed and adb cannot read it or write it.
i also tried to pull the original folder and push another new system folder so that the files are accessible but no success.
I also tried flashing boot,recovery,system images but no use.
what would you suggest in such situation as the shell su chmod and all the other files reside into system/bin folder.
please do try to check asap and reply.
thanks in advance
mat7961 said:
Dear sir,
I tried every possible way to recover my handset but its not working as the permissions for SYSTEM folder are changed and adb cannot read it or write it.
i also tried to pull the original folder and push another new system folder so that the files are accessible but no success.
I also tried flashing boot,recovery,system images but no use.
what would you suggest in such situation as the shell su chmod and all the other files reside into system/bin folder.
please do try to check asap and reply.
thanks in advance
Click to expand...
Click to collapse
My first advice is to not quote the OP.
Secondly, try to use the adb in recovery mode. If this doesn't work either, use the repartition thread guide to restore your /system partition.
Sent from my GT-I9001 using xda premium
pattern unlock, bootloop
I installed some frameworks, after that settings some features not working properly. yesterday i wanted to set pattern unlock and when i set it i immediately got bootloop.. please tell me what to do? should i flash stock setting mod? or something like it? (framework) i have xperia arc s stock 4.0.4 ...
I need HELP, guys! I am having a little problem and idk how to fix this. After flashing Infamous ROM, reboot, everything worked fine, but then I reboot the phone and it stuck in the bootloop, so I went to the TWRP and factory reset, reboot, still stuck in bootloop. So i went back and format data and flash it again. Everything works fine, then i try to reboot and it and stuck and the samsung screen AGAIN! So i went back to the Stock ROM do the same thing, first boot is fine, reboot and it stuck in the Samung Galaxy S4 screen. Any solution guys? I even tried fix permission . Still didntwork. HELP, PLEASE!!
minhthai17 said:
I need HELP, guys! I am having a little problem and idk how to fix this. After flashing Infamous ROM, reboot, everything worked fine, but then I reboot the phone and it stuck in the bootloop, so I went to the TWRP and factory reset, reboot, still stuck in bootloop. So i went back and format data and flash it again. Everything works fine, then i try to reboot and it and stuck and the samsung screen AGAIN! So i went back to the Stock ROM do the same thing, first boot is fine, reboot and it stuck in the Samung Galaxy S4 screen. Any solution guys? I even tried fix permission . Still didntwork. HELP, PLEASE!!
Click to expand...
Click to collapse
Obviously there is no Infamous ROM for I9001 - you're sure you flashed a ROM that fits to SGS+ please review this and maybe reflash a dedicated ROM.
minhthai17 said:
I need HELP, guys! I am having a little problem and idk how to fix this. After flashing Infamous ROM, reboot, everything worked fine, but then I reboot the phone and it stuck in the bootloop, so I went to the TWRP and factory reset, reboot, still stuck in bootloop. So i went back and format data and flash it again. Everything works fine, then i try to reboot and it and stuck and the samsung screen AGAIN! So i went back to the Stock ROM do the same thing, first boot is fine, reboot and it stuck in the Samung Galaxy S4 screen. Any solution guys? I even tried fix permission . Still didntwork. HELP, PLEASE!!
Click to expand...
Click to collapse
Two questions
1) on which phone did you flash this infamous rom?
2) tried wipe /system and tried it again?
minhthai17 said:
reboot and it stuck in the Samung Galaxy S4 screen.
Click to expand...
Click to collapse
this forum is for Samsung Galaxy S Plus man.... we can't help you... go in S4 section
minhthai17 said:
I need HELP, guys! I am having a little problem and idk how to fix this. After flashing Infamous ROM, reboot, everything worked fine, but then I reboot the phone and it stuck in the bootloop, so I went to the TWRP and factory reset, reboot, still stuck in bootloop. So i went back and format data and flash it again. Everything works fine, then i try to reboot and it and stuck and the samsung screen AGAIN! So i went back to the Stock ROM do the same thing, first boot is fine, reboot and it stuck in the Samung Galaxy S4 screen. Any solution guys? I even tried fix permission . Still didntwork. HELP, PLEASE!!
Click to expand...
Click to collapse
Format emmc and flash any stock ROM for ur device through Odin.
Reroot again and flash any custom ROM built for your device.
Sent from my GT-S7562 using xda premium
bootlooping after data restore to a new rom
hi, i installed jelly bam on my note i717 and it works great, but when i restore data from my stock laggy jelly bean it bootloops i tried doing fix permissions, wiping delvik cashe and cashe. i tried going back and restoring to old jelly bean and then backing it up again and flashing jelly bam again and after restoring data again with fix permissions it bootloops again. how can i safely restore data on my new rom? please help!
p.s. using twrp with cwm i couldn't even flash rom cuz it errored and aborted it every time.
GameOverMan said:
hi, i installed jelly bam on my note i717 and it works great, but when i restore data from my stock laggy jelly bean it bootloops i tried doing fix permissions, wiping delvik cashe and cashe. i tried going back and restoring to old jelly bean and then backing it up again and flashing jelly bam again and after restoring data again with fix permissions it bootloops again. how can i safely restore data on my new rom? please help!
p.s. using twrp with cwm i couldn't even flash rom cuz it errored and aborted it every time.
Click to expand...
Click to collapse
This is i9001 forum... BTW are you trying to restore system apps data?
Inviato dal mio GT-i9001 con topatalk 2
oh sorry didn't notice that. yes im just trying to restore data.
GameOverMan said:
oh sorry didn't notice that. yes im just trying to restore data.
Click to expand...
Click to collapse
I understand, but system apps data or user apps? You can't restore system apps data
Inviato dal mio GT-i9001 con topatalk 2
broodplank1337 said:
Guide: How to Recover from a bootloop​by brooplank1337​
This guide will learn you the common ways of fixing a bootloop, how to create a custom CWM Fix-Zip and how to use ADB to recover from a bootloop.
Chapters:
Chapter 1: Finding the cause of the bootloop
Chapter 2: Using a CWM ZIP as solution
Chapter 3: Using ADB as solution
Chapter 1: Finding the cause of the bootloop
Bootloops are mainly caused because system files interfering with each other which causes instability and/or crashes at the boot sequence.
To find the cause of a bootloop you have to think about what you did before getting the bootloop.
Choose one of the following reasons that caused the bootloop for you and try out its solution.
- After flashing a new rom
If you flash a new (base)rom with odin your /data will be kept. This means your old dalvik-cache will be used for the new system files which would result in a bootloop, to fix this problem:
1. Start your phone in CWM Recovery
2. Go to Advanced
3. Choose "Wipe dalvik-cache"
4. Now go to "Mounts & Storage"
5. Choose "Wipe /cache"
6. Reboot your phone
if the problems still exists after doing that and you're sure it's not related to the rom, then you need to do this:
1. Start your phone in CWM Recovery
2. Now go to "Mounts & Storage"
3. Choose "Wipe /data"
4. Choose "Wipe /cache"
5. Reboot your phone
- After restoring a system only backup
This one is actually the same as the above one, since only /system is restored (advanced restore) there is an incorrect dalvik-cache present which will cause the bootloop. perform the same steps as above to solve the problem.
- After installing a Mod / Theme or UOT Kitchen output
When you install a Mod / Theme or UOT Kitchen output and you get a bootloop, you know there is something wrong with the file that you are installing. This is mostly caused by an incorrect BaseROM of the mod/theme, but can also happen if the creator just didn't create it properly.
Wiping dalvik-cache won't be enough to fix this, you will need to open the zip on your computer and look at the files that are installed with the mod/theme. you can do this by looking into the system folder in the zip, there you can find the files that are being installed. for example:
You have installed an Extended Power Menu mod but it causes a bootloop, here is what you do:
1. Open the installation zip with Winrar (Extended Power Menu in this case)
2. Now look inside the "system" folder, in my case I found the framework folder inside the system folder
3. The framework folder contains: android.policy.jar & framework-res.apk, so these are the suspicious files.
4. What you simply do is searching for the original files (from your (base)rom) and drag them into the framework folder (inside winrar)
5. Now it will ask for a compression level, choose "Store" and the archive will be done in seconds.
6. You will need to put the file on your external sdcard using the "Mount USB Storage" option in CWM under "Mounts & Storage"
7. Install the zip just as you did with the mod, you should now be bootloop free, if not reinstall the zip with a mounted /system (Mounts & Storage > Mount /system) (and you can optionally wipe /cache and /dalvik-cache, this will never harm any file/setting.
Q: Ok... but I have no external sdcard.. how to fix it then?
A: Have a look at the "Using ADB as solution" chapter
- After setting wrong permissions
Android is very dependent on the right permissions, if you adjust file permissions incorrectly you could get a bootloop, giving a file to less permissions would break it, but also giving a file to much permissions would break it. most common permissions of system files are:
- 644 (RW-R-R) - (this is best known system permission, it exists in /system/app, /system/framework, /system/etc, /system/lib and allot of seperate files)
- 755 (RWX-RX-RX) - (mainly used for /system/bin)
- 777 (RWX-RWX-RWX) - (used for scripts inside /system/etc/init.d and busybox files)
An easy fix is performing the "Fix permissions" option in CWM under Advanced. be sure to mount the partitions before running the fix. Although this doesn't cover all permissions. have a look at the CWM or ADB chapter to find the solution.
Chapter 2 Using a CWM ZIP as solution
Using the original cwm zip is the easiest way, since the zip is already created for you, you only need to replace the files with the original rom files. You can get those files from the deodex packages for baseroms which are posted on the forums. If you are using an odexed ROM, you can get your files from system.img.ext4 (open the baserom: *.tar.md5 with Winrar and extract system.img.ext4)
Now you can open system.img.ext4 with "DiskInternals Linux Reader". browse to the app/framework directory and extract the needed files from the image file.
Once you got the same files as present in the original CWM zip you can easily drag em into the archive, then choose "store" as compression level. Now finally you need to put it on your sdcard and install it.
If you don't have an external sdcard or you can't reach your internal sdcard (which is very likely when you have a bootloop), you can use ADB to push the zip to your phone, read about how to use ADB in Chapter 3.
Commands for updater-script (located in CWMFIX.zip/META-INF/com/google/android/)
Mount & Install
To mount the system partition:
mount("ext4", "EMMC", "/dev/block/mmcblk0p15", "/system");
To extract the system folder in your zip:
package_extract_dir("system", "/system");
Setting Permissions
To set permissions of an individual file:
set_perm(0, 0, Mod, "File here");
A working example:
set_perm(0, 0, 0644, "/system/build.prop");
To set permissions of a directory:
set_perm(0, 0, Mod, "Dir here without a trailing slash");
Setting Permissions Recursively
To set permissions to all files inside a directory (resursive):
set_perm_recursive(0, 0, 0755, Mod, "Dir here without a trailing slash");
A working example:
set_perm_recursive(0, 0, 0755, 0777, "/system/etc/init.d");
Chapter 3 Using ADB as solution
ADB can be used to access the phone while booting, be aware that some bootloops make it unable to use ADB since they do not go further then the samsung logo.
The only tricky part about using ADB with bootloops is that you have to do it on the right time, this is just after the Galaxy S Plus logo, so just when the bootanimation starts. The easiest way to enter your phone in this part is using a batch script that monitors the state of your device and connects directly when possible.
I use this script for example (requires adb.exe and the 2 dlls)
Code:
@echo off
cd /d %~dp0
echo.
echo Waiting for device...
adb wait-for-device
echo.
adb -d shell stop
adb push mycwmfix.zip /sdcard/mycwmfix.zip
adb reboot recovery
This script will wait for the device to become ready, when it's ready it freeze the device, so the script has more time to push the file (instead of keep rebooting). Then it will push the specified cwmfix zip to your sdcard, and after that it will reboot in recovery so you can install the cwm fix you made.
You can also make an batch script that pushes the files automatically to your phone, here is an example:
Code:
@echo off
cd /d %~dp0
echo.
echo Waiting for device...
adb wait-for-device
echo.
adb -d shell stop
adb -d shell su -c "mount -o remount rw /system"
adb push framework-res.apk /system/framework/framework-res.apk
adb -d shell chmod 644 /system/framework/framework-res.apk
adb push SystemUI.apk /system/app/SystemUI.apk
adb -d shell chmod 644 /system/app/SystemUI.apk
adb reboot
This script will wait for the device to become ready, when it's ready it freeze the device, so the script has more time to push the file (instead of keep rebooting). Then it will push framework-res.apk and SystemUI.apk to the directory it belongs to, after that it changes the permissions of the files to RW-R-R (644) and then it will reboot.
I hope you learned something from this tutorial, when I think I forgot something Ill add it later.
Click to expand...
Click to collapse
Hey,
After trying to make a backup using cwm my phone got caught on a bootloop. I think the backup was not completed and I believe there was some sort of error (something about an image not being copied, I think). There is also a warning on the cwm recovery page that says "no file-context". What can I do?
Thank you
vascotto said:
Hey,
After trying to make a backup using cwm my phone got caught on a bootloop. I think the backup was not completed and I believe there was some sort of error (something about an image not being copied, I think). There is also a warning on the cwm recovery page that says "no file-context". What can I do?
Thank you
Click to expand...
Click to collapse
do you mean you flashed a backup and it is boot looping?
sa1tine said:
do you mean you flashed a backup and it is boot looping?
Click to expand...
Click to collapse
I was creating a backup of my current ROM (which is the default, factory version).
vascotto said:
Hey,
After trying to make a backup using cwm my phone got caught on a bootloop. I think the backup was not completed and I believe there was some sort of error (something about an image not being copied, I think). There is also a warning on the cwm recovery page that says "no file-context". What can I do?
Thank you
Click to expand...
Click to collapse
Probably your device ran out of free space. Try to delete some backups you've made before.
Hi,
I have CyanogenMod 10 installed on my I9001 and it worked perfectly for the past few months until I rebooted the phone today and now it is stuck on the CyanogenMod start screen. I had not installed/modified anything on my phone before rebooting...
I tried to wipe cache, but that did not help. Any idea how to fix this without deleting everything from the phone?
Thanks!!

[Q] Is it possible to flash a kernel without CWM? Android/Ubuntu Dualboot on SBKv2

For the purpose of dualbooting between Ubuntu and Android on a sbkv2 device, I was wondering if it would be safe to overwrite the kernel partition (/dev/mmcblk0p4, apparently?) while booted into either Android or Ubuntu, skipping cwm entirely. This would probably be followed by an immediate reboot in any case.
From dissecting an update.zip it seems like mmcblk0p4 is where the kernel is written to. I'm just not totally sure that the partition numbers don't change for some reason (?) between cwm and android. Is it the right partition? Has anyone tried this?
It's possible to do and not too hard, boot into android. (Cwm just makes it easier on you.)
Here's the flash update-script from Guevor's kernel:
Code:
show_progress(0.100000, 0);
run_program("/sbin/busybox", "mount", "/system");
show_progress(0.300000, 0);
ui_print("Modules...");
delete_recursive("/system/lib/modules");
package_extract_dir("system", "/system");
show_progress(0.200000, 10);
show_progress(0.100000, 0);
unmount("/system");
ui_print("Kernel..");
package_extract_file("kern.blob", "/tmp/kern.blob");
run_program("/sbin/busybox", "dd", "if=/tmp/kern.blob", "of=/dev/block/mmcblk0p4");
delete("/tmp/kern.blob");
Put the modules somewhere on your Tf, and also the 'blob' file (Preferably somewhere easy like /sdcard/)
So take the modules out of /system/lib and put them in /system/lib/modules (Cut and paste with a root explorer)
Then run the dd command to flash the kernel:
dd if=/where/you/put/the/blob/file/on/yourtf of=/dev/block/mmcblk0p4
Note that the blob has no file extension and doesn't need one.
Worked going from Android to Ubuntu, but not in the other direction. I was still able to get into cwm so whatever. Thanks for the advice.
Mmcblk0p4 is the staging partition. If it still works, I suppose it would be possible, but you would need to know what the partition name is. It should be listed in whatever flash.cfg file you used to reformat for ubuntu. Once you know the name, you can use the blob tools to pack up the boot.img(LNX on stock partition tables) and *maybe* flash via staging.
sent while running with scissors
Oh, I should clarify that I didn't repartition for ubuntu. I'm using a loop mounted filesystem on the internal storage.

Flashable zip for /su/su.d

I'm sorry if this has been asked already but I can't find it anywhere:
I have two su.d scripts that I always was putting in /system/su.d after every rom update. But ever since I switched to SuperSU 2.76 Systemless those scripts don't work. I do use an app from Chainfire called LiveBoot that uses su.d and I noticed ever since I switched to systemless root that su.d is no longer in /system/su.d: it's in /su/su.d.
Here's my edify script for one of the flashable zips:
Code:
ui_print(" Flashing Balanced Kernel Settings ");
ui_print(" ");
show_progress(0.99, 30);
run_program("/sbin/busybox", "mount", "/su");
package_extract_dir("su", "/su");
set_perm(0, 0, 0700, "/su/su.d/ZZZ-Elite-Kernel-Settings");
show_progress(1.0, 1);
unmount("/su");
ui_print("----------------------------------------------");
ui_print("| Done!!! |");
ui_print("----------------------------------------------");
ui_print(" ");
What I've noticed is that after I flash both zips and go to the file manager in TWRP that the files are there in /su/su.d. But after it's done booting and I go look in that folder with a file explorer, they're gone. Any idea why these disappear? It seems I have to flash these on every boot. That's obviously ridiculous. I must be doing something wrong and I figure that it's related to my ignorance about systemless SuperSU.
A permissions thing maybe, this happens with me if I transfer files in TWRP then booting the device. I can`t find them in any file explorer.
It's late though, but for the guidance of other noobs like me. /su/su.d/ can't be flashed in recovery because this isn't available. For system-less roots, binaries/libraries required to start supersu daemon and to manage root permissions, don't reside in /system/bin but in /data/su.img while (at least) two files reside in boot.img i.e. boot.img/ramdisk/init.supersu.rc and boot.img/ramdisk/sbin/.*daemonsu*.sh. When ROM boots, init.supersu.rc mounts /data/su.img on /su directory and calls /sbin/*daemonsu*.sh for initial setup which starts /su/bin/daemonsu and other se-linux related stuff and then executes any scripts found in /su/su.d/ and /system/su.d.
You can find this:
Code:
mido:/ # mount | grep loop
/dev/block/loop0 on /su type ext4 (rw,seclabel,noatime,data=ordered)
So, the init.d scripts placed in /su/su.d actually reside in /data/su.img which isn't mounted in recovery mode and anything flashed to /su/su.d goes to volatile rootfs which is gone on reboot. Either mount su.img in recovery, or place this script while ROM is running or instead flash to /system/su.d which is permanent filesystem unlike rootfs (which lives in RAM). And finally don't forget to set permissions to 0700 as advised here. Another thing, mostly init.d scripts don't work with .sh extension. Avoid this too.

Categories

Resources