• After 15+ years, we've made a big change: Android Forums is now Early Bird Club. Learn more here.

ROMs Some assistance with ROM development

Pienats

Lurker
Hi,

The company I work for is planning to build a device based on an Android phone in the next 2 or 3 months, and I've been tasked with looking at the Android side of things.

We don't currently have the hardware yet, and since said hardware will probably be new and/or custom, I doubt any special tools out there will work for me. To try and get a grip on the whole Android ROM way of things, I decided to play around on my old HTC Desire (Bravo) GSM.

(Sorry, I can't past any links yet)
So far I've cloned the AOSP code from Google (GB 2.3.7) and tried to follow the XDA University guide on porting-aosp-roms-using-source-code, using the github CyanogenMod repos for the HTC desire (android_device_htc_bravo, android_device_htc_bravo-common) and the opendesire vendor repo for the HTC desire (android_vendor_htc_bravo) as per the XDA University guide.

Next I modified the build system files based on what I could glean from the "passion" device in the AOSP repo (the Google Nexus One which is almost identical to the HTC Deisre). And finally got the "bravo" code to complete building with the various partition images.

My problem though is, that depending on how I try to change the build system files, I still can not get a working boot. So far I've had 3 situations:
- Boot up to the device displaying "android" but it's stuck there
- Boot loop with only the HTC splash screen
- Boot stuck on the HTC splash screen

The flashed recovery just shows an android on it's back with the exclamation-triangle. I am, however, able to flash a different recovery to get ADB access to the device.

I have S-off on my device (as I previously had CM 7 running on it), and flashes complete successfully as per the AOSP guide.

One forum post (I forget which forum) suggested getting the recovery.log before rebooting, but as I am flashing with fastboot (and the "flashall" command causes an automatic reboot), I'm not sure if this is even possible.

Any pointers on how to get debug info, or even prior experience with this situation and what can be wrong will be greatly appreciated.

Regards,
Pienats
 
Do you have any prior linux experience? I think the ramdisk is incomplete or just wrong. It takes a little tweaking on that part to get it booting
 
While I don't consider myself an expert, I do have a fair amount of Linux experience, using Gentoo on a daily basis.

Is there a way I can check if the ramdisk is complete? Or can you point me to some material on how to tweak it? I have to admit that I've never played with ramdisk images before. I'll do some googling on that.
 
While I don't consider myself an expert, I do have a fair amount of Linux experience, using Gentoo on a daily basis.

Is there a way I can check if the ramdisk is complete? Or can you point me to some material on how to tweak it? I have to admit that I've never played with ramdisk images before. I'll do some googling on that.

There are tools to unpack/repack boot images.
The tools I use are here:
http://dt11.net/rbheromax/tools
Most of those are 64bit binaries
From there, you try to locate the problem. Which could be ANYTHING. This is the hard part of development. If you can, can you post a link to the boot.img?
 
You can extract the boot.img with either unmkbootimg or abootimg and then move the ramdisk to another dir (initrd.img or initramfs.cpio.gz) and extract using command:
gunzip -cd | cpio -i

And view the files there
 
Done that and busy comparing with the ramdisk from a clockworkmod recovery image that works on the device.

For the most part so far, most things seem to be OK. The kernel in the two images differ though, and some of the rc script contents. Busy playing around with that now.

Thank you once again for the tools, gave some useful insight. I'll post again if I have some questions worth asking for or if I find something obvious. :)
 
Back
Top Bottom