[Q] General question regarding kernels and android releases - Streak 5 Q&A, Help & Troubleshooting

Hi! This is maybe a general dev question, but I'd like to get an answer anyway:
what is exactly the link between an Android release and the kernel it works upon?
I noticed most recent releases use 3.0+ Linux kernels, and others (like the DSCs) use the Phoenix Universal Kernel, which is based on a 2.6.35... So I wonder: is ICS/JB in any way dependant on "newer" kernels?
I understand the answer must be closer to "no", since the pre-alpha build also uses a fork of the PUK, but the fact that it uses a *different version* makes me wonder how much work does it take to get a kernel ready for a newer release, and most importantly... why?
Thanks a lot! Total n00b here, but eager to know more.

Newer kernel not required at least for ICS.
All GB/ICS kernels are based on this kernel (and it's a Dell's lie about using same sources for 407 release as SoD was fixed there without switching timer source):
http://opensource.dell.com/releases/streak/4.05_and_4.07/
kibuuka successfully applied kgsl/genlock patch and it's the only thing actually needed for ICS.
List (a bit old) of changes in Phoenix kernel and later derivatives:
http://forum.xda-developers.com/showpost.php?p=25291276&postcount=3812

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] Linux kernel 3.08 or 3.1 on Android possible?

After seeing that the Galaxy Nexus is so far running kernel 3.0.1, I was wondering if it is possible to update current kernels on existing devices to a 3.x kernel. I have a little experience in at least successfully upgrading Debian to 3.1 kernel, but compiling for android is a bit different it seems.
On my G2x, which is running 2.6.32.45, I attempted to compile a 3.1 kernel, and it refused to boot into CM7. I followed the CM kernel compilation guide, but to no avail. Would this most likely be due just to error on my part during compilation or configuration, or do I need to wait for LG to make their own 3.x kernel based ROM to derive the proper drivers?
Is it even possible at all to "upgrade" to a higher kernel version if the phone manufacturer has not done so themselves already? Thanks for any input!
Yes, you will have to wait until LG releases their version. No, its not possible to upgrade to a higher kernel version if the phone manufacturer has not done so themselves (you could try to compile one based on a higher version but that would have to be from some other manufacturer and most likely it will not work). To answer your title question, yes, it most likely will be done in higher versions of android.
Theonew said:
Yes, you will have to wait until LG releases their version. No, its not possible to upgrade to a higher kernel version if the phone manufacturer has not done so themselves (you could try to compile one based on a higher version but that would have to be from some other manufacturer and most likely it will not work). To answer your title question, yes, it most likely will be done in higher versions of android.
Click to expand...
Click to collapse
Thank you for replying so quickly and concisely!
That is a bit disappointing, but realistic I suppose. In the 3.1 kernel changelog there were a ton of Tegra based changes/fixes, so I figured I'd try it out on the Tegra based G2X. What is it that the newer kernels are missing that severely hinders upgrades on android as oppose to desktop (x86?) platforms?
In more realistic terms, the most likely way of being able to jump up to a higher kernel would be say, using the 3.0.1 kernel from the Galaxy Nexus dump as the source and use a current 2.6.32 config with it? I might try it out if it's a little more likely!
hobbla said:
Thank you for replying so quickly and concisely!
That is a bit disappointing, but realistic I suppose. In the 3.1 kernel changelog there were a ton of Tegra based changes/fixes, so I figured I'd try it out on the Tegra based G2X. What is it that the newer kernels are missing that severely hinders upgrades on android as oppose to desktop (x86?) platforms?
In more realistic terms, the most likely way of being able to jump up to a higher kernel would be say, using the 3.0.1 kernel from the Galaxy Nexus dump as the source and use a current 2.6.32 config with it? I might try it out if it's a little more likely!
Click to expand...
Click to collapse
The newer kernels aren't missing anything. In fact, they have many more features, optimizations, and fixes which do not allow them to work on earlier versions of android.
More likely yes, but still, it most likely will not work (since these earlier version of android won't support all what higher kernels and android versions support).
hobbla said:
After seeing that the Galaxy Nexus is so far running kernel 3.0.1, I was wondering if it is possible to update current kernels on existing devices to a 3.x kernel. I have a little experience in at least successfully upgrading Debian to 3.1 kernel, but compiling for android is a bit different it seems.
On my G2x, which is running 2.6.32.45, I attempted to compile a 3.1 kernel, and it refused to boot into CM7. I followed the CM kernel compilation guide, but to no avail. Would this most likely be due just to error on my part during compilation or configuration, or do I need to wait for LG to make their own 3.x kernel based ROM to derive the proper drivers?
Is it even possible at all to "upgrade" to a higher kernel version if the phone manufacturer has not done so themselves already? Thanks for any input!
Click to expand...
Click to collapse
Just ported this 3.1 kernel last night. I took the Linaro 3.1 Linux kernel, and integrated ashmem, pmem, binder, and lowmemorykiller.
http :// i271.photobucket.com/albums/jj141/landcruiserfjz80/kernel/2011-11-09_09-39-08_429.jpg
forcedinductionz said:
Just ported this 3.1 kernel last night. I took the Linaro 3.1 Linux kernel, and integrated ashmem, pmem, binder, and lowmemorykiller.
Click to expand...
Click to collapse
Care to upload it?
Theonew said:
Care to upload it?
Click to expand...
Click to collapse
It's for an OMAP3 platform. If you are looking to port a Tegra 2 BSP to a 3.1 kernel i'd be willing to help get it going.
forcedinductionz said:
It's for an OMAP3 platform. If you are looking to port a Tegra 2 BSP to a 3.1 kernel i'd be willing to help get it going.
Click to expand...
Click to collapse
That would be great! I've never considered Linaro before. From reading up on it, it seems to be an optimized kernel for ARM (and other mobile CPUs)? You might have to make a tutorial on how to customize your own kernel
hobbla said:
That would be great! I've never considered Linaro before. From reading up on it, it seems to be an optimized kernel for ARM (and other mobile CPUs)? You might have to make a tutorial on how to customize your own kernel
Click to expand...
Click to collapse
I'm about to deliver some Android changes to this tree. If you are serious about supporting Tegra2 please point me to your current kernel's source code. I'll begin porting the BSP and drivers.
https :// github.com/EmbeddedAndroid/linaro-android-3.1
forcedinductionz said:
I'm about to deliver some Android changes to this tree. If you are serious about supporting Tegra2 please point me to your current kernel's source code. I'll begin porting the BSP and drivers.
https :// github.com/EmbeddedAndroid/linaro-android-3.1
Click to expand...
Click to collapse
This looks great! Would you be including the Tegra 2 BSP and drivers into the embedded kernel? I (and any other Tegra device owners) really appreciate the help!
Here's the source for the device I have; LG G2X (P999) with a Tegra 250 (sorry about mediafire, LG doesn't allow hotlinking):
http :// www.mediafire.com/?9zt7suw7nivbr7o
If we wanted this to work on a Cyanogenmod based kernel, I guess you'd have to look at the Cyanogen Git. Here's the the P999 cyanogen git:
https :// github.com/CyanogenMod/android_device_lge_p999
You can look at getting set up with it easily here, I believe:
http :// wiki.cyanogenmod.com/wiki/Building_Kernel_from_source
Thank you for helping! If there's anything else I can help with, or resources you could post that would allow me to help you better that'd be great.
I am pulling down the sources now. It's been a busy week getting ICS up and running but now I have some time to play. I'll keep you posted on my progress.
How it's goin'?
forcedinductionz said:
I am pulling down the sources now. It's been a busy week getting ICS up and running but now I have some time to play. I'll keep you posted on my progress.
Click to expand...
Click to collapse
Sounds great! Again, if there's anything we can assist you with just let us know. Or, outlining the steps you're taking could allow us to help in the future
Sent from my LG-P999 using XDA App
Is everything OK?

