Porting Clockworkmod recovery from existing image file from another device - Android Software Development

Hi,
I don't know if this is the correct section to get this question answered, but I'll try:
I have a new tablet, which is not really known at the moment. I managed to root it and next step would be to port Clockworkmod Recovery to it. Since I only found guides where I always have to repo sync the entire CyanogenMod github (which is 19GB+ as I heard), I searched for an alternative where I could save some traffic
I found a clockworkmod recovery from another tablet and wondered if it was just possible to unpack it, modify the recovery.fstab and repack it again.
Is this possible or do I have to modify more than the recovery.fstab? If yes, could you point me to the right direction?
Regards

dump your stock recovery
unpack the stock recovery and save the vold.fstab somewhere.
upload the stock recovery here
http://builder.clockworkmod.com/
get the output and flash`it
if the key`s are not working, unpack the new cwm, and the old recovery, and put the keys from the old recovery.
if you get some mount points erros, you will have to upload also the saved vold.fstab on the clockwork site when you cook the image.
if this does not offer you a good result, you will need to find a similar device (processor, resolution) that has allready a cwm, and try it
the recovery file is ramdisk/sbin/recovery

Hi,
thanks for showing me a way. Unfortunately builder.clockworkmod.com says it didn't find Android magic. This makes sense, as the image is a uImage with lzma compressed data inside. It seems koush's builder handles only "plain" recoveries...
Bad luck
I guess I'll try your second advice and search for a CWM for a similar device, unpack it, replace the fstab file and repack it again.
Thanks again!

hello I have made the porting on http://jenkins.cyanogenmod.com/job/recovery/lastBuild/console
I end up having a zip archive, how can I make my tablet to read that. I have installed cwm recovery and it is rooted. Let me know how can install it and replace my recovery with this.
BTW I have the original stock firmware of my tablet.
let me know thanks

Related

Recovery Image Errors

Hello. I'm really new to the g1, I got it just two weeks ago, and right now I have JFv1.50 ADP1.5 installed right now. I'm not familiar with many of the technical terms, but I'm starting to understand everything.
I went through the root process, trying to follow some guide using a root.apk application to download/ install the right files, but it bricked my phone. I was able to manually get it to JFv1.50 ADP1.5 later on though.
Now my problem is that I believe I still have the normal recovery image on the phone. In recovery mode there is a picture of an exclamation mark in a triangle.
So I figured I'd go try to use JF's 1.43 recovery image. I put the zip on my SD card and renamed it update.zip. When I go into recovery mode now, though, and press ALT+S, I see the installation/ update bar pop up for like 3 seconds, enough for the orange progress bar to move a few millimeters, and then it just stops. No error message or anything.
I tried installing the test keys recovery image also, but it didn't work at all.
I really need JF's recovery image though, so I can make backups etc.
I've searched for this, but the closest problem I can see is this one:
http://forum.xda-developers.com/archive/index.php/t-505950.html
But for me, I don't even get an error message when using the update.zip...
Sorry for my lack of technical knowledge here, but try to bear with me
Thanks for any help you can give me!
The cooked roms are signed with testkeys, so the original recovery mode will refuse to flash them. You'll have to get the recovery image modified by JF and flash it. The latest version is included in JF v1.43. You can find recovery.img in a folder called data in that zip.
Copy it to your sdcard or adb push it to somewhere on the phone. Then type these commands on the phone:
su
flash_image recovery /path/to/recovery.img
You must have root in order to do this. Alternatively, you can push the file to /system and the init script will flash it for you the next time you boot.
billc.cn said:
The cooked roms are signed with testkeys, so the original recovery mode will refuse to flash them. You'll have to get the recovery image modified by JF and flash it. The latest version is included in JF v1.43. You can find recovery.img in a folder called data in that zip.
Copy it to your sdcard or adb push it to somewhere on the phone. Then type these commands on the phone:
su
flash_image recovery /path/to/recovery.img
You must have root in order to do this. Alternatively, you can push the file to /system and the init script will flash it for you the next time you boot.
Click to expand...
Click to collapse
Thanks so much! I couldn't figure this out until now. It's working perfectly now.
Feel free to close this thread. Thanks again

Can you help me create an update.zip ?

