New Cyanogen ROM, differences for Hero CDMA? - Hero CDMA General

I'm new to Android but not new to Linux and wondering what is necessary to get these ROMs (and others) working on the CDMA Hero. What are the major differences, proprietary drivers? Kernel modules?
New Cyanogen ROM, just released
http://forum.xda-developers.com/showthread.php?t=567610
In other words, what's stopping us from running these ROM's right along with G1/Dream users?

I'm curious also... would love to try his roms...

Since Android 1.6 was supposed to add CDMA support I would think they should work as well as 2.0 unless the developers have taken the cdma support out of the code in their roms to shrink the size to fit on the G1's.
If I had a Hero I would be giving it a try most likely. I might try picking one up this week since Best Buy has them down to $99. I just wish it had a keyboard.

I'll try when I get home from work.
On a side note, even if this rom doesn't work, I should be able to boot into the recovery rom no matter what... riiiiiiight?

herzzreh said:
I'll try when I get home from work.
On a side note, even if this rom doesn't work, I should be able to boot into the recovery rom no matter what... riiiiiiight?
Click to expand...
Click to collapse
Correct! The recovery image isn't touched by normal ROMS typically.

I'm tempted. Can this be applied right over the MoDaCo ROM?

I have tried a couple things with these. I tried flashing it outright. Wouldnt get past the initial htc boot screen. So I replaced the kernel in the boot.img of Cyans rom with ours, that still didnt work. Then I tried replacing the entire boot.img and still no boot working. I think Donut uses the 2.6.29 kernel or whatever it is. Ours is .27 so I think we would need to recompile the .29 kernel and pray our drivers work with it. Please, someone else try it too and see if they can get it working. I would love you forever if you could. If not, we will just have to wait until HTC gets us Eclair.

Thanks
Thanks for trying this, chuckhriczko and others.
I'm mainly coming at this from the pure Linux point of view: shouldn't these ROM's run anywhere (barring proprietary bits)? Shouldn't we be able to "share and share alike" between platforms, Hero/Dream/G1/whatever? If there is a chip architecture difference, fine then we need a recompiled kernel. Obviously there is also the question of firmware, but that's a given on all phones.
Otherwise, shouldn't these ROM's be fairly universal? Or if they are not, I'd like to know what makes ROM building such a unique endeavor for each phone.

5tr4t4 said:
Thanks for trying this, chuckhriczko and others.
I'm mainly coming at this from the pure Linux point of view: shouldn't these ROM's run anywhere (barring proprietary bits)? Shouldn't we be able to "share and share alike" between platforms, Hero/Dream/G1/whatever? If there is a chip architecture difference, fine then we need a recompiled kernel. Obviously there is also the question of firmware, but that's a given on all phones.
Otherwise, shouldn't these ROM's be fairly universal? Or if they are not, I'd like to know what makes ROM building such a unique endeavor for each phone.
Click to expand...
Click to collapse
I believe it's mostly the proprietary drivers for some of the hardware as well as needing a kernel recompile...once HTC releases the CDMA kernel, I'm sure we'll see a lot more (that or some genius will reverse engineer it...either way!)
The other thing to consider is that most of these ROMs are based on something...they take what's existing and tweak the heck out of it (I'm willing to bet that the vast majority of ROMs can trace their roots back to an official vendor image at some point).
I'm actually trying to setup a build environment and poke around but I'm starting from ground zero on the mobile platform side of things so I wouldn't hold out for me (and finding a Java 1.5 runtime is surprisingly hard these days ).
I'm noticing that we're seeing more and more ROM's pop up (primarily gutted ROMs focussed on eeking more speed as opposed to MoDaCo who went for more features).

thecodemonk said:
I believe it's mostly the proprietary drivers for some of the hardware as well as needing a kernel recompile...once HTC releases the CDMA kernel, I'm sure we'll see a lot more (that or some genius will reverse engineer it...either way!)
The other thing to consider is that most of these ROMs are based on something...they take what's existing and tweak the heck out of it (I'm willing to bet that the vast majority of ROMs can trace their roots back to an official vendor image at some point).
I'm actually trying to setup a build environment and poke around but I'm starting from ground zero on the mobile platform side of things so I wouldn't hold out for me (and finding a Java 1.5 runtime is surprisingly hard these days ).
I'm noticing that we're seeing more and more ROM's pop up (primarily gutted ROMs focussed on eeking more speed as opposed to MoDaCo who went for more features).
Click to expand...
Click to collapse
What OS are you using? If your using a Debian based linux then you can get it from the Debian Lenny repositories. One word about this though, it killed my existing Java 1.6 so I had to reinstall it when I needed it. Otherwise that works.
And yeah, we are primarily doing gutted roms because that is all we know up to this point. It is very difficult to find help from those who know all about recompiling a kernel and things like that. Like I said, I couldnt get Cyanogen to even boot on my phone but obviously, it should at the very least do that. But only one dev on these forums ever helped me with my CDMA roms and that was Mlign from the Dream forums. Everyone else (understandably busy) ignored me. Im not saying anything bad about them but it's just harder for people to learn. Patience will give us what we desire though.

vendor tree for cyanogen heroc
im a noob and dont know how to build it but its here:
http://github.com/darchstar/vendor_cyanogen_heroc

Thread gravedigging much?

yes haha i want cyanogen on my hero lol

Related

HTC Hero ROM Changed To Magics'

