[Q] Compiling AOSP - Android Q&A, Help & Troubleshooting

Hello,
So my brother bough a chinese smartphone. Many chinese apps where preinstalled and I have been able to remove them, so you wouldn't notice it is a chinese device. However it would be neat if this phone would have proper AOSP.
The current ROM is almost AOSP, minor modifications have been done. This made me curious, would one be able to compile AOSP from source, and use the original kernel (if compatible)? Is a kernel extractable from a ROM to be used in another? Do you need the sources from the manufacturer in order to succesfully build AOSP?
Please note I'm not trying to do this, I'm just curious if it could be done. I have done a fair amount of research but most of the tutorials are about compiling kernels, something I DON'T want to do.

_Roysten said:
Hello,
So my brother bough a chinese smartphone. Many chinese apps where preinstalled and I have been able to remove them, so you wouldn't notice it is a chinese device. However it would be neat if this phone would have proper AOSP.
The current ROM is almost AOSP, minor modifications have been done. This made me curious, would one be able to compile AOSP from source, and use the original kernel (if compatible)? Is a kernel extractable from a ROM to be used in another? Do you need the sources from the manufacturer in order to succesfully build AOSP?
Please note I'm not trying to do this, I'm just curious if it could be done. I have done a fair amount of research but most of the tutorials are about compiling kernels, something I DON'T want to do.
Click to expand...
Click to collapse
It is definitely possible, but will take many hours of work of you want to achieve a stable daily driver state. Usually the kernel will need modifications to make it work with the AOSP ROM.
Sent from my SGH-T999 using Tapatalk 2

Say the rom uses a kernel that works with AOSP, can one build the Android OS using the already compiled kernel from the device?

Related

[Q] AOSP or true custom ROM

I've been following the development of so-called ROMs for the Vibrant (and other SGS devices), but I have yet to see a single AOSP ROM. Even when Samsung released the original kernel sources for 2.1, there were no AOSP 2.1 ROMs. Why not? Is it because they don't know which BLOBs to pull for insertion or the proper vendor overlays?
Some developers have done great work with SGS kernels (especially supercurio and his Voodoo kernels ... eugene373's tend to always wipe the internal SD card unnecessarily ...). But, a kernel does not a ROM make ... therefore I ask, what is truly missing to build an AOSP ROM. I've gone through the sources, but I don't follow makefiles too well.
I know we have another month or so before Samsung is obligated to release their 2.2 kernel sources, but that should have no impact on 2.1 AOSP ROMs. Therefore, I ask "what is the hold up?" What is missing, and what might I contribute ...
Need 2.2 source code...
2.1 is a dead horse--why bother when 2.2/2.3 are out?
The reason to bother is to at least get AOSP running. Once its on 2.1, it'll be easier to get 2.2 AOSP running on it. But claiming 2.1 is a "dead horse" is the wrong path ... the real question still stands: after 9 months on the market their still are no AOSP ROMs.
MIUI
Now that vibrant 2.2 source is released ... we finally have a REAL AOSP port and my all time favorite from my old HD2 the MIUI.... so keep your heads up and wait for it to get finished.
Get a custom rom. There are so many good devs doing them don't waste your time on AOSP....... until they release the actual source code...... on April 22
sarim.ali said:
Now that vibrant 2.2 source is released ... we finally have a REAL AOSP port and my all time favorite from my old HD2 the MIUI.... so keep your heads up and wait for it to get finished.
Click to expand...
Click to collapse
Except, the 2.2 source for the Vibrant has not been released. The SGH-T959D that shows Froyo sources on Samsung's site is for the Canadian Fascinate, not the US T-Mobile Vibrant. Samsung has yet to release the 2.2 sources.
oka1 said:
Get a custom rom. There are so many good devs doing them don't waste your time on AOSP....... until they release the actual source code...... on April 22
Click to expand...
Click to collapse
Except the so-called "custom ROMs" are just modifications on the stock theme, a replacement kernel and a change of some of the supplied applications.
There is nothing close to a full "custom ROM" such as CyanogenMod or MIUI because we don't have Samsung's sources. What is passing for a "custom ROM" for the Vibrant are just repackaged files. It is akin to the "ROM cooking" that took place for the WinMo phones, not a truly ground-up build from source that is possible with Android.
EDT/Devs4Android has the MIUI build. From Source.
TW has a 2.2.1 in testing.
EDT has a 2.2.1 Beta released.
TW has a 2.3 AOSP in testing. From Source.
EDT has 2.2 AOSP in testing. From Source.
What you want is out there for you.
Watch the forums and reply when a call for Alpha testers is posted.
Hopefully it won't be long before you see a full TW/EDT/Devs4Android collaboration!
I think what the original poster is trying to ask (and I have the same question) is why were there never any real 2.1 AOSP, cyanogen5 for the vibrant. The source for 2.1 has been around for many months. Were some other proprietary bits missing, was the released source code such a mess that it was unbuildable, something else? With those questions in mind, why will things be any different when the 2.2 source comes out?
mattb3 said:
I think what the original poster is trying to ask (and I have the same question) is why were there never any real 2.1 AOSP, cyanogen5 for the vibrant. The source for 2.1 has been around for many months. Were some other proprietary bits missing, was the released source code such a mess that it was unbuildable, something else? With those questions in mind, why will things be any different when the 2.2 source comes out?
Click to expand...
Click to collapse
Yes, this is more towards what I was getting at. We do not have Samsung's kernel sources for 2.2. And, we do not have a Samsung provided vendor overlay.
When we receive these two pieces, then a true AOSP build will be possible. However, we do have the 2.1 kernel sources, so why wasn't a true AOSP build possible then? What was missing, and can we actually expect Samsung to release the overlay that's needed?
Actually, that's true. I know it was old but why didn't anyone build a 2.1 cyanogen or aosp rom? (Not to say its easy.)
Sent from my SGH-T959 using XDA App
A noob question, kindly can someone explain what is the vendor overlay stuff?
Many thanks!
Where have you been?
rpcameron said:
I've been following the development of so-called ROMs for the Vibrant (and other SGS devices), but I have yet to see a single AOSP ROM. Even when Samsung released the original kernel sources for 2.1, there were no AOSP 2.1 ROMs. Why not? Is it because they don't know which BLOBs to pull for insertion or the proper vendor overlays?
Some developers have done great work with SGS kernels (especially supercurio and his Voodoo kernels ... eugene373's tend to always wipe the internal SD card unnecessarily ...). But, a kernel does not a ROM make ... therefore I ask, what is truly missing to build an AOSP ROM. I've gone through the sources, but I don't follow makefiles too well.
I know we have another month or so before Samsung is obligated to release their 2.2 kernel sources, but that should have no impact on 2.1 AOSP ROMs. Therefore, I ask "what is the hold up?" What is missing, and what might I contribute ...
Click to expand...
Click to collapse
Dude theres been a true AOSP ROM for the Vibrant since like december and thats CM 6.1
Im running it now
rpcameron said:
I've been following the development of so-called ROMs for the Vibrant (and other SGS devices), but I have yet to see a single AOSP ROM. Even when Samsung released the original kernel sources for 2.1, there were no AOSP 2.1 ROMs. Why not? Is it because they don't know which BLOBs to pull for insertion or the proper vendor overlays?
Some developers have done great work with SGS kernels (especially supercurio and his Voodoo kernels ... eugene373's tend to always wipe the internal SD card unnecessarily ...). But, a kernel does not a ROM make ... therefore I ask, what is truly missing to build an AOSP ROM. I've gone through the sources, but I don't follow makefiles too well.
I know we have another month or so before Samsung is obligated to release their 2.2 kernel sources, but that should have no impact on 2.1 AOSP ROMs. Therefore, I ask "what is the hold up?" What is missing, and what might I contribute ...
Click to expand...
Click to collapse
For probably the same reason that many phones with non AOSP firmware running 1.5/1.6 did not bother with AOSP 1.5/1.6 when they were released around the time 2.1 source hit. Why bother developing at all for what is essentially an "out of date" OS.
The only people it seems who actively continue to develop for existing (as opposed to new) firmware are manufacturers and carriers. This stupidity should be left to the manufacturers who still do this.
One of the larger snags way back then (sits in his rocking chair on the porch) was a lack of understanding of the phones proprietary aspects and how to work around them. But we have a fairly clear understanding of Samsung's boot process now, and RFS can now easily be turned into a distant memory.
I would wager a guess that the apathy towards 2.1 will not repeat itself once we have 2.2 source widely available and the low level similarities between 2.2 and 2.3 should have Gingerbread being more than the experiment it currently is. It's been barely more than a week since Eugene's little present manifested and there are already proper and stable kernels available.
Keep in mind that the devs we do have, have done a phenomenal job of cleaning up, speeding up, and drastically enhancing our existing 2.2 release. And perhaps to the point where many will not really care, though I know many would still like to see CyanogenMod6/7 properly on this phone.
Master&Slaveā„¢ said:
Dude theres been a true AOSP ROM for the Vibrant since like december and thats CM 6.1
Im running it now
Click to expand...
Click to collapse
Um, that's not quite true. The CyanogenMod.com website lists 0 files available for download for either experimental or stable files. The CM6.1 you must be running is not a true CM build.
Also, CM is not AOSP, but rather AOSP with modifications.
phrozenflame said:
A noob question, kindly can someone explain what is the vendor overlay stuff?
Many thanks!
Click to expand...
Click to collapse
The vendor overlay tells the AOSP build system which proprietary files are needed from the device that are not available in source form. This includes things like GPS and video drivers, baseband firmware for wireless radios, &c.
hi everybody !
a month age i decided to compile a new rom for my Galaxy S absolutely from AOSP source ( branch 2.2.1_r1 ) after some compile-time problem and many painful steps to resolve ,eventually the rom successfully built and can boot it up flawlessly on emulator.
i create a nandroid backup of current rom and installed the compiled one. but i am facing new problem :
1- the phone successfully boots but after short while screen began
flicking several time and the phone go in deep sleep and never wakeup
( power button or menu button does not do any thing )
2- touch screen works only for some second that I can unlock the
phone
3- there is no network available
4- I have downloaded samsung opesource package for GT-I9000. it
contains a folder named 'platform' but when i merge these files to
AOSP , the compile process stops and fails again. if there any one can
help me which files from samsung source should i merge and how ? if
you now the answer and dont have spare time then some internet link or
online document is really useful .i have no problem studding and
reading and searching . reaching to target is my only hope .
I am really disappointed why there is not a good and complete step2step tutorial to compile an AOSP rom for galaxy s (GT-I9000) !!
such docs is available for phones like dell streak , desire , dream , magic , .... . i really want to to active these aspect on XDA forum and with help of all you ( mods and masters ) try to create such tutorial that any one in world can use to refer . i think XDA is the only reference on net to collect and create such help and document. please help me and leave PM or comment to agree ot disagree and from where can i start ?!! thank in advanced .
edit :
there is a google groups post that i send my question in Android-platform . if you prefer please join this group and active that post to ask any question related to 'galaxy s compile from source ' .
post located at http://groups.google.com/group/android-platform/browse_thread/thread/da5d6f18f3bd3c9b

[Q] How did your developers build a ROM when there isn't one from Samsung?

Hi.
I am a noob, not a techy
just curios - how can your devs build ICS roms when Samsung themselves did not build/create/honed/refined the Vibrant for Android 4?
What I am trying to ask is, how can your devs manage to control the hardware via android 4, if Samsung did not supply the codes/drivers/source?
Thanks
I'm not 100% sure but I think I read somewhere you can use the source code to build a ROM and then they used the Gingerbread bootloader/kernel and from there it's debugging.... again I could be wrong.
I think they took the source, and compile the source with the characteristics of the device. then applications that do not work, modified or exchanged for other versions of other rom, like the kernel, and other modifications, which is why the rom, there are many versions which fix bugs Version earlier after many users try it. (an example of this is the ICS Passion, which is now in its version 13)
Well passion is based on cm9. Which is aosp rom using source code android releases. Basically if you have drivers for hardware and a device tree you can use that source to build for any device.
Wherelse Samsung roms are usually not directly from source but just modded firmware from Samsung leaks. Oems do use close sources drivers though, usually better and get more out of hardware.
Sent from my SGH-T959 using XDA App

[Q] How to build CM11 for a legacy device?

I have a LG P350 which development has stopped but i want to keep it updated, i have my computer ready for building, also i have kernel sources, Cyanogenmod 11 and 10.1 sources too, (I don't know exactly if 10.1 sources could help) and i know that i need to apply patches to work on Armv6 but i don't know how to apply them to the source code, also i don't know if i would just need the pure source code to build or i need to do more modifications to it and finally, i don't know if the rom would work with 2.36 kernel which it's the most stable one for this device, i'm very new in this but i know that i can keep update my little phone, thank you all in advance for help.
DiegoConD said:
I have a LG P350 which development has stopped but i want to keep it updated, i have my computer ready for building, also i have kernel sources, Cyanogenmod 11 and 10.1 sources too, (I don't know exactly if 10.1 sources could help) and i know that i need to apply patches to work on Armv6 but i don't know how to apply them to the source code, also i don't know if i would just need the pure source code to build or i need to do more modifications to it and finally, i don't know if the rom would work with 2.36 kernel which it's the most stable one for this device, i'm very new in this but i know that i can keep update my little phone, thank you all in advance for help.
Click to expand...
Click to collapse
Hello, looking at your situation here is what I can conclude. First off you will need to change things for building on ARMv6 architecture, check this out for example. But your biggest problem will be that Android 4.0+ uses Linux kernel version 3.0+, and with the 2.36 kernel you have a lot of things will be broken and need fixing. That being said if your up for the challenge for it cause that's what were all about .
shimp208 said:
Hello, looking at your situation here is what I can conclude. First off you will need to change things for building on ARMv6 architecture, check this out for example. But your biggest problem will be that Android 4.0+ uses Linux kernel version 3.0+, and with the 2.36 kernel you have a lot of things will be broken and need fixing. That being said if your up for the challenge for it cause that's what were all about .
Click to expand...
Click to collapse
Well, i got this http://forum.xda-developers.com/showthread.php?t=2144790 that is the most similar phone talking about hardware, it has 3.0 kernel working well so i thought i could port it, i found this http://stackoverflow.com/questions/15961306/porting-kernel-from-another-device so i think i would have less problems due hardware similarities (Look here http://www.gsmarena.com/compare.php3?idPhone1=3516&idPhone2=3735 ) so, if i have cm11 pure sources, i add this kernel sources and some patches i would have it booting? Sorry for this very dumb question but, i didn't get at all about the armv6 part, how to apply patches, which i would need and all that, i really want to learn about this so thank you for this answer and the next ones :good:
DiegoConD said:
Well, i got this http://forum.xda-developers.com/showthread.php?t=2144790 that is the most similar phone talking about hardware, it has 3.0 kernel working well so i thought i could port it, i found this http://stackoverflow.com/questions/15961306/porting-kernel-from-another-device so i think i would have less problems due hardware similarities (Look here http://www.gsmarena.com/compare.php3?idPhone1=3516&idPhone2=3735 ) so, if i have cm11 pure sources, i add this kernel sources and some patches i would have it booting? Sorry for this very dumb question but, i didn't get at all about the armv6 part, how to apply patches, which i would need and all that, i really want to learn about this so thank you for this answer and the next ones :good:
Click to expand...
Click to collapse
The best way to start is use the ARMv6 branch of Cyanogenmod 11, replace the CM 10.1 in the previous linked build guide with cm-11.0 ("repo init -u git://github.com/androidarmv6/android.git -b cm-11.0"), and then to direct the build to use your kernel take a look at this guide on integrated kernel building with Cyanogenmod.

How do I Build an Android rom for New Device?

I want to learn how to build a rom for an new device that no one has created a custom rom for. I am kinda new at this. But I want to learn how. I is there a full on guild or something on how to do it... I want to know. There are devices out there that have to custom roms yet that I would like to build for. I would like to use AOSP to build a clean fresh pure Android rom. Those devices I want to build for have the right specs to run a newer Android version but the developers did not realse an update for. I really would like to learn how to build/create my own Android rom from scratch... Learn how to build a kernel, bootloader, etc. to help the rom run right. Can anyone help?
http://forum.xda-developers.com/showthread.php?t=1272270
Thanks me if it helps you
@jakeh9777
Read this http://forum.xda-developers.com/chef-central/android/guide-android-rom-development-t2814763
Especially post #4 and below
Thanks!
My only problem is where do I get a device tree and all the files for the device? I am wanting to build roms for devices that no one else build roms for yet. So it is going to be hard to customize roms for those devices without any roms in the first place. I know how to download source but I can't build it a rom from it. I just want to support devices that no one else has but the ones people want still... And some of them aa silde out qwerty keyboards. Can I get some more easier instite... I better at learning physically, so a video will be good too.
P.S. I can't get a device tree from CM if the device is not been added... That is why I said these devices don't have roms yet.

Resources/tutorials on how to port custom (eg. franco) kernel to a new device?

Hi all!
I've been looking for resources or tutorials on how to port a custom kernel like franco kernel to a currently not supported device, but seem to not be able to find any.
I'm a programmer myself, although I'm not very familiar with C, I think I'm still comfortable to make some non-drastic changes to the code. I've never worked on kernels or OS before, but it's going to be fun to learn new things. Since my goal is just to port an existing kernel, I think it's not going to be too hard in comparison to adding new features to the kernel.
I currently have a phone with already released OEM kernel source code, and would like to start with porting a custom kernel to it.
Thanks in advance to anyone who can point me to the right direction!

Categories

Resources