can't unpack boot.img or recovery.img - Android Q&A, Help & Troubleshooting

This post continues my quest to get android 5.0 for my Onida TV
since there was no info on this TV,
I decided to go digging around
I used ADB to pull the recovery block device and the boot block device into recovery.img and boot.img respectively
then I tried to use AIK unpack script to unpack them (It didn't work)
then I scanned the Interwebs for more unpacking scripts to try to unpack the images
none of them worked
I saw in many posts people saying that there need to 'ANDROID!' at the start of the boot image but I checked using dhex if there was anything like that. and there wasn't
Is it possible that the boot image is encrypted?
Or have I done something wrong?

Related

reduce bootimage size

I used Cm 13 sources to build a bootimage for my device and everything compiled without any serious error, but i got a very large boot image 8 megabytes. I tried flashing it via TWRP but it constantly gave me error saying bootimage too large for the device.
I also forced flash the bootimage that resulted into a bricked any help would be great
My device is Samsung vibrant
Now im currently compiling the entire rom
try
http://k.japko.eu/boot-img-manipulation.html
or
Okay, first off, let me tell you I'm not at all familiar with your device...so, instead of specifically answering your questions (which would be dangerous/irresponsible of me to have you do something for which I cannot be sure of or vouch since I don't have experience with your device), I'll try to give you some general information (it does seem like you have a good grasp of many of the concepts for getting where you want to go, so maybe I can just fill-in some gaps ).
1. Regarding renaming initlogo.rle to initlogo.rle.old: I'm not sure that doing that will change the splash screen or break something when it goes to look for the initlogo.rle file (a special image file). As you've probably researched, these files are a bit odd and are not just simple image files we're all used to dealing with. I've never successfully been able to create a new initlogo.rle file on my previous attempts a few years back.
2. When you re-pack a bootable image file (boot.img or recovery.img), you need:
- re-pack the updated ramdisk to a new ramdisk.gz file
- rebuild the .img file using mkbootimg utility, specifying the kernel file and the updated ramdisk.gz file
- it's might also be important / necessary to specify the base boot address using the --base <address> parameters when issuing the mkbootimg command where <address> is the base boot address of your device; your bootable image split/unpacking utility should tell you what it sees that the base address is; here is the information I saw when I unpacked the boot.img file that you supplied in your first post:​
[email protected] ~/boot-img-split-tools/ameen
$ ../split_boot.pl boot.img
Page size: 2048 (0x00000800)
Kernel size: 9600396 (0x00927d8c)
Ramdisk size: 1313051 (0x0014091b)
Second size: 0 (0x00000000)
Board name:
Command line: 'console=ttyS0,115200 rw init=/init loglevel=5'
Base address: (0x40000000)
Writing boot/boot.img-kernel ... complete.
Writing boot/boot.img-ramdisk.cpio.gz ... complete.
Unpacking ramdisk... complete.
[email protected] ~/boot-img-split-tools/ameen​
- not having properly set the base boot address might explain why your device didn't boot
- not properly re-packing the ramdisk might explain why your device didn't boot
- not properly rebuilding the bootable image (using the mkbootimg utility)​
3. I kind of understand what you were trying to do by changing the the .md5 file...I'm guessing that you calculated a new MD5 sum of the new boot.img file thinking that would help CWM restore it; that probably doesn't matter unless you've got the MD5/checksum verification enabled; asking/using CWM to restore / install your boot.img is an interesting and non-traditional way of doing that
4. Is the CWM custom recovery specifically built for your device? I did a quick search for it and couldn't find anything. You do indeed need a custom recovery that is built specifically for your device and it's hardware & partition / filesystem layouts and sizes. Just want to make sure that you were aware of that...using the "wrong" custom recovery might be "problematic" (bad).
Edit: I think I might have found which one you used? http://forum.xda-developers.com/showthread.php?t=2189640
5. If you had previously booted into custom recovery on your "broken" device, you still should be able to re-flash or re-launch the custom recovery in the same way that you originally did, yes? The boot and recovery partitions should be separate--so, if you only messed with the boot partition, then you should be okay--unless you've got an incompatible custom recovery that overwrote important things (like your recovery partition...).
I hope that helps...I know I didn't touch on all of your questions...that's probably enough for this post and for what follow-up questions you might have .
Cheers!
source
http://androidforums.com/threads/help-with-boot-img.963358/
I dont have much knowledge about building bootimage but while i was compiling the bootimage i got an error saying no rule to make busybox flash image. So i just copied those file from kernel sources to the out directoru i dont know if that was the problem. Also i had tried using omni 6 sources a few days back i got the right bootimage size but none of my bootimages would bootup my device. Everytime id flash the omni bootimages i got a buggy twrp recovery(faded colors, unreadable text and bootloops. Also regarding the recovery you mentioned there were some dev that built omni lollipop for my device i used TWRP 2.8 to flash all the bootimages

Boot.img or system.img unpack / repack, different size, odin fails, no boot

Well, as the title sugests, I've tried to root my phone (Samsung Galaxy J1 SM-J100MU) and failed. Since no twrp or any other custom recovery is made for my specific model, I tried the method that involves mounting the android systems and modifying the famous build.prop, or putting su binaries inside the /system folder.
I ran an unpack script from ubuntu to decompress the boot file, and simg2img to be able to mount /system following some guides I've found, and made use of mkbootimg to repack it and flash it.
The thing is that the phone won't boot because the modified boot image size differs from the original. The system also differs but Odin won't even flash it and I'll have to reflash the stock rom.
Any ideas about what it can happen? I get no apparently errors during the process of unpacking/repacking the images so I don't know. The only thing I can think of is that the unpack script says something like "There's an extra file in ramdisk; though this file can exist, the script is not made for this type of ramdisk", so I edited the script in order to skip this warning, and everything else went well. The bootimg got unpacked and then the ramdisk and then I modified default.prop.
Well, that's it, I hope you can understand and give me some help in order to proceed.
Thank you in advance.

Getting boot.img

I was looking to attempt to root a phone (Asus zenfone v520kl) and stumbled upon a problem that I am stuck on and can't find a solid answer to.
Basically, the phone's bootloader is now unlocked and has the WW 3.3 firmware ( https://mega.nz/#!l7wBlQ4B!uB63yH5Rir24GaSfDMWKowqdz-N_sc6SJ-q1WuuGiqM/ ). I was planning on patching the boot.img with MAGISK but 7-Zip does not properly extract boot.img from the .raw file. (boot.img, system.img, cache.img and recovery.img end up with erros and their file size ends up with 0 after extracting. Most of the other img seem to extract just fine.)
So my questions:
1) is there another program that might be able to extract the .raw file. Suggested ways was 7zip or rename extension to .zip and extract which doesn't work either. Also downloading from different websites yield the same problem as they all seem to be the same file. If not,
2) Might there be a way to extract boot.img from the phone itself. (Making matters worse, the phone doesn't have root access and booting to recovery doesn't work. There is also no TWRP for this phone. I did try using TWRP for zenfone 3 deluxe for fun, but that ends up with a black screen.)

