[Q] Noob development question - Verizon Droid Charge

I don't know a whole lot about how android phones work so this is probably a stupid question.
If the android operation system code is open source and available for anyone to download what's stopping people from putting pure AOSP goodness on any given phone? Is it the kernel or bootloader or what?

Fe_Man said:
I don't know a whole lot about how android phones work so this is probably a stupid question.
If the android operation system code is open source and available for anyone to download what's stopping people from putting pure AOSP goodness on any given phone? Is it the kernel or bootloader or what?
Click to expand...
Click to collapse
from my understanding it has to be completely recoded or whatever to run on the hardware of a new phone, I think Cyanogen and crew just supply the base and framework to build on... but yes its out there for anyone to try and port, typically takes a team of devs with different specialties
blazing through on my VZ Droid Charge 4G

Kernel, RIL, and potentially a number of other things.

Just like drivers has to be ported for Linux on any PC (if the company didn't already code one for it), drivers has to be ported to a pure AOSP ROM from a TouchWiz source (which is still Android-based).
Most company-applied UIs to Android are deep in the system, therefore, you can't just take some files and put it into an AOSP ROM and have it magically work (known as kanging from another ROM), but you have to write in some stuff and build it specially for AOSP before it works.

Related

[Q] Original G1 firmwares

I am looking for all the original HTC Dream firmwares, for ROM cooking purposes, but I couldn't find any (except the 1.5 and 1.6 ADP1 updates which aren't enough for me, I want 2.0, 2.1 and maybe 2.2 too).
Please do not misunderstand me, I know there are only a few limited releases for this phone (no official FroYo/Éclair, etc), under original I meant a clean, unmodified firmware (max modification is any app2sd, root). Is there any such file?
I'm very desperate to start cooking (and do not base it on any recent release, like CyanogenMod, or anything else. Of course they are very good, I appreciate all the modders' work, that's why I don't want to make anything based on it - it is like stealing their work. I know how it feels, as I am a Symbian developer for a while - I've been stolen, remade, etc, many times).
Honestly, I think CyanogenMod is the closest you're gonna get to a "vanilla" G1 Eclair/Froyo ROM.
There are plenty of people that base their ROM's off Cyanogen. Obviously I can't speak for him, but I don't think he minds people using his ROM's as long as they give him credit.
You could grab CyanogenMod and remove the extra apps he's put in there like ADWLauncher and that would be about as close to a stock ROM as you'll get, I think.
Here you go
http://android-dls.com/wiki/index.php?title=OTA_Updates
There is not a release from HTC that is for the G1 (ADP1) beyond 1.6. This is because 2.x required more space on /system then the G1 has. that is why the eclair/froyo versions of CyanogenMod require dangerSPL.
If you want a vanilla version of android, you will have to build from source, which you should do any how. You want to get the source from AOSP. But honestly, the work that the CM team has done makes the CM build a better option. Like the addition of FLAC support, for example. All of the source to CM is available on github, so you could, pull from AOSP and CM if you wanted.
CM is anything BUT stock. It is huge, with lots of stuff thrown in. Everything including the kitchen sink.
Another much more "basic" 2.2 to start with is Jubeh's: http://forum.xda-developers.com/showthread.php?t=709201
Note that BOTH have expressed that they have no problem with anyone building on their work and ask only for respectful citation of their work.
lbcoder said:
CM is anything BUT stock. It is huge, with lots of stuff thrown in. Everything including the kitchen sink.
Another much more "basic" 2.2 to start with is Jubeh's: http://forum.xda-developers.com/showthread.php?t=709201
Note that BOTH have expressed that they have no problem with anyone building on their work and ask only for respectful citation of their work.
Click to expand...
Click to collapse
exactly
you could also check out my AOSP roms in my 4shared box
I understand that they do not mind, but I (we) plan to create an Online ROM Kitchen, from base, and for this, I need the most basic firmwares. Probably I will build from source (though there is no proper guide how to build for a specific device, because G1 (dream) is in the added phone's folder (src/device/htc/dream/), and I could not find any guide to build it :S), but that is the last option (mostly because for Ubuntu, Java JDK 5 is not available anymore, and it IS required to build).
One more question: the Cyanogen source, is it the whole stuff I need to build a basic image, or do I need the AOSP too?
fonix232 said:
(mostly because for Ubuntu, Java JDK 5 is not available anymore, and it IS required to build).
Click to expand...
Click to collapse
I believe it is still available, you just need to change your sources list in ubuntu to get it Try this
fonix232 said:
I understand that they do not mind, but I (we) plan to create an Online ROM Kitchen, from base, and for this, I need the most basic firmwares. Probably I will build from source (though there is no proper guide how to build for a specific device, because G1 (dream) is in the added phone's folder (src/device/htc/dream/), and I could not find any guide to build it :S), but that is the last option (mostly because for Ubuntu, Java JDK 5 is not available anymore, and it IS required to build).
One more question: the Cyanogen source, is it the whole stuff I need to build a basic image, or do I need the AOSP too?
Click to expand...
Click to collapse
sdk is now compatible with jdk 6
you can install jdk 5 on ubuntu 9.10+
add
deb http://us.archive.ubuntu.com/ubuntu/ jaunty multiverse
deb http://us.archive.ubuntu.com/ubuntu/ jaunty-updates multiverse
to your repositories
then
Code:
sudo apt-get update
sudo apt-get install sun-java5-jdk
fonix232 said:
(though there is no proper guide how to build for a specific device, because G1 (dream) is in the added phone's folder (src/device/htc/dream/), and I could not find any guide to build it :S)
Click to expand...
Click to collapse
Did you do a google search?
http://source.android.com/source/building-dream.html
** note that AOSP 2.2 will build for dream just fine, some things may have changed since that guide, and some stuff will be quite broken. That is why I point you at Jubeh's build -- it is close to stock, but fixed/functional.
but that is the last option (mostly because for Ubuntu, Java JDK 5 is not available anymore, and it IS required to build).
Click to expand...
Click to collapse
Sun/oracle still provides JDK5 from their legacy site... or as mentioned, ubuntu has it still in repo.
One more question: the Cyanogen source, is it the whole stuff I need to build a basic image, or do I need the AOSP too?
Click to expand...
Click to collapse
As I said, you can't build a basic image from CM source -- it simply isn't BASIC, it is as mod as you get.
It is enough to build a full CM build, however....
lbcoder said:
Did you do a google search?
http://source.android.com/source/building-dream.html
** note that AOSP 2.2 will build for dream just fine, some things may have changed since that guide, and some stuff will be quite broken. That is why I point you at Jubeh's build -- it is close to stock, but fixed/functional.
Click to expand...
Click to collapse
Yes I did, I was hoping in a much more modder-made step-by-step tutorial (google was always a bit foggy with their build instructions).
Sun/oracle still provides JDK5 from their legacy site... or as mentioned, ubuntu has it still in repo.
Click to expand...
Click to collapse
Tried to install it over Lucid Lynx (10.04) but both Synaptic both apt-get said the given package does not exist.
As I said, you can't build a basic image from CM source -- it simply isn't BASIC, it is as mod as you get.
It is enough to build a full CM build, however....
Click to expand...
Click to collapse
Under "basic image" I meant a proper, final, working image of CyanogenMod. But if it is enough, I will try with it, thank you.
fonix232 said:
Yes I did, I was hoping in a much more modder-made step-by-step tutorial (google was always a bit foggy with their build instructions).
Tried to install it over Lucid Lynx (10.04) but both Synaptic both apt-get said the given package does not exist.
Under "basic image" I meant a proper, final, working image of CyanogenMod. But if it is enough, I will try with it, thank you.
Click to expand...
Click to collapse
yawn
http://www.oracle.com/technetwork/java/javase/system-configurations-139801.html
or just add the jaunty repos..
AND as I said, you can use JDK 6 which is in 10.04..
http://developer.android.com/sdk/index.html#quickstart
this is all very basic stuff, maybe you should rethink what you want to do and just kang an AOSP FroYo like some other 'devs' did
Firerat said:
yawn
http://www.oracle.com/technetwork/java/javase/system-configurations-139801.html
or just add the jaunty repos..
Click to expand...
Click to collapse
Yea, saw your post too late, sorry
AND as I said, you can use JDK 6 which is in 10.04..
http://developer.android.com/sdk/index.html#quickstart
this is all very basic stuff, maybe you should rethink what you want to do and just kang an AOSP FroYo like some other 'devs' did
Click to expand...
Click to collapse
For the SDK maybe, but I don't want to develop applications, but to understand source compiling, learn how to create ROMs (and maybe automate it), and such things. I never said I'm a developer - I just want to be one. And that will not happen soon, as I have to learn a lot, even though I was following Android from the very beginning.

Newbie dev questions

Hi,
I'm going to start building my own ROMs. I'd like to start from only official sources and drivers. Then add my own improvements and features. Here are a few questions before I can start:
1) I know there is a tool in AOSP to extract proprietary drivers. Can I extract Froyo drivers from G2x and use it with Gingerbread AOSP?
2) I see many users reporting that "XXX doesn't work" (XXX is things like radio, GPS, Wi-Fi) with custom ROMs. Are those issues caused by incompatibility between GB AOSP and Froyo drivers? Or caused by patches done by ROM makers?
3) Does Google provide official sources for Google Apps? Or official binaries to bundle with a ROM?
Thanks!
rhinology said:
Hi,
I'm going to start building my own ROMs. I'd like to start from only official sources and drivers. Then add my own improvements and features. Here are a few questions before I can start:
1) I know there is a tool in AOSP to extract proprietary drivers. Can I extract Froyo drivers from G2x and use it with Gingerbread AOSP?
2) I see many users reporting that "XXX doesn't work" (XXX is things like radio, GPS, Wi-Fi) with custom ROMs. Are those issues caused by incompatibility between GB AOSP and Froyo drivers? Or caused by patches done by ROM makers?
3) Does Google provide official sources for Google Apps? Or official binaries to bundle with a ROM?
Thanks!
Click to expand...
Click to collapse
First off this is a Q&A question, not a dev section issue...
1) Not really...
2) These are typically kernel issues...
3) yes they do, check the CM7 Nightly thread
rhinology said:
Hi,
I'm going to start building my own ROMs. I'd like to start from only official sources and drivers. Then add my own improvements and features. Here are a few questions before I can start:
1) I know there is a tool in AOSP to extract proprietary drivers. Can I extract Froyo drivers from G2x and use it with Gingerbread AOSP?
2) I see many users reporting that "XXX doesn't work" (XXX is things like radio, GPS, Wi-Fi) with custom ROMs. Are those issues caused by incompatibility between GB AOSP and Froyo drivers? Or caused by patches done by ROM makers?
3) Does Google provide official sources for Google Apps? Or official binaries to bundle with a ROM?
Thanks!
Click to expand...
Click to collapse
1. In general for Linux, there are 2 types of drivers, kernel space drivers and user space drivers. The Kernel space drivers are available via kernel source dump from manufacturers, however, the user space drivers are often proprietary so they are released as binary only. In case for G2x, the current official release from LG is Froyo, so often time, CM7 is hacked to work with Froyo user space drivers until an official GB version is released.
2. Because of #1, often times, CM7 team has to work around the limitations they have by writing new code. The new code is not tested as thoroughly as major manufacturers QA department (a whole team of professional testers) so CM team release their nightly builds to serve as open public beta to hammer out bugs for the newly released workarounds/patches. It's amazing what CM team has done without access to all the necessary files and sources.
3. Google Apps are proprietary Google software, so no source code will be available to them (until Google decides to open source their apps, which is 100% their right and decision). Because Google holds the rights to their software, they also have a say in the distribution of their software. CM originally bundled Google Apps with their CM releases, but Google decided not to allow a major independent team to bundle their software and sent CM a legal letter asking them to stop. Ever since, CM team decided to release just a bare AOSP portion without Google Apps. I have followed CM's example and also does NOT bundle Google Apps with my Hybrid AOSP ROM.
Thanks a lot!
Sounds like I'd better build a Froyo ROM first.
For #3, I learned that I can download Google Apps binaries provided by CM team. My question is: where did CM team get the binareis?
faux123 said:
1. In general for Linux, there are 2 types of drivers, kernel space drivers and user space drivers. The Kernel space drivers are available via kernel source dump from manufacturers, however, the user space drivers are often proprietary so they are released as binary only. In case for G2x, the current official release from LG is Froyo, so often time, CM7 is hacked to work with Froyo user space drivers until an official GB version is released.
2. Because of #1, often times, CM7 team has to work around the limitations they have by writing new code. The new code is not tested as thoroughly as major manufacturers QA department (a whole team of professional testers) so CM team release their nightly builds to serve as open public beta to hammer out bugs for the newly released workarounds/patches. It's amazing what CM team has done without access to all the necessary files and sources.
3. Google Apps are proprietary Google software, so no source code will be available to them (until Google decides to open source their apps, which is 100% their right and decision). Because Google holds the rights to their software, they also have a say in the distribution of their software. CM originally bundled Google Apps with their CM releases, but Google decided not to allow a major independent team to bundle their software and sent CM a legal letter asking them to stop. Ever since, CM team decided to release just a bare AOSP portion without Google Apps. I have followed CM's example and also does NOT bundle Google Apps with my Hybrid AOSP ROM.
Click to expand...
Click to collapse
rhinology said:
Hi,
I'm going to start building my own ROMs. I'd like to start from only official sources and drivers. Then add my own improvements and features. Here are a few questions before I can start:
1) I know there is a tool in AOSP to extract proprietary drivers. Can I extract Froyo drivers from G2x and use it with Gingerbread AOSP?
2) I see many users reporting that "XXX doesn't work" (XXX is things like radio, GPS, Wi-Fi) with custom ROMs. Are those issues caused by incompatibility between GB AOSP and Froyo drivers? Or caused by patches done by ROM makers?
3) Does Google provide official sources for Google Apps? Or official binaries to bundle with a ROM?
Thanks!
Click to expand...
Click to collapse
I've written a good guide for building cm7. (link in my signature)
Sent from my LG-P999 using XDA Premium App

[Q][AOSP] build like stock based on AOSP

Hi,
I want to build AOSP including google apps/services to make a similar factory image as possible as.
First time, I just build a AOSP with sevral google apps but It's very insufficient.
(code.google.com/p/aosp4nexus5/wiki/AOSPforNexus5)
I can see some error logs because of missing libraries, apks.
and I found that many proprietary blobs are not founded on AOSP.
Maybe I could porting it one by one manually , but it seems very annoying work...
I just want to build AOSP with google apps for nexus 5 5.0.1.
Are there any easy way for it?
Also very little tweaked custum rom maybe helped me,
(I think usually custom roms are so different from stcok even if they say simple.)
I'm a noob and worry about my silly question.
Thank you.
I have them included in my vendor directory. You can take a look at my git and figure out what you need...
https://github.com/grogg/platform_vendor

porting cm to a new device - whats needed and difficulties

Hey,
i'm just curious about what the title describes. First of all.
What do i really need:
-kernel sources
-binary blobs (extractable)
-recovery / boot.img (extractable)
Let us just talk about the fairphone 2. Additional to the things mentioned we get the full source code of the OS (which i do not need?).
Where do the difficulties lie? For my understanding we just take the kernel sources, the official cyanogenmod (e.g.) source code, the binary blobs and the recovery / boot.img.
How difficult would it be to port Cyanogenmod to the fairphone 2.
Why is it difficult to port a device with existing (again cyanogenmod just as an example) cyanogenmod to a newer Cyanogenmod (Android) version?
I ask this to estimate/evaluate/judge (don't know the right term) the effort needed to do this. I think i'd be able to do that if i put enough work into it (i "speak" c and java), but i just need some answers.
Especially for example why it is more difficult to port Android 6 instead of Android 5 (which is the currently running Android version)
Thanks!
bigCrash
Has nobody an answer? Just one?
Im specifically interested in why it is more difficult to port e.g. cyanogenmod if there is only an older version of stock android and how important the kernel is? Why do we need kernel sources? Can't one just self-compile a kernel.
Where are the limits if i have a device running 4.2. Why can it possibly run 5.1 but not 6? Is the kernel limiting? Or only the effort to realize such a thing.
Thanks!
bigCrash

Porting B2G to moto g3

Hi Folks,
I'm trying to port B2G to my moto g3. I was referring to this doc (https://developer.mozilla.org/en-US/docs/Archive/B2G_OS/Porting_B2G_OS/basics). However some of the things mentioned in this doc are not clear to me. Could you please help me with the below issue.
I'd like to build the AndroidKernel from source. So where should I include the below lines? Is it in this file?
https://github.com/LineageOS/android_device_motorola_osprey/blob/cm-14.1/rootdir/etc/init.target.rc
HTML:
on early-init
start ueventd
import /init.b2g.rc
Also if I understood correctly. building the kernel from source doesn't require to unpack , edit the init.rc file and repack the kernel from the device. Could you please confirm this?
Thanks,
Arun
Hi Arun,
I totally understand your frustration with this. You'd like to contribute to the Servonk project but first you need to port B2G to your phone or buy a new phone. Since the only other supported phones are the Z3 compact and Nexus 5, both of which are still relatively expensive secondhand, you want to use your Moto G3 which means first porting B2G to it.
So, I think there are two options you have:
1. Port direct from the AOSP code
2. Port from the CM12 code.
As Gerard said in telegram, porting from CM to B2G was never finalised so may actually require more work. However there may actually be more people here who can help you since people seem more familiar with CM than AOSP (in general, I know some people are very knowledgeable in both).
I see you've posted in the AOSP 7.1.1 kernel thread. Unfortunately, for the Servonk project you currently need a Lollipop based build, so 5.x AOSP kernel or CM12.x.
It might be worth asking a mod to move this thread into one of the development sub-forums.
As you know, this is the limit of my knowledge, but I really hope you find some success, if would be great if you could contribute to the Servonk project.
Your last option is to use the desktop build of Servonk, based on Glutin instead of Gonk, but I understand that you really want to get Servonk working on your phone.
Best of luck

Categories

Resources