Ok, I have a rom there's a system.img and boot.img. Previously I took someone else's update.zip deleted the boot.img and system.img from their update.zip, replaced it with my boot & system img and it worked.
Now I was given a new rom from a manufacturer and when I try swapping the boot & system this time, and applying the ROM it doesn't seem to work.
What am I missing here? If I up the system.img and boot.img can someone create the update.zip for me?
Or can you give me an update.zip file where I can just drop in my boot & system.img
Are you signing the update.zip afterwards?
What error does the logcat give you?
hmm. Not familiar with log cat or signing.
Let me add some additional information that may help.
There's a tablet manufacturer that is testing their ROM. Unfortunately they didn't give it to me in update.zip format.
They gave me a bunch of files that include boot.img and system.img and there's a recovery.img (as well as a bunch of other files).
The device is a tegra 2 device.
Previously I loaded the VeganN rom which is designed for the Viewsonic G tab. Though my device isn't a Viewsonic G tab the rom worked (with the exception of certain things like camera etc).
The tablet I have, the manufacturer sent me a "recovery rom". Basically it was a stock Android rom, even that rom didn't really work all too great but I was able to install that rom installed using the following method:
Took the Vegan ROM's update.zip file, delete that system.img and boot.img and replaced it with the one sent to me by the manufacturer. That worked.
Now the manufacturer sent me an updated package which also includes a boot.img and system.img and this time the system doesn't boot.
I suspect it has something to do with my update.zip file. For whatever reason it worked before (replacing the files) but didn't work this time.
Still need signing? The manufacturer wanted me to use Ubuntu and run a script with a .sh extension and said that would flash the unit with the new ROM.
I'm not a Linux expert but I did install Ubuntu as a VM but I couldn't figure it out. I figured if I had an update.zip I'd be in business.
Any guidance you can provide is appreciated.
Well, If I replace just the system.img from someone else's update.zip it boots but there seems to be some quirks so I'm guessing the issue I have is replacing the boot.img any ideas?

Noobie Question about ICS

I can't post in the development forums so I figured I would ask here:
I understand how to use adb and fastboot, etc.. What I am missing is with the new ICS ROM it states that I must "fastboot flash system system.img"; however none of the ICS zip file I have seen come with a system.img file (just the boot.img).
Am I missing something? Any help would be greatly appreciated..
I used the version available on Rootzwiki... not sure if thats the answer you wanted. I'm running 4.0.3 ICS on my wifi XOOM OC to 1.54. No FC's, reboots or anything of the sort. You'll need to be sure that you have su-install.zip, and other img files needed. As I said, you'll find them all on the rootzwiki website under xoom hope this helps, if not good luck.
You are talking about two different things here. I don't know where to start here you're all mixed up. There are several ways to flash a ROM, you can fastboot flash the .img files such as what you are referencing to. Or you can flash an update .zip file from recovery. The way you flash the ROM depends on the source, if its a bunch of *.img files you use fastboot, if it's a *.zip file you use recovery. Just follow the directions given for installation that are provided with the ROM you are downloading.
sboehler said:
I can't post in the development forums so I figured I would ask here:
I understand how to use adb and fastboot, etc.. What I am missing is with the new ICS ROM it states that I must "fastboot flash system system.img"; however none of the ICS zip file I have seen come with a system.img file (just the boot.img).
Am I missing something? Any help would be greatly appreciated..
Click to expand...
Click to collapse
Hello, and welcome to XDA! =] Anyways on with your question. There are two ways to flash a ROM to your xoom. One being fastboot/adb, where you use the command line on your computer to send commands to your device and make it do stuff. This is where you use system.img, boot.img, recovery.img.
The second, is CWM (ClockWorkMod recovery) This, as far as im aware, is the most common way. This is where the .zip's come in. Because you take the .zip you put it on your external SD card. boot into recovery (after flashing CWM of course) and flash the rom. CWM is nice because you can also make a 100% snapshot of your internal memory state via making a nanodroid back up. That way if anything messes up you have a 100% backup you can restore at anytime if you need it.
In a nutshell, You use *.img files with fastboot and .zip files with CWM.
Anyways. If you're new to rooting. Please check out these two threads, They'll help you get started. =]
Xoom Heaven: Root+Non Root Users Are Welcome!
[Guide] Setting up and using adb/fastboot-unlock, flash custom recovery & root
The second guide I did use to flash my own zoom so I can assure you it does work.

How to return to stock without usb?

