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

Root Path 2 to Gingerbread

As tickerguy mentioned there may be a second path to stock Gingerbread:

Incidentally a side project for someone who wants to get inventive would be to take the Cherry nb0 file that others report works except for the radio (DO NOT FLASH THIS UNDER ANY CIRCUMSTANCES AS IT SITS - IT WILL REPARTITION YOUR PHONE AND IF YOU DO THAT YOU ARE SCREWED!), extract the system.img (easy), splice in the Motorola kernel, rild, and ril libraries (fairly easy) and make a Clockwork out of that. None of that's particularly hard and shouldn't take more than a handful of hours to do and test. There's a non-zero chance that works right out of the box. If it fails, however (if it's going to fail it will be on the radio) it's a total dead end. I'm not inclined to do it but if someone wants the kernel I built and RIL bits I can package those up into a zip and stuff 'em somewhere or explain how to do it if you just make a system.img that Clockwork can flash, then use that plus the existing file I uploaded. If you want to chase this path please do not pollute this thread with it - start a new one, and I'll help you there, not here

I'm opening this up to starting that. I've got the nb0 down, and as of now I'm just waiting on tickerguy to pop in with the rest.
 
  • Like
Reactions: rvarn1
Upvote 0
Ok, here's the deal.

Get the Cherry ROM.
Unpack it. Inside there's a file containing the phrase "system.img.ext3"
That's a FILESYSTEM. It can be mounted on a Linux machine with a "mount -o loop ...." command. It's also the ONLY file you want; it contains the entire /system area on a normal Android environment. The other files are things like the boot (kernel, etc) and the ones that screw you, the partitioning commands and the radio code.

Ok, now you need to figure out exactly what you have to do to unpack and then pack back up a Clockwork-flashable file. It normally requires the system.img (which you have) but you need to change a few things inside. I don't know the exact sequence to do this as I use the CM7 build tools that do it for me, and I've not looked closely at exactly what they do. You're on your own with this one.

Specifically, you need a kernel (to make the zImage from) that contains the correct drivers and you also need the library files for the radio.

I'm not sure EXACTLY which radio files you need. I know what the base ones are but not all of them. Some of this is trial and error.

So here's the kernel file (which will get turned into a zImage when you repack it) and both rild (goes in /system/bin) and the RIL libraries (4 files, go in /system/lib.) All are in this file:

triumph-files.zip

If you have trouble packing the "kernel" file into a zImage, grab that file out of my archive I posted the link to in the other thread.

Remember that when you flash your cooking that (1) YOU BETTER HAVE A BACKUP OF YOUR PHONE FIRST! and (2) you need to clear the data and cache partitions on the phone or I guarantee you will crash, because neither is going to be compatible with this load as a "leftover."

Now once you have something that flashes AND BOOTS, one of two things happens: It comes up or it doesn't.

If it does then you either have a radio or not. If you do, it works. Congratulations - make that up into a nice downloadable file and call yourself a wizard!

If you have no radio (quite possible) or it doesn't boot (less likely), then it's on to the next step:

If it DOESN'T boot then you need to use "adb logcat" to see where it's dying. There are two possibilities:

1. It's dying because something is either missing or faulting out that is detonating the primary Android VM. You'll see what it is in the logcat that's faulting it. In this case you may never see anything beyond the splash screen. Be aware that it scrolls by fast and you probably need to capture it to a file and go digging for what's blowing up. It may not be obvious. If the phone boots but the radio doesn't work you can use "adb logcat -b radio" to isolate only radio-related messages, but if it doesn't boot then you need to look at the whole thing because the kernel (if you packed it correctly back into the archive) **absolutely will** boot - it's the one that I'm using in the archive now. As such if you get absolutely nothing (you can't adb into it) odds are VERY high you screwed up as I know the kernel in that package is good and will boot.

2. It (the radio) is dying because the RIL code won't talk to the rest of the load. In this case you'll see something about the radio in the logcat related to whatever the error is and it will refuse to come online. This is not unlikely, incidentally, given what I discovered in the framework of CM7, so don't be surprised if you wind up here. If you do, you're screwed since you don't have source to the Cherry ROM and you need it to fix it.

If #1, find the missing bits in the file I uploaded to the other thread a couple of days ago and start "adb push"ing them. You will have to adb shell into the phone and remount the area you want to write to as writable first. You may find the magic combination and you may not, but this is the path you use to see if you can get it to work.

If #2 odds are extremely high you're hosed.
 
Upvote 0
Ok, here's the deal.

Get the Cherry ROM.
Unpack it. Inside there's a file containing the phrase "system.img.ext3"
That's a FILESYSTEM. It can be mounted on a Linux machine with a "mount -o loop ...." command. It's also the ONLY file you want; it contains the entire /system area on a normal Android environment. The other files are things like the boot (kernel, etc) and the ones that screw you, the partitioning commands and the radio code.

Ok, now you need to figure out exactly what you have to do to unpack and then pack back up a Clockwork-flashable file. It normally requires the system.img (which you have) but you need to change a few things inside. I don't know the exact sequence to do this as I use the CM7 build tools that do it for me, and I've not looked closely at exactly what they do. You're on your own with this one.

Specifically, you need a kernel (to make the zImage from) that contains the correct drivers and you also need the library files for the radio.

I'm not sure EXACTLY which radio files you need. I know what the base ones are but not all of them. Some of this is trial and error.

So here's the kernel file (which will get turned into a zImage when you repack it) and both rild (goes in /system/bin) and the RIL libraries (4 files, go in /system/lib.) All are in this file:

triumph-files.zip

If you have trouble packing the "kernel" file into a zImage, grab that file out of my archive I posted the link to in the other thread.

Remember that when you flash your cooking that (1) YOU BETTER HAVE A BACKUP OF YOUR PHONE FIRST! and (2) you need to clear the data and cache partitions on the phone or I guarantee you will crash, because neither is going to be compatible with this load as a "leftover."

Now once you have something that flashes AND BOOTS, one of two things happens: It comes up or it doesn't.

If it does then you either have a radio or not. If you do, it works. Congratulations - make that up into a nice downloadable file and call yourself a wizard!

If you have no radio (quite possible) or it doesn't boot (less likely), then it's on to the next step:

If it DOESN'T boot then you need to use "adb logcat" to see where it's dying. There are two possibilities:

1. It's dying because something is either missing or faulting out that is detonating the primary Android VM. You'll see what it is in the logcat that's faulting it. In this case you may never see anything beyond the splash screen. Be aware that it scrolls by fast and you probably need to capture it to a file and go digging for what's blowing up. It may not be obvious. If the phone boots but the radio doesn't work you can use "adb logcat -b radio" to isolate only radio-related messages, but if it doesn't boot then you need to look at the whole thing because the kernel (if you packed it correctly back into the archive) **absolutely will** boot - it's the one that I'm using in the archive now. As such if you get absolutely nothing (you can't adb into it) odds are VERY high you screwed up as I know the kernel in that package is good and will boot.

2. It (the radio) is dying because the RIL code won't talk to the rest of the load. In this case you'll see something about the radio in the logcat related to whatever the error is and it will refuse to come online. This is not unlikely, incidentally, given what I discovered in the framework of CM7, so don't be surprised if you wind up here. If you do, you're screwed since you don't have source to the Cherry ROM and you need it to fix it.

If #1, find the missing bits in the file I uploaded to the other thread a couple of days ago and start "adb push"ing them. You will have to adb shell into the phone and remount the area you want to write to as writable first. You may find the magic combination and you may not, but this is the path you use to see if you can get it to work.

If #2 odds are extremely high you're hosed.
thanks... hope I wan't bugging you! also, my computer failed to download everything, because my home internet crashed. tethering to my phone, so I don't wanna download a whole bunch of stuff. Hope somebody gets this working... :S
 
Upvote 0
That's ok.... I'll help where I can on this, but it isn't my primary attention for obvious reasons - I'm after the CM7 port right now, at least until I determine that it's a fruitless endeavor (and I'm NOT anywhere near there at present.)

If you're reasonably comfortable hacking on phones, the above should be enough to get you in the game. From there, it really is a "hack on it" sort of thing - observe, try things, etc. Without source that's all you have.
 
  • Like
Reactions: rvarn1
Upvote 0

BEST TECH IN 2023

We've been tracking upcoming products and ranking the best tech since 2007. Thanks for trusting our opinion: we get rewarded through affiliate links that earn us a commission and we invite you to learn more about us.

Smartphones