Boot Logo

I finally changed the boot logo in my phone. By keeping permissions the same and not extracting the the whole param file... and root because i am lazy.
Take the .zip from the end of the file name and paste the poison simply as PARAM and reboot and enjoy your new green logo. Of course back up original.
Permissions should not be an issue and i attached a screen of the file info i took prior to editing it.
I forgot to say what i used to change the logo.jpg
Linux and xarchiver utility. Extracted and replaced with my image and set permissions. Checked to make sure file size was similar and proper resolution and that's it. Hope to figure a way to flash it soon so i can wreck stuff faster.
Ah... probably should mention to do this NOT on stock ROM or at all. The more i read on it the more stupid it is to mess with this area unless you know what you're doing. I'll leave it up but don't think anyone should try it.
Ok! I hope this is useful because i've been able to change the initial image with perhaps a MUCH safer way.
Using Linux, i installed Heimdall.
I extracted stock ROM within Linux and used Ark to extract what the Mint archive wouldn't.
Already i had prepared my 2220x1080 jpg to 75 kb and simply deleted logo.jpg within param.bin while viewing with Xarchiver. I did not extract the param.bin file. Then i added my logo.jpg and closed up Xarchiver. The new logo.jpg was also set to r--r--r-- before insertion.
Then, with phone plugged in while in download mode (usb enabled prior in dev options and tested of course)... opened up the terminal from the folder containing param.bin and typed:
sudo su
Heimdall flash --PARAM (dragged param.bin into terminal window and hit enter)
Device booted with new image and then into twrp. I figured a cache wipe was needed so i did that and all was good. Would like to know if this is a horrible idea. Just using rooted stock ROM with twrp.
I posted the image... but of course my phone didn't change anything at the bottom. No way.
Does the image need to be the same file size i have tried making my own logo but it does not really work

How to convert PhoenixSuit image format?

Hello all,
I'm new to xda forum, so apologies if anything isn't formatted right or if this is in the wrong place.
I'm working with an Android device that uses the Allwinner A64. I've got an image (*.img) file that is from the device manufacturer. Ultimately, my goal is to be able to write a script that flashes the device without having to press any buttons from a Linux computer.
That seems like it should be pretty simple if you have the correct image file.
1. adb reboot bootloader
2. fastboot flashall <image.zip>
Unfortunately, the image that I have from the device manufacturer is in some kind of PhoenixSuit image format. I was able to unpack the file using imgrepacker (https://forum.xda-developers.com/showpost.php?p=28329544&postcount=1) but it gave me a bunch of *.fex files that I'm not sure what I can do with.
Using this image, I've been able to flash the device using PhoenixSuite on Windows and LiveSuit on Linux, but both of these tools are close sourced (as far as I can tell) so I can't figure out how they are doing it to write my own script.
So my question is:
1. How can I convert the PhoenixSuit image that I have into something that works with flashboot flashall?
2. If thats not possible, how can I script something that will flash on Linux using the image in its current format?
Thanks a ton!

Categories

Resources