I'm trying to return to stock without usb, but the links from this post don't work http://forum.xda-developers.com/showpost.php?p=34749844&postcount=2
I need a flashable .zip of the stock rom & recovery so that I can turn my phone in for RMA
studjuice said:
I need a flashable .zip of the stock rom & recovery so that I can turn my phone in for RMA
Click to expand...
Click to collapse
Right now there is no flashable image of the stock OS. Google pulled it from their site. But if you can't use USB, you can still use a computer to unzip the image into partitions, then use terminal and `flash_image` to flash each partition. (When I tried using flash_image, it didn't work, so be cautious. If you're rooted you can also use `dd` to flash images, but a typo could brick your phone so don't.)
I bet the easiest thing for you to do is to create individual flashable images for each partition, then boot into CWM and flash each (recovery last, obviously). But I don't know how. In any case, you'll need to wait until Google puts a new mako image on their site: https://developers.google.com/android/nexus/images
---------- Post added at 07:30 AM ---------- Previous post was at 06:56 AM ----------
Actually, depending on how desperate you are, I (or anybody else) could help you. I have a stock recovery installed right now (JOP40D) and I could pull the image with "dd". That won't be a flashable .zip, but you should be able to flash it from within the ROM. I could also get you a copy of my /system partition--there's nothing personal or private in there
If you have a .img, you could pack it into a flashable .zip and download it via dropbox.
Unless you have no access at all to a computer. In that case, you'll just need to wait for Google to release the next version of the image.
fenstre said:
Right now there is no flashable image of the stock OS. Google pulled it from their site. But if you can't use USB, you can still use a computer to unzip the image into partitions, then use terminal and `flash_image` to flash each partition. (When I tried using flash_image, it didn't work, so be cautious. If you're rooted you can also use `dd` to flash images, but a typo could brick your phone so don't.)
I bet the easiest thing for you to do is to create individual flashable images for each partition, then boot into CWM and flash each (recovery last, obviously). But I don't know how. In any case, you'll need to wait until Google puts a new mako image on their site: https://developers.google.com/android/nexus/images
---------- Post added at 07:30 AM ---------- Previous post was at 06:56 AM ----------
Actually, depending on how desperate you are, I (or anybody else) could help you. I have a stock recovery installed right now (JOP40D) and I could pull the image with "dd". That won't be a flashable .zip, but you should be able to flash it from within the ROM. I could also get you a copy of my /system partition--there's nothing personal or private in there
If you have a .img, you could pack it into a flashable .zip and download it via dropbox.
Unless you have no access at all to a computer. In that case, you'll just need to wait for Google to release the next version of the image.
Click to expand...
Click to collapse
I would love some help on packing into a flashable .zip. I found the images here, http://www.randomphantasmagoria.com/firmware/nexus-4/occam/ but I can't do anything with them without fastboot.
I found one guide for creating the flashable zip here: http://forum.xda-developers.com/showthread.php?t=1721680
And a better one here: http://forum.xda-developers.com/showthread.php?t=1949367
In principle, I think you could use your phone to do these, but it would be hard. The hardest step would be extracting individual files from .img files, and I don't know whether you can do that with your phone--it depends on the kernel and the "mount" utility--you would need to mount the .img files as a filesystem and extract from them. Obviously you should avoid flashing /data to ensure that you can keep /sdcard and your CWM backup. And flashing stock recovery should be your last step. In fact, don't flash your stock recovery. Flash the Nexus image version C, then reboot and let the image automatically reflash the recovery. This is safest. But if this step messes up, you will absolutely need to use a computer to fix it.
Actually, there's a far easier way. Somebody could create a CWM backup for you--a backup of version JOP40C. You download it to /data/media/clockworkmod/backups, then use CWM to recover it (use advanced options to recovery ONLY the /system partition (maybe others?), then clear the cache and dalvik cache). Then you OTA upgrade to JOP40D. This will involve downloading a flashable .zip (here). The key is that this will remove root and CWM when you next reboot! If it doesn't remove root, I think you can probably do that yourself.
The thing you can't do without a computer: lock your bootloader. Is using somebody else's computer really out of the question? I think "adb" and "fastboot" work without the rest of the Android SDK, so you could just download them and get to a computer just for the very final step of re-locking the bootloader.
I documented the process I went through to get it back to stock here for future reference:
http://forum.xda-developers.com/showpost.php?p=37064957&postcount=10
You can lock your bootloader without a computer using the BootUnlocker app

[Guide] How to port Cwm or CTR recovery for any device

