[REFERENCE] [3.10.105] Stock kernel with upstream Linux patches - May 9th - Nexus 6P Android Development

Introduction
Hello all, I am bringing you this thread as a jumping off point to compiling kernels and working with upstream Linux. I will include a guide, some links, and some terms that will help you get started with modifying kernel source. This is also a good reference point for existing developers as I have consolidated all upstream patches into one repo. Let's get down into it!
What in the world is upstream Linux?
When an OEM sets up a device, they will pick a stable longterm branch from the Linux kernel to base their modifications around (drivers and such). In the case of Angler, they picked 3.10.73. Currently, the Linux kernel's 3.10 is updated to 3.10.105, as you can see on kernel.org. This means that Google is "missing" versions 3.10.74 to 3.10.105. Now, why does this matter? Well, the way that the Linux kernel runs its stable branches, the only things that get merged into there are bug fixes and security updates. That's it, there are no wonky features or unstable patches. The only way you get a patch into a stable branch is by having it be in the mainline branch first. Some developers have an aversion to adding upstream because they claim it is excessive and not necessary and they are partially right since not all the patches that come in are relevant to our architecture (arm64). However, upstream Linux is not unstable and by adding each version one at a time, you can verify this. I found only two patches between 3.10.73 and 3.10.105 that gave me issues and it is easy enough to either fix/revert them. Being up to date is good since you keep yourself protected from bugs and security issues that crop up. Google has been better about doing this lately with their monthly security updates but it never hurts to take matters into your own hands.
I suggest watching one of these talks given by Greg Kroah-Hartman, it is really interesting to see how the process goes:
https://www.youtube.com/watch?v=SPY0LyTU53w | https://www.youtube.com/watch?v=L2SED6sewRw
What did you do?
All I did was fetch the latest kernel.org patches from here and cherry pick them on top of the latest kernel source from Google.
I merge these patches by cherry-picking each version individually (3.10.73 to 3.10.74, 3.10.74 to 3.10.75, etc), that way I can verify that the kernel compiles fine and that there are no merge conflicts. Google will sometimes pick certain commits from upstream that are of a higher importance than others which can result in conflicts if you try to pick it again. Additionally, upstream might fix a bug one way and Google has done it another (which is not really good, Google should be pushing their fixes back to upstream so everything stays in sync).
What do I do with this?
I have created two repos below: one with the latest N security update branch with the latest upstream patches picked up on top of it (the angler-upstream branch) and another one with a plain AnyKernel source for you to modify (angler-stock is the most basic, angler-decrypt contains an fstab file that will disable both forced encryption and dm-verity). You are free to fork these or base other branches on them, that's the whole point of this post. I have verified that all the patches contain no major detectable issues. I would like some credit if you do use it but it's not required since the kernel is licensed under GPL Another reason I offer this is I have seen a lot of developers picking in upstream in patch sets, so you get one single commit for an upstream version. This is detrimental as you start to add your own patches as you cannot fully tell what was modified and for what reason without the individual commits. It might look cleaner but you don't get full history which hurts you in the long run.
Links
Kernel source: https://github.com/nathanchance/angler/tree/7.1.2-upstream
AnyKernel source: https://github.com/nathanchance/AnyKernel2/tree/angler-stock-decrypt
Toolchain source: https://android.googlesource.com/platform/prebuilts/gcc/linux-x86/aarch64/aarch64-linux-android-4.9/
How to compile
This will be a quick, step by step guide on how to compile this kernel from source. By using this process, you can start to make modifications to the kernel source and make a flashable zip.
Clone the kernel source, the AnyKernel source, and toolchain source
Code:
cd ~
mkdir Kernel && cd Kernel
git clone https://github.com/nathanchance/angler.git source
git clone https://github.com/nathanchance/AnyKernel2.git anykernel
git clone https://android.googlesource.com/platform/prebuilts/gcc/linux-x86/aarch64/aarch64-linux-android-4.9 AOSP-4.9
Explanation:
First command: make sure you are in your home directory (or whatever directory you want to hold the kernel folder we are about to make.
Second command: make a Kernel folder and move into it
Third command: clone the kernel source from my repo into a folder named source
Fourth command: clone the AnyKernel source from my repo into a folder named anykernel
Fifth command: clone the Google 4.9 toolchain into a folder named AOSP-4.9
AnyKernel is the name of the zip we are going to make which allows the kernel to be flashed over any ROM.
A toolchain is a set of compiler tools that allow us to compile the kernel on any computer architecture.
Make sure you are on the correct branches
Code:
cd source && git checkout 7.1.2-upstream
cd ../anykernel && git checkout angler-stock-decrypt
Explanation:
First command: move into the source directory and checkout the branch "n7.1.2-upstream", which has all of the necessary patches in it.
Second command: move into the AnyKernel directory and checkout the branch "angler-decrypt". If you don't want to disable forced encryption, use the "angler-stock" branch.
Tell the compiler what you are are compiling
Code:
export CROSS_COMPILE=${HOME}/Kernel/AOSP-4.9/bin/aarch64-linux-android-
export ARCH=arm64 && export SUBARCH=arm64
make clean && make mrproper
make angler_defconfig
Explanation:
First command: point the compiler to the location of your toolchain. If you have done anything different with the folder locations, you will need to modify the "${HOME}/Kernel/AOSP-4.9" part.
Second command: tell the compiler which architecture we are compiling for. In this case, our device is an arm64 device.
Third command: clean out any compiled files and remove our previous defconfig.
Fourth command: tell the compiler which options we want in the kernel using the angler_defconfig.
A defconfig is a file that will tell the compiler which features we want in the kernel. No computer ever uses all of the options in the kernel since there are different drivers for various devices.
Make the kernel!
Code:
make -j$(grep -c ^processor /proc/cpuinfo)
Explanation:
make tells the compiler to make the kernel (duh) and the -j$(grep -c ^processor /proc/cpuinfo) tells the compiler to use the maximum number of cores your computer has available
Make the AnyKernel zip
Code:
cp -v arch/arm64/boot/Image.gz-dtb ../anykernel/zImage-dtb
cd ../anykernel
zip -r9 stock-upstream.zip * -x README stock-upstream.zip
Explanation:
First command: copies the completed kernel (Image.gz-dtb) into the AnyKernel folder
Second command: moves us into the AnyKernel folder
Third command: makes the zip file (named stock-upstream.zip) in the AnyKernel folder.
If you ever want to do this again, run these commands and go straight to step 3:
Code:
cd source && git clean -fxd && git pull
cd anykernel && git clean -fxd && git pull
NOTE: This thread is aimed to be a breeding ground for kernel development, a place to jump off if you will. I am happy to answer how to questions about building kernels or flashing the one I have provided but this is not supposed to be a general Q&A thread. Please use another thread or create your own in Q&A if you need assistance.

Reserved

Nice

Awesome! Thanks
Sent from my ONEPLUS A3000 using Tapatalk

This is awesome! Can't wait to try this out. I've been looking for a good guide on building kernels for a long time.

I have cleaned up and reworded the OP a bit, I write better at 12pm than 4am it seems :silly:

This is nice
Sent from my Nexus 6P using XDA-Developers mobile app

Any performance or any other benefits? Normally I would just flash. But I've been trying to stay completely stock on N these days.

Smallsmx3 said:
Any performance or any other benefits? Normally I would just flash. But I've been trying to stay completely stock on N these days.
Click to expand...
Click to collapse
Most likely not. Just bug fixes and stability improvements.
Sent from my Nexus 6P using XDA Labs

Been using this kernel all day today and it seems pretty solid and good on battery life
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Sent from my Nexus 6P using XDA-Developers mobile app

syrkles said:
Been using this kernel all day today and it seems pretty solid and good on battery life
Sent from my Nexus 6P using XDA-Developers mobile app
Click to expand...
Click to collapse
Guess that means I did a good job adding all the necessary patches haha.

Will this be updated as more patches are released?
Sent from my Nexus 6P using XDA-Developers mobile app

bossofindy said:
Will this be updated as more patches are released?
Sent from my Nexus 6P using XDA-Developers mobile app
Click to expand...
Click to collapse
That's the goal. I'll rebase on top of new Android security releases as they are available and I'll add Linux versions as they come out.

Github and the kernel in the OP are updated to 3.10.104.

Added to Nexus 6P index thread:
[INDEX] Huawei Nexus 6P

Work on 7.1???

I'm going to nickname this the Streak Kernel for myself.
I quite like keeping up to date stability wise. Bleeding edge is nice but I've learned my lesson.

Pheoxy said:
I'm going to nickname this the Streak Kernel for myself.
I quite like keeping up to date stability wise. Bleeding edge is nice but I've learned my lesson.
Click to expand...
Click to collapse
@Pheoxy how are the folks at the i9305 forum going with their ROMs, I left there with a terrible build of cm13,,, i really hope that they had sorted out the RIL issue in source instead of using a really dirty hack of using chmod with cm12.1 to get Radio working... glad to see you here in the 6p forums though
Sent from my Nexus 6P using XDA-Developers mobile app

winxuser said:
@Pheoxy how are the folks at the i9305 forum going with their ROMs, I left there with a terrible build of cm13,,, i really hope that they had sorted out the RIL issue in source instead of using a really dirty hack of using chmod with cm12.1 to get Radio working... glad to see you here in the 6p forums though
Sent from my Nexus 6P using XDA-Developers mobile app
Click to expand...
Click to collapse
It was time to upgrade. Still got the old S3 but I must have left around the same time as you. Bit to busy to really do anything of my own anymore so @theflash makes some awesome but not clogged full stuff stuff and seems alright.
Have to take this to PMs [emoji1].

Nathan, say I have stock kernel source and I just want to update it to 3.10.74 how to u upstream/Cherry pick just 3.10.74 updates all at once instead of having the source update to 3.10.104. WITHOUT having to download the patch file
Sent from my Nexus 6P using XDA-Developers mobile app

Related

[TUTORIAL] 【GUIDE】【LINARO】《《How to Build FULL LINARO》》【06/05/13】

[TUTORIAL] 【GUIDE】【LINARO】《《How to Build FULL LINARO》》【06/05/13】
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Welcome! This thread will teach you how to correctly build AOSP Roms for the HTC Rezound using the Linaro toolchains or other 4.8+ toolchains.
***PLEASE NOTE*** You must already have a knowledge of building roms before attempting this. This is not a how to build rom thread.
Thanks goes out to XDA Recognized Contributor DJLamontagneIII for helping me to learn how to do this, and for helping me resolve some conflicts along the way! I could not have done it without you sir. Thanks!
Additionally, thanks goes out to Recognized Developer sparksco aka "SaberMod" for the use of his optimized tool chains and for teaching me and helping me along the way.
Thanks also goes out to Flyhalf205 for coming on board with this mission and working with me to make this possible for everyone else to build.
PLEASE NOTE:
I or the above mentioned or anyone else for that matter am/are not responsible for anything you do to your phone.
That being said, let's begin ​
Recently, I have come up with a major simplified way of achieving this goal. for those who are interested in the intricate details of what all goes into this lengthy process and just how much time my script is actually saving you, it will be in a hidden window near the end of this post.
(Remember again, that these instructions are for individuals how have already compiled a rom and are certain their current source builds)
Fetch the script.
Do that by typing one of the three following from your root directory:
Code:
THIS IS BEING UPDATED. ONCE UPDATED, THE FOLLOWING THREE OPTIONS WILL BE AVAILABLE TO YOU:
linaro.sh
saber.sh
codefire.sh
then do:
Code:
. script-you-chose.sh
This script that I've put together is incredibly convenient in that it will do all of the following tasking essentials that you would normally have to do manually for you automatically (which would normally take a good deal of time!)
-Pulls the optimized chain of choice and places it into prebuilts/gcc/linux-x86/arm
-Pulls other optimized chains from google source as well
-Modifies your build repo and a few other build files to direct it to the new chain
-Pulls about 32 different linaro patches and optimizations made by the linaro team that improve the performance of the rom
-modifies whichever kernel you are currently building with to allow it to build Linaro
-Modifies our device specific repos to allow it to build with the linaro chain
-Sets the building variables
-Fetches your vendor prebuilts
-Builds your envsetup.sh for you
Any questions or concerns or need for assistance? Please post in this thread and we will be happy to assist you when available (and if we know how to fix it)
Donations are always appreciated and never expected!
Mine: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=ER36WF5HCHTEU
sparksco's: http://forum.xda-developers.com/donatetome.php?u=2394329
DJLamontagneIII's: http://forum.xda-developers.com/donatetome.php?u=1249390
FlyHalf's: http://forum.xda-developers.com/donatetome.php?u=3082717​
One more for kicks
You will have to run ". android/linaro.sh" again after you perform a "repo sync". It will discard those Linaro commits.​
thank you guys very much:thumbup:
Sent from my HTC Rezound using xda premium
Very nice!
Sent from my XenonHD Infused Samsung Galaxy s3 using xda premium
Sweet!
I just built yesterday, so I know everything works...
Tried again after a fresh repo sync and running linaro.sh
Code:
/home/vwmofo/android/MofoROM-2.0/kernel/htc/vigor-3.0/drivers/base/sync.c:32:31: fatal error: trace/events/sync.h: No such file or directory
compilation terminated.
make[4]: *** [drivers/base/sync.o] Error 1
make[3]: *** [drivers/base] Error 2
make[2]: *** [drivers] Error 2
make[2]: *** Waiting for unfinished jobs....
then a little further down
Code:
make[1]: *** [sub-make] Error 2
make[1]: Leaving directory `/home/vwmofo/android/MofoROM-2.0/kernel/htc/vigor-3.0'
make: *** [TARGET_KERNEL_BINARIES] Error 2
Try another repo sync and run linaro script again. I made some kennel commits last night. Make sure you get those
Sent from my ADR6425LVW using Tapatalk 2
@kkozma, is that with the default kernel from fly's git or someone else's?
If it's with funky kernel from the jb-aosp branch, then you don't need to do the kernel commit part of the script as his is linaro ready
It's the default kernel.
I just ran a new repo sync and there were no changes other than the removal of all the commits from the script. Re-ran the script and started up a brunch.
But considering nothing new was downloaded, I don't think it's going to work.
*edit* I did clobber and clean before the build the first time.
If it crashes again, revert all of yesterday's commits to the kernel except for the linaro commit and see if it builds then. You will have to do a make clean obviously after the crash just as you just did
kkozma said:
It's the default kernel.
I just ran a new repo sync and there were no changes other than the removal of all the commits from the script. Re-ran the script and started up a brunch.
But considering nothing new was downloaded, I don't think it's going to work.
*edit* I did clobber and clean before the build the first time.
Click to expand...
Click to collapse
repo sync again right now.... I might have forgotten a commit.
DOH! Ok, I killed the last build, and re-ran repo sync. It did download something from your github.
It's brunching now. Will report back.
kkozma said:
DOH! Ok, I killed the last build, and re-ran repo sync. It did download something from your github.
It's brunching now. Will report back.
Click to expand...
Click to collapse
My bad. If it errors out one more time. Just do a another repo sync. My box didn't push all my commits. Really weird. But all should be pushed now. As of 1 minute ago.
So we're all bubble gum and kittens again?
Sent from my HTC One X using Tapatalk 4 Beta
IAmTheOneTheyCallNeo said:
So we're all bubble gum and kittens again?
Sent from my HTC One X using Tapatalk 4 Beta
Click to expand...
Click to collapse
You got it dude!
FYI: It built.
Running backups now and will be flashing soon.
kkozma said:
FYI: It built.
Running backups now and will be flashing soon.
Click to expand...
Click to collapse
Glad to know the script works In the future, I plan to add more linaro patches to it along with eventually updating us to linaro 4.9 which has been reported much faster than the previous chains
SAMSUNG GALAXY NEXUS (Tuna) Support
I just finished putting together a script specifically for the Samsung Galaxy Nexus AOKP building and can confirm that it works beautifully.
In case any of you out there build for that device. I gave it to Apophis if you need it
-Neo
IAmTheOneTheyCallNeo said:
Glad to know the script works In the future, I plan to add more linaro patches to it along with eventually updating us to linaro 4.9 which has been reported much faster than the previous chains
Click to expand...
Click to collapse
Yeah, seems like it works great. My phone definitely seems more responsive too.
Hopefully the RR's are fixed since my last build.

[ROM] [4.4.4_r2] Builds from TeamCanjica's CM11 sources

{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
CyanogenMod 11.0 for the Samsung Galaxy Ace 2 ( GT-I8160 )
------------------------------------------------------------------------------------------------------------------------------------------​
It happens to me that I got some build capacity and like to share my CyanogenMod/TeamCanjica builds. I am hardly developing, just cherry-picking and some light debugging. Some of these builds are untested, so feel free to report your experiences here.
These builds are compiled from TeamCanjica's sources, found on GitHub. For installation instructions, credits, changelogs, see Rox original thread. There you also find information about donations. For a changelog in CM sources, you may find CM review helpful.
Let me repeat: all CREDITS to the guys mentioned here. They did all the work.
These builds come in two versions:
Full version, "Rox-like" with all CM apps except CMupdater
Stripped (slim) version without: build-in sounds/ringtones, Apollo, Videoeditor, most of the screensavers, CMhome, CMupdater, CMwallpaper, Exchange provider.
Each of these two versions has a build for the codinap device (with NFC) and the codina device (without NFC). In case you don't know, you probably have a codina device. Personally, I use the stripped-codinap-version, so this will be updated quite often, the others not so frequently.
If your device breaks: you did this on your own responsibility. However, bleeding edge may be worth it.
Link to my dev-host downloads.
FAQ:
Question: How often do you release? How long will this be maintained?
Answer: I don't now. At the moment (October 2014) quite often. Weekly. Daily.
Question: Is XYZ working? (answer valid for the LATEST STRIPED version)
Answer: Live Streaming: Camera and YouTube works.
Answer: Call logs: Contact app is up-to-date and working.
Answer: Swap Storage: don't know. CPU gpu oc: don't know.
Question: How can I get ringtones and notifications back?
Answer: Install the full version. OR: or the internal sdcard, create files like /media/audio/notifications/MyFavourite.ogg and /media/audio/ringtones/MyFavourite.ogg and they will be there forever, even if you install the stripped version.
How to build:
Code:
repo init -u https://github.com/TeamCanjica/android.git -b cm-11.0
repo sync -j32
./cherry-pick.sh
./vendor/cm/get-prebuilts
. build/envsetup.sh
brunch codina
The cherry-pick.sh is taken from here, but maybe some more picks are needed. Note that the code above is more a concept than a working script. Getting your own build environment is not very hard, but not topic of this thread. If it does not compile, feel free to solve it and post the SOLUTION here.
Issues:
Camera FC after video rec
Some videos only play in fullscreen, e.g. in browser (see here and following).
download / changelog
What's all these files? Which device do I have? Please read post #1 first.
IMPORTANT: I had to buy a new device. These files won't be updated anymore or only very very occasionally. Thank you for understanding and supporting me in the past.
These ZIP-files includes a working kernel, based on the stock kernel. There is a good alternative , described here (there are probably more good alternatives I did not test so far).
Stripped: cm-11-20141108-poppmensa-codinap.zip - 190.67 MB, cm-11-20141108-poppmensa-codina.zip - 190.11 MB
Full: cm-11-20141108-poppmensa-codinap.zip - 218.06 MB, cm-11-20141108-poppmensa-codina.zip - 217.49 MB
CM sources updates
ISSUES: camera FC after video-rec (BUT: camera works again, in contrast to 20141101 build)
Stripped: cm-11-20141101-UNOFFICIAL-codinap.zip - 190.54 MB, cm-11-20141101-UNOFFICIAL-codina.zip - 189.98 MB
CM sources updates
remove NovaThor from stripped and full version (until it works with ace2nutzer's kernel)
remove CMUpdate from stripped and full version
ISSUES: there seems to be a (new) problem with video/camera. Better use older build.
Stripped: cm-11-20141029-poppmensa-codinap.zip - 190.69 MB
CM sources updates
Stripped: cm-11-20141023-UNOFFICIAL-codinap.zip - 190.65 MB, cm-11-20141023-UNOFFICIAL-codina.zip - 190.09 MB
Full: cm-11-20141023-UNOFFICIAL-codinap.zip - 218.18 MB, cm-11-20141023-UNOFFICIAL-codina.zip - 217.61 MB
CM sources updates
Kernel based on this code
Older builds:
Stripped: cm-11-20141021-UNOFFICIAL-codinap.zip - 190.64 MB, cm-11-20141021-UNOFFICIAL-codina.zip - 190.08 MB
CM sources updates (lots of camera updates, MAYBE fixes camera2.apk-issues)
Kernel based on this code
Stripped: cm-11-20141019-UNOFFICIAL-codinap.zip - 190.55 MB
CM sources updates
Full: cm-11-20141017-UNOFFICIAL-codinap.zip - 218.07 MB, cm-11-20141017-UNOFFICIAL-codina.zip - 217.51 MB
Stripped: cm-11-20141016-UNOFFICIAL-codinap.zip - 190.55 MB, cm-11-20141017-UNOFFICIAL-codina.zip - 189.99 MB
CM sources updates
Stripped: cm-11-20141014-UNOFFICIAL-codinap.zip - 190.33 MB, cm-11-20141014-UNOFFICIAL-codina.zip - 189.76 MB
CM sources updates
Revert to stable Kernel from 20141011
Includes STE-OMX: video streaming fix from Meticulus
Stripped: cm-11-20141013-UNOFFICIAL-codinap.zip - 190.32 MB, cm-11-20141013-UNOFFICIAL-codina.zip - 189.76 MB
CAUSES SEMI-BRICK (Odin helps).
CM sources updates, Kernel updates (see sources)
NovaThor Settings included again (also in striped version)
Stripped: cm-11-20141012-UNOFFICIAL-codinap.zip - 190.17 MB, cm-11-20141012-UNOFFICIAL-codina.zip - 189.61 MB
CM sources updates, Kernel updates (see sources)
Full: cm-11-20141010-UNOFFICIAL-codinap.zip - 217.80 MB, cm-11-20141010-UNOFFICIAL-codina.zip - 217.24 MB
CM sources updates, (reached M11)
fixes contacts/call log, camera (compared to TC 20141003-build)
Hello,
Where do i find ./cherry-pick.sh? Is it on github too? I synced it but there is no script.
Thanks a lot!
Regards,
sgace2
sgace2 said:
Where do i find ./cherry-pick.sh? Is it on github too? I synced it but there is no script.
Click to expand...
Click to collapse
No, it's not. https://github.com/TeamCanjica/BuildBot/blob/master/cherry-pick.sh
You probably need to create your own script from that. It put a snipped for your convenience. If it does not compile, feel free to solve it and post the SOLUTION here.
Code:
echo -e $CL_BLU"Cherrypicking Core Patch - Reboot/shutdown fix"$CL_RST
cd system/core
git fetch https://github.com/TeamCanjica/android_system_core cm-11.0
git cherry-pick 347658ad1b53234b52d32d42fba2a72878b883c5
git cherry-pick 8aa242d1827875506ce3339d2df3e0fed6f89e42
cd ../..
echo -e $CL_BLU"Cherrypicking OK Google patch"$CL_RST
cd frameworks/base
git fetch https://github.com/TeamCanjica/android_frameworks_base cm-11.0
git cherry-pick de30387b3c32c2a9cf653590c8454bd002bf0dd1
cd ..
echo -e $CL_BLU"Cherrypicking Legacy sensors"$CL_RST
cd native
git fetch http://review.cyanogenmod.org/CyanogenMod/android_frameworks_native refs/changes/11/59311/1
git cherry-pick FETCH_HEAD
cd ../..
echo -e $CL_BLU"Cherrypicking ART fix"$CL_RST
cd art
git fetch https://github.com/cernekee/android_art monitor-stack-v1
git cherry-pick fc2ac71d0d9e147c607bff9371fe2ef25d8470af
cd ..
echo -e $CL_BLU"Cherrypicking OMX Patch - android_frameworks_av"$CL_RST
cd frameworks/av
git fetch https://github.com/TeamCanjica/android_frameworks_av cm-11.0
git cherry-pick 87618c1ea54009c2e5e5dfb60060f9cc2e9bcc52
git cherry-pick cfcb60d66b01783c274dc625bf32a44899d1e603
cd ..
echo -e $CL_BLU"Cherrypicking OMX Patch - android_frameworks_native"$CL_RST
cd native
git fetch https://github.com/TeamCanjica/android_frameworks_native cm-11.0
git cherry-pick f5a8698ce9a3568cea95c03302deb068eff765bd
cd ../..
echo -e $CL_BLU"Cherrypicking vold patch to allow switching storages"$CL_RST
cd system/vold
git fetch http://review.cyanogenmod.org/CyanogenMod/android_system_vold refs/changes/15/56515/2
git cherry-pick FETCH_HEAD
cd ../..
echo -e $CL_BLU"Cherrypicking Low-InCall fix"$CL_RST
cd packages/services/Telephony
git fetch https://github.com/TeamCanjica/android_packages_services_Telephony cm-11.0
git cherry-pick fdf281fdabe5e7517eb96f2faf159bbcc74ae4a6
cd ../../..
Okay..
I'll leave my trace here, in case of fast accessing the thread.
Hope you'll be a famous codina devs just like rox. @poppmensa
I mean not only just cherry-picking, but a real development stuff. Like building cm12 in the future.
How about changelog? Is everything working now? There where various problems with Rox 03/10 build. Call log? Camera? Other things? Would be great if You could write sth more about it.
@poppmensa - can we have the build for codina (non-p) at least once a month? It will be great.
I'm asking 'cause you wrote before, that you'll mainly work on codinap version.
poppmensa said:
Striped: cm-11-20141012-UNOFFICIAL-codinap.zip - 190.17 MB
CM sources updates
Kernel updates (see sources)
Click to expand...
Click to collapse
For non-p please... :good:
I use the codina version for about two days, i feel that is all good.
contact log is ok
youtube is working
i have not check the live stream at the moment
The move to (internal) sd from application manager just does not work but i dont care because i have reparted internal memory
@poppmensa finally, you did it.
Keep this thread live & updated. Strip version is so smooth...no bloatware from CM11. :good:
I installed Striped CM11 just because I was curious. Then it got my attention and now I think it will stay for a while on my Ace 2.
Striped Rom Rocks!
I'm not use the phone very often, bcoz buy new one, but decide to try this rom(striped version too) and feel it very good. Just want to ask what's the way to swap storages here?
As I don't see anyone mentioning it, I wonder if I'm one of the few experiencing this bug:
https://jira.cyanogenmod.org/browse/CYAN-4134
I noticed the widget behaves correctly if I change the cLock resolution to a higher value using App Setting module in Xposed. Perhaps something is wrong with the MDPI layout/resources?...
Is there any chance that this bug will get fixed in this build? It appears the CM developer is focusing on the Chronus app and not on the CM cLock app...
And thanks for this build! As someone already mentioned, a monthly release with CM source update would be just fine!
Can someone tell me where can I find last Novathor Settings version for flash via recovery? Thanks.
MarquesYOLO said:
Can someone tell me where can I find last Novathor Settings version for flash via recovery? Thanks.
Click to expand...
Click to collapse
I think that you can take it from an older version of rox rom, put it in the zip file of this rom and flash at app folder.
or
you can try this http://forum.xda-developers.com/showthread.php?t=2729459
MarquesYOLO said:
Can someone tell me where can I find last Novathor Settings version for flash via recovery? Thanks.
Click to expand...
Click to collapse
it will be included again in the next builds.
Live streaming is working or we will wait for next build?
manthes said:
Live streaming is working or we will wait for next build?
Click to expand...
Click to collapse
What exactly do you mean by "live streaming"? how can I test it?
I care if it is working on apps like filmon because i read the problem with streaming has been fixed
poppmensa said:
What exactly do you mean by "live streaming"? how can I test it?
Click to expand...
Click to collapse
I think its same with video streaming like on youtube. try to test with youtube.

{All 2011}[GUIDE][DEV] How to build CyanogenMod 12.1

This thread is intended for devs & advanced users only.
Here you can learn how to build CyanogenMod 12.1 for any of the 2011 xperia devices.
I will use 'smultron' as an example device, you should replace the codename with the device you want to build.
For the first time you try to build CM12.1
Follow this guide up to "Initialize the CyanogenMod source repository" step (don't execute this step).
http://wiki.cyanogenmod.org/w/Build_for_smultron
Initialize the CyanogenMod source repository
Enter the following to initialize the repository:
Code:
cd ~/android/system/
repo init -u git://github.com/CyanogenMod/android.git -b cm-12.1
Get the required local manifest
Code:
mkdir -p ~/android/system/.repo/local_manifests
curl https://raw.githubusercontent.com/LegacyXperia/local_manifests/cm-12.1/semc.xml > ~/android/system/.repo/local_manifests/semc.xml
Download the source code
Code:
repo sync
Setup the build environment
Code:
. build/envsetup.sh
Download some commits from CyanogenMod gerrit which are not accepted yet
Code:
ln -s vendor/extra/updates.sh updates.sh
./updates.sh
Setup the build environment & prepare the device-specific code.
Code:
cd ~/android/system
. build/envsetup.sh
breakfast smultron
Build the ROM (takes long time)
Code:
brunch smultron
If the build finishes successfully, you will find the build here (change DATE into the date):
~/android/system/out/target/product/smultron/cm-12.1-DATE-UNOFFICIAL-LegacyXperia-smultron.zip
The next times you want to build, you only need to do the following:
Sync the repositories & make sure you are using the latest local_manifest.
Code:
cd ~/android/system/
curl https://raw.githubusercontent.com/LegacyXperia/local_manifests/cm-12.1/semc.xml > ~/android/system/.repo/local_manifests/semc.xml
repo sync
Setup the build environment
Code:
. build/envsetup.sh
Download some commits from CyanogenMod gerrit which are not accepted yet
Code:
./updates.sh
Build the ROM
Code:
brunch smultron
If the build finishes successfully, you will find the build here (change DATE into the date):
~/android/system/out/target/product/smultron/cm-12.1-DATE-UNOFFICIAL-LegacyXperia-smultron.zip
Steps to build only the kernel:
Sync the repositories.
Code:
cd ~/android/system/
repo sync
Setup the environment
Code:
. build/envsetup.sh
Download some commits from CyanogenMod gerrit which are not accepted yet
Code:
./updates.sh
Build the kernel
Code:
breakfast smultron
make -j4 bootimage
If the build finishes successfully, you will find the boot image here:
~/android/system/out/target/product/smultron/boot.img
Some suggestions for faster builds:
* Enable ccache
* Use the fastest hdd on your pc to store the source, build output & ccache
* You can also buy an ssd, if it's not large enough to hold everything, just store the build output & ccache
* mount /tmp on tmpfs (RAM).
The above have greatly improved my dirty build times with removed /out/target from 1h30m to 30m.
Mounting /tmp on tmpfs made the biggest improvement for me.
Credits: Thanks to hnl_dk for the initial CM9 & CM10 guides.
Reserved
getting insuficiant storage aviable in pa gappps (pico/micro) packages
Druboo666 said:
getting insuficiant storage aviable in pa gappps (pico/micro) packages
Click to expand...
Click to collapse
yes...same here
from build of 21st...i am getting this error
and even other zips are not getting flashed
TWRP
delete
Other than a fast HDD, does you computer need to be fast to build it? (Running a 2007 Core 2 Duo...)
Theonew said:
More cores are better. Here are the requirements to build it from source:
- 6GB of download.
- 25GB disk space to do a single build.
- 80GB disk space to build all AOSP configs at the same time.
- 16GB RAM recommended, more preferred, anything less will measurably benefit from using an SSD.
- 5+ hours of CPU time for a single build, 25+ minutes of wall time, as measured on a workstation (dual-E5620 i.e. 2x quad-core 2.4GHz HT, with 24GB of RAM, no SSD).
Click to expand...
Click to collapse
And I would say that a fast internet connection is also recommended, since the full source for initial sync is more than 10GBs (on ICS it already was, probably like 20GBs for lollipop).
brunch build error 12.1
Hi,
I am trying to build the image from the sources as per the build instructions to make my own test build.
After repo downloads, while building i am getting error "init/Kconfig:953: can't open file "usr/Kconfig"" in the brunch smultron command.
I am following these commands:
1) repo init -u git://github.com/CyanogenMod/android.git -b cm-12.1
2) curl https://raw.githubusercontent.com/Le...-12.1/semc.xml > /tmp/android/system/.repo/local_manifests/semc.xml
3) repo sync
4) ln -s vendor/extra/updates.sh updates.sh
5) ./updates.sh
6) . build/envsetup.sh
7) breakfast smultron
8) brunch smultron
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Can you tell me whats wrong.
Thanks.
joshipallav said:
Hi,
I am trying to build the image from the sources as per the build instructions to make my own test build.
After repo downloads, while building i am getting error "init/Kconfig:953: can't open file "usr/Kconfig"" in the brunch smultron command.
I am following these commands:
1) repo init -u git://github.com/CyanogenMod/android.git -b cm-12.1
2) curl https://raw.githubusercontent.com/Le...-12.1/semc.xml > /tmp/android/system/.repo/local_manifests/semc.xml
3) repo sync
4) ln -s vendor/extra/updates.sh updates.sh
5) ./updates.sh
6) . build/envsetup.sh
7) breakfast smultron
8) brunch smultron
Can you tell me whats wrong.
Thanks.
Click to expand...
Click to collapse
Delete the folder ~/android/system/kernel
repo sync again and make sure you get no errors
run make clean
try to build again
@Langes
hi.. just wanted to know.. any guide to Build for AOSP 5.1.1 Lollipop for Xperia Devices 2011 like cm12.1 here
and silly question time.. lol
is it possible that AOSP Android M source can also be built for Xperia Play (2011 Devices) .. I mean changes made by Mike (the AOSP Mike) + Source of Android M .. will it give us some output or :/
I built this rom today with new 3.10 kernel. It seems to be improved in some points (what isn't neccessary because of kernel), but with new kernel I can't use wifi and mobile data seems to be not working too. To build I fetched the new kernel and cherry-picked following commits:
Code:
#msm7x30-common: Update USB configuration for 3.10
cherries+=(LX_594)
#Use common msm7x30 kernel
#cherries+=(LX_422)
#msm7x30-common: Use common msm7x30 kernel
cherries+=(LX_421)
#mogami-common: wl12xx updates for 3.10
cherries+=(LX_407)
#media/msm7x30: Update for 3.10 support
cherries+=(LX_403)
#display/msm7x30: Update for 3.10 support
cherries+=(LX_402)
#audio/msm7x30: Update for 3.10 support
cherries+=(LX_401)
#kernel
#usb: Import msm charger changes from 6.2.B.0.200
cherries+=(LX_430)
#usb: msm72k_otg: Remove userspace events [REVISIT]
cherries+=(LX_428)
Is there something I missed to get working internet connection? (I didn't really test the rom for other things so far)
Getting this error when building AOSP rest all goes fine..
build also starts but getting this error.. any suggestion ?
Hey Mike, I tried to build CM14 and it fails. After some investigation it seems that imgdiff is missing. This was fixed on CM13: http://review.cyanogenmod.org/#/c/135193, which can't be applied to CM14 (no RECOVERY_PATCH_INSTALL).
I hope this helps.
zweif said:
Hey Mike, I tried to build CM14 and it fails. After some investigation it seems that imgdiff is missing. This was fixed on CM13: http://review.cyanogenmod.org/#/c/135193, which can't be applied to CM14 (no RECOVERY_PATCH_INSTALL).
I hope this helps.
Click to expand...
Click to collapse
I already have a cm14 zip for anzu, just unable to flash it because it's about 330MB and device runs out of memory when attempting to flash. Will try to find a solution/hack on the weekend
I managed to build cm14 zip for mango (installation fails as expected).
I modified build/core/Makefile, I don't fully understand how these dependencies work, but maybe there is a dependency issue.
There are dependencies: imgdiff <- RECOVERY_FROM_BOOT_PATCH <- INSTALLED_SYSTEMIMAGE <- BUILT_TARGET_FILES_PACKAGE (where make_recovery_patch is called, which needs imgdiff)
Now INSTALLED_SYSTEMIMAGE is defined before RECOVERY_FROM_BOOT_PATCH, but dependencies of INSTALLED_SYSTEMIMAGE are defined after that. Could this cause an issue?
After moving
Code:
INSTALLED_SYSTEMIMAGE := $(PRODUCT_OUT)/system.img
SYSTEMIMAGE_SOURCE_DIR := $(TARGET_OUT)
from line 1284 to line 1314 build was successfull.
mikeioannina said:
I already have a cm14 zip for anzu, just unable to flash it because it's about 330MB and device runs out of memory when attempting to flash. Will try to find a solution/hack on the weekend
Click to expand...
Click to collapse
I managed to flash cm14 after disabling dex-preoptimization. Zip size decreases to ~260MB. I didn't do extensive testing - messaging seems to work, dialing a number causes restart (system, not kernel), the only sounds I noticed were dialing sounds, i miss a browser and other apps - but it seems nice for a first impression.
Concerning my problem with imgdiff: After reading some make documentation I have no clue why it isn't built. Maybe these dependencies aren't tracked because RECOVERY_FROM_BOOT_PATCH is set to an empty string when BOARD_CANT_BUILD_RECOVERY_FROM_BOOT_PATCH is defined?
I can manually call 'make imgdiff' as workaround.
I tried some things that could have affected imgdiff before my last post, and I'm not sure if I cleared output directory. Did you try a clean build or could imgdiff come from a previous build on your machine?
bro, How much space does it need to sync the repo??
& if I want to port a ROM based on CM (Like Resurrection Remix or Liquid Smooth), would I have to use the command "repo sync"?
I'm trying to build CM14.0, but jack server is giving me a bad time with out of memory error. I have tried changing jack.server.max-service to 1, heap size to 2g, 3g and 4g, even to build without ninja, but always getting out of memory. In CM13.0 I could build without jack, but now the built is failing without it. I'm using Ubuntu 16.04 on an i3 with 4g RAM and 8g swap, I've seen cases with machines with better specs failing (e.g. i5, 8g RAM). Is it a bug with jack, or my specs is the limiting factor?
Edit: I guess this is the EOL for me :crying:.
azakosath said:
I'm trying to build CM14.0, but jack server is giving me a bad time with out of memory error. I have tried changing jack.server.max-service to 1, heap size to 2g, 3g and 4g, even to build without ninja, but always getting out of memory. In CM13.0 I could build without jack, but now the built is failing without it. I'm using Ubuntu 16.04 on an i3 with 4g RAM and 8g swap, I've seen cases with machines with better specs failing (e.g. i5, 8g RAM). Is it a bug with jack, or my specs is the limiting factor?
Edit: I guess this is the EOL for me :crying:.
Click to expand...
Click to collapse
Jack troubleshooting
If your computer becomes unresponsive during compilation or if you experience Jack compilations failing on “Out of memory error”
You can improve the situation by reducing the number of Jack simultaneous compilations by editing your $HOME/.jack-server/config.properties and changing jack.server.max-service= to a lower value.
Description with default values follows:
jack.server.max-service=<number> Maximum number of simultaneous Jack tasks. Default is 4.
jack.server.max-jars-size=<size-in-bytes> Maximum size for Jars, in bytes. -1 means no limit. Default is 100 MiB.
jack.server.time-out=<time-in-seconds> Time out delay before Jack gets to sleep. When Jack sleeps, its memoryusage is reduced, but it is slower to wake up. -1 means "do not sleep".Default is 2 weeks.
jack.server.service.port=<port-number> Server service TCP port number. Default is 8076. Needs to match theservice port defined in $HOME/.jack-settings on the client host (SeeClient section).
jack.server.admin.port=<port-number> Server admin TCP port number. Default is 8077. Needs to match theservice port defined in $HOME/.jack-settings on the client host (SeeClient section).
jack.server.config.version=<version> Internal, do not modify.
Mardon said:
Jack troubleshooting...
Click to expand...
Click to collapse
Thanks for answering, but I have already read these. I tried several combinations (max services and "-Xmx") without luck. Even:
Code:
export USE_NINJA=false
to build without ninja. The result was always the same, jack server was hanging and failing after 30 or more compilations.
P.S. I did use the changes that are not merged yet, but I don't think this is related.
You also can try
breakfast devicename
And after that
make -j1 bacon
To force 1 job compiling only
Gesendet von meinem GT-I8190 mit Tapatalk

[GUIDE][BOOT][MT2L03] Tutorial guide for compiling boot image from source code

DISCLAIMER: Rooting your phone and using custom ROMS/kernels have risks, I am not responsible any abnormal behaviour of your phone, ex. your phone bricks, or your phone catches on fire, or your phone explodes. USE IT AT YOUR OWN RISK!!
DON"T FORGET TO BACKUP YOUR ORIGINAL BOOT IMAGE.
What you need:
Original BOOT IMG extracted from your phone
Android/Linux kernel source code for MT2L03:
https://github.com/j42lin/android_kernel_huawei_mt2l03
Android cross-compilation toolchains (Credit to DooMLoRD)
https://github.com/j42lin/android_prebuilt_toolchains
Kernel package tool(Credit to xiaolu)
https://github.com/j42lin/mkbootimg_tools
and basic knowledge in Linux shell conmmands
(Also you might want to setup your 64 bit Ubuntu enviroment based on Google/Cyanogenmod requirements)
Q&A:
Q: What is difference between Android BOOT IMG and kernel?
A: Kernel is often refered to as Linux kernel. BOOT IMG(boot image) contains Linux kernel, ram disk, and device trees(Qualcomm stuff).
Q: Have you always wondered what kind of data structure Android boot image is like?
A:
Old school struct: http://stackoverflow.com/questions/18284787/android-boot-image-format
Qualcomm way: https://github.com/j42lin/mkbootimg_tools/blob/master/dtbtool.txt
Instructions
Step 1.
Download Android kernel source code and cross compilation tool chains, and run these commands to under kernel source code folder compile Linux zImage
export CROSS_COMPILE=~/android/toolchains/arm-linux-androideabi-4.7/bin/arm-linux-androideabi-
export ARCH=arm
make clean && make mrproper
make mt2l03_defconfig
make menuconfig
make CONFIG_NO_ERROR_ON_MISMATCH=y -j4
Note: your CROSS_COMPILE tool chain folder might be different than mine, use your brain :good:
Step 2:
Use mkbootimg_tools to unpack original BOOT IMG
This step will extract device trees and ram disk from your BOOT IMG (Damn you Qualcomm and your device trees)
Step 3:
Place your zImage into the folder you just extracted in Step 2
View attachment 3249210
View attachment 3249211
Step 4:
Use mkbootimg_tools to pack new BOOT IMG
and flash onto your phone using fastboot:victory::victory:
View attachment 3249294
Tips: You can add fastboot path as an environment variables if you are under windows
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Download(compiled by me ):
https://drive.google.com/file/d/0B5mys64Sigs_RmdYMnRpSHpXVVk/view?usp=sharing
20140406:
What is not working?
WIFI
reserved
reserved 2222
Tried updating after this? Just curious.
WiFi isn't working because when you build a kernel without modifying the source to allow no module support then you must make sure to build the modules. These modules must match with the kernel version or else you will get issues such as WiFi breakage.
The current modules on your device does not match with your newly compiled kernel version.
Easy fix in the end.
I always build kernels without module support to prevent this problem and to prevent from having to build and share new modules down the road.
Not sure that's the case here. Since everything else must be working as he didn't list anything else but WiFi. Possible though. And sometimes builds just don't compile correctly.
If it's his first attempt I would say grats. Takes a few tries to get familiar with it.
If he didn't replace the old modules on his device with the new modules after running the command
Code:
make modules
Then I am pretty confident why WiFi is broken. Kernel Version must match unless you play with the source to disable module support. This is a must with any Android device.
As for the other Modules not being listed as causing errors or not working, but just WiFi... Simple testing internally would confirm such as logcats and dmesgs for example.
Anyways, congrats on the kernel build. For first timers it can be very challenging to get a successful compilation.
@Moody66,
I took a look at the kernel source that he forked. mdmower already modified the source so that the modules would be built into the kernel during compilation. Though he commented that some work for FM is needed still. So, as you stated earlier, could be a bad build or the changes mdmower made are still incomplete. I am leaning on both being the issue .
https://github.com/j42lin/android_k...mmit/b4685f010bc0bb7543a3a4257b3ea461640e6458
---------- Post added at 02:25 PM ---------- Previous post was at 02:20 PM ----------
Also, xialou made some bug fixes to his mkbootimg_tools repo. OP hasn't merged those changes yet so for now I would recommend grabbing the project directly from xialou mkbootimg_tools
I still need to go through and merge some of those changes to the ARM directory for those who use the project straight on their phone and send him a pull request. Was just looking at it last night.
Figured as much. Assuming he's following up he may make the changes now anyway. Especially after you dug through to find the problem. I should have kept mine just to throw a build out. I wouldn't dare do one without testing first. Made one or two for the touchpad that just didn't compile right. Lol. Odd why they do that sometimes. I am sure he will appreciate your input. One less headache for him!
SHM said:
@Moody66,
I took a look at the kernel source that he forked. mdmower already modified the source so that the modules would be built into the kernel during compilation. Though he commented that some work for FM is needed still. So, as you stated earlier, could be a bad build or the changes mdmower made are still incomplete. I am leaning on both being the issue .
https://github.com/j42lin/android_k...mmit/b4685f010bc0bb7543a3a4257b3ea461640e6458
---------- Post added at 02:25 PM ---------- Previous post was at 02:20 PM ----------
Also, xialou made some bug fixes to his mkbootimg_tools repo. OP hasn't merged those changes yet so for now I would recommend grabbing the project directly from xialou mkbootimg_tools
I still need to go through and merge some of those changes to the ARM directory for those who use the project straight on their phone and send him a pull request. Was just looking at it last night.
Click to expand...
Click to collapse
I haven't been looking into Android OS lately, but thank you so much for some of kernel insights. :good: I always find it super hard to learn Android system development, since Android is advancing and tightening security every year.

[REFERENCE] ELS - exynos-linux-stable (4.9.193)

{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Project: Exynos-Linux-Stable​- Exynos-Linux-Stable is an organisation on GitLab & GitHub containing upstreamed linux for some of the latest flagship handset from SAMSUNG like the S7, S7E, S8, S8+, Note 8, S9, S9+, Note 9 kernel upstreamed to be inline with respective linux branches.
What does this bring?
- All of the devices mentioned above uses Long Term Support (LTS) releases, they are like old softwares.
- LTS releases are supported through their specified support duration by security updates, bug fixes, backports, and new device drivers, just like a regular release.
So updating or up-streaming your device's kernel brings many improvements talking security, performance wise etc...
How do I use?
If you are a developer, the reference tree is located in the exynos-linux-stable organization: https://github.com/exynos-linux-stable
This can either be merged into your existing kernel tree if you have one or be used as a fresh base. You do not need my permission to use it nor do you need to give me credit (although it would be appreciated).
If you are a user, ask your kernel developer KINDLY to use this source for his kernel that has all the changes added in!
Getting notified about updates
There are a few ways to get notified of linux-stable updates:
The exynos-linux-stable Telegram channel: https://t.me/exynos_linux_stable
Subscribe to this thread
XDA:DevDB Information
ELS - exynos-linux-stable, Kernel for the Samsung Galaxy Note 9
Contributors
farovitus
Source Code: https://github.com/exynos-linux-stable/crownlte
Kernel Special Features:
Version Information
Status: Stable
Stable Release Date: 2019-05-18
Created 2018-08-24
Last Updated 2019-09-17
Reserved
Reserved
This source appears to be broken (apparently now differently to when I tried a few days ago):
Code:
~$ mkdir note-9
~$ cd note-9
~/note-9$ git clone https://bitbucket.org/UBERTC/aarch64-linux-android-4.9-kernel
~/note-9$ git clone https://github.com/exynos-linux-stable/crownlte
~/note-9$ cd crownlte
~/note-9/crownlte$ export ARCH=arm64 CROSS_COMPILE=aarch64-linux-android- PATH=$PWD/aarch64-linux-android-4.9-kernel/bin:$PATH
~/note-9/crownlte$ make exynos9810-crownlte_defconfig
~/note-9/crownlte$ make -j1
CHK include/config/kernel.release
CHK include/generated/uapi/linux/version.h
CHK include/generated/utsrelease.h
CHK include/generated/bounds.h
CHK include/generated/timeconst.h
CHK include/generated/asm-offsets.h
CALL scripts/checksyscalls.sh
CHK include/generated/compile.h
CC init/version.o
LD init/mounts.o
AS init/_uh.o
init/_uh.S: Assembler messages:
init/_uh.S:40: Error: file not found: init/uh.8g.elf
scripts/Makefile.build:393: recipe for target 'init/_uh.o' failed
make[1]: *** [init/_uh.o] Error 1
Makefile:1036: recipe for target 'init' failed
make: *** [init] Error 2
stock source builds in the same environment.
Phoenix09 said:
This source appears to be broken (apparently now differently to when I tried a few days ago):
stock source builds in the same environment.
Click to expand...
Click to collapse
Well i did compile the source before i pushed it to GitHub and it was totally fine... but i will double check tomorrow.
farovitus said:
Well i did compile the source before i pushed it to GitHub and it was totally fine... but i will double check tomorrow.
Click to expand...
Click to collapse
did you manage to check?
Sent from my SM-N960F using Tapatalk
Phoenix09 said:
did you manage to check?
Click to expand...
Click to collapse
No, i am quiet busy these days. Send me a link of your source so i can check it out from my phone.
Again, i am sure the ELS source will compile just fine.
farovitus said:
No, i am quiet busy these days. Send me a link of your source so i can check it out from my phone.
Again, i am sure the ELS source will compile just fine.
Click to expand...
Click to collapse
https://github.com/exynos-linux-stable/crownlte
I made zero changes, what I posted is exactly what I did, it does not compile.
Edit: what OS are you compiling on?
Sent from my SM-N960F using Tapatalk
Phoenix09 said:
This source appears to be broken (apparently now differently to when I tried a few days ago):
stock source builds in the same environment.
Click to expand...
Click to collapse
Source compile just fine. Please do a proper clone to the source to avoid any issue.
4.9.140 has been merged.
farovitus said:
4.9.140 has been merged.
Click to expand...
Click to collapse
that now builds for me.. in the exact same environment, Ubuntu 14.04 in vagrant with a script:
Code:
#!/bin/sh
set -e
sudo apt-get update
sudo apt-get install -y git build-essential bc
cd $HOME
[ -d aarch64-linux-android-4.9-kernel ] || git clone --depth=1 https://bitbucket.org/UBERTC/aarch64-linux-android-4.9-kernel
[ -d crownlte ] || git clone --depth=1 https://github.com/exynos-linux-stable/crownlte
export ARCH=arm64 CROSS_COMPILE=aarch64-linux-android- PATH=$HOME/aarch64-linux-android-4.9-kernel/bin:$PATH
cd crownlte
make exynos9810-crownlte_defconfig
make -j8
4.9.141 has been released.
hi, i need a stock note 9 pie kernel (CSB3), i flashed another kernel and it wont allow me to go past my login, can you please direct me to a stock pie kernel so i can flassh and get in?
mafioso345 said:
hi, i need a stock note 9 pie kernel (CSB3), i flashed another kernel and it wont allow me to go past my login, can you please direct me to a stock pie kernel so i can flassh and get in?
Click to expand...
Click to collapse
Don't ask here.. Just take a Rom like ketan and flash only kernel via aroma. Done
Ketan p06 has CSB3 base so that kernel will work no problem.
- 4.9.177 merged in.
- Merged CSDE OSRC into crownlte exynos-linux-stable tree.
https://github.com/exynos-linux-stable/crownlte
As always, join https://t.me/exynos_linux_stable to get instantly notified of every ELS update.
I know it's a stupid question but how to pack kernel inside IMG? I want to get image for heimdall.
I've honestly googled but it looks like everybody just knows how to do this. And nobody discuss it
-W_O_L_F- said:
I know it's a stupid question but how to pack kernel inside IMG? I want to get image for heimdall.
I've honestly googled but it looks like everybody just knows how to do this. And nobody discuss it
Click to expand...
Click to collapse
You'll want to use Android Image Kitchen to unpack and repack kernels inside images. You can diff the unpacked boot.img provided in devbase with mine to see the basic ramdisk modifications to prevent forced encryption or various other issues. Or you can just unpack my image, it's relatively basic with it's modifications. Hope this helps.
EDIT: You can also look at my make9810.sh script on GitHub to see the various steps I take for repacking my images.
Can someone explain what this is for? Is this purely for use with linux on DEX or are you guys flashing linux direct to your Note9 somehow? Or updating the kernel that android is running on?
bandario said:
Can someone explain what this is for? Is this purely for use with linux on DEX or are you guys flashing linux direct to your Note9 somehow? Or updating the kernel that android is running on?
Click to expand...
Click to collapse
It's a reference kernel source with all recent patches from vanilla kernel applied to Samsung stock one. Some developers use this source as a base for their custom kernels. This is what it's for.
ELS is for Android. But I'm developing a kernel that can boot Linux (GNU/Linux) on Note9. And yes, it's based on ELS sources.
4.9.193 has been merged into the exynos-linux-stable tree.
https://github.com/exynos-linux-stable/crownlte

Categories

Resources