Hello,
I would like to change the HTC Hero's firmware/ROM to match that of the HTC Magic's firmware/ROM. My phone is CDMA, but I'm hoping that somehow, someway it is possible to do this. My reason for wanting this is so that I can finally do mods, like Cyanogen, since the CDMA Hero isn't really that widely supported, yet.
Thanks in advance for any help,
Tyler
Any new ROM will have to be CDMA, you can't change that since it has to do with phone hardware.
I have been.trying to port over gsm roms forever and.with no luck. Theoretically its possible but I haven't the faintest idea how.
Well, then I guess I have to resort to my last and great question. Since I'm stuck with my Hero, unless I go T-Mobile, how long, do you guys suspect, that it will take for more support to role out, like there is for the Magic? I ask because I'm wanting to know rather, or not there is a lot of development happening for the Hero because I really want great functionality and mod availability. At this point, if the answer is "not a lot", I may just drop the Hero for the Magic.
Thanks again for answering my questions,
Tyler
thejedislayer said:
Well, then I guess I have to resort to my last and great question. Since I'm stuck with my Hero, unless I go T-Mobile, how long, do you guys suspect, that it will take for more support to role out, like there is for the Magic? I ask because I'm wanting to know rather, or not there is a lot of development happening for the Hero because I really want great functionality and mod availability. At this point, if the answer is "not a lot", I may just drop the Hero for the Magic.
Thanks again for answering my questions,
Tyler
Click to expand...
Click to collapse
So you're saying you're "STUCK" with a month and a half old phone, unless "more people start supporting it"? i.e. People spending their free time creating mods for the Hero, so that you can get it for free? And if people aren't going to do mods and features for free in the near future, then you're just going to get rid of your Hero and go to T-Mobile for the Magic because it has people who are dedicated to releasing software they dont get paid to spend time working on? Seems like a lot of complaining about something that is completely voluntary, nobody has to work on any mods and nobody has to support any device. If you want to drop your Hero, just do it already. Nobody wants you to keep using it, nobody is forcing you to keep using it. Just do it already, nobody cares to read threads like this.
Wow, you took what I said and totally blew it out of proportion. The reason I wanted to get Android was because I wanted to be able to do things, like root my Android device. I fully support developers in their endeavor to develop applications, mods, ROMS, etc for all Android devices on their time. I do not, however, sit here and feel that the best idea to do is to whine and cry about support for my Android device not yet being fully supported or embraced. I simply asked rather, or not heavy development was going to happen in the near future, so as to ascertain a good decision on rather I should switch. That way I could get the full and best support and benefit from my personal experience with Android. I am not a developer. I've only gotten into this, so I was simply curious as to how development was coming along for the Hero at this time, and rather it may have been a better idea to just switch. Sorry To Have Offended The Offended.
**EDIT**
And understandably, having reread what I wrote, I can understand how what I said may have come off as a little dickish; however, it was not my intention, nor was it my wanting to cause a conflict.
thejedislayer said:
Wow, you took what I said and totally blew it out of proportion. The reason I wanted to get Android was because I wanted to be able to do things, like root my Android device. I fully support developers in their endeavor to develop applications, mods, ROMS, etc for all Android devices on their time. I do not, however, sit here and feel that the best idea to do is to whine and cry about support for my Android device not yet being fully supported or embraced. I simply asked rather, or not heavy development was going to happen in the near future, so as to ascertain a good decision on rather I should switch. That way I could get the full and best support and benefit from my personal experience with Android. I am not a developer. I've only gotten into this, so I was simply curious as to how development was coming along for the Hero at this time, and rather it may have been a better idea to just switch. Sorry To Have Offended The Offended.
Click to expand...
Click to collapse
There are many threads with people making their own roms, and modifications are being made to the hero by various people. Heavy development like going to 1.6 or 2.0 will most likely not happen by any developer, but by HTC itself. Once they release a new version, people will make a new rooted ROM with all the changes. For a fairly new phone, it got rooted fairly quickly (within a month of being released or so). It hasn't even been rooted all that long yet. All of this information is available in various threads. In the end its your decision on if you can wait or not to receive updates. Bleeding edge isn't always the best choice for everybody. If you prefer bleeding edge, perhaps you did get the wrong phone because there will likely be much more activity with, say, the Droid. But as for apps, there should be tons and tons of more apps coming available for the android platform as time goes on. I just cant see why you would want to switch phones based on a really short time period of it being out, jumping ship because it hasn't been hailed and given 100% attention by tons of developers yet. Honestly, as more android phones are released, I think more people will start developing for them and the android community itself will continue to grow. There are still some 7 year old Casio devices that receive updates, if you can believe that.
In all honesty, I knew I was a little quick to jump the gun when I said rather, or not it was a good decision to move from the Hero to the Magic. Again, this is all really new to me. In my mind, my main concern was that because of the Hero's Sense UI, this would make it a lot harder for developers, like Cyanogen Mod, to keep the Hero up-to-date with the rest of the older Android devices. The Magic, seeing it being a lot more supported in just three short months since its debut, made more sense to me to possibly move to. As it had tons of development happening for it, and I simply wanted to be apart of the action.
wouldn't a 1.6 Rom work since it "supports CDMA" out of the box???
@ azfxstb
I took the liberty of looking around, and I ended up finding some links from HTC for 1.6 support. Link: http://developer.htc.com/google-io-device.html
According to the article, though, the next successive version relies on a previous version in order to update properly. In other words, in order to know I have full functionality and support, I would have to start from the beginning of the Magic's support and simply continue updating till I reach the newest update. I may be wrong, but if I'm not, then it may be something worthwhile considering, even if it's a hassle. Anyone have any thoughts about this method?
I'd say stick it out. The Sprint Hero hasn't even been out for 2 months and it is rooted and there are a couple of custom ROM's posted here. I've had my Hero for 2 weeks and have already tried numerous releases, and all have been very stable for me.
I'd love to see some of the improvements Cyanogen come over, and I'm sure they will eventually, but you have to remember how long of a time frame the Magic had to work with.
azfxstb said:
wouldn't a 1.6 Rom work since it "supports CDMA" out of the box???
Click to expand...
Click to collapse
We don't know that HTC's shoehorned CDMA support into 1.5 is compatible with the built-in CDMA support in 1.6. What that means is that there's a potential that even if we did get a 1.6 build on the phone, HTC's proprietary (i.e., not required to release source code for) software that sits between the Android framework and the linux kernel (which in turn talks to the hardware) might be speaking a different language that Android 1.6 can't understand. That's the problem with their hacked-together 1.5 build. Make note that I do not know this for certain, but it's certainly a possibility, and if that's the case, we'd have a broken phone until those HTC layers could be translated from hacked-1.5 to native-1.6.
That's why, as already stated above, those moves probably won't happen until HTC releases a 2.0 build (which means we might never see 1.6 run on this phone even after the 2.0 release, since we'll never have the HTC software that is written specifically for the 1.6 platform).
To break it down, the phone has 2 processors: ARM9 and ARM11. ARM9 runs the radio hardware, and the radio controls literally *everything* that makes this phone usable. Think of ARM9 like your computer's BIOS chip. Except in a very rare case of someone who really really wants to hack on their phone, the ARM9 will never be modified by us.
The ARM11 is the next layer, and that's what actually runs the OS, recovery images, etc. The ARM11 is able to communicate with the ARM9 using a series of two-way communication channels (shared memory) and hardware interrupts.
The linux kernel contains drivers that on one side talk to the ARM11 and other hardware in the phone, and then expose controls on the other side that allow the rest of the OS to work with those things (e.g., turn the screen on/off, register touches on the screen, play sounds, vibrate, make calls, etc).
For some things, that's enough to let Android take over and actually make use of some of those things (LCD, touchscreen, sound, ...). Still, there are other things that require intermediate controllers between the devices exposed by the kernel and Android. For example, "rild" is in charge of managing the modem as far as things like issuing commands to your carrier, getting online, telling the modem to make a call, finding out signal strength, etc. But HTC wrote their own ril that interacts with the modem -- and they aren't required (in fact, they're not allowed!) to release the source code for that, because a) it was developed using proprietary information given to them (under NDA no doubt) by Qualcomm, and/or b) it contains information that HTC themselves want to keep private, protecting their intellectual property, etc. There are several other userland libraries like that, which are NOT part of the kernel, and therefore are not required to be released as open source. Yet they are required for Android to work, as android will speak directly to those libraries, which translate the messages in order to communicate with the kernel, which communicates with the ARM11, which talks to the ARM9, which makes it happen.
The breakdown happens at the "android speaks to the libraries" step, because Android 1.5 speaks a certain language, and that's (potentially) different from the Android 1.6 language. Yes this phone is CDMA, and yes Android 1.6 has native support for CDMA... So, you say, putting Android 1.6 on the phone should "just work". But the HTC libraries that are on our phones are not designed for 1.6, they're designed for 1.5. And they're not even designed for the "standard" GSM 1.5, but for a "hacked" CDMA 1.5! If we put Android 1.6 on the phones, we could *try* to reuse the existing binary form of the HTC libraries, but if 1.5 and 1.6 talk different languages (most likely they do), the 1.5 version of the binary libraries are going to get confused and reject it. Then we're left with a 1.6 platform that can't talk to the 1.5 libraries, and we get major functionality meltdown. To be fair, it would be possible to write an additional translation layer that would convert the 1.6 messages into something that we "think" the 1.5 libraries will understand, but is it really worth the effort? (hint: it's not a small effort ) Then try doing the same with 2.0, and the potential for translation problems are even worse...
And not to mention, 2.0 also requires the 2.6.29 kernel, which (surprise, surprise), does not exist (for this phone) in the wild. We could theoretically get 1.6 running, since we already have a working 2.6.27 kernel (the phone shipped with it, and if we assume that the shipped kernel is "good enough", we can simply reuse it -- we already do that with the recovery image and even MoDaCo's rom). But as soon as we think about either modifying the kernel as it is, or god forbid, upgrading to 2.6.29, we hit a roadblock because we don't have the source code yet for the 2.6.27 kernel. Once that code is released, we could hypothetically port that support to 2.6.29. Or once HTC releases an Eclair build for this phone, it'll be guaranteed to have a ready-made 2.6.29 kernel buried inside, as well as the binary HTC libraries that are required for our phone. Until one of those two things happens (or, admittedly, someone reverse-engineers what's required... which quite frankly is not worth anyone's time considering we know that HTC *will* release both of those things eventually), Eclair is absolutely out of the question.
The short version (go ahead, admit it, you skipped to here even though I didn't put a "short version at the end" disclaimer at the top): 1.6 will absolutely require reverse-engineering the HTC libraries, just to get an already outdated (albeit still an upgrade) version of the OS on the phone -- not worth the effort. 2.0 will absolutely require reverse-engineering (both the kernel AND the binary libraries), just to get Eclair running on the phone maybe a couple weeks before HTC gives it to us on a silver platter -- And you're still likely to have a partially gimped phone at that point!
And the moral is: this **** is hard. HTC is already doing the work we need. HTC will make everything work "reasonably well". And they'll give it to us when they're done. Thus, no one *wants* to waste the effort doing it themselves. Ergo: we wait.
maejrep said:
We don't know that HTC's shoehorned CDMA support into 1.5 is compatible with the built-in CDMA support in 1.6. What that means is that there's a potential that even if we did get a 1.6 build on the phone, HTC's proprietary (i.e., not required to release source code for) software that sits between the Android framework and the linux kernel (which in turn talks to the hardware) might be speaking a different language that Android 1.6 can't understand. That's the problem with their hacked-together 1.5 build. Make note that I do not know this for certain, but it's certainly a possibility, and if that's the case, we'd have a broken phone until those HTC layers could be translated from hacked-1.5 to native-1.6.
That's why, as already stated above, those moves probably won't happen until HTC releases a 2.0 build (which means we might never see 1.6 run on this phone even after the 2.0 release, since we'll never have the HTC software that is written specifically for the 1.6 platform).
To break it down, the phone has 2 processors: ARM9 and ARM11. ARM9 runs the radio hardware, and the radio controls literally *everything* that makes this phone usable. Think of ARM9 like your computer's BIOS chip. Except in a very rare case of someone who really really wants to hack on their phone, the ARM9 will never be modified by us.
The ARM11 is the next layer, and that's what actually runs the OS, recovery images, etc. The ARM11 is able to communicate with the ARM9 using a series of two-way communication channels (shared memory) and hardware interrupts.
The linux kernel contains drivers that on one side talk to the ARM11 and other hardware in the phone, and then expose controls on the other side that allow the rest of the OS to work with those things (e.g., turn the screen on/off, register touches on the screen, play sounds, vibrate, make calls, etc).
For some things, that's enough to let Android take over and actually make use of some of those things (LCD, touchscreen, sound, ...). Still, there are other things that require intermediate controllers between the devices exposed by the kernel and Android. For example, "rild" is in charge of managing the modem as far as things like issuing commands to your carrier, getting online, telling the modem to make a call, finding out signal strength, etc. But HTC wrote their own ril that interacts with the modem -- and they aren't required (in fact, they're not allowed!) to release the source code for that, because a) it was developed using proprietary information given to them (under NDA no doubt) by Qualcomm, and/or b) it contains information that HTC themselves want to keep private, protecting their intellectual property, etc. There are several other userland libraries like that, which are NOT part of the kernel, and therefore are not required to be released as open source. Yet they are required for Android to work, as android will speak directly to those libraries, which translate the messages in order to communicate with the kernel, which communicates with the ARM11, which talks to the ARM9, which makes it happen.
The breakdown happens at the "android speaks to the libraries" step, because Android 1.5 speaks a certain language, and that's (potentially) different from the Android 1.6 language. Yes this phone is CDMA, and yes Android 1.6 has native support for CDMA... So, you say, putting Android 1.6 on the phone should "just work". But the HTC libraries that are on our phones are not designed for 1.6, they're designed for 1.5. And they're not even designed for the "standard" GSM 1.5, but for a "hacked" CDMA 1.5! If we put Android 1.6 on the phones, we could *try* to reuse the existing binary form of the HTC libraries, but if 1.5 and 1.6 talk different languages (most likely they do), the 1.5 version of the binary libraries are going to get confused and reject it. Then we're left with a 1.6 platform that can't talk to the 1.5 libraries, and we get major functionality meltdown. To be fair, it would be possible to write an additional translation layer that would convert the 1.6 messages into something that we "think" the 1.5 libraries will understand, but is it really worth the effort? (hint: it's not a small effort ) Then try doing the same with 2.0, and the potential for translation problems are even worse...
And not to mention, 2.0 also requires the 2.6.29 kernel, which (surprise, surprise), does not exist (for this phone) in the wild. We could theoretically get 1.6 running, since we already have a working 2.6.27 kernel (the phone shipped with it, and if we assume that the shipped kernel is "good enough", we can simply reuse it -- we already do that with the recovery image and even MoDaCo's rom). But as soon as we think about either modifying the kernel as it is, or god forbid, upgrading to 2.6.29, we hit a roadblock because we don't have the source code yet for the 2.6.27 kernel. Once that code is released, we could hypothetically port that support to 2.6.29. Or once HTC releases an Eclair build for this phone, it'll be guaranteed to have a ready-made 2.6.29 kernel buried inside, as well as the binary HTC libraries that are required for our phone. Until one of those two things happens (or, admittedly, someone reverse-engineers what's required... which quite frankly is not worth anyone's time considering we know that HTC *will* release both of those things eventually), Eclair is absolutely out of the question.
The short version (go ahead, admit it, you skipped to here even though I didn't put a "short version at the end" disclaimer at the top): 1.6 will absolutely require reverse-engineering the HTC libraries, just to get an already outdated (albeit still an upgrade) version of the OS on the phone -- not worth the effort. 2.0 will absolutely require reverse-engineering (both the kernel AND the binary libraries), just to get Eclair running on the phone maybe a couple weeks before HTC gives it to us on a silver platter -- And you're still likely to have a partially gimped phone at that point!
And the moral is: this **** is hard. HTC is already doing the work we need. HTC will make everything work "reasonably well". And they'll give it to us when they're done. Thus, no one *wants* to waste the effort doing it themselves. Ergo: we wait.
Click to expand...
Click to collapse
WOW...did you stay at a Holiday Inn Express last night????....J/K thanks for the in depth explanation

Roms and Kernels

Sorry for noob question (and PLEASE DONT FLAME ME BECAUSE OF THIS) but will roms/kernels for other devices work with the incredible? just wondering\
AND PLEASE, IF YOU THINK I AM A COMPLETE IDIOT FOR POSTING THIS THEN JUST KEEP IT TO YOURSELF
pretty sure they won't or people would be posting about which ones worked well and which ones didnt.
i think a rom has to have a certain amount of customization for the actual device it is going to be loaded on before it will work.
JustinD2473 said:
pretty sure they won't or people would be posting about which ones worked well and which ones didnt.
i think a rom has to have a certain amount of customization for the actual device it is going to be loaded on before it will work.
Click to expand...
Click to collapse
Thank you
How is your froyo port going to work if you didn't know this? Just wondering.
Sent from my ADR6300 using XDA App
grape ape---i did know, just confirmiing
rr12106 said:
will roms/kernels for other devices work with the incredible? just wondering
Click to expand...
Click to collapse
No, if you try to flash a rom or kernel made for another device you can brick your phone.
Captchunk said:
No, if you try to flash a rom or kernel made for another device you can brick your phone.
Click to expand...
Click to collapse
Or get stuck in boot loops
TNS201 said:
Or get stuck in boot loops
Click to expand...
Click to collapse
or explode in a ball of flame...
oh wait... that was mixing gasoline with new roms... and fire...
But yea, should probably avoid flashing roms for other devices without properly porting them.
Never flash a ROM that was meant for another device. You risk not being able to use the phone again.
And if anyone were to flame you for posting this questions they'd take a lot of crap from a lot of people for being a douche.
Don't ever be afraid to post a question
hexto said:
And if anyone were to flame you for posting this questions they'd take a lot of crap from a lot of people for being a douche.
Click to expand...
Click to collapse
Usually this is true, but the OP knew he was risking flame because he's claimed in other threads to be an experienced in building ROMs and knew how to port Froyo to the Incredible.
That doesn't really mesh well with his noob question here.
Reported. This again BELONGS IN GENERAL...man the second post in like 3 hours to be in the wrong section..
elborak said:
Usually this is true, but the OP knew he was risking flame because he's claimed in other threads to be an experienced in building ROMs and knew how to port Froyo to the Incredible.
That doesn't really mesh well with his noob question here.
Click to expand...
Click to collapse
However, he knows, as well as we, that he was over exaggerating on his original claims. We did encourage him to ask questions and learn, can't flame him for making an effort to go down the right path, ask questions, learn, experiment. I'd rather him ask questions, then post falsified claims of froyo builds etc. Much rather.
CaptainTaco said:
We did encourage him to ask questions and learn, can't flame him for making an effort to go down the right path, ask questions, learn, experiment. I'd rather him ask questions, then post falsified claims of froyo builds etc. Much rather.
Click to expand...
Click to collapse
True. Very true.
Thread moved to General.
rr12106 said:
Sorry for noob question (and PLEASE DONT FLAME ME BECAUSE OF THIS) but will roms/kernels for other devices work with the incredible? just wondering\
AND PLEASE, IF YOU THINK I AM A COMPLETE IDIOT FOR POSTING THIS THEN JUST KEEP IT TO YOURSELF
Click to expand...
Click to collapse
I've watched your posts, I know a few folks who are ambitious and think this whole "programming thing" is easy. I'll try to make this simple.
Think of it like this... I compiled an ultra small Kernel of Linux, I only compiled it for a specific computer so I built as much as I could for this specific computer into the kernel, AMD MP, Intel GPU and northbridge, USB 2.0... this way I didn't have to load Modules, it was part of the kernel.
When you install Unix, old school anyway, you are prompted for computer specs so it knows which pre-compiled kernel to select (AMD versus i586 versus i386... etc.) to run the best on your machine. These days it autodetects and makes it easy.
Android is a form of *nix so behaves the same... manufactures compile kernels specific to their devices so that they perform better.
Now, If I used an old Kernel that didn't support USB2 and only supported USB1 then I would be running slow at USB1 or would have to compile without USB at all and load a module that enabled support for USB2...
Android versions are being released with updated kernels for greater support of a wider variety of devices at the kernel level, less modules to load means a faster machine. Some functions still work better with poer saving setups as a module (802.11b/g/n for instance will almost always be a module).
"ROM" which means Read Only Memory are copies of modified kernels from the same device. If I copied the kernel from my machine to another it wouldn't work unless it was identical specs, even one item off and you get kernel dumps, it doesn't know how to talk to your hardware.
Get an idea of what is involved in compiling a kernel here: http://www.linuxforums.org/forum/linux-kernel/55612-mini-howto-compile-linux-kernel-2-6-a.html
I hope this helps you to see that even someone who knows BSD, Linux and Unix... with multiple certifications for Linux (and countless other platforms) and more than 20 years as an engineer... I won't touch making a ROM or trying to modify the bootloader. I wait for the people who know Android's OS, the way it's built, the way it functions... I allow these geniuses to build cool ROMs. I send them donations for their time as some have sent me donations on other forums for my time on other subjects.
It's not as easy as dropping "som 1337 romz" into some folder and presto, "i'z rokn FroYo homz"... it's so much more than that. Someone has to compile the kernel and get the hardware working... it's just easier to wait for the manufacturer to release an update and then find a way to gain root access to do what we want with it.
Additional note:
Check the latest kernel version of Linux here: http://www.kernel.org/
Go into settings and see what version your Doid's Kernel is.
I am going on a limb here but I'm pretty sure there is a correlation.
compnird said:
It's not as easy as dropping "som 1337 romz" into some folder and presto, "i'z rokn FroYo homz"... it's so much more than that.
Click to expand...
Click to collapse
LMAO!! Nice explanation, though.
compnird said:
I've watched your posts, I know a few folks who are ambitious and think this whole "programming thing" is easy. I'll try to make this simple.
Think of it like this... I compiled an ultra small Kernel of Linux, I only compiled it for a specific computer so I built as much as I could for this specific computer into the kernel, AMD MP, Intel GPU and northbridge, USB 2.0... this way I didn't have to load Modules, it was part of the kernel.
When you install Unix, old school anyway, you are prompted for computer specs so it knows which pre-compiled kernel to select (AMD versus i586 versus i386... etc.) to run the best on your machine. These days it autodetects and makes it easy.
Android is a form of *nix so behaves the same... manufactures compile kernels specific to their devices so that they perform better.
Now, If I used an old Kernel that didn't support USB2 and only supported USB1 then I would be running slow at USB1 or would have to compile without USB at all and load a module that enabled support for USB2...
Android versions are being released with updated kernels for greater support of a wider variety of devices at the kernel level, less modules to load means a faster machine. Some functions still work better with poer saving setups as a module (802.11b/g/n for instance will almost always be a module).
"ROM" which means Read Only Memory are copies of modified kernels from the same device. If I copied the kernel from my machine to another it wouldn't work unless it was identical specs, even one item off and you get kernel dumps, it doesn't know how to talk to your hardware.
Get an idea of what is involved in compiling a kernel here: http://www.linuxforums.org/forum/linux-kernel/55612-mini-howto-compile-linux-kernel-2-6-a.html
I hope this helps you to see that even someone who knows BSD, Linux and Unix... with multiple certifications for Linux (and countless other platforms) and more than 20 years as an engineer... I won't touch making a ROM or trying to modify the bootloader. I wait for the people who know Android's OS, the way it's built, the way it functions... I allow these geniuses to build cool ROMs. I send them donations for their time as some have sent me donations on other forums for my time on other subjects.
It's not as easy as dropping "som 1337 romz" into some folder and presto, "i'z rokn FroYo homz"... it's so much more than that. Someone has to compile the kernel and get the hardware working... it's just easier to wait for the manufacturer to release an update and then find a way to gain root access to do what we want with it.
Click to expand...
Click to collapse
Thanks...that helped alot
Sent from my Incredible using XDA App

[Q] Why can't we compile our own 2.2 OS?

Let me start by saying I'm fairly new to Android, and that this probably should go in a general Android forum, but since I'm a Fascinate user, this seems appropriate to me. I've searched, but haven't found a real explanation, and I'm not one to take things as fact without a reasonable explanation.
So it seems like everyone is waiting for an official 2.2 release for the Fascinate, flashing 2.1 ROMs but not capable of upgrading to 2.2+; but I'm wondering why we can't just compile our own OS for our phones? Android is a Linux-like OS, and I know Linux users would never stay on an old version if a newer (better?) version was available. I'm talking down-and-dirty tweak-every-option-by-hand Slackware here. Is the source available for download? If so, why can't we do something with it? Is something in the phone completely locked and unhackable? Is it the fear of having a $500 paperweight? Is it difficult to regain Verizon network connectivity?
Again, forgive the noob question, and thanks in advance for any help you can give me!
http://forum.xda-developers.com/showthread.php?t=792986
http://forum.xda-developers.com/showthread.php?t=883004
http://forum.xda-developers.com/showthread.php?t=882946
There is currently work being done by jt, birdman, and the other skew of developers trying to develop a working AOSP version of 2.2/2.3. The biggest struggle that they have encountered was the RIL (Radio Interface Layer) binaries. Samsung produced some bogus complex proprietary binaries with no properly working source code. Because this phone is CDMA and not GSM, we can't simply use galaxy s files.
Anyways, the point is that there is work being done to bring it to our phone. They have a working AOSP 2.1 that is currently in alpha stage. Jt basically built his own RIL for this phone to get it working.
If this RIL works, we may end up with 2.3 sooner than later.
eulipion2 said:
Let me start by saying I'm fairly new to Android, and that this probably should go in a general Android forum, but since I'm a Fascinate user, this seems appropriate to me. I've searched, but haven't found a real explanation, and I'm not one to take things as fact without a reasonable explanation.
So it seems like everyone is waiting for an official 2.2 release for the Fascinate, flashing 2.1 ROMs but not capable of upgrading to 2.2+; but I'm wondering why we can't just compile our own OS for our phones? Android is a Linux-like OS, and I know Linux users would never stay on an old version if a newer (better?) version was available. I'm talking down-and-dirty tweak-every-option-by-hand Slackware here. Is the source available for download? If so, why can't we do something with it? Is something in the phone completely locked and unhackable? Is it the fear of having a $500 paperweight? Is it difficult to regain Verizon network connectivity?
Again, forgive the noob question, and thanks in advance for any help you can give me!
Click to expand...
Click to collapse
You obviously have not searched hard enough, as this has been discussed in many places. I would suggest you start by searching this forum (edit: or seeing the links and posts above).
I will say, however, that recent achievements by (edit: the developers mentioned above) have made your suggestion quite possible. If you want to get a taste of what is to come, see the aosp alpha sticky located in the development section. The rom still has bugs, but it is a giant step forward for the Fascinate.
Sent from my Galaxy-S Fascinate
Florynce said:
http://forum.xda-developers.com/showthread.php?t=792986
http://forum.xda-developers.com/showthread.php?t=883004
http://forum.xda-developers.com/showthread.php?t=882946
Click to expand...
Click to collapse
^^^^^
10char
I must add/point out that the work these guys are doing could easily pave the way for Cyanogenmod- and other well-featured roms to be compiled/ported and used on Fascinate as well.
I've read the above links, but they didn't really quite answer my question. I guess I'm wondering why a Linux-based OS isn't acting/being treated like a Linux-based OS.
Let's say I go out and buy a new computer today. I want to put Linux on it. I get the machine home, download my distro of choice and make an install cd. As I'm installing, I configure the installation either for my specific hardware or I can use a generic profile if my hardware isn't listed.
Now say a new version of the Linux kernel comes out. I can upgrade without having to wait for a version for my hardware. Or if I install MyDistro v1 when I get my machine, and MyDistro v2 comes out the next day, I don't have to wait for someone to develop a version to work with my hardware.
So my question is more of a why can't we upgrade our distro like other Linux variants? Is it because there's no generic replacement for the Samsung RIL? If I were to download the source and do a generic build, or even a specific one, I wouldn't be able to install it because...?
Sorry to be a pain, but I genuinely have no clue. Again, thank you for the insight!
2.2 will boot on the I500 just nothing works. If you would like to help http://opensource.samsung.com/
The source code can be found there. Please feel free to help the development along.
I suggest you read through the reply's to your question and pay special note to those bringing up the RIL as that seems to be the biggest hurdle right now.
I think maybe the answer you are looking for is that it is possible to do it, it's just extremely difficult because Samsung's open source is very shoddy and isn't based on AOS, which is what is used for most other phones.
Since the developers don't have a build that works, they have to work from the ground up with AOS and get every last feature on the fascinate working without using Samsung's code (TouchWiz, widgets, etc).
The links they gave you explain most of it but you have to sift through the posts. There is a dev named jt (amongst others) who is working on a ROM that is upgradable based on AOSP and it looks very promising.
edit: It's also worth noting that when I say "not based on AOS" I mean that it is proprietary software used by Samsung-only phones and is not coded by Google. It still, of course, is based on Android OS. It would be akin to a ROM coded by Samsung for their phones rather than generic ROMs that could be downloaded by other phones.
Perfect, thanks!
Try thinking of it as buying an Ubuntu laptop from dell. Sure its " Ubuntu" but not stock. It so full of bloat and badly written drivers that aren't supplied openly for the user that it would be hell trying get the latest version of ubuntu to run on it.
Sent from my SCH-I500 using XDA App
For clarification.... so I can wrap my brain around this. Is this situation kinda like having bought a new computer that's running an os, but has no installed device drivers and nowhere to download them from, so they have to be written by hand?
Edit: that last post came thru while I was writing this one, I think it basically answers my question...
So what the devs on here are trying to do is develop a "generic" profile that can work on our phone (as well as others?), creating a solid base to allow users to upgrade and change at-will without having to wait for official releases?
See, that's the part I'm having a hard time with. No generic profile built into the OS to use in the absence of a hardware specific one?
LoverBoyV said:
Try thinking of it as buying an Ubuntu laptop from dell. Sure its " Ubuntu" but not stock. It so full of bloat and badly written drivers that aren't supplied openly for the user that it would be hell trying get the latest version of ubuntu to run on it.
Click to expand...
Click to collapse
On a sidenote, I bought a Dell netbook witih Ubuntu. Didn't waste time with Ubuntu, but I chose it because I didn't want MS to get money from a license fee. Installed Mac OS X on it the day it arrived
Ya know, I tried to do the same thing with my inspiron 1525 notebook, with snow leopard 10.6.3 since I have a spare hard drive. Spent a whole day with numerous guides, trying this n that. Got it to actually boot to the desktop once, bit as I was putting the drivers in, it went into KP and from that point on, I could never even reinstall back to the desktop again.
Well, Samsung is giving us a simple/reliable update to Froyo with unique functionality, as soon as possible.
Source: (Twitter, About 12pm 1/2/2011 from Samsungtweets via Cotweet - http://twitter.com/Samsungtweets/samsung-usa )
Samsungtweets We are working to make the Android 2.2/Froyo upgrade available to all U.S Galaxy S owners as soon as possible.
Samsungtweets We want Galaxy S owners to have simple/reliable upgrade. We r running tests due to complexity/unique functionality
EDIT: gave more specific time and source of tweets. Post is meant to be objective, without definition of ASAP for this context.
Swyped w/ XDA App. When in doubt, mumble.
soba49 said:
Well, Samsung is giving us a simple/reliable update to Froyo with unique functionality, as soon as possible.
Source (Twitter, 6 hours ago):
Samsungtweets We are working to make the Android 2.2/Froyo upgrade available to all U.S Galaxy S owners as soon as possible.
Samsungtweets We want Galaxy S owners to have simple/reliable upgrade. We r running tests due to complexity/unique functionality
Swyped w/ XDA App. When in doubt, mumble.
Click to expand...
Click to collapse
I'm not sure if this is meant to be funny or not haha. Are those recent tweets?
Sent from my SCH-I500 using XDA App
They seem to post the same things over and over, of course this is also because people constantly ask when is froyo coming, and every time they say there is no definite date. It is coming soon that that is all they will say; yelling, moaning and crying isn't gonna make it come any sooner, just sit back and it will eventually come.

AOSP equals future support?

So, let me start off by saying that I have searched, read and spent time trying to understand this... but still don't. Which answers why I'm posting this question.
First, what exactly is the reason that an AOSP rom is being developed and a Vanilla Froyo ROM is being developed?
Is the AOSP rom the important one here? Does the working AOSP rom with working kernel mean that we would have 2.2, 2.3.... and so on supported regardless of Samsung?
I understand that Samsung has not supported tremendously up to this point, I understand 2.2 has not been released for the CDMA version yet, and I understand the code they have released is "crappy." When I hear everyone talk about the great work the devs are doing, are they referring to mainly working on the AOSP? If this rom is built, will we be able to just keep developing it for the new versions of Android?
Sorta like in Back to the future when they break off the real timeline and go into the alternate 1985?
Samsungs Android - 2.1, 2.2.... EOL
Dev's Android - 2.1, AOSP, 2.2, 2.3?
Is this how it works? Basically just trying to understand what needs to happen for the Fascinate to get to at least 2.3... not WHEN or even IF it'll get to 2.3.
Thanks
AOSP means Android Open Source Platform.
It's a version of Android built entirely from sources provided by Google. It's completely Vanilla and comes with zero customer or manufacturer customizations. It's easily root-able, and able to be customized completely by the user if desired.
AOSP ROMs are desirable because they tend to be a bit faster and lighter due to their lack of crapification.
AOSP builds are only distributed in their complete and compiled form by Google for their developer handsets (Currently the Nexus One and Nexus S), and not by any carrier or manufacturer.
Okay, I appreciate that definition... I think I've gotten what AOSP is exactly... but I guess my question is does AOSP have any involvement in a future for this phone if Samsung decides to close its doors. Is a working AOSP, radio, kernel... whatever basically devs developing a future of this phone parallel to whatever Samsung does for it?
Like, I see from other threads that the ROM for Froyo and Gingerbread isn't necessarily the problem, its the radio and the RIL? If that is the case, what needs to happen for everything to figured out and for us to have a bright future for the Fascinate? Samsung has to release code for the RIL and radio? Are we SOL without Samsung helping here or will the devs definitely figure something out to get 2.2, 2.3... and so on for the Fascinate?
Bwangster12 said:
Okay, I appreciate that definition... I think I've gotten what AOSP is exactly... but I guess my question is does AOSP have any involvement in a future for this phone if Samsung decides to close its doors. Is a working AOSP, radio, kernel... whatever basically devs developing a future of this phone parallel to whatever Samsung does for it?
Like, I see from other threads that the ROM for Froyo and Gingerbread isn't necessarily the problem, its the radio and the RIL? If that is the case, what needs to happen for everything to figured out and for us to have a bright future for the Fascinate? Samsung has to release code for the RIL and radio? Are we SOL without Samsung helping here or will the devs definitely figure something out to get 2.2, 2.3... and so on for the Fascinate?
Click to expand...
Click to collapse
It's kinda like building an office park, or strip mall or something. You toss up the basic vanilla buildings, and when it's finally done, companies move in and tweak it how they deem fit.
With a working ASOP build, it'll remove some of the shackles of Samsungs bs code.
So... the AOSP build IS THE KEY here? I understand it isn't working yet, but if the devs get AOSP working, does that mean we will get a 2.2, 2.3 and so on regardless of what is released by Samsung?
I'm just trying to figure out what is happening to keep the G1, Droid, Droid 2... supported by ROMs like Cyanogenmod and others, that hasn't happened yet for the Samsung Fascinate.
I'd like to get the Fascinate, but am sorta waiting because I don't wanna be stuck with a phone for the next 2 years that will max out at MAYBE 2.2 if we are lucky.
I don't know where to start with your confusion.
Samsung has not given 2.2 to us. This means that we do not have froyo...
The RIL is an interface layer between the os and the radio. I'm not too sure about it, but anyways...
The developers are working around the fact that samsung has not given further tools that they need to get froyo ported over. Currently they are working on a 1.6 RIL to get froyo working. On another note, vanilla aosp is a good thing because it gives developers more freedom to customize the roms. It also allows for them to be able to port over other roms.
I really don't understand your confusion. If you want a better explanation , I recommend getting on irc.
If I were you, I'd wait. Next gen phones are coming from vzw in the next few months which will essentially blow the existing tech soon.
Bwangster12 said:
So... the AOSP build IS THE KEY here? I understand it isn't working yet, but if the devs get AOSP working, does that mean we will get a 2.2, 2.3 and so on regardless of what is released by Samsung?
I'm just trying to figure out what is happening to keep the G1, Droid, Droid 2... supported by ROMs like Cyanogenmod and others, that hasn't happened yet for the Samsung Fascinate.
I'd like to get the Fascinate, but am sorta waiting because I don't wanna be stuck with a phone for the next 2 years that will max out at MAYBE 2.2 if we are lucky.
Click to expand...
Click to collapse
Basically, that's the hope at least. If there are changes in say, 2.4 that require something that couldn't be hacked around with ASOP, we'll be stuck waiting for Samsung. But with a working ASOP, the groundwork is laid for updates to be ported over a bit more quickly by the devs.
Regardless of the future of this device, the Fascinate is one of the better Android handsets on the market. The screen is brilliant, it's the perfect size, and it's damn fast. The only thing that drags it down is the factory setup (although I personally think it's idiotic to ding the phone because of the inclusion of Bing like some people/reviewers have.)
I'm trying to understand what is going on instead of being one of the millions to ask about updates for this phone. I see phones like the droid series and read that they basically are being supported forever and then I see the Samsung Fascinate, and while I understand that the code is crappy/not released to community... I'm trying to figure out what needs to happen for it to be a supported device like the droids have been.
Bottom line, nothing at all is going to happen unless Samsung releases more than just a 2.2 update? If I see 2.2 drop like tomorrow, does that mean anything for a future, or is it just 2.2 update and we will just get devs releasing their versions of 2.2 roms?
RacerXFD said:
I really don't understand your confusion. If you want a better explanation , I recommend getting on irc.
Click to expand...
Click to collapse
I read his questions as:
"Will a working ASOP build mean better developer support/faster developer released updates?"
I did skim them though.
RacerXFD said:
If I were you, I'd wait. Next gen phones are coming from vzw in the next few months which will essentially blow the existing tech soon.
Click to expand...
Click to collapse
This is a good point. There's an LTE Samsung handset coming out soon, so it might be worth holding out for a little.
Although the Fascinate is no slouch.
Pretty much what I am asking. Like of everything that could possibly happen, Samsung releasing 2.2, AOSP being finished, blah blah what is the key that a consumer should look for to say...
"Well, now the Fascinate has no negatives to it and I have no fear that in a year, we won't still be stuck on 2.1 or 2.2 because Samsung screwed us."
Doesn't necessarily seem like Samsung needs to do MUCH to future this phones life and turn over the keys to the devs (like HTC seemingly has done), but I'm trying to understand what that thing is they need to do. Release a newer kernel, RIL, 2.2 ROM, some code that magically allows devs to port over future roms eternally...
I don't think I care if the phone has LTE capability. I won't get LTE and a regular 3G phone is beyond enough for me. LTE is zero impact for me.
Bwangster12 said:
Pretty much what I am asking. Like of everything that could possibly happen, Samsung releasing 2.2, AOSP being finished, blah blah what is the key that a consumer should look for to say...
"Well, now the Fascinate has no negatives to it and I have no fear that in a year, we won't still be stuck on 2.1 or 2.2 because Samsung screwed us."
Doesn't necessarily seem like Samsung needs to do MUCH to future this phones life and turn over the keys to the devs, but I'm trying to understand what that thing is they need to do. Release a newer kernel, RIL, 2.2 ROM, some code that magically allows devs to port over future roms eternally...
I don't think I care if the phone has LTE capability. I won't get LTE and a regular 3G phone is beyond enough for me. LTE is zero impact for me.
Click to expand...
Click to collapse
What does SAMSUNG need to do? Release their source code, and not just incomplete parts of it.
Will that happen? I doubt it, but it might. Clearly the companies ears are perking up with all the yelling by the consumers.
What can we do in the meantime? Support the devs and wait for them to crank out a working ASOP build and Froyo.
Yes, would be nice to have a fully working AOSP build, and then Froyo... but they are seperate from each other right?
AOSP build is being done for 2.1? It can't just be magically updated to 2.2 can it? Does Froyo have to be officially released for them to update it to AOSP 2.2?
Basically... AOSP will only be updated to whatever version Samsung has released?
Bwangster12 said:
Yes, would be nice to have a fully working AOSP build, and then Froyo... but they are seperate from each other right?
Click to expand...
Click to collapse
No. Android Open Source Project means "Android" in general. It can be 2.1, 1.6, 2.3, whatever. The devs elected to start with 2.1.
AOSP build is being done for 2.1? It can't just be magically updated to 2.2 can it? Does Froyo have to be officially released for them to update it to AOSP 2.2?
Click to expand...
Click to collapse
If you've followed anything in the dev folders, clearly not. JT's "Vanilla" Froyo looks like an AOSP build.
Basically... AOSP will only be updated to whatever version Samsung has released?
Click to expand...
Click to collapse
No. At least not our version.
Bwangster12 said:
Yes, would be nice to have a fully working AOSP build, and then Froyo... but they are seperate from each other right?
Click to expand...
Click to collapse
It's hard to answer your question because AOSP and Froyo refer to two completely different things, which can be the same or separate.
AOSP is basically Android, built from clean, unmodified source code directly from Google, without any changes by carriers or manufacturer.
Froyo is simply the 2.2 version of Android.
So, you can have Froyo that's modified by a carrier and/or manufacturer. This wouldn't be AOSP. And you can have Froyo, built directly from Google code. This would be AOSP. You can also have Eclair (Android 2.1), or any other version of Android that's AOSP or not AOSP depending on whether it was built directly from Google code, or modified by a carrier or manufacturer.
AOSP doesn't refer to a single, particular version of Android, but the state of the code that was used to compile whatever version you want to talk about.
Bwangster12 said:
AOSP build is being done for 2.1? It can't just be magically updated to 2.2 can it? Does Froyo have to be officially released for them to update it to AOSP 2.2?
Click to expand...
Click to collapse
A lot of the issue surrounds the kernel. When Google releases a new version of Android, it runs on a particular version of the kernel, which supports it's particular features. Manufacturers have to modify the kernel to support their particular hardware. So, since Samsung has only released source code for the kernel for Android 2.1, we're stuck on 2.1.
The versions of 2.2 from Kaos and JT are running on the Android 2.1 kernel that's been hacked to enable 2.2 to boot and run correctly. It works, but it's far, far from ideal. It doubles (if not more) the amount of work necessary to get 2.2 running, which is the reason for the rather slow pace of development.
So for your question, once Samsung releases 2.2 (the system and kernel), it'll be much easier to get an AOSP build of Android running, since the devs will only need to worry about the system instead of hacking together a kernel and RIL (radio interface layer) as well.
At least this is my understanding of the situation. I'm sure people with more knowledge and experience can correct me where I'm wrong, but I think this is the basic gist of it.
ChrisDDD said:
It's hard to answer your question because AOSP and Froyo refer to two completely different things, which can be the same or separate.
AOSP is basically Android, built from clean, unmodified source code directly from Google, without any changes by carriers or manufacturer.
Froyo is simply the 2.2 version of Android.
So, you can have Froyo that's modified by a carrier and/or manufacturer. This wouldn't be AOSP. And you can have Froyo, built directly from Google code. This would be AOSP. You can also have Eclair (Android 2.1), or any other version of Android that's AOSP or not AOSP depending on whether it was built directly from Google code, or modified by a carrier or manufacturer.
AOSP doesn't refer to a single, particular version of Android, but the state of the code that was used to compile whatever version you want to talk about.
A lot of the issue surrounds the kernel. When Google releases a new version of Android, it runs on a particular version of the kernel, which supports it's particular features. Manufacturers have to modify the kernel to support their particular hardware. So, since Samsung has only released source code for the kernel for Android 2.1, we're stuck on 2.1.
The versions of 2.2 from Kaos and JT are running on the Android 2.1 kernel that's been hacked to enable 2.2 to boot and run correctly. It works, but it's far, far from ideal. It doubles (if not more) the amount of work necessary to get 2.2 running, which is the reason for the rather slow pace of development.
So for your question, once Samsung releases 2.2 (the system and kernel), it'll be much easier to get an AOSP build of Android running, since the devs will only need to worry about the system instead of hacking together a kernel and RIL (radio interface layer) as well.
At least this is my understanding of the situation. I'm sure people with more knowledge and experience can correct me where I'm wrong, but I think this is the basic gist of it.
Click to expand...
Click to collapse
Okay, thank you for this answer... this makes sense to me.
So, have HTC and Motorola released newer kernels for the devs of roms like Cyanogemod to update their ROMs, despite HTC and Motorola not actually releasing newer versions? I mean, how is the G1 updated as far as it has. Did HTC release a 2.2 kernel to allow devs to put 2.2 on it?
That's were I'm start confused as well.
I understand that Samsung has some proprietary kernel level code and drivers.
But, I'm curious what is the difference between Linux kernel versions used for different versions of Android. It doesn't sound like major version change and hence should not change anything dramatically. It should be mostly bug fixes. That's why jt was able to get kernel work.
As in relation to ASOP for SF, I see it like attempt to adapt Samsung code to current android interfaces. Once again, these interfaces should not change dramatically between versions, because these are evolutionary. So, I assume when done it is pretty much paved road up to 3.0 at least. That said some new features might not work at all, because we do not have working initial binaries from Samsung.
By the way mrbirdman has GB in progress.
Alright... so this may sound like I'm oversimplifying it, but I don't mean to.
Why can't the dev community just create a "custom" kernel to work with their versions of 2.2, 2.3 and so on? You say that they are working to hack the 2.1 kernel Samsung has released so it allows 2.2 to run on the Fascinate... but why can't they just make a 2.2 kernel? Is that sorta what Cyanogenmod is doing to get a 2.2 Froyo build to work on a G1?
Based on the amazing things I've seen the dev community do, building ROMs from scratch, I guess I don't understand how the kernel can't be built specifically for each new version... forgetting about what Samsung releases.
Bwangster12 said:
Why can't the dev community just create a "custom" kernel to work with their versions of 2.2, 2.3 and so on?
Click to expand...
Click to collapse
Theoretically they could, it would just be a lot of work. Hardware drivers might not be compatible with the kernel version designed for 2.2 or 2.3. I don't think manufacturers are required to release the code for their drivers, so if a driver wouldn't work, one would need to be written from scratch, and without the detailed knowledge of the hardware itself, that is very difficult.
Hardware support is very integral to the kernel, so a kernel for one phone wouldn't run at all on another. So in addition to the difficulty of putting together a totally independent kernel, it would need to be done separately for each and every phone out there, and how many versions of the Galaxy S alone are there? How many HTC phones, how many Motorola and LG and Sony and so on.
It's just not realistic for people doing this, essentially, in their spare time.
So, what the devs generally do is wait until a carrier releases a version of Android (System, kernel, radio, etc.), and with all the hardware support in place and working, they can focus on building custom or AOSP versions of the system.
It's not that they couldn't build their own kernel, it's just a matter of practicality, audience and the shelf live of the particular phone. As it is, a new generation of phones are already either coming out or on the near horizon... and our phone is what, 4 to 5 months old?
Bwangster12 said:
Based on the amazing things I've seen the dev community do, building ROMs from scratch, I guess I don't understand how the kernel can't be built specifically for each new version... forgetting about what Samsung releases.
Click to expand...
Click to collapse
The misunderstanding is in the complexity of compiling a custom system, and developing a custom kernel. They are hugely different in terms of complexity.
Think of a ROM as taking Windows 3.1 and simply tweaking the components that are installed by default - what accessories are installed, what wallpaper is selected, the color scheme of the windows. Not terribly complicated.
Think of the kernel as having to compile DOS, complete with custom drivers for all the hardware - CPU, graphics, memory, storage, multitouch, sound, radio, modem, WiFi, networking, power management, USB support, file system support, etc. all by hand.

Why the epic 4g CyanogenMod port is not backed by the CM team my opinion.

Hello,
This was brought up in another thread that is now locked.This post asked the question.
http://forum.xda-developers.com/showpost.php?p=11287492&postcount=40
and this is the blog post by Cyanogen
http://www.cyanogenmod.com/home/a-note-on-unofficial-ports-and-how-to-get-it-right
From what I can make from the blog post that Cyanogen put up on the CM website the Epic 4g as well as the other Galaxy S CM ports are not backed by Cyanogen because they do not go through the normal chain of how they add their code into their source code tree.The Galaxy S CM github has many changes to the stock android code that could possible and probably does break the code from being compiled for other phones. The framework is modified to work with the Samsung RIL that our phones use. The CM team will make additions to the stock android code not modifiy the stock code itself. So from my understanding of thing this is why Cyanogen does not consider what the CMSGS team has done as a part of the mainline CM code base. I believe this goes for all the Galaxy S phones not just the Epic.
Does being backed by the CM team make it get done any quicker? If so....
Sent from my SPH-D700 using XDA App
Being backed by the Cm team would definitely speed up the porting process, Cyanogen had the Evo Release Client up and running in a little over a month without source
So its a matter of pulling the source together and prperly placing it into their source control so their build bot can properly dov what build bots do...build...then CM helps with the port process?
If I think I'm following that right...somone better start uploading code to Cyanogens t&c's(terms and conditions) so we can have some epic awesomesauce.
Sent from my SPH-D700 using XDA App
Most importantly, no major hardware functionality should be broken.
Click to expand...
Click to collapse
What this statement implies is that no Cyanogenmod port is ever gonna be official right away; there's always an in-progress period where major functions are broken. Regardless of other issues, that's where our Epic port is at right now and part of the reason why it's not official.
Poryhack said:
What this statement implies is that no Cyanogenmod port is ever gonna be official right away; there's always an in-progress period where major functions are broken. Regardless of other issues, that's where our Epic port is at right now and part of the reason why it's not official.
Click to expand...
Click to collapse
True but there is code that is changed in the Galaxy S port that doesn't get changed at all in other CM ports as far as I know.
If we had HTC Epic's instead of Samsung Epic's and still identical devices... CM would officially support the Epic.
Period. They can say whatever they want but we all know this to be the case. You can't tell me Samsung changes their code that much more then HTC... last I checked Sense was a much more in depth overall to the underlying OS then Touchwiz is.. but maybe not.
The thing is, HTC uses the same hardware across the board (snapdragon processors, same camera etc.) which makes Rom ports much much easier to pull off, whereas the Hummingbird in the Galaxy S is only in the Galaxy S and only the Unlocked Galaxies and Gsm have froyo source so far.
Thanks for osting this skeeter
Android Creative Syndicate- From spontaneous ingenuity, comes creative brilliance
063_XOBX said:
The thing is, HTC uses the same hardware across the board (snapdragon processors, same camera etc.) which makes Rom ports much much easier to pull off, whereas the Hummingbird in the Galaxy S is only in the Galaxy S and only the Unlocked Galaxies and Gsm have froyo source so far.
Click to expand...
Click to collapse
The changes in the code have nothing at all to do with the cpu its all for the radio which even having froyo source will not help a bit with.Its all in the way the code changes were done. Rather then adding to the base code in CM the code was directly changed which is what Cyanogen has an issue with doing so basically could and probably has broken the radio code for other cdma phones, I don't know what or if any of the code in the frameworks was changed for the gsm Galaxy S phones so I can't say for sure that it the source from the CMSGS github wouldn't work on another GSM phone I only know that changes were made to get it working on the Epic and Fascinate.I don't think what the CMSGS team did was wrong they did what they had to do to get things working and from the time I spent working on it it didn't seem like there was much input from the CM team at all but that was probably happening in another irc channel that I was not invited into if they were involved.I was hoping that the Galaxy S would have had more interest from the CM team as a whole I know a phone or two was collected and donated to at least one dev and i also heard that Koush was supposed to take over the Captivate port of CM I am not sure if that ever happened or not but the Epic and Fascinate were from the beginning the red headed step children of the Galaxy S line it really is too bad that there wasn't for developers around to help work on it and make an offical Cyanogen backed CM port.I blame it all on the Evo personally if the Epic came out first it would be the Epic sporting all the kernel and roms that you can find in the Evo forum instead we are left with a handful or less of devs and a phone that is far from the potential that it has.
This statement brings up one of my biggest questions I have for the epic forums that I have yet to understand. If a lack of devs are the biggest problem for the epic why is it they are not attempting to train anyone else. Here's my point. I have cataloged every bit (and still am) of info I know about themeing android and the samsung epic. I wrote guides breaking down every part of installing the tools necessary and using them so anyone just sitting down with a fresh windows and their first android phone would understand. Where are our dev guides besides "read developer.android.com". I've read it, I've set everything up. I've downloaded source, I've even ran make with success. But it does nothing without proprietary files. How do you plug them in. extract files.sh dont work without cm6 running on my phone. Where do we learn how to edit our build.prop, init.rc, compile drivers and modules. Joey krimm it's a great beginners source but what about updates since the stall between ubuntu 10 64 support, and 64 becoming the default. I feel like not only it's sammy and sprint at fault, but so are devs that arent open with their knowledge. The best gift this community could have gotten in all of this "down time"waiting was time spent learning. Devs stuck waiting on modems and source, start writing and teaching so when you get that source, you'll have a team behind you. That's the spirit of linux and it dont exist on xda's Samsung Epic Development section!
Sent from my SPH-D700 using Tapatalk
dreamsforgotten said:
This statement brings up one of my biggest questions I have for the epic forums that I have yet to understand. If a lack of devs are the biggest problem for the epic why is it they are not attempting to train anyone else. Here's my point. I have cataloged every bit (and still am) of info I know about themeing android and the samsung epic. I wrote guides breaking down every part of installing the tools necessary and using them so anyone just sitting down with a fresh windows and their first android phone would understand. Where are our dev guides besides "read developer.android.com". I've read it, I've set everything up. I've downloaded source, I've even ran make with success. But it does nothing without proprietary files. How do you plug them in. extract files.sh dont work without cm6 running on my phone. Where do we learn how to edit our build.prop, init.rc, compile drivers and modules. Joey krimm it's a great beginners source but what about updates since the stall between ubuntu 10 64 support, and 64 becoming the default. I feel like not only it's sammy and sprint at fault, but so are devs that arent open with their knowledge. The best gift this community could have gotten in all of this "down time"waiting was time spent learning. Devs stuck waiting on modems and source, start writing and teaching so when you get that source, you'll have a team behind you. That's the spirit of linux and it dont exist on xda's Samsung Epic Development section!
Sent from my SPH-D700 using Tapatalk
Click to expand...
Click to collapse
Where's the thank spam? hah.
I've slowly been dipping myself into the Developer 'pool' for the epic if you will..and at first when I started working nobody really ever helped out..they just threw me a link and was like..start reading blah blah blah..
Reading only gets you so far; Imho you learn better when you've got the experience of working first hand with the material you're trying to learn.
dreamsforgotten said:
This statement brings up one of my biggest questions I have for the epic forums that I have yet to understand. If a lack of devs are the biggest problem for the epic why is it they are not attempting to train anyone else. Here's my point. I have cataloged every bit (and still am) of info I know about themeing android and the samsung epic. I wrote guides breaking down every part of installing the tools necessary and using them so anyone just sitting down with a fresh windows and their first android phone would understand. Where are our dev guides besides "read developer.android.com". I've read it, I've set everything up. I've downloaded source, I've even ran make with success. But it does nothing without proprietary files. How do you plug them in. extract files.sh dont work without cm6 running on my phone. Where do we learn how to edit our build.prop, init.rc, compile drivers and modules. Joey krimm it's a great beginners source but what about updates since the stall between ubuntu 10 64 support, and 64 becoming the default. I feel like not only it's sammy and sprint at fault, but so are devs that arent open with their knowledge. The best gift this community could have gotten in all of this "down time"waiting was time spent learning. Devs stuck waiting on modems and source, start writing and teaching so when you get that source, you'll have a team behind you. That's the spirit of linux and it dont exist on xda's Samsung Epic Development section!
Sent from my SPH-D700 using Tapatalk
Click to expand...
Click to collapse
When it comes to working on CM most of the work that needs to be done is all coding which we have very few if anyone java coders. Also you can use extract-files.sh on a phone running straight DK28 to get the propietary files needed to build CM with.When it comes to everything else most of the devs have taught themselves how to do the things they so by trial and error and alot of reading the internet. I know I have little coding skill so its would be hard to teach someone something you don't know how to do yourself and alot of the other things like putting togther device files to build android even on the google site has no real information on how to do it at all the best way I think is to just compare what the other phones use and piece it together from that.
Yet it still makes me wonder; why no epic/galaxy s support? Virtually every other phone, and even some tablets like the gtab, have CM support and even CM7 support. Even the HTC Hero, with obviously no source code for 2.2 or 2.3 and no official 2.2 ever to be released, has a working build of CM7. Is it pure incompetence of Epic developers? Is it a lack of interest? Is it simply cyanogen not wanting to support galaxy s devices? I really don't know, but I'd really like to.
theimpaler747 said:
Yet it still makes me wonder; why no epic/galaxy s support? Virtually every other phone, and even some tablets like the gtab, have CM support and even CM7 support. Even the HTC Hero, with obviously no source code for 2.2 or 2.3 and no official 2.2 ever to be released, has a working build of CM7. Is it pure incompetence of Epic developers? Is it a lack of interest? Is it simply cyanogen not wanting to support galaxy s devices? I really don't know, but I'd really like to.
Click to expand...
Click to collapse
From what I can see its not that Cyanogen doesn't want to support the galaxy s devices its that it seems they don't give any input to the devs that are working on CM for the galaxy s. They have basically split off from the main CM source tree itself and run their own source tree. It seemed like (and this is from the limited amount I saw on irc) that there was no input from the CM team they just let them work on their own. CM has ways to setup the code so the source tree remains workable across the board on all the devices it supports, the cmsgs team has just taken a different route on things and gone their own route thus making it not backed by cyanogen, was it the right way to do it who knows but it has made all the galaxy s devices redheaded step children in the eyes of Cyanogen and the CM team as a whole by the looks of it. I know from the point of view of having an Epic the major hold up to it is having coders with the proper skills to do the coding in general we had one coder working on it I don't know if he is still involved or not at this point. All I know is to make is a backed by Cyanogen CM port the coding that has been done so far would have to be completely redone in the ways that the rest of the CM team adds code to the CM source tree with as little to no modification of the stock CM code as possible.
Also I would like to add that I am not trying to put anyone down that is working on the CMSGS team they have done CM working on these devices and am in no way bad mouthing the work that has been done. This is just my view on things and why Cyanogen doesn't back the galaxy s CM ports.
Sent from my SPH-D700 using Tapatalk
theimpaler747 said:
Yet it still makes me wonder; why no epic/galaxy s support? Virtually every other phone, and even some tablets like the gtab, have CM support and even CM7 support. Even the HTC Hero, with obviously no source code for 2.2 or 2.3 and no official 2.2 ever to be released, has a working build of CM7. Is it pure incompetence of Epic developers? Is it a lack of interest? Is it simply cyanogen not wanting to support galaxy s devices? I really don't know, but I'd really like to.
Click to expand...
Click to collapse
Well, trying to comprehend everything that is going on here, I feel like the CMTeam does not feel the Epic is worth porting to CM7 due to it's delay on a FroYo source, which I am positive would make the Epic's porting much easier.
However, it still makes me wonder why they could not have used 2.1 to port to CM7, as like you said, the Hero has been able to do.
It also confuses me that the Captivate has even been able to run a Gingerbread port (I believe cyanogen) then. I realize that the Captivate has no 4G or a slide or anything, but the fact that they were willing to work off of 2.1 I assume gets me wondering why no one has tried making a CM port for the Epic's 2.1
I am trying to understand this as best as I can, so please forgive me if I seem to be giving false input on this conversation.
Its the time taken to port a phone, combined with the number of phones above yours on their list. The fact is they have a list of other phones they feel like investing their time in over the galaxy s line in general which is even more of a reason all knowledge of development on the Epic should be layed out even in pieces like the rest of the information here. Honestly thinking "leak it to noobnl, then we'll get all the goods" isn't going to cut it. Java coders, ubuntu fanatics who have compiled a few apps, and new people willing to learn should be putting heads together compiling new ****. If we dont start a group effort of making a bone stock aosp froyo altering the existing drivers were not going to be much further with source code. And it should be layed out here irc dont work for everyone.
Sent from my SPH-D700 using Tapatalk
acer1096xxx said:
Well, trying to comprehend everything that is going on here, I feel like the CMTeam does not feel the Epic is worth porting to CM7 due to it's delay on a FroYo source, which I am positive would make the Epic's porting much easier.
However, it still makes me wonder why they could not have used 2.1 to port to CM7, as like you said, the Hero has been able to do.
It also confuses me that the Captivate has even been able to run a Gingerbread port (I believe cyanogen) then. I realize that the Captivate has no 4G or a slide or anything, but the fact that they were willing to work off of 2.1 I assume gets me wondering why no one has tried making a CM port for the Epic's 2.1
I am trying to understand this as best as I can, so please forgive me if I seem to be giving false input on this conversation.
Click to expand...
Click to collapse
But like I said, there's CM7 (Android 2.3 if you don't know) for the HTC hero, with no 2.2 or 2.3 source code. So why not us?
theimpaler747 said:
But like I said, there's CM7 (Android 2.3 if you don't know) for the HTC hero, with no 2.2 or 2.3 source code. So why not us?
Click to expand...
Click to collapse
Alright, this is what I believe.
The Hero does not have 4G, or a QWERTY keyboard, two things the Epic does have that could make a pure AOSP port more difficult without a source. Also, HTC runs Snapdragon throughout the whole system, making tweaks a lot more simpler than SGS's Hummingbird Processor, which uses something else (I can't remember) with their system as well.
The last part I'm not sure if that makes a big deal or not, since I have seen a (what I think) CM7 port for the Samsung Captivate, so it may simply be because of 4G and the QWERTY keyboard.
I see what you're saying though. I guess the CMTeam should have no problem making a CM7 port based off of the Epic's 2.1 source...maybe they're just waiting because 2.2 might make it easier and supposedly 2.2 is coming soon so there'd be no point in starting now...otherwise I have no clue.
acer1096xxx said:
Alright, this is what I believe.
The Hero does not have 4G, or a QWERTY keyboard, two things the Epic does have that could make a pure AOSP port more difficult without a source. Also, HTC runs Snapdragon throughout the whole system, making tweaks a lot more simpler than SGS's Hummingbird Processor, which uses something else (I can't remember) with their system as well.
The last part I'm not sure if that makes a big deal or not, since I have seen a (what I think) CM7 port for the Samsung Captivate, so it may simply be because of 4G and the QWERTY keyboard.
I see what you're saying though. I guess the CMTeam should have no problem making a CM7 port based off of the Epic's 2.1 source...maybe they're just waiting because 2.2 might make it easier and supposedly 2.2 is coming soon so there'd be no point in starting now...otherwise I have no clue.
Click to expand...
Click to collapse
I think we also have 'limited functionality' w/ 2.1 as far as the phone's full capability.
2.2 will unlock some hidden potential IMO. Could be the reason why all the hubbub to 'wait for 2.2'.. again, just speculating.

Categories

Resources