Port recovery to any Device, snapdragon, mediatech doesn't matter​
Hi guys...
Once again i am back with an Extreme guide...
Its about porting Recovery if you don't have source or if you like to use your own thing...
Ok lets start......​
Do it with your own risk, I am not responsible for anything happens to your mobile, friends, family and etc
Click to expand...
Click to collapse
Requirements:
1. Android Kitchen or Android image kitchen (Search on xda or
google)
2.NOTEPAD++ (Search on google)
3. Flash tool (flashify, rashr etc)
4. Cygwin ( if you are using Windows)
5. Recoveries that you want to port, must be from same structured chip set device, and same resulotion
Tips: Search on Google on how to set up android kitchen with cygwin
Step:1
Frist take your stock boot.img, stock recovery.img and
any other recovery like CWM or CTR (Without
TWRP)
Tips: If you don't know how to get a dump of boot.IMG or recovery.IMG, Google is there to help you! You can also use Diskinfo to get partition info, download it from play
Now put them in safe folder and unpack boot.img in a
new folder, then unpack Stock recovery in another
folder and unpack your cwm or CTR recovery in
Another folder.......
All done!!
Tips: search Google how to unpack .IMG with android kitchen or android image kitchen
Click to expand...
Click to collapse
Step:2
Now go to your unpacked boot.img and then go to "ramdisk" folder then copy these files and paste it
to your recovery (whitch you want to port)
1.meta_init.modem.rc
2.meta_init.project.rc
3.meta_init.rc
Done! :3
Click to expand...
Click to collapse
Step 3:
Now go to your unpacked stock recovery and copy "(#Kernel)" and paste it to your unpacked recovery (Which you want to port).Then again go to unpacked stock recovery>ramdisk and copy these files and paste them in your unpacked recovery>ramdisk (which you want to
port) and replace them all...
1.fstab
2.ueventd.rc
3.ueventd.goldfish.rc.
Done!
Click to expand...
Click to collapse
Step 4:
Now go to your stock unpacked CWM or CTR and go to
ramdisk/etc and copy ( recovery.fstab ) and paste
it to you unpacked recovery (which you want to
port) /ramdisk/etc and replace......
Done!Now go to your unpacked recovery (whitch
you want to port) then go to ramdisk and open
default.prop and ask also open the default.prop. compare them, change the values of port recovery according to stock recovery.
All Done!
Click to expand...
Click to collapse
Finel step :
Repack the ported cwm, take it to your phone and open any flash tools and flash your new recovery!!
Click to expand...
Click to collapse
N.B.--> This method will not work in TWRP porting beacuse porting TWRP is different...
Sometimes your new recovery may not work...if it does not work then try again with new recoveries from different device or redo the whole thing
I hope this post was helpfull and if you
successed to port your new recovery then dont
forget to give me some credits
if you like this post then click on :good: button... It may increase the rate of
giving new guides...​ :highfive:
Hi, I am trying to do a CWM recovery for Amazon fire phone which is a Snapdragon 800 - unfortunately i cannot find any custom recoveries which have the amazon fire phones resolution of 1280 x 720 can you advise if there is a workaround for this situation?
Hey there, if you are porting cwm, the resolution isn't gonna be a problem. Find same structured device and you would be good to go.
Edit: the fonts will maybe look smaller.
But if you are porting CTR recovery the resolution would be a problem, it will cause you touch problem in recovery
Thanks. One problem right at the first hurdle is in step 2
i do not have these files in my boot ramdisk folder
1.meta_init.modem.rc
2.meta_init.project.rc
3.meta_init.rc
Attached is a screenshot of what i have in mine?!?
Can I get a screenshot of the unpacked recovery ( that you want to port)? I want to compare these files
The screenshot of the unpacked Recovery's ramdisk folder actually
Sure, attached. This is my recovery from my Amazon phone and also the recovery for a nexus 5 which uses the same processor
Init.rc, ueventd.rc, replace these two files
Snapdragon device's boot and recovery structure is different, I thing I have to do the tutorial again with snapdragon details
BTW is there any other version of cwm available for your device? You can take a look inside that recovery for more info. And if your device has source, I recommend that building it from source would be best for you
Hi, I actually just built from source but nothing happens when phone should go into recovery. Just stays on the Amazon screen. I then flash the stock recovery back and it works fine. I'm pretty sure that i compiled it correctly as i got no errors used CM11 as source. (Attached if it helps)
To be honest it was a shot in the dark anyway as the phones bootloader is locked and i was trying with flashify.apk
Have you tried grabbing a logcat after rebooting from recovery?
Thats my next step
And what does the logcat says?
Please help.
I have got an android device with Broadcom Processor with android 4.4.2. I had tried to learn using Ubuntu and tried to build recovery from source. But, it seems a clumsy path and hard to understand. I could not finish syncing repo and retired from my trial a month ago. Can I use this tutorial to port recovery to my device? How can I know which CWM for an android can be ported to mine?
bro this is not working for snapdragon devices. as i am not getting meta files into its recovery not even in the ported one.
I can't understand the which recovery is which, like in Step 3 you said Stock recovery and unpacked recovery (Which you want to port) where i guess stock is the original recovery and unpacked is CWM/CTR.
But on Step 4 you said:
"go to your stock unpacked CWM or CTR and go to
ramdisk/etc and copy ( recovery.fstab ) and paste
it to you unpacked recovery (which you want to
port) /ramdisk/etc and replace."
so stock unpacked CWM is CWM but which one is he unpacked recovery now?
bro i have micromax a108 with mt6582m chipset and i want to port ctr for my device but i am not getting and recovery developed for mt6582m devices
Please write a new guide for Qcom Chipset !
Sent from my redmi note 4 using xda Forums PRO

Categories

Resources