ICS Thoughts

Just rambling here. In order to get ICS ported to the Venue, we need compatible kernel drivers. It appears, from what I can find on the 'net, that Qualcomm isn't releasing drivers for the QSD8250 for ICS. Looking around XDA, I see the HTC Desire (GSM), also based on the '8250, has a working ICS beta found here: http://forum.xda-developers.com/showthread.php?t=1403113. This appears to use a Tiamat kernel, http://tiamat-dev.com/tiamat_bravo/. Using the AOSP 4.0.x repository, the Dell info from http://opensource.dell.com/releases/venue/v4.06/ and the Tiamat kernel, is it possible to pull together an ICS port? I wish I had more experience with this type of stuff...
Dell used the CAF 8260 GB sources when building 4xx roms, they simply backported whatever they need to from their already working 3xx codebase for whatever was needed (i assume)
CAF itself dropped support for 8x50 in their GB codebases, but the 8x60 is close enough it didnt really matter ultimately.
Much of the drivers arnt even in the kernel, they're in the android userland which is Apache and not gpl, hence the driver issue.
Which ever method you (presumedly do) to get the kernel booting under ICS doesnt really matter, but the more difficult/time-consuming methods will ultimately be more useful for porting to newer kern versions.
Don't forget the Nexus One and, IIRC, the HD2 also use the 8250
I would think this would help too: http://www.xda-developers.com/android/qualcomm-releases-adreno-2xx-gpu-binaries-for-ics/
Too bad the development work is well outside my capabilities. Maybe our Korean friends are working on it though.
Guys.!!! Dell venue n dell streak 5got same rom n environment hardware too just diffrence is venue is Hdpi n dell streak is Mdpi .so why do nt we join hands n make ics work for dell or on other hand u can take advantage of our dell streak 5 formus there r few good roms like longhorn 2.8 with Hdpi support for dell Venue and Dcs 1.1.which supports both hdpi n mdpi just need to edit build.prop n may be kernel....whish u all safe cooking ...n Friends in need friend indeed ..
Max
Sent from my Dell Streak using xda premium
Sent from my Dell Streak using xda premium
Folks, I can see that Qualcomm released Adreno 200 drivers for ICS several months ago (Mar) (https://developer.qualcomm.com/mobi...phics-optimization-adreno/tools-and-resources).
Information in the above page also says that, the drivers has been tested on CAF M8960AAAAANLYA1030. As I noticed, whenever we get the source code from Code Aurora, there is also a kernel directory included. Do you think that we can start from that kernel to port ICS to Venue?
chacona said:
Folks, I can see that Qualcomm released Adreno 200 drivers for ICS several months ago (Mar) (https://developer.qualcomm.com/mobi...phics-optimization-adreno/tools-and-resources).
Information in the above page also says that, the drivers has been tested on CAF M8960AAAAANLYA1030. As I noticed, whenever we get the source code from Code Aurora, there is also a kernel directory included. Do you think that we can start from that kernel to port ICS to Venue?
Click to expand...
Click to collapse
Yes we can,
But I aint that good into dev
This mobile has what it requires to run ICS
The kernel itself ultimately doesnt matter, as long as it has the right code changes merged in.
The current S5 ICS kernel's lineage is:
S5/405 (dell) -> Phoenix kernel/GB (n0p) -> Phoenix/cm7.2 (hPa) ?-> Phoenix/cm9 (hPa) -> Phoenix/AOSP (kibuuka)
Only the final step involved merging in any changes to make it work with ics, ultimately it's based mostly on the phoenix GB kernel which itself is based on the S5's 405 kernel
S5 405 = S5 408 = V 406 = V 408, they're all the same kernel (with ifdefs/configs for the S5/V).
I'd imagine getting a V kernel to boot ICS period is 85% of the work as the S5's froyo/GB kernels can directly boot V froyo/gb roms, and the reverse would likely hold.
The kernel 405/6/7/8 from Dell can be built successfully, however there are known issues such as after charging, we won't be able to boot the kernel up. I do not have a Streak, so I wonder whether those issues are fixed well in Phoenix kernel Manii? Can you show me how to get the source for the latest phoenix kernel that you're using with your Streak AOSP? Maybe I will try to build with Venue myself to see how things work!
phoenix kernel/ICS - Github
It's currently in the process of being merged back in.
You could try diffing S5 405 with V 406 and seeing what's changed in the source, they're nearly identical, but I dont expect them to be bit identical
TheManii said:
phoenix kernel/ICS - Github
It's currently in the process of being merged back in.
You could try diffing S5 405 with V 406 and seeing what's changed in the source, they're nearly identical, but I dont expect them to be bit identical
Click to expand...
Click to collapse
Sounds interesting, that's exactly what I did in my custom overclocked kernel. However, I will be able to save some time by using their kernel directly. In fact, I think that 405/407 kernel is not very different from 406 since my build for 405 also ran on DV too.
I will try with their "master"/experimental14 branch kernel first (to CM 7.2.0). Thanks for your information!
chacona said:
I will try with their "master"/experimental14 branch kernel first (to CM 7.2.0). Thanks for your information!
Click to expand...
Click to collapse
Will be waste of time as only streak-specific file is board-qsd8x50_austin.c, other changes are device-independent.
Changes that essential to run ics with hwa:
kgsl3.8 - kernel-side drivers are in drivers/video/msm - direct drop in instead of one that's shipped with stock 405 kernel
include/linux/msm-kgsl.h - to make kgsl3.8 build
(not really)*streak-specific*changes to arch/arm/mach-msm/board-qsd8x50_austin.c - changes in hardware init routines needful for kgsl3.8 (updated data structures, powerrail). In short - do a diff for board-qsd8x50_austin.c between Phoenix and ics branches to find out what's changed - to be honest - changes are generic for qualcomm devices, so direct copy/paste of changes into your device's board file will do the job
Other patches that were applied to ics branch are optional (cpu governors, io schedulers, netfilter specific changes (these are only needed if you need ics' mobile data usage collecting/limits features)) or affect streak-specific drivers only (and are not ics-specific).
So, in short - update your device's board file and use ics branch - that would be enough.
kibuuka said:
So, in short - update your device's board file and use ics branch - that would be enough.
Click to expand...
Click to collapse
Do you think I can start with the stock kernel, download the ICS tree including the kernel, then do the diff/merge between device's board file from ICS kernel to Dell kernel? After that, the original Dell kernel is patched with new stuffs for ICS, and can be used with ICS ROM?
i can also provide you with all patches made for streak against aosp source tree for shortening your mileage and instructions for a quickstart (my streak is broken at the moment, so i've suspended my development activities and got spare time for that)
please mention kernel for streak's ics is being built separately at the moment (i've got plans incorporating it in aosp build process, but it will take some time)
when i've messed with streak kernel making it ics-friendly i've realised that most of stuff can be made cross-compatible between two devices.
It's 95% the kernel, the only thing left is to turn off the rotation patch and swap out the BCM4325 for BCM4239 drivers.
On stock 3/4xx i can directly load venue roms on my S5 and only wifi is broken. (with a S5 kernel) Everything else works.
TheManii said:
It's 95% the kernel, the only thing left is to turn off the rotation patch and swap out the BCM4325 for BCM4239 drivers.
Click to expand...
Click to collapse
rotation is triggerable through kernel configuration menu. check.
as of wifi - is there any known-to-be-trustable list of hardware components for venue?
The V is just an S5 without the hdmi and whatever provides usb hosting.
The only other notable change is the wifi chip.
All the other sensors are compatable, and so is the modem+ril.
(I was able to get 3g working, but not wifi due to the chip being different)
I dont think anyone has done a (good quality) teardown on the V though.
Most I can offer is to pull details android gives back while it's on.
I'm guessing that's how CM7.2 was ported, since hPa didnt actually own a V,
he just took his S5 build, and flicked a few switches.
(it helped a lot that CM7.2 doesnt need any kernel changes to boot, it's just the stock 408 one with a modded ramdisk)
He only had access to a V for like a day or so.
kibuuka said:
i can also provide you with all patches made for streak against aosp source tree for shortening your mileage and instructions for a quickstart (my streak is broken at the moment, so i've suspended my development activities and got spare time for that)
please mention kernel for streak's ics is being built separately at the moment (i've got plans incorporating it in aosp build process, but it will take some time)
when i've messed with streak kernel making it ics-friendly i've realised that most of stuff can be made cross-compatible between two devices.
Click to expand...
Click to collapse
Hi Kibuuka, that sounds good, could you please share?
One more thing I would like to ask is, the stock kernels 405/407 and 406 have issues regarding power (sometime I can see the issue that after charging, screen goes black and we can only quit that situation by removing the battery). How did you address it? (I notice that your kernel works well on my CM7, without that issue - or is just simply because it has not happened yet?)
n0p did enormous amount of work addressing sleep of death issue (which, i believe is one you refer to), so dsc kernels (opposed to stock ones) are free of this bug. Ask him for details (i wasn't involved to dsc development at the point he managed to fix it) as he's best source of information on SoD issue fix you could find
As of aosp patchset - will upload it during weekends.
For whatever it's worth, as soon as we get a working ICS level kernel, I plan on porting TWRP and CWM-touch.
Those require ICS kernels (or rather it's a great deal more difficult to make them run on GB kernels) and I cant port them until then.
I've already gotten TWRP and CWM-touch working on the S7, and plan on porting TWRP to the S10 now.
Edit: come to think of it, I actually have TWRP running on a 5xx kernel (which is HC), i'll try simply porting and seeing what happens

[Q] How come that specific userlands do require a certain kernel to work?

I'm very new to Android as an OS with the Linux kernel at its heart, but fairily proficient with GNU/Linux and a plethora of its distributions for what has been more than a decade by now. So, what I (amongst other things) find a bit bewildering is that very many of custom firmware images seem to require a very specific kernel version or build for handsets to actually work. For my Xperia Mini (Smultron), there are ROM images based on CyanogenMod that won't work with the "vanilla" CM7 kernel, for instance.
With a proper GNU/Linux system, you don't have that kind close coupling of userspace and kernel versions at all. Barring some minor incompatibilities between certain (old) releases of udev and modern releases of the Linux kernel (and vice versa), there's very little (if anything) that stops you from supplanting your three years old distro's kernel with something that Linus released a few days ago.
However, whenever I've come across a guide how to install/set up this and that ROM for some kind of phone, and someone (more or less prominently) states that that image will require a specific kernel build, I've _never_ been so lucky to have been offered a technicial explanation as to why exactly this is the case. Can anyone reading this thread tell me, or point me to where I can find out more about the underlying reasons for these subtle incompatibilities?
I refuse to believe noone can answer that question...
Some features are not available in stock kernel, that are needed for custom ROM.
I am personally not fully familiar with kernels.

[Q] Kernels and Android Versions

I'm not understanding how kernels and ROMs connect. Can someone give me some extra insight?
[Hardware] <-- Unique to every phone
--
[Kernel] <--- Tells the OS how to talk to the hardware
--
[ROM] <--- Slightly confused. Is the OS in the Read only Memory, or has this term changed its "street" meaning?
I understand that most ROMs (e.g. CM7 and CM9) include both the kernel and the ROM, but can you flash these separately too?
I have a 1.5 year old thunderbolt that's rooted, and has CM7 which is based on gingerbread. I believe HTC has also released the kernel as open source, which is probably the reason I have CM7
Anyway, I guess what I'm looking for is an answer/guide/forum that explains why I can't install newer versions of android onto the already working/open source kernel I'm already running. Is it accurate to view the kernel as all the phone's drivers, or just the CPU driver? If that statement is true, why can't I load ICS or Jelly Bean onto my already existing set of drivers?
I'm thinking about starting a Wiki on this if 1) it doesn't already exist, and 2) I can wrap my brain around it enough to share with others!
Thanks to anyone with a response!
shadowrelic said:
I'm not understanding how kernels and ROMs connect. Can someone give me some extra insight?
[Hardware] <-- Unique to every phone
--
[Kernel] <--- Tells the OS how to talk to the hardware
--
[ROM] <--- Slightly confused. Is the OS in the Read only Memory, or has this term changed its "street" meaning?
I understand that most ROMs (e.g. CM7 and CM9) include both the kernel and the ROM, but can you flash these separately too?
I have a 1.5 year old thunderbolt that's rooted, and has CM7 which is based on gingerbread. I believe HTC has also released the kernel as open source, which is probably the reason I have CM7
Anyway, I guess what I'm looking for is an answer/guide/forum that explains why I can't install newer versions of android onto the already working/open source kernel I'm already running. Is it accurate to view the kernel as all the phone's drivers, or just the CPU driver? If that statement is true, why can't I load ICS or Jelly Bean onto my already existing set of drivers?
I'm thinking about starting a Wiki on this if 1) it doesn't already exist, and 2) I can wrap my brain around it enough to share with others!
Thanks to anyone with a response!
Click to expand...
Click to collapse
You are correct about the ROM, but ROMs also include the kernel (if it didn't, or no kernel was flashed separately, the device would not boot). Yes, other kernels can be flashed on your existing ROM, but it's not necessarily going to be compatible.
Sort of, but there's a lot more than that. See here and here. Later versions of Android will require newer drivers,etc. which the existing kernel won't provide (they'll be outdated). Back porting and additional coding is theoretically possible, but insanely difficult (many times). Even after this some things may still not work.
Thanks for the insight, I was able to get a lot deeper into this with those links. For anyone else wandering down a similar path, you might as well stop now! Here are a few links:
http://forum.xda-developers.com/showthread.php?t=1039217&page=2#17
http://www.cs.uwc.ac.za/~mmotlhabi/avmk.pdf
http://www.iteachandroid.com/2012/01/what-is-firmware-rom-and-firmware.html
So, if anyone else is still listening, I do have two more questions:
Do any phones have truly open source drivers? (a.k.a. higher probability of allowing old hardware to work with new android OS)
Is there any way to determine which phones will be supported by the custom-ROM community early on? I know the Nexus line doesn't have vendor modified code, is that the direction which would have the highest probability to stay at top of the Custom ROM curve without upgrading devices every year?
Thanks again for any insight! I hope I'm posting this in a Newb-Friendly forum!
shadowrelic said:
Thanks for the insight, I was able to get a lot deeper into this with those links. For anyone else wandering down a similar path, you might as well stop now! Here are a few links:
http://forum.xda-developers.com/showthread.php?t=1039217&page=2#17
http://www.cs.uwc.ac.za/~mmotlhabi/avmk.pdf
http://www.iteachandroid.com/2012/01/what-is-firmware-rom-and-firmware.html
So, if anyone else is still listening, I do have two more questions:
Do any phones have truly open source drivers? (a.k.a. higher probability of allowing old hardware to work with new android OS)
Is there any way to determine which phones will be supported by the custom-ROM community early on? I know the Nexus line doesn't have vendor modified code, is that the direction which would have the highest probability to stay at top of the Custom ROM curve without upgrading devices every year?
Thanks again for any insight! I hope I'm posting this in a Newb-Friendly forum!
Click to expand...
Click to collapse
For both your questions, the Nexus-line devices would be the way to go. They usually have everything working on new Android versions the soonest, and Google always releases their code, etc.
Hi
i can use linux kernel (zimage) to update android kernel if yes ,how ?
thnx

Categories

Resources