Welcome to the Original Development for the Evo
4gā
Explanation
This section is for original works of art. It is meant to make developers strive for something better and to push the envelope. Our hopes are that developers will work even hard to get their work in here and even harder to keep it in here. All roms in here are actively being updated and maintained.
This section is for a number of things
1. Source build of original roms- Meaning a build that is made original built from source and maintained by creator
2. Maintainers- Roms that were created by an original developer but they have moved on and another developer has taken over as the maintainer (with permission from the originator)
3. Significant ports- Port of roms that are a huge significant development (one port only)
4. Kernels- Original kernels with open source made public on github and 100% gpl compliant. Source is up to date with current version
5. Mods- Original mods made. No ports at all
Make Sure
1. OP is clean and clear
2 Kernel source is gpl compliant and linked to either the orignators OP(where source link can be found) or to the github of their source
3. All build information is stated. (kernel, build type, credits(with links), changelog, whats broken, and screen shots)
What does not go in here?
1. Roms that are copy/paste, kitchen created, themed copy of other roms.
2. Ports not deemed significant or that have already been ported by someone else first
3. Guides
If you think your rom from development section deserves to be in here then PM a forum moderator and request that it be moved. The forum moderators in the evo section with make a group decision and move it if agreed upon. This makes it fair for all.
Things that must be in PM to get consideration
1. Link to the OP
2. What qualifies your rom
3. You are the owner of said thread
Please do not!
1. PM the moderators asking that your favorite rom be added
2. Try and have old threads that were once original be added (looking for active development only)
3. Get your feelings hurt if your turned down. No one is against you at all and your work is very much appreciated
4. Accuse the Mod team of playing favorites. We are all here to better our phones and put forward the best of the best and no one will be denied based on personal likes or dislikes of a person, team, or rom. It is all based on the criteria set above and thats it.
There are no exceptions of the above guidelines.
5. Post a thread in here without the Moderators approval. It will be deleted no questions asked. I'd hate to see a whole thread get deleted and you have to retype out the OP cause I know how time consuming it is.
-- DEPECATED -- DEPECATED -- DEPECATED -- DEPECATED -- DEPECATED --
Please follow this link to the new thread for the Semaphore Kernel for the I9000B, now maintained by rubervalrfl. This thread and builds herein are now deprecated and kept here for historical purposes only. Thanks for your support!
-- DEPECATED -- DEPECATED -- DEPECATED -- DEPECATED -- DEPECATED --ā
----
This is stratosk's Semaphore JB kernel compiled for the GT-I9000B (Latin america variant of the I9000). Stratosk doesn't support this variant, and being an owner of this device, I thought I'd share my efforts on compiling his excellent kernel for the I9000B variant.
With that said, here comes the disclaimer: By flashing this kernel, you accept that it comes without any support, neither mine and even less so from stratosk, since he doesn't support this variant on his own releases. So please don't bother him with support questions regarding this specific build. IOW: you'll use this kernel at your own risk.
There were reports of data loss during testing on early builds of the 2.8.x (kernel for Android 4.2) series - there were no more bad reports on later versions, but this needs to be said: Always do a nandroid backup before installing or updating any of the kernels posted here. I won't be held responsible if you lose data while using these kernels!
I *may* be able to help depending on whatever problems you might have, but don't expect timely answers, or any answers at all if I'm not technically able to figure out your problem - I'm a beginner on kernel development, all I did with this really was just some slight tunings and then recompile it for the I9000B. Also, I'm doing this on my free time, which is not much these days, so for now I'm just going to focus on following stratosk builds and recompile them for the I9000B as they come. I can say though, as far as problems, I don't have any with it on my device - it works fine and fast for me, at least the builds prior to 2.8.x, i.e.: kernels for Android 4.1 - I don't use Android 4.2 (yet) and hence I haven't / don't test the 2.8.+ builds myself - I rely on rubervalrfl's report for this; if the kernel boots without problems or data loss for him, then I deem it stable enough for release. Hence the glaring warning above about backups.
Now, on to the goodness:
This kernel is exactly the same as stratosk builds (hence, the exact same features and changelogs, including compiler versions and configuration), but with the following modifications:
Swap enabled;
ZRAM enabled as module (To configure it (on CM10), go into Settings / Performance / Memory Management);
KSM support enabled (Disabled on system by default, to enable it (on CM10), go into Settings / Performance / Memory Management)
Note about build version 2.7.0
Stratosk is no longer maintaining the 2.6.x builds that are meant for Android 4.1. But I was using Android 4.1 before I sold my SGS (yeah, I'll soon be retiring from compiling this kernel, read recent posts on this thread for more information), and looking at some of the latest 2.9.0 features I felt like having some of its features on the 2.6.x builds, and so I did it. Those features are really just some cherry-picks from Stratosk's 2.9.0 branch on his repository, so all credits to him, as always. Since there are quite some important changes I thought it would be better to bump the version number to 2.7.0 - I suppose it shouldn't be a problem to anyone, since the original 2.6.x builds are no longer maintained anyway, and it still sets it apart from the newer 2.8/2.9 builds. The 2.7.0 build contains the following cherry-picks from 2.9.0:
Reduce number of frame buffers for more RAM (on my ex-SGS I'm now at 383Mb, up from 377Mb);
Updated Interactive governor;
ROW I/O Scheduler
Known issues
The kernels posted here are compiled exclusively with BLN support, whereas stratosk's put out a 2.6.5 version with CM LED support. I haven't built versions with CM LED support because they simply didn't work on my own testing - the LEDs wouldn't light up at all with it, which effectively broke LED notification for the I9000B. Because of that my builds are compiled exclusively with BLN, which at least lights up the LEDs for notifications.
Blinking LEDs with BLN doesn't work (?) - they just keep alight: I'm still not sure why, although I suspect it may be something specific to my own phone because it doesn't work on DerTeufel's Hellybean kernel either. Feedback is welcome on this (let me know if it does in fact work for you). I've read in a few places that that's how it's actually supposed to work (blinking only actually works with the BLN Control App, "Pro" version), but I'm still not sure, so PLEASE DO GIVE A LITTLE FEEDBACK, PEOPLE!
What works
Everything else, as far as I could see.
Usage
Just flash it on CWM like any other kernel. Normal version and 's' version are provided just like on stratosk's release. Use the Semaphore Manager app on Google Play, from stratosk, to setup the kernel features.
All instructions and documentation from stratosk's original Semaphore kernel applies to this one, so look into his own thread for more information.
Source
Github repository
Thanks
To stratosk, of course, for his awesome work on his kernel, and for letting me post this here for I9000-B users;
Everyone who is/was involved on the development of the Semaphore kernel - basically, anyone on stratosk's "thanks" list
rubervalrfl, for testing the 2.8.0 version. If you want a 4.2 ROM for the I9000B to go with the 2.8.+ kernels, check out his CM10.1 Preview for the I9000B over here.
I'm sooooooo happy
Work on 4.2?
I don't think so.
I think just devil works on it
Dimabr10 said:
Work on 4.2?
Click to expand...
Click to collapse
I haven't tested, so feel free to. If stratosk's release works on it, then this most likely will too. I'm not a "bleeding-edge" kind of guy, though - I've upgraded to CM10 only a couple weeks ago (from CM7), and I see many other kernels don't yet work with 4.2, and if the other kernel devs around here are anything like me, they're probably not going to bother getting their kernels working on 4.2 until CM10.1 gets out of alpha status, since most kernels around here are derived or use parts of the CM kernel, and CM is the most popular Android anyway.
Thanks for this, cronot.
I'm happy that I9000B users can have Semaphore kernel.
Although, I can't official support I9000B, due to lack of free time, I'll do my best for any help.
stratosk said:
Thanks for this, cronot.
I'm happy that I9000B users can have Semaphore kernel.
Although, I can't official support I9000B, due to lack of free time, I'll do my best for any help.
Click to expand...
Click to collapse
Thanks for your support, Stratos
I still hope your help isn't needed specifically with my build, though. You've already got your hands full with your own releases Apart from the Known Issues list on the OP, I have no problems at all with your kernel, it's working really nice! The only problem I would report for 2.6.0 is something that's mentioned here in your thread (hence, not something specific to my build), about some stuttering during video recording - I do have some of those too (although when the record is played back, there's no stutter, so I figure the problem is only in preview), but I'm not sure if this problem started on 2.6.0 or if I had it before and didn't notice - I'd have to rollback to 2.5.0 and take a look, but then I'd have to rebuild that version also since I've deleted the previous version, and I can't spare the time to do it right now; I'll post back on your thread once I can confirm this.
Thanks! , i will install it to give feedback
My congratulations, sent a mp for you.
Nice to see new kernels around here! thanks!! .
This kernel is awesome! The best I've tested in my i9000b !!!
Any chance of a version designed for Android 4.2 ?
wanna know if us is gonna get semaphone for 4.2
@Gurx & @Dimabr10:
Check the OP.
Thanks! We're here to help! Take a look at my website for a fresh version updated for I9000B.
@cronot thanks!!!
I'll test this kernel with some 4.2 version.. Maybe the one from @rubervalrfl !! But I only can do that at night, I'm at my work now....
Thanks!
i'll be glad in receive feedback for my port ROM for i9000B on site.
There is a updated from 12/03/12 cyano's repo version there.
OMG thanks alot
Thanks for your hard work in owr i9000b I would be glad if you can take a look why the mic on the wired headset doesnt work only in owr i9000b :/. Thanks soo much
dancris said:
Thanks for your hard work in owr i9000b I would be glad if you can take a look why the mic on the wired headset doesnt work only in owr i9000b :/. Thanks soo much
Click to expand...
Click to collapse
I am now without the microphone, but once you get home, you can pass a test and feedback, ok?
The wired mic doesnt work on calls or programs. I dont know if the problem have to be solve in the kernel or in rom:/. Hope you can help xD. Thanks.
Just a reminder of some old rules that seem to be forgotten. We are not out to make the dev's lives harder or to be a pain in the neck. XDA has had issues in the past from kanging to malicious code in kernel's. They are based on the GPL and you are free to modify and distribute, however you must share your changes and cannot charge for your work. (my summary of the GPL). That's why when we distribute a kernel in a rom, we fall under the GPL guidelines and have to follow some simple rules to keep XDA and our members out of trouble. Thanks again to all the Dev's for your understanding and outstanding contributions.
Anyone providing a ROM with a Kernel include should mention and link what kernel is used.
This means either:
Stock kernel is used (OP has to say that)
OP uses a 3rd party kernel (from another user), then he has say that and link to the thread)
OP uses his own kernel in which case he has to upload sources as per GPL and XDA rules and link them. (Please note: sometimes only the ram disk of a stock kernel is modified, this does NOT fall under the GPL. Example: Making a stock kernel 'insecure')
Concerning GAPPS: CM and some other were asked by google to NOT include them. But only those parties. Everyone else can include them unless asked by the owner (ie Google) to remove them.
This also means in theory that everyone with a CM kang can include GAPPS, however most people don't (which is obviously fine too)
I don't think any OEM ROM was ever forced to remove GAPPS.
Noellenchris
XDA Forum MOD
I posted this in another thread about flashing S6 Edge roms on an S6. My post was prior to getting my S6. I had gotten my S6 information from a SM-G920I forum. I made the wrong assumption that all S6s would have the same partition layout, they don't. Once I got my S6 I found that the Sprint S6 and Edge did have the same partition layout. So flashing Sprint S6 Edge roms on an Sprint S6 does work. The OP of that post said, "I think that we have exhausted this topic." I am honoring the OP request, so started this thread.
With little happening, development wise, on the Sprint S6, we should be having this discussion. I came from the S4 and many of the roms that I ran were international roms. Their development far exceeds development on the Sprint variant. @AntaresOne's optimized CM 12.1 is definitely one of the best roms for the S4. @chenxiaolong's work on dualboot made possible running multiple roms on an S4 (this now works on the S6 Edge and so S6). @AntaresOne also added multirom support (@tassadars Nexus 7 work) for the S4. These are just some of the international S4 work that worked on the Sprint S4. I am sure in the future much of the good international work will work on the Sprint S6. We know from my incorrect post that SM-G920I (India) roms would have problems on our Sprint S6 without modifications to the updater script.
Continue the dialog here. We need to make International development work on our Sprint variant.
International ROMs are created for GSM phones, not CDMA phones. So unified development requires as you mentioned a proper update.script, an aroma like installer and either detection of carrier or have you choose so that the proper kernel can be installed, as the kernels will be a little different...so there would need to be correct kernels included to correspond with the chosen carrier.
KennyG123 said:
International ROMs are created for GSM phones, not CDMA phones. So unified development requires as you mentioned a proper update.script, an aroma like installer and either detection of carrier or have you choose so that the proper kernel can be installed, as the kernels will be a little different...so there would need to be correct kernels included to correspond with the chosen carrier.
Click to expand...
Click to collapse
Most of the innards is above my pay scale. However, I think what you are saying is probably all true for TW Albe95, Echoe, etc.) , but for AOSP so so. Once CM was unified, this opened the door for many of the AOSP roms (CM, pacman, GPE, etc). I do not know how they managed unified, but it was done with the same kernel, did not require aroma, and no changes to the updater script. I know dualboot patches the updater script in addition to other things and does flashes by name as opposed to partition number (/dev/block). I surely hope this technology gets carried over to the S6.
todivefor said:
Most of the innards is above my pay scale. However, I think what you are saying is probably all true for TW Albe95, Echoe, etc.) , but for AOSP so so. Once CM was unified, this opened the door for many of the AOSP roms (CM, pacman, GPE, etc). I do not know how they managed unified, but it was done with the same kernel, did not require aroma, and no changes to the updater script. I know dualboot patches the updater script in addition to other things and does flashes by name as opposed to partition number (/dev/block). I surely hope this technology gets carried over to the S6.
Click to expand...
Click to collapse
What is used is auto-detection and then auto-selection of proper kernels during the flashing which would be unseen to the user. This was mostly beneficial to the developers and maintainers because then they only had to monitor one thread.
KennyG123 said:
What is used is auto-detection and then auto-selection of proper kernels during the flashing which would be unseen to the user. This was mostly beneficial to the developers and maintainers because then they only had to monitor one thread.
Click to expand...
Click to collapse
What you refer to as auto-detection and auto-selection is all built into the rom or kernel, not the updater script. Most of my experience is with CM12.1 optimized which is unified by @AntaresOne and uses the @Alucard kernel. Neither rom nor kernel zips have any auto-selection in their updater scripts. Each has only one boot.img. I have flashed @Alucard's and @ktoonsez's kernels on both CM12.1 optimized and jfltespr CM12.1 nightlies along with other AOSP roms. As I can flash a unified kernel @Alucard and @ktoonsez) onto a device specific rom (CM jfltespr) quite a bit of the unification code must be in the kernel.
todivefor said:
What you refer to as auto-detection and auto-selection is all built into the rom or kernel, not the updater script. Most of my experience is with CM12.1 optimized which is unified by @AntaresOne and uses the @Alucard kernel. Neither rom nor kernel zips have any auto-selection in their updater scripts. Each has only one boot.img. I have flashed @Alucard's and @ktoonsez's kernels on both CM12.1 optimized and jfltespr CM12.1 nightlies along with other AOSP roms. As I can flash a unified kernel @alucrad and @ktoonsez) onto a device specific rom (CM jfltespr) quite a bit of the unification code must be in the kernel.
Click to expand...
Click to collapse
Thanks for that info...so the detection and selection of correct drivers occurs on kernel level.
KennyG123 said:
Thanks for that info...so the detection and selection of correct drivers occurs on kernel level.
Click to expand...
Click to collapse
That's what I have seen.
Don't know this for fact, but in another thread read that Sprint variant is the only one that has different partition layout. Confirmed TMO and Canadian have same layout, but different from Sprint.
I kind of feel as if this should be a very basic topic and that I should not be having to post a new thread on it... but, out of curiosity, does anyone know whether or not the Android kernel-- which as we all know is a flavour of the Linux kernel-- can be updated through "patching" as the regular Linux kernel can? The reason I am asking is that I greatly prefer to run my device with a custom kernel that has extra features over the stock kernel, however, it seems like every custom kernel that is released is released as a one-shot deal, and that the only way to have a kernel that continues to be updated with fresh source is to run the kernels that are provided with the nightly ROM builds.
Of course, I could go the route of learning how to build my own kernels and add features to them.. but I guess my basic question is, does there exist any form of "general patch" that is periodically released by Google, or the Linux Kernel foundation, etc., that will bring your current kernel up-to-date with the latest system-wide changes (secuturity & stability fixes, etc), while leaving the bulk of the kernel and the kernel configuration in place? Or is that a totally unrealistic and impractical concept? I do build my own kernels from source for my laptop, but I know very little about compiling a kernel for android.. anyway, if there are any kernel devs still on this device's forum, what do you guys think?
Any feedback from knowledgeable individuals much appreciated.. thank you!
No. You would have to build the kernel and flash it yourself. You can usually find HTC's kernel source on their website for each device. You take that kernel and manually patch the updates yourself.