Android Mainlining Project. - Galaxy 3 General

I recently saw on one of the blogs, that one of the expected and widely rumored feature of the android jellybean will be Android Mainlining. I don't exactly know what it is because I am not a dev. But i feel it will help in development for our galaxy 3 and that the future releases of android and/or kernel (3.3+) would be much more easier to get to work on our device. I hope some dev confirms this. If it happens to be so, then will we be able to get the latest android and kernel versions easily and fast ??
AndroidPolice mentions --"Linux and Android Working TogetherThe one definite Jelly Bean bit of news is an upgrade to a fresh Linux Kernel. Android is built on Linux, but it has traditionally been a fork of Linux. Linux 3.3 marks the start of the Android Mainlining Project: the merging of the world's most popular Linux-based OS with the proper Linux Kernel. 3.3 should let you boot directly into an Android user space with a stock kernel, and 3.4 will bring even more Android stuff (like power management) into the fold. This should increase Android's hardware compatibility, make life easier for developers looking to port Android, and help out Linux distributions that want to support Android programs.
If you are at all interesting in why forking the Linux Kernel is a Very Bad idea, watch the first few minutes of this awesome talk from GKH, a Linux Kernel developer. Basically, Linux development is scary fast, like 7600 line changes per day fast, and you want to be on that train, not chasing it.
So life for Googlers should get a lot easier. You know how OEM modifications slow the upgrade process when Google releases a new version? How they have to re-port all of their changes to the new OS, and it usually involves lots of duplicated effort? Google has basically been doing that, this whole time, with the Linux Kernel. Having Android be officially supported should allow our beloved Android engineers to spend less time merging all those kernel changes and more time developing awesome features."

The part I got was that, they're merging Linux and the android kernel together for better compatibility with hardware. Not sure how it links to easier porting or maybe easier porting after jellybean.
Sent from my GT-I5800 using XDA App

Related

Android

Is anyone Considering porting the power of google's new OS to the Shadow, SDK 1.0 was just released for Developers by google along with the emulator. I looked at it and can understand what is going on in the source code but haven't got a clue what needs to be changed for it to function on the HTC Juno/Shadow. I am a noob at porting, wouldn't mind learning just never had the want to do it till I saw some of the options in Android.
jcota said:
Is anyone Considering porting the power of google's new OS to the Shadow, SDK 1.0 was just released for Developers by google along with the emulator. I looked at it and can understand what is going on in the source code but haven't got a clue what needs to be changed for it to function on the HTC Juno/Shadow. I am a noob at porting, wouldn't mind learning just never had the want to do it till I saw some of the options in Android.
Click to expand...
Click to collapse
We need to get a kernel booting first. I started playing around with it but between job, family and fixing up my house I haven't done any serious work on it.
You may want to look at some of the info out there about getting android running on some of the other devices as a starting point:
http://forum.xda-developers.com/showthread.php?p=2084090&posted=1#post2084090
http://forum.xda-developers.com/showthread.php?t=383695
http://forum.xda-developers.com/showthread.php?t=404145
The first step is to cross-compile a kernel image (zImage) and see if we can convince HaRET to boot with it. 200MHz OMAP processor in the juno is pretty standard and should be well supported.
Nite_Hawk
I have been doing a little research, according to eLinux.org ( http://elinux.org/Android_on_OMAP ) Android is possible on the ARM926EJ-S which the Shadow is running. At one point I was able to get Android somewhat starting by following some of the original work from the thread over at xda-dev ( http://forum.xda-developers.com/showthread.php?t=382265 ). Now this is a thread for a Vogue (or Touch) so at one point the changes that were being made stopped my progress.

[Q] What does it take to port new versions of Android to a handset?

I'm hoping somebody will be able to educate me a bit here on some deep technical questions. I've been searching for some information on this topic for a while now but without any luck. In a nutshell what I am curious about is this.. if I were to, lets say, build my own new handset, what would be entailed in getting android to work on it?
I know a kernel must be built with all the drivers and modules to communicate with any specific hardware/radios etc. But once you've got the kernel, is there still more porting that has to be done in the core android code? Are there significant CPU architectural differences or some other major differences between handsets that require more porting within the rest of the OS code? (Side question: if I want to build a kernel from source, what tools do I need)
To ask my question more specifically with the Epic, what is going to be necessary to get Gingerbread on it? If we already have the source for Eclair, or when we get the source for Froyo on the Epic.. what is it that makes it more than just a matter of pulling the drivers from those versions to make things work. Is android not built in a modular enough way to enable that?
I am myself a developer, but as I'm sure is obvious from my questions.. I'm not very experienced at OS level development. And what limited knowledge I do have mainly comes from making correlations to desktop OS, which is probably what is leading me astray.
I'm just really craving to know more about this stuff, so thanks ahead of time to anyone who takes their time to school me and help me understand. If there is any material out there that I should just go RTFM, I'd like to do that but please point me in the right direction.
Thanks!
FYI, your post/s do not pertain to any direct development. They are just generalized questions that can be answered with a simple search.
See Here
Reported as belonging in Q&A/general.
The most difficult part is porting drivers (if they're not already part of the kernel mainline) and device-specific glue code to the new kernel base. This is difficult becuase (i) it's a fair amount of code, (ii) the kernel does not have a stable API, so the necessary changes may be somewhat far reaching, and (iii) bugs that crop up are often more difficult to pin down and fix than in userspace programs. It also doesn't help the matter that Samsung's portion of the kernel code is messy, buggy, and just generally not in a state that would make it easy to port over to a new tree.
The reason why we can't just port Eclair drivers to Froyo, or Froyo drivers to Gingerbread, is that there's a fair number of proprietary modules on the phone (LCD, WiMAX, the entire storage stack, etc.) to which we don't have the source code. These modules are compiled against a specific kernel minor version (e.g., 2.6.29 for Eclair) and won't load in Froyo or Gingerbread. The version number can be faked, but if there's any change in the module API, or in the "API" (which isn't even formally defined) of dependent kernel code, all bets are off.
In theory if there's any Galaxy S device with a Gingerbread release, it might be possible to get a limited-capability kernel up and running, depending on how much the proprietary drivers change across devices (hopefully not much). The Nexus S doesn't count though as Google replaced the entire proprietary flash stoage stack with a GPL-based one. While we might be able to get such running on Galaxy S hardware, it would be incompatible with the existing storage layer and would necessitate a full device flash. Not really something you want to do when an official update with a complete set of drivers is going to be made in the "near" future.
Aside from the kernel, you would have to modify the parts of the Android userland that interface with hardware specific components, for example the "4G" (WiMAX) settings menu and such. I think much of the modem interaction also happens in userland. Then you have to port over whatever custom skin (e.g., TouchWiz) you have.
For some reason this is often believed to be the most difficult and time consuming part of a port, i.e., it's commonly complained that "HTC & Samsung delay releases to port Sense & TouchWiz, if they just dumped them and went AOSP updates would be a lot faster." Honestly it's not. It's an API update like any other Android app, and third party launchers don't seem to have significant problems here.
Mind you, I mention the difficulties of kernel porting without having actually attempted to do it myself, largely becuase it is so daunting. I know there's folks interested in doing this, and perhaps they have some tricks that make it a bit easier in a specific scenario. In general though, these are the difficulties one enounters when trying to port new Linux versions to any embedded platform.
I've often wondered this myself, as well as wondered why Google seemed to get caught with their pants down.
Now granted I don't know the nitty gritty details, but I don't understand why android wasn't written in a manner where as much of it as possible is just apps, and anything that is core is written where the handset makers just need to do the very low level stuff.
On top of that then it could have been made to be more easily themed, even rather dramatically.
Samsung/HTC should only be maintaining the low level "android wants the gps location, I know how to work this specific chip and give it back" and Sense/TouchWiz should just be a theme, and some custom widgets. Android itself should be virtually untouched between those two layers, and updates that don't change how it has to interact with the hardware or the themes should come straight from google.
Thankfully things have at least started to move this way. (you don't need to roll out a ROM update through sprint because Google updated the market like you used to, etc)
If Dell wants to customize Win 7 they add onto it, they don't roll their own copy of it, creating god knows how many fragmentation issues in the meantime. (And yes, I know Windows isn't open source, so they can't, but you get what I'm saying.) Because the second they did that they'd then take on a much larger QA burden, on top of everything else.
If android is untouched for the most part, it works, or it's a bug for everyone. You'd only need to test calls to your low level updates, which could for the most part be automated. The second you start changing a line here and there in the source code, now all of a sudden you have to do the "If I make a calendar item while on a call on a leap year the phone reboots" type QA/Support as well.
Edit: And of course it's very possible that is more or less how it is and the handset makers just flat out take longer to update then anyone imagined they would.
What language/s do you have to know to do all this?
nubsors said:
What language/s do you have to know to do all this?
Click to expand...
Click to collapse
C for kernel and Os. Java for apps(sdk). C and java(ndk/sdk) for apps that require native code implementations of things (eg. The VLC player that is coming. It wasn't possible until the latest edition of the ndk.)
Sent from my SPH-D700 using XDA App
Thank you mkasick for a great detailed answer. I didn't think about the fact there are closed source drivers to worry about as well, and that explains a lot.
@ghostrid3r: I did plenty of simple searches which did not answer my questions before posting, but thank you for the link. Also, not that it matters to me.. but is the development section just for releasing custom roms or something? If questions directly pertaining to development details don't belong there, seems to me the section should be renamed to "Epic 4G Custom Roms" instead.

Welcome to B2G!! (boot to gecko)

Boot to Gecko is coming! if you haven't heard of b2g, its a web based replacement OS designed to take on android, apple and WP7, the exciting thing is, to speed up the release, it is relying on similar linux based processes to run. see here ;
https://wiki.mozilla.org/B2G
I'm in no way associated with this project, just wanted you guys to see it. Some industrious developers are already working at a port for the galaxy s2 and the nexus. I know we have talented dev's right here, can we be far behind?
exciting yes??!!
Ava.tar said:
Boot to Gecko is coming! if you haven't heard of b2g, its a web based replacement OS designed to take on android, apple and WP7, the exciting thing is, to speed up the release, it is relying on similar linux based processes to run. see here ;
https://wiki.mozilla.org/B2G
I'm in no way associated with this project, just wanted you guys to see it. Some industrious developers are already working at a port for the galaxy s2 and the nexus. I know we have talented dev's right here, can we be far behind?
exciting yes??!!
Click to expand...
Click to collapse
Yeah, true, we really have quite wonderful devs for our G3 community, it shall just be a matter of time, I think
I'm pretty sure that rubbensolie will look forward to boot gecko to our phone ;P
Darius_AWS said:
I'm pretty sure that rubbensolie will look forward to boot gecko to our phone ;P
Click to expand...
Click to collapse
I already did look into it actually xD. But no progress, because i think we need another kernel for it.
Ava.tar said:
Boot to Gecko is coming! if you haven't heard of b2g, its a web based replacement OS designed to take on android, apple and WP7, the exciting thing is, to speed up the release, it is relying on similar linux based processes to run. see here ;
https://wiki.mozilla.org/B2G
I'm in no way associated with this project, just wanted you guys to see it. Some industrious developers are already working at a port for the galaxy s2 and the nexus. I know we have talented dev's right here, can we be far behind?
exciting yes??!!
Click to expand...
Click to collapse
As it is not a different Android version, but a totally different system, it will require developing a new kernel, whole new drivers and of course porting the system.
Kernel and driver developing are much a pain in the a*s, so it won't be "easy" like porting MIUI (i do not mean to offend anyone).
I think it will require months of hard work from a c/c++ skilled dev....
Of course, i would be more than happy if someone is able to state the opposite!
I did a bit more poking around and found that mozilla marketplace (the boot to gecko play store) is now open to devs!
Admittedly this wont be an easy port but the similarities between b2g and android will surely put our devs here ahead of the pack in the race to port b2g. And they are already having a good try on other android devices. I have so much faith in our devs!
https://marketplace.mozilla.org/en-US/login?to=/en-US/developers/
Heres the link
Well, i know how to develop web apps but i don't get the point on mozilla choice...
And performances of webapps in mobile phones are VERY low. I mean REALLY VERY low. At least, they are low until you provide optimized code for the underlying hardware but if you do so, you will need to provide a different interface for every kinf od hardware, ie: you will need to build a kernel with proper dirvers...
I'm not saying it can't be done, of course it can be, but as i stated before, it will be a major work from a skilled dev.
From my point of view, having CM7 /and then 9) fully working is much more interesting than trying to port mozilla OS.
andreapier said:
Well, i know how to develop web apps but i don't get the point on mozilla choice...
And performances of webapps in mobile phones are VERY low. I mean REALLY VERY low. At least, they are low until you provide optimized code for the underlying hardware but if you do so, you will need to provide a different interface for every kinf od hardware, ie: you will need to build a kernel with proper dirvers...
I'm not saying it can't be done, of course it can be, but as i stated before, it will be a major work from a skilled dev.
From my point of view, having CM7 /and then 9) fully working is much more interesting than trying to port mozilla OS.
Click to expand...
Click to collapse
Well looking at the work already being done it doesnt look slow, it looks blazing fast! the interface looks brilliant and incredibly user friendly. I am pretty excited about a finished cm9 too but chasing released android firmwares to port is surely not as fun for talented devs as getting in on something at ground level? this isnt even out yet! its not even a blip on apple or androids radar, it is exciting!
its just another option. Im sure it will be something being discussed more and more in the very near future
Updates
https://wiki.mozilla.org/Gaia/Hacking
http://ftp.mozilla.org/pub/mozilla.org/b2g/nightly/latest-mozilla-central/
Very exited about this project. Even if takes a year to get it working on our phones.
In my opinion I don't think you should over work devs because they work in their own time and users expect them to be robots who just port roms and develop day and night. Let our devs work on their current projects and finish them to a high standard. Its quality over quantity right?
I don't mean to offend anyone. Just voicing my opinion.
Sent from my GT-I5800 using xda app-developers app

New to ROM development and want to join an AOSP project for G3

I have been using different custom roms on devices since the good old Windows Phone 6 era, continuing with android Roms on the HTC Desire to just use it on all Android phones I have been using since. I really have been appreciating it, however it feels like I have never bothered to contributing to the rom-scene. I think it is my time to pay back.
So I'm very happy to see a that the bootloader got unlocked, and I'm basically just waiting for the bumped Roms to pop up. However I want to contribute this time.
In a Rom I'm basically looking for the vanilla android feeling, nothing fancy, just good battery life, stability and cleanliness. Is there any project that is looking for some development help, message me or tell me how to get involved!
I'm a developer professionally with an Engineering degree in Computer Science (MSc in Computer Science), I have developed a few apps for Android, I know Java, JavaScript, C++ and use Linux exclusively, I hope this is good for anyone who is going to start up a AOSP project or even start to work on a Cyanogen build.

A-OS-P (New AOSP OS)

Hey Folks, it's Me again...
This Time am i looking around for some possible help with another Project i'm planning since some Years. The final Name of it will be A-OS-P (Another OS Project). Based on AOSP and aiming on a clean Pixel like Experience (Full set of Google Apps instead of delivering a OS with many AOSP Apps (Dialer, Camera, Browser etc.)). The Goal of the Project will be to give the optimal support for Snapdragons Devices (Specially Xperia Snapdragon Devices) just like CAF does. There are many Ideas and Experience with Android behind this Project, but i'm not very good in Linux Stuff. I just made a AOSP Build some Years back for My Xperia Z3 using the SONY Guides and Sources. But doing a own OS with own Sources and all that is another Level.
That's why i'm looking around for some Help. Guides alone are not helpful enough. I hope someone is willed to guide and teach Me in making a own OS and that we can create together a great Android Experience for our Devices! There are a lot of Plans, but first Things first. All i want for now is being able to compile a slim and of course booting Build based on AOSP for My Xperia XZ Premium to see how the basics are working. The next Step should be to make first Changes and to create a own Repo on a Git that other can contribute fixes or being able to create own Builds for more Devices. If that sounds realistic just talk to Me. I really appreciate any Help with that!
BR
Lil Dreamer :angel:

Categories

Resources