[REFERENCE] Pixel 2 XL kernel source with linux-stable (4.4.162) - Google Pixel 2 XL ROMs, Kernels, Recoveries, & Oth

Introduction
Hello everyone, this is a thread to introduce both users and kernel developers to the concept of linux-stable as well as give developers some tips and a tree to either merge into their own, use as a base, or just as a reference. Feel free to ask questions and enjoy!
What is it?
linux-stable is, as the name implies, the stable branch of the Linux kernel, the base of Android. The phone could not run without the Linux kernel (at least not without reworking a lot of stuff). The Android kernels are based on the longterm stable trees:
Longterm
There are usually several "longterm maintenance" kernel releases provided for the purposes of backporting bugfixes for older kernel trees. Only important bugfixes are applied to such kernels and they don't usually see very frequent releases, especially for older trees.
Click to expand...
Click to collapse
Source: https://www.kernel.org/category/releases.html
All Linux development happens on the master branch, which is governed by Linus Torvalds. When issues are discovered there, the fixes are applied then backported to these various stable trees for consumption. It is not uncommon for a fix to need to go back a few years.
There is a LOT more information available in the notes repo in the android-linux-stable organization if you care to learn more in-depth: https://github.com/android-linux-stable/notes
What does this mean for me?
If you are a developer, this means you should be merging these changes into your own tree. These are vetted, stable fixes to real world problems and they are being handed out for free. It does not take long to get up to date (as you can just merge this tree directly into your own or do it yourself using the tree as a reference) and once you are up to date, there is usually a release once every two weeks, give or take. I provide a rebuttal to a lot of various complaints here. If you still feel like there is a good reason not to do this, please let me know, I'll be happy to try and debate on it!
If you are a user, it means that you should be looking for and using kernels that have these fixes, as it shows the developers care for your security and stability. The current version for this device is 4.4.116 and the current version upstream is 4.4.162 so all you need to do is go into Settings > About phone and look at the kernel version to know if you are up to date.
How do I use?
If you are a developer, the reference tree is located in the android-linux-stable organization: https://github.com/android-linux-stable/wahoo
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, use a kernel that has the changes added in!
Getting notified about updates
There are a few ways to get notified of linux-stable updates:
The linux-kernel-announce mailing list: http://vger.kernel.org/vger-lists.html#linux-kernel-announce
The android-linux-stable Telegram channel: https://t.me/alsupdates
Subscribe to this thread
Follow me on Google+ or Twitter
Getting help
If you have any issues with getting these changes into your tree or want to ask a question, there are a few different ways to do it:
Post in this thread
Join the linux-stable support chat on Telegram: https://t.me/joinchat/C1UAJ1EMSX31PCFdwLnOSg
File an issue either in the android-linux-stable notes repo or the android-linux-stable repo for this device
When requesting help, please give some solid details as to what you are struggling with, as I am happy to provide assistant and clarity but not to do something for you (unless I screwed up).

4.4.103 has been merged in.

4.4.104 has been merged in, with conflict notes updated accordingly.

The repo location has changed (new link is in the OP).
Additionally, an 8.1 branch has been created. Google went from 4.4.56 to 4.4.88 so the branch was redone to avoid conflicts and go with Google's resolution. The notes have been updated as well. Happy kerneling!

4.4.106 has been merged in (conflict notes).

4.4.107 has been merged in.

nathanchance said:
4.4.107 has been merged in.
Click to expand...
Click to collapse
What should we do without you nathanchance .. really appreciate your support

4.4.108 has been merged in.

nathanchance said:
4.4.108 has been merged in.
Click to expand...
Click to collapse
Really appreciate. Merry Christmas

Looking at this thread you are faster than google in update to latest linux-stable. Is google kernels so frankenstein or is there some sense in not using the latest security update?

Thaodan said:
Looking at this thread you are faster than google in update to latest linux-stable. Is google kernels so frankenstein or is there some sense in not using the latest security update?
Click to expand...
Click to collapse
Well Google has their own pipelines they have to go through to get these updates shipped, I don't. Google is about three months behind stable because they don't ship stable updates in their security updates (I think they should). So to be fair, three months ago, 4.4.88 was the latest.
Sent from my Pixel 2 XL using XDA Labs

4.4.109 has been merged in (conflict notes).

nathanchance said:
4.4.109 has been merged in (conflict notes).
Click to expand...
Click to collapse
Super ninja

4.4.110 has been merged in (conflict notes).

4.4.111 has been merged in.
Just as a heads up, I started school on Monday so while the updates will still continue, they may not be as timely as they have in the past, especially if there are conflicts that I need to document.

4.4.112 has been merged in (conflict notes).
I used this conflict in my video talking about thinking through linux-stable conflicts, check it out! https://www.youtube.com/watch?v=yWvU8_0O66A

4.4.113 has been merged in (conflict notes).

nathanchance said:
4.4.113 has been merged in (conflict notes).
Click to expand...
Click to collapse
Really appreciate your effort and help. Thank you so much. Do you mind to share your pre-build Clang 6.0 toolchain? I can't build with Clang 5.0 anymore. I had no issue with Clang 5.0 until 4.4.112. Seem 4.4.113 is broken with Clang 5.0. Thanks in advance

janjan said:
Really appreciate your effort and help. Thank you so much. Do you mind to share your pre-build Clang 6.0 toolchain? I can't build with Clang 5.0 anymore. I had no issue with Clang 5.0 until 4.4.112. Seem 4.4.113 is broken with Clang 5.0. Thanks in advance
Click to expand...
Click to collapse
You must have added something that broke Clang 5.0 then because I built with Clang 5.0 on the Essential Phone after merging in 4.4.113 without any issues.
But here, it's just Google's master branch: https://android.googlesource.com/platform/prebuilts/clang/host/linux-x86/
Sent from my Pixel 2 XL using XDA Labs

nathanchance said:
You must have added something that broke Clang 5.0 then because I built with Clang 5.0 on the Essential Phone after merging in 4.4.113 without any issues.
But here, it's just Google's master branch: https://android.googlesource.com/platform/prebuilts/clang/host/linux-x86/
Click to expand...
Click to collapse
Except Google removed the 6.0 toolchain :silly:
If anyone uses this, just run git revert HEAD

Related

[ROM] [7.1.x] Unofficial LineageOS 14.1 Nightly Builds

LineageOS is a free, community built, aftermarket firmware distribution of Android 7.1.x (Nougat), which is designed to increase performance and reliability over stock Android for your device.
Code:
#include <std_disclaimer.h>
/*
* Your warranty is now void.
*
* We are not responsible for bricked devices, dead SD cards,
* thermonuclear war, or you getting fired because the alarm app failed. Please
* do some research if you have any concerns about features included in this ROM
* before flashing it! YOU are choosing to make these modifications, and if
* you point the finger at us for messing up your device, we will laugh at you.
*
*/
LineageOS is based on the Android Open Source Project with extra contributions from many people within the Android community. It can be used without any need to have any Google application installed. You will need to provide your own Google Applications package (gapps). LineageOS does still include various hardware-specific code, which is also slowly being open-sourced anyway.
All the source code for LineageOS is available in the LineageOS Github repo. And if you would like to contribute to LineageOS, please visit our Gerrit Code Review. Your changelog is whatever was merged into gerrit.
Information:
This is the nightly builds of LineageOS 14.1 for Zenfone 5 (T00F,T00J) and Zenfone 6 (T00G).
Known issues:
FM Radio is unsupported.
Like on the most devices with LineageOS 14.1, some video formats do not play so good.
In nature, there are no official Android Nougat builds for 32-bit Intel devices, so we cannot update some non device-specific blobs (like Houdini and wvm) to latest versions and there may be problems with some apps (e.g. 2GIS and UC Browser).
GPS doesn't work
Bug reporting:
Before the report make sure that your device was properly updated to the latest stock base (modem firmware is mostly important) and you've installed the latest build of the ROM.
Explain the bug in details and, if possible, methods to reproduce it.
For most issues, you should attach the logcat. It you have problems with the network/RIL, attach the radio logcat too (logcat -b radio).
Random reboots? Please upload all ramoops files from /sys/fs/pstore immediately after the kernel crash.
Links:
Download LineageOS 14.1
Download GAPPS
Download Root Addon
Credits:
LineageOS community (CyanogenMod (R.I.P))
jrior001
crpalmer
X AnwarMov
And other Zenfone contributors.
Donation:
I don't force you, but if you like my work and want to:
Donate to me
XDA:DevDB Information
Unofficial LineageOS 14.1 Nightly Builds, ROM for the Asus Zenfone 5
Contributors
flex1911
Source Code: https://github.com/zenfone-legacy
ROM OS Version: 7.x Nougat
ROM Kernel: Linux 3.10.x
Based On: LineageOS
Version Information
Status: Testing
Created 2016-12-31
Last Updated 2017-11-06
Reserved
Changelog:
Code:
[B]20171021:[/B]
Updated LineageOS to the latest git base
Krack vulnerability fixes
Various of kernel security updates
[B]20171003:[/B]
Updated LineageOS to the latest git base
October security bulletin
[B]20170922:[/B]
Updated LineageOS to the latest git base
September security bulletin
[B]20170812:[/B]
Updated LineageOS to the latest git base
August security bulletin
Kernel security updates
[B]20170707:[/B]
Updated LineageOS to the latest git base (android-7.1.2_r24)
July security bulletin
Updated kernel to the upstream 3.10.107 version
[B]20170628:[/B]
Updated LineageOS to the latest git base
Updated kernel to the upstream 3.10.106 version
Switched to the AOSP libril
Various security and bugfix kernel patches
[B]20170611:[/B]
Updated LineageOS to the latest git base (android-7.1.2_r17)
June security bulletin
[B]20170524:[/B]
Updated LineageOS to the latest git base
T00F: doze display state is unsupported by our hwc
Various security and CVE kernel patches
[B]20170509:[/B]
Updated LineageOS to the latest git base (android-7.1.2_r8)
May security bulletin and security kernel updates
Revert to the modified libril
[B]20170425:[/B]
Updated LineageOS to the latest git base
Enabled call recording
Disabled SIM batch operations (contacts import should be good now, but export will not work anyway)
Switched off from the laggy screen off animation to the fade off (animate screen lights)
Merged some security related kernel patches
[B]20170414:[/B]
Updated LineageOS to the latest git base
Android 7.1.2
April security bulletin
[B]20170329:[/B]
Updated LineageOS to the latest git base
Various fixes and kernel updates
[B]20170317:[/B]
Updated LineageOS to the latest git base
Disabled sdcardfs to fix apps issues
Updated f2fs to the latest mainline backports
Security patches for network stack
Minor kernel fixes and updates
[B]20170310:[/B]
Updated LineageOS to the latest git base (android-7.1.1_r25)
Updated fs-related kernel stuff and enabled sdcardfs
[B]20170228:[/B]
Updated LineageOS to the latest git base
February security patch
Fixed minor stuff and (maybe) power issues
[B]20170214:[/B]
Updated LineageOS to the latest git base
Fixed booting issues
Moved to ondemand again and fixed some issues related to it
Enabled Snap camera (most of the issues are fixed now)
Security-related kernel updates
Killed built-in root (use su addon instead)
Minor fixes
[B]20170205:[/B]
Updated LineageOS to the latest git base
Added correct power profile (should fix some issues with battery capacity)
Moved back to interactive governor and enabled touchboost
Updated houdini to the latest MM revision
Various updates and fixes
[B]20170123:[/B]
Updated LineageOS to the latest git base
Updated security-related stuff in the kernel
Moved back from Snap to AOSP Camera2 (it's better choice for us now)
Updated offline charging images (imported it from Z00D's tree, hope it will work)
Minor updates and fixes
[B]20170116:[/B]
Updated LineageOS to the latest git base (android 7.1.1-r9)
Smart Cover support via FlipFlap application
Reverted all recent upstream kernel updates (3.10.20 again)
Moved to ondemand governor and kanged latest cpufreq changes from Z00D
[B]20170109:[/B]
Updated LineageOS to the latest git base (android 7.1.1-r9)
January security patch
Bringed back hall sensor support to the kernel
Minor updates and fixes
[B]20170104:[/B]
Updated LineageOS to the latest git base
Fixed various things related to T00G (Zenfone 6)
Updated kernel to the latest upstream base (3.10.104) and picked most changes from Z00D
Fixed network configuration (should fix bugs with mobile internet after WiFi)
Slightly tweaked interactive governor
Minor fixes
[B]20170101:[/B]
Updated LineageOS to the latest git base
Fixed camera
Updated some config-related options
Minor updates and fixes
[B]20161231:[/B]
First Nougat build for ZF5/6
As Nikolai752 said, almost everything work excluding the camera.
I don't have ZF5, so I need more logs and other stuff.
If you want to report bug - upload your logcat and dmesg.
finally!! nougat is landing on zf5, amazing :silly:
Camera was fixed.
Flash new boot.img - https://drive.google.com/file/d/0B7jApZFEHXFuNXRQclBJbjVJVGs/view?usp=sharing
Happy New Year to all!
flex1911 said:
Camera was fixed.
Flash new boot.img - https://drive.google.com/file/d/0B7jApZFEHXFuNXRQclBJbjVJVGs/view?usp=sharing
Happy New Year to all!
Click to expand...
Click to collapse
Amazing! Happy new year!
Is the home and recents button fixed ?
Sent from my ASUS_T00F using Tapatalk
---------- Post added at 04:38 PM ---------- Previous post was at 04:36 PM ----------
Btw , thanks your very much sir!! And happy new year!
Sent from my ASUS_T00F using Tapatalk
fakhri_adi551 said:
Is the home and recents button fixed ?
Sent from my ASUS_T00F using Tapatalk
---------- Post added at 04:38 PM ---------- Previous post was at 04:36 PM ----------
Btw , thanks your very much sir!! And happy new year!
Sent from my ASUS_T00F using Tapatalk
Click to expand...
Click to collapse
Yes, just flash the latest build and then update boot.img. Everything should work as expected.
flex1911 said:
Yes, just flash the latest build and then update boot.img. Everything should work as expected.
Click to expand...
Click to collapse
Okay sir thank you for your reply
Sent from my ASUS_T00F using Tapatalk
This ROM is a best New Year's gift. Thanks for your work
Amazing! Eager to test your ROM. Is Vulkan API working?
Kyo. said:
Amazing! Eager to test your ROM. Is Vulkan API working?
Click to expand...
Click to collapse
I don't think that Vulkan ever would work. We need either source code of our graphic stack or vulkan binaries for sgx.
Guys, I need to know T00F's CPU frequencies to make power and performance-related things slightly better.
Give me the output of
Code:
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies
Hello, can you add some scr? ) thx.
Edit : deleted
flex1911 said:
guys, i need to know t00f's cpu frequencies to make power and performance-related things slightly better.
Give me the output of
Click to expand...
Click to collapse
1200000 933000 800000
flex1911 said:
Guys, I need to know T00F's CPU frequencies to make power and performance-related things slightly better.
Give me the output of
Code:
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies
Click to expand...
Click to collapse
2.0 and 1.6 and 1.2
1600000 1333000 933000 800000
DT2W ?
Davega said:
DT2W ?
Click to expand...
Click to collapse
No its not working

[EOL][KERNEL][UNOFFICIAL BUILDS] Boeffla Kernel Linaro/Uber

hi Guys,
as some of u maybe know from the OPO/OP2/OPX/OP3(T) area i'm doing a "build-service" for non official boeffla kernel builds and as we recently also got a boeffla kernel
for the One Plus 5 device (kudos and thx to @Lord Boeffla!) i want to share with u my self made Linaro/Uber builds for that device in addition.
i'm gonna reduce redundancy and keep it shorter this time as about how this started and my primary intention can also be taken from the corresponding Samsung Thread
so without further ado let's go:
First of all the obligatorily Disclaimer:
As also written in the title please note these builds are UNOFFICIAL, are NOT SUPPORTED in any way by Lord Boeffla or myself and might be EVEN UNSTABLE! So take them as they are! As always flash them at your own risk and make a backup before flashing! (yeah take this advice seriously!)
About bugs: Before you report ANY issues with the linaro/uber builds provided here (doesn't matter which one!) FIRST TRY the non-linaro/uber official builds from HERE to see if they will be gone then. if they wont, you can go on and report your problems in the official boeffla kernel threads! I hope you understand that we have to treat and keep these builds here completely separate from official ones as they have in no terms something to do with each other! Not respecting this will force me to stop building further linaro/uber builds of boeffla kernel.
About benchmarks and comparisons between toolchains:
It's common known that linaro (maybe also uber?) builds might give us higher benchmark rates and that seems great for some people (in fact it's pointless per se in my opinion)
so please if you really must, post them ONLY here and NOT in official boeffla kernel thread, thanks!
Now some more precise informations about what's going on here:
what i did:
the images are always build with original sources from official boeffla kernel OP5 repositories with some not worth to mention minor changes
to be able to build it on my build environment with non stock toolchains.
all images are compiled from special branches from a forked Boeffla Kernel repository
with recent versions of Linaro - Credits and Thx to @The flash for pre-configured/-build 7.x.x toolchains
with recent versions of Linaro original pre-build toolchains (Versions < 7.x.x)
and recent verisions of Uber Toolchains - Credits to Team Uber and Thx and Credits to @DespairFactor for the pre-configured/-build toolchains
Sources:
all images are build with changes from different branches in following repositories:
https://github.com/zanezam/boeffla-kernel-oos-oneplus5
Beside of some additional fixes from my side all changes are taken from repositories of @ak
so all credits to him, and thx again for the starting point!
what i will do:
build the source code with linaro/uber toolchain and (like Lord Boeffla usually does) provide a recovery image of recent boeffla kernel versions.
do a test for about 1 day with this builds and if they work without any big issues, add them on the corresponding download locations.
i will try to keep the linaro/uber toolchains as up-to-date as possible till the need of bigger code change will be reached.
not providing versions that are not released by Lord Boeffla yet.
not providing an image if it is not working - well of course not *g* but it will be marked as "canceled" then for info.
not change the source code to add/remove features or fix boeffla kernel related bugs.
not support the whole stuff here.
what i will maybe do (sooner or later):
provide ZZMoove Governor test builds if there are any new versions to test - more infos and discussions about ZZMoove Governor can be found HERE
provide builds for special operations like a nethunter special build (no plans, they will just pop-up)
maybe tune the build flags if some more linaro/uber experienced dev comes up with "better" ones (feel free to post and let me know, toolchain specialists! *g*)
Downloads:
One Plus 5 Oxygen OS v4.x.x
(*lxxx* linaro / *uxxx* uber)
One Plus 5 Oxygen OS v5.x.x
(*lxxx* linaro / *uxxx* uber)
Mirror on Mediafire:
One Plus 5 Oxygen OS v4.x.x
(*lxxx* linaro / *uxxx* uber)
One Plus 5 Oxygen OS v5.x.x
(*lxxx* linaro / *uxxx* uber)
OnePlus 5T:
One Plus 5T Oxygen OS v5.x.x
(*lxxx* linaro / *uxxx* uber)
Mirror on Mediafire:
One Plus 5 Oxygen OS v5.x.x
(*lxxx* linaro / *uxxx* uber)
Mirror on Androidfilehost for all devices (only latest kernel versions)
reserved
reserved 2

			
				
Sweet!
I'm waiting impatiently to see new zzmoove governor!
Old i9300 user Regards! :highfive:
Woohoo! @ZaneZam ! long time no see! glad to see you there ! :good::highfive:
moreover, on a device we have in common again!
I can see you are now RC since! gratz and well deserved!
Cheers' mate
New Builds!
Ok Guys lets start with that "toolchain game"
builds of...
Boeffla-kernel-1.0-beta5-OOS4xx-OnePlus5
...uploaded
Changelog:
- Uber v4xx and v5xx images build with recent toolchain version 20170615 (again thx and credits to @DespairFactor for the pre-builded toolchains)
- Linaro v4xx and v5xx images build with recent toolchain version from linaro.org
builds with more recent versions (gcc v6.x.x and v7.x.x) are WIP because there are issues (like always *g*) with toolchain versions above v5.x.x and the used source: they build, yaay! they boot yaay! yaay!
but they don't scale mmmpfh! but hey the now released ones work well and as always im not giving up to bring up and out the builds with newer toolchains too.
ok now enjoy!
ZZ
PS: hi nice to see u here @AndroidGX yeah long time no see, paths crossing again
Amazing
Enviado desde mi SM-G955F mediante Tapatalk
New Builds!
Hi Guys,
builds of...
Boeffla-kernel-1.0-beta6-OOS4xx-OnePlus5
...uploaded
enjoy!
ZZ
I presume you'll be doing LOS based kernels when Boeffla gets his 2nd device and starts those?
djsubterrain said:
I presume you'll be doing LOS based kernels when Boeffla gets his 2nd device and starts those?
Click to expand...
Click to collapse
yes your presumption is right even tho i need testers because i think i won't switch to LOS this time and the phone will be my daily soon so no risks wanted
and a to u if u are using LOS and want to contribute
New Builds!
Hi Guys,
builds of...
Boeffla-kernel-1.0-beta7-OOS4xx-OnePlus5
...uploaded
Changelog:
- Linaro images build with recent toolchain versions from www.linaro.org
- Uber images build with recent toolchain version 20170720 (thx and credits to @DespairFactor for the pre-builded toolchains)
enjoy!
ZZ
ZaneZam said:
Hi Guys,
builds of...
Boeffla-kernel-1.0-beta7-OOS4xx-OnePlus5
...uploaded
Changelog:
- Linaro images build with recent toolchain versions from www.linaro.org
- Uber images build with recent toolchain version 20170720 (thx and credits to @DespairFactor for the pre-builded toolchains)
enjoy!
ZZ
Click to expand...
Click to collapse
I am updating my toolchain again right now
DespairFactor said:
I am updating my toolchain again right now
Click to expand...
Click to collapse
Thx matt
Sorry, but what is difference between linaro and uber builds?
Official boeffla builds are compiled with?
Enviado desde mi ONEPLUS A5000 mediante Tapatalk
here something to read (yeah i missed putting the uber link into OP -> will be done soon *g*)
https://forum.xda-developers.com/android/software/toolchain-uber-toolchains-t3527997
https://www.linaro.org/downloads/
in short both use a similar ways but with the same goal -> to optimize code -> which can have benefits in speed and battery usage (marginal) but also can produce problems -> even though fortunately they happen not often at least for the images which run out of the box they run well. in addition i use full optimization flags so this is the max we can gain from the toolchain/code optimizing point of view.
official boeffla kernel on the other hand is build with google toolchian 4.9 and so it's the same as stock kernel but lord boeffla recently switched also flags from size optimizing to speed optimizing (but this is O2 optimizing which is still "in stock range")
hope i shed some more light but try it out and see what feels best for u. u can flash over my and unoffical images and vise versa whithout loosing settings
ZaneZam said:
here something to read (yeah i missed putting the uber link into OP -> will be done soon *g*)
https://forum.xda-developers.com/android/software/toolchain-uber-toolchains-t3527997
https://www.linaro.org/downloads/
in short both use a similar ways but with the same goal -> to optimize code -> which can have benefits in speed and battery usage (marginal) but also can produce problems -> even though fortunately they happen not often at least for the images which run out of the box they run well. in addition i use full optimization flags so this is the max we can gain from the toolchain/code optimizing point of view.
official boeffla kernel on the other hand is build with google toolchian 4.9 and so it's the same as stock kernel but lord boeffla recently switched also flags from size optimizing to speed optimizing (but this is O2 optimizing which is still "in stock range")
hope i shed some more light but try it out and see what feels best for u. u can flash over my and unoffical images and vise versa whithout loosing settings
Click to expand...
Click to collapse
Of course, you recommend zz governor with your kernel, right?
Boeffla by Default uses interactive
Enviado desde mi ONEPLUS A5000 mediante Tapatalk
liver20 said:
Of course, you recommend zz governor with your kernel, right?
Boeffla by Default uses interactive
Enviado desde mi ONEPLUS A5000 mediante Tapatalk
Click to expand...
Click to collapse
yes of course
but i'm also not mad if u think another governor is better
the interactive recommendation is because it's stock and
the most stable selection u can do make. not saying that zzmoove isn't
stable. actually can't say that as im using it on ALL my 8 devices since meanwhile
even years w/o an issue (well we have got one on the opo recently but that
was related to a special feature and is sorted)
but again try it some time and see how it plays on your system
New Builds!
Hi Guys,
builds of...
Boeffla-kernel-1.0-beta8-OOS4xx-OnePlus5
...uploaded
Changelog:
- Uber images build with recent toolchain version 20170730 (thx and credits to @DespairFactor for the pre-builded toolchains)
enjoy!
ZZ

[DEVONLY] LineageOS 15

Hi,
this is the development thread for LineageOS development. The first release is out and this thread is for developer collaboration!
Everyone who knows C, Java and strace is welcome to participate. Please send git formatted patches!
HELP NEEDED
mixer_paths_tasha.xml and audio_platform_info.xml need tweaking
VoIP needs testing
WifiDisplay support
VoLTE (I can't test this)
Device Trees
https://github.com/cryptomilk/android_kernel_sony_msm8998
https://github.com/cryptomilk/android_device_sony_common-treble
https://github.com/cryptomilk/android_device_sony_yoshino
https://github.com/cryptomilk/android_device_sony_lilac
What about the bootloader?
blackknightavalon said:
What about the bootloader?
Click to expand...
Click to collapse
Just unlock it and have fun. Hopefully someone will be able to figure out a way to backup the DRM keys.
android_fury said:
Just unlock it and have fun. Hopefully someone will be able to figure out a way to backup the DRM keys.
Click to expand...
Click to collapse
And where, exactly, is the tutorial for that? It's not officially supported by Sony yet.
I think I read somewhere that you can select the XZ Premium on the list and follow the steps. Once a DRM backup is available, I may try doing that. By then, the actual XZ1C may already be on the list.
android_fury said:
I think I read somewhere that you can select the XZ Premium on the list and follow the steps. Once a DRM backup is available, I may try doing that. By then, the actual XZ1C may already be on the list.
Click to expand...
Click to collapse
I just checked a few minutes ago. XZ1C's not on there.
Good news !
I've setup initial repositories, yoshino and lilac. yoshino is a common base shared between devices and I have a Kernel tree over the latest msm-4.0 kernel tree and already compiled it after fixing a log of build issues. I will create repositories in the next days and upload the sources once I have a recovery.
modpunk said:
I've setup initial repositories, yoshino and lilac. yoshino is a common base shared between devices and I have a Kernel tree over the latest msm-4.0 kernel tree and already compiled it after fixing a log of build issues. I will create repositories in the next days and upload the sources once I have a recovery.
Click to expand...
Click to collapse
Great news! Thank you so much for your efforts to bring us LOS for this really awesome compact beast.
Thank you so far, modpunk! Looking forward to it. The phone is great, but stock rom leaves some things to be desired...
Thanks bro, just do it!
Regarding unlocking: I selected X Compact and followed the instructions. Everything worked perfectly and I'm now running AOSP.
Code:
----- Made recovery image: recovery.img --------
#### make completed successfully (11:06 (mm:ss)) ####
modpunk said:
I've setup initial repositories, yoshino and lilac. yoshino is a common base shared between devices and I have a Kernel tree over the latest msm-4.0 kernel tree and already compiled it after fixing a log of build issues. I will create repositories in the next days and upload the sources once I have a recovery.
Click to expand...
Click to collapse
How much are you borrowing from Sony's AOSP repositories? They've been committing pretty heavily to their kernel in particular.
Gairtial said:
How much are you borrowing from Sony's AOSP repositories? They've been committing pretty heavily to their kernel in particular.
Click to expand...
Click to collapse
There was no Kernel release for msm8998 in kernel-copyleft, so I took the msm-4.4 Kernel tree and the tarball they dropped. I've fixed several bugs in the Kernel, I always wonder how the Smartphone manufacturers get their stuff compiled.
You can find the kernel source tree here: https://github.com/cryptomilk/android_kernel_sony_msm8998
I've also added exfat support already.
I've looked at the device repo for their AOSP trees, but started a yoshino and lilac device tree from scratch. I prefer clean repositories. I will push them in the next days, I did quite some cleanup today.
I haven't ordered the device yet. Need to wait till next week, I just came back from a long vacation
modpunk said:
There was no Kernel release for msm8998 in kernel-copyleft, so I took the msm-4.4 Kernel tree and the tarball they dropped. I've fixed several bugs in the Kernel, I always wonder how the Smartphone manufacturers get their stuff compiled.
You can find the kernel source tree here: https://github.com/cryptomilk/android_kernel_sony_msm8998
I've also added exfat support already.
I've looked at the device repo for their AOSP trees, but started a yoshino and lilac device tree from scratch. I prefer clean repositories. I will push them in the next days, I did quite some cleanup today.
I haven't ordered the device yet. Need to wait till next week, I just came back from a long vacation
Click to expand...
Click to collapse
Why the copyleft archive? It doesn't look like they've touched it since April while they touched the regular one 2 hours ago.
I had no issues compiling and running the kernel from https://github.com/sonyxperiadev/kernel, though that was integrated with their entire AOSP tree, which seems to package its own versions of gcc and clang. Perhaps LineageOS includes different prebuilt compilers and that's why you see issues.
Really curious to see how LOS runs though. AOSP has some annoying performance issues and crashes.
Gairtial said:
Why the copyleft archive? It doesn't look like they've touched it since April while they touched the regular one 2 hours ago.
I had no issues compiling and running the kernel from https://github.com/sonyxperiadev/kernel, though that was integrated with their entire AOSP tree, which seems to package its own versions of gcc and clang. Perhaps LineageOS includes different prebuilt compilers and that's why you see issues.
Really curious to see how LOS runs though. AOSP has some annoying performance issues and crashes.
Click to expand...
Click to collapse
I've just tried to build the aosp/LA.UM.5.7.r1 tree from the sony kernel repo. This one has a lot of compiler errors which need fixing first. However for me it looks like that the msm-4.4 tree is much cleaner in this regard so maybe also more advanced.
modpunk said:
I've just tried to build the aosp/LA.UM.5.7.r1 tree from the sony kernel repo. This one has a lot of compiler errors which need fixing first. However for me it looks like that the msm-4.4 tree is much cleaner in this regard so maybe also more advanced.
Click to expand...
Click to collapse
Also fellow LineageOS developers said that the sony 'kernel' repo is a Proof of Concept repo and not what they use in production. So I stick to the production release of MSM.
modpunk said:
I've just tried to build the aosp/LA.UM.5.7.r1 tree from the sony kernel repo. This one has a lot of compiler errors which need fixing first. However for me it looks like that the msm-4.4 tree is much cleaner in this regard so maybe also more advanced.
Click to expand...
Click to collapse
Huh, what kinds of errors are you seeing? I really suspect it must be something different between LOS and AOSP and I'm wondering what it is.
modpunk said:
Also fellow LineageOS developers said that the sony 'kernel' repo is a Proof of Concept repo and not what they use in production. So I stick to the production release of MSM.
Click to expand...
Click to collapse
This may be true but it's also the repo where the most work is done. We should at least pay attention to it in case they commit fixes that are useful.
Also probably getting ahead of myself but I wonder if we can merge EAS... It's in AOSP's common kernel, is it around in LOS anywhere yet?
Gairtial said:
Huh, what kinds of errors are you seeing? I really suspect it must be something different between LOS and AOSP and I'm wondering what it is.
This may be true but it's also the repo where the most work is done. We should at least pay attention to it in case they commit fixes that are useful.
Also probably getting ahead of myself but I wonder if we can merge EAS... It's in AOSP's common kernel, is it around in LOS anywhere yet?
Click to expand...
Click to collapse
You get the errors with -Wmaybe-uninitialized which is a relatively new gcc feature. The Sony 'kernel' repo is their Proof of Concept repository. Yes, sure they are working on it it makes totally sense to try things out there first!
I dunno what EAS is or means ...

[REFERENCE] [OOS/CUSTOM] OnePlus 5 kernel source with linux-stable (4.4.162)

Introduction
Hello everyone, this is a thread to introduce both users and kernel developers to the concept of linux-stable as well as give developers some tips and a tree to either merge into their own, use as a base, or just as a reference. Feel free to ask questions and enjoy!
What is it?
linux-stable is, as the name implies, the stable branch of the Linux kernel, the base of Android. The phone could not run without the Linux kernel (at least not without reworking a lot of stuff). The Android kernels are based on the longterm stable trees:
Longterm
There are usually several "longterm maintenance" kernel releases provided for the purposes of backporting bugfixes for older kernel trees. Only important bugfixes are applied to such kernels and they don't usually see very frequent releases, especially for older trees.
Click to expand...
Click to collapse
Source: https://www.kernel.org/category/releases.html
All Linux development happens on the master branch, which is governed by Linus Torvalds. When issues are discovered there, the fixes are applied then backported to these various stable trees for consumption. It is not uncommon for a fix to need to go back a few years.
There is a LOT more information available in the notes repo in the android-linux-stable organization if you care to learn more in-depth: https://github.com/android-linux-stable/notes
What does this mean for me?
If you are a developer, this means you should be merging these changes into your own tree. These are vetted, stable fixes to real world problems and they are being handed out for free. It does not take long to get up to date (as you can just merge this tree directly into your own or do it yourself using the tree as a reference) and once you are up to date, there is usually a release once every two weeks, give or take. I provide a rebuttal to a lot of various complaints here. If you still feel like there is a good reason not to do this, please let me know, I'll be happy to try and debate on it!
If you are a user, it means that you should be looking for and using kernels that have these fixes, as it shows the developers care for your security and stability. The current version for this device is 4.4.78 on OOS and 4.4.100 on Lineage while the current version upstream is 4.4.162 so all you need to do is go into Settings > About phone and look at the kernel version to know if you are up to date.
How do I use?
If you are a developer, the reference tree is located in the android-linux-stable organization: https://github.com/android-linux-stable/op5
There are three branches, one for OxygenOS 8.0 stable, one for OyxgenOS 8.1 beta, and one for Lineage 15.1.
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, use a kernel that has the changes added in!
Getting notified about updates
There are a few ways to get notified of linux-stable updates:
The linux-kernel-announce mailing list: http://vger.kernel.org/vger-lists.html#linux-kernel-announce
The android-linux-stable Telegram channel: https://t.me/alsupdates
Subscribe to this thread
Follow me on Google+ or Twitter
Getting help
If you have any issues with getting these changes into your tree or want to ask a question, there are a few different ways to do it:
Post in this thread
Join the linux-stable support chat on Telegram: https://t.me/joinchat/C1UAJ1EMSX31PCFdwLnOSg
File an issue either in the android-linux-stable notes repo or the android-linux-stable repo for this device
When requesting help, please give some solid details as to what you are struggling with, as I am happy to provide assistant and clarity but not to do something for you (unless I screwed up).
From what I understand, you're creating a space where you're updating the stock Kernel to the latest Linux tags and creating a clean base that others can develop upon for a consistently updated kernel?
Seems to me like the epitome of a community project and in keeping with the heart behind open source.
Great work Nathan!!!
Sent from my OnePlus 5 using XDA Labs
rav101 said:
From what I understand, you're creating a space where you're updating the stock Kernel to the latest Linux tags and creating a clean base that others can develop upon for a consistently updated kernel?
Seems to me like the epitome of a community project and in keeping with the heart behind open source.
Great work Nathan!!!
Sent from my OnePlus 5 using XDA Labs
Click to expand...
Click to collapse
Exactly correct I have seen others grab my kernel and base their work upon (which I have zero issues with) but I know most do it because I've merged linux-stable as one of my first things. Figured I would make their lives easier (plus doing the conflict resolution summaries helped me validate my own work). I am mulling over posting these to the mailing lists so other mainline Linux developers with these devices can easily test new builds and get the latest fixes without needing to do the work themselves (even if they are fully capable).
nathanchance said:
Exactly correct I have seen others grab my kernel and base their work upon (which I have zero issues with) but I know most do it because I've merged linux-stable as one of my first things. Figured I would make their lives easier (plus doing the conflict resolution summaries helped me validate my own work). I am mulling over posting these to the mailing lists so other mainline Linux developers with these devices can easily test new builds and get the latest fixes without needing to do the work themselves (even if they are fully capable).
Click to expand...
Click to collapse
If you're doing the work anyway and it's just a simple push to mailing list then might as well. Others can choose whether to use it or not but at least it's there. :good:
Sent from my OnePlus 5 using XDA Labs
where to download the link?
Gayrat1999 said:
where to download the link?
Click to expand...
Click to collapse
This isn't a kernel you flash, this is something for developers to use in their own work. For example, my kernel Flash already has all of this, which you can flash.
Nice. How about GCC error fixes and wifi stack driver in this base?
neobuddy89 said:
Nice. How about GCC error fixes and wifi stack driver in this base?
Click to expand...
Click to collapse
I toyed with the idea of doing two branches (one for building, one for usability) but decided against it as 1. I want this source to be as plain as possible and 2. It doesn't fully fit with the idea of this project. This purely to help developers get up and running with linux-stable, not a fully fledged custom kernel. I will consider adding the GCC fixes to the usability README though, that could be useful.
You are a true asset to this community!
4.4.103 has been merged in, with conflict notes updated accordingly.
Oh boy oh boy it might be time for a rebase for me
4.4.104 has been merged in, with conflict notes updated accordingly.
I truly apologize to anyone who was tracking the tree because I just force pushed. I decided to update the location and branch name and wanted everything to be consistent. It is now up to date with 4.4.105.
I have updated the OP with the notes and tree location. The new notes are on the staging branch right now, they will be merged into master once everything is finalized.
I'm sorry being out off topic, but can i use this https://github.com/android-linux-stable/msm-3.18 kernel source as base for my soc (msm8937) sir?
zainifame said:
I'm sorry being out off topic, but can i use this https://github.com/android-linux-stable/msm-3.18 kernel source as base for my soc (msm8937) sir?
Click to expand...
Click to collapse
Most likely yes. For the future, this thread is geared towards the generic CAF trees (msm-3.18 and msm-4.4). Feel free to ask me anything over there.
4.4.106 has been merged in (conflict notes).
4.4.107 has been merged in.
4.4.108 has been merged in.
4.4.109 has been merged in (conflict notes).
4.4.110 has been merged in (conflict notes).

[REFERENCE] Pixel 2 kernel source with linux-stable (4.4.162)

Introduction
Hello everyone, this is a thread to introduce both users and kernel developers to the concept of linux-stable as well as give developers some tips and a tree to either merge into their own, use as a base, or just as a reference. Feel free to ask questions and enjoy!
What is it?
linux-stable is, as the name implies, the stable branch of the Linux kernel, the base of Android. The phone could not run without the Linux kernel (at least not without reworking a lot of stuff). The Android kernels are based on the longterm stable trees:
Longterm
There are usually several "longterm maintenance" kernel releases provided for the purposes of backporting bugfixes for older kernel trees. Only important bugfixes are applied to such kernels and they don't usually see very frequent releases, especially for older trees.
Click to expand...
Click to collapse
Source: https://www.kernel.org/category/releases.html
All Linux development happens on the master branch, which is governed by Linus Torvalds. When issues are discovered there, the fixes are applied then backported to these various stable trees for consumption. It is not uncommon for a fix to need to go back a few years.
There is a LOT more information available in the notes repo in the android-linux-stable organization if you care to learn more in-depth: https://github.com/android-linux-stable/notes
What does this mean for me?
If you are a developer, this means you should be merging these changes into your own tree. These are vetted, stable fixes to real world problems and they are being handed out for free. It does not take long to get up to date (as you can just merge this tree directly into your own or do it yourself using the tree as a reference) and once you are up to date, there is usually a release once every two weeks, give or take. I provide a rebuttal to a lot of various complaints here. If you still feel like there is a good reason not to do this, please let me know, I'll be happy to try and debate on it!
If you are a user, it means that you should be looking for and using kernels that have these fixes, as it shows the developers care for your security and stability. The current version for this device is 4.4.116 and the current version upstream is 4.4.162 so all you need to do is go into Settings > About phone and look at the kernel version to know if you are up to date.
How do I use?
If you are a developer, the reference tree is located in the android-linux-stable organization: https://github.com/android-linux-stable/wahoo
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, use a kernel that has the changes added in!
Getting notified about updates
There are a few ways to get notified of linux-stable updates:
The linux-kernel-announce mailing list: http://vger.kernel.org/vger-lists.html#linux-kernel-announce
The android-linux-stable Telegram channel: https://t.me/alsupdates
Subscribe to this thread
Follow me on Google+ or Twitter
Getting help
If you have any issues with getting these changes into your tree or want to ask a question, there are a few different ways to do it:
Post in this thread
Join the linux-stable support chat on Telegram: https://t.me/joinchat/C1UAJ1EMSX31PCFdwLnOSg
File an issue either in the android-linux-stable notes repo or the android-linux-stable repo for this device
When requesting help, please give some solid details as to what you are struggling with, as I am happy to provide assistant and clarity but not to do something for you (unless I screwed up).
4.4.103 has been merged in.
This is my first Nexus / Pixel (VZW Galaxy Nexus I don't count), how soon does Google typically release the kernel source for the DP's? Only after the official software release?
I'm torn between stable + your kernel and DP + stock kernel.
Telperion said:
This is my first Nexus / Pixel (VZW Galaxy Nexus I don't count), how soon does Google typically release the kernel source for the DP's? Only after the official software release?
I'm torn between stable + your kernel and DP + stock kernel.
Click to expand...
Click to collapse
It depends. Longer DPs like the initial release of a new major number (7.0, 8.0, etc) typically get kernel source within a month of the new DP version dropping. Smaller DPs usually don't get source until release (7.1 is the only other small DP that has ever happened so not much history).
:good::good::good:
I dont mean to go too offtopic here, but does that apply to the android source codes too? I meam does it usualy take that long for them to release the sources? I am guessing we still dont have any custom roms because the sources were not released by google yet?
4.4.104 has been merged in, with conflict notes updated accordingly.
The repo location has changed (new link is in the OP).
Additionally, an 8.1 branch has been created. Google went from 4.4.56 to 4.4.88 so the branch was redone to avoid conflicts and go with Google's resolution. The notes have been updated as well. Happy kerneling!
4.4.106 has been merged in (conflict notes).
4.4.107 has been merged in.
4.4.108 has been merged in.
4.4.109 has been merged in (conflict notes).
4.4.110 has been merged in (conflict notes).
4.4.111 has been merged in.
Just as a heads up, I started school on Monday so while the updates will still continue, they may not be as timely as they have in the past, especially if there are conflicts that I need to document.
4.4.112 has been merged in (conflict notes).
I used this conflict in my video talking about thinking through linux-stable conflicts, check it out! https://www.youtube.com/watch?v=yWvU8_0O66A
4.4.113 has been merged in (conflict notes).
4.4.114 has been merged in.
4.4.115 has been merged in (conflict notes).
4.4.116 has been merged in.
The OP has been updated, including some more information for users as well as some more ways of getting help and notified of updates! Enjoy

Categories

Resources