custom rolled CWM won't boot
I wanted to take a crack at testing a fix for USB mounting in CWM on the Acer but the recovery.img that I built wouldn't boot (stuck at acer logo). Here are details, that I did from memory. Perhaps I missing something obvious:
$ curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo && chmod +x ~/bin/repo
$ mkdir ~/DROUD && cd ~/DROID
$ repo init -u git://github.com/CyanogenMod/android.git -b ics
$ repo sync
$ . build/envsetup.sh
# I didn't see anything picasso* ie. picasso_e so I picked:
$ lunch full-eng
At this point my plan is to take the new recovery and repackage it.
$ make recovery
This takes a little bit and succeeds:
Notice file: bionic/libstdc++/NOTICE -- out/target/product/generic/obj/NOTICE_FILES/src//system/lib/libstdc++.so.txt
Notice file: bionic/libm/NOTICE -- out/target/product/generic/obj/NOTICE_FILES/src//system/lib/libm.so.txt
So now when I try to boot recovery it hangs at logo, last line printed is Booting recovery kernel image.
$ cd ~/work
$ unpack-bootimg.pl cwmrecovery.img
$ cp ~/DROID/out/target/product/generic/system/bin/recovery ./cwmrecovery.img-ramdisk/sbin/
$ mkbootfs ./cwmrecovery.img-ramdisk | gzip > cwmrecovery.img-ramdisk.cpio.MOD.gz
$ mkbootimg --kernel cwmrecovery.img-kernel.gz --ramdisk cwmrecovery.img-ramdisk.cpio.MOD.gz -o recovery.MOD.img
$ adb reboot-bootloader
$ fastboot flash recovery recovery.MOD.img
04-05-2012 08:54 PM
Maybe i'm missing something, but it looks like your repacking it with the same kernel that was unpacked from the one you built. Try plugging in the a zimage from hbwealch's recovery.
Sent from my SPH-D710 using Tapatalk
A500 running FlexReaper R10
A200 temporary development device
Epic 4G Touch running ICS Blend
No I didn't build cwmrecovery.img that is your recovery image provided by Acer Recovery free edition. I unpacked that because i knew it had hbwelches kernel + CWM 5 ramdisk. All i think I have done is roll a new sbin/recovery.
the init. files in the ramdisk are specific take a look at those...
Now it could be that this approach too generic? Even though I am repacking the compiled sbin/recovery w/a good kernel and ramdisk there may be some device specific things sbin/recovery needed during compile? Any compile example I have seen for CWM people have device specific make files and in those cases cases it generates a full recovery.img.
I can flash cwmrecovery.img as is and boot fine. Should I still expect that something would need to change if I simply pack in a freshly compiled sbin/recovery binary?
Originally Posted by hbwelch
Last edited by acertabuser; 04-05-2012 at 09:58 PM.
I can't test this yet, but I'm wondering if the unpackaged kernel (produced by unpack-booimg.pl) actually needs to be gunzip'd so that it is a regular zImage before doing the repack.
it is a zimage just renamed...
Originally Posted by acertabuser
Ok. I was able to use my created cwmrecovery.img-ramdisk.cpio.MOD.gz ramdisk + emulator kernel in emulator just fine. I did another mkbootimg test and I had same lockup using your zImage. Maybe their is something wrong with my mkbootimg command? such as I need to make use of the --cmdline switch to specify init= and some such.
My Brain Hurts: Porting Clockwork Recovery to New Devices
this is how I got recovery going on the 200... now granted I had spent a lot of time digging around to over come problems that I ran into but this is how it got done...
Here was the command that worked:
Your link mentioned mkvendor.sh and when messing around with that I discovered a new unpackbootimg binary which unpacked things with more information:
mkbootimg --kernel cwmrecovery.img-zImage --ramdisk cwmrecovery.img-ramdisk.gz --base 0x10000000 --pagesize 2048 -o recovery_new.img
cwmrecovery.img-base cwmrecovery.img-cmdline cwmrecovery.img-pagesize cwmrecovery.img-ramdisk.gz cwmrecovery.img-zImage
$ cat cwmrecovery.img-base
$ cat cwmrecovery.img-cmdline
$ cat cwmrecovery.img-pagesize