[REFERENCE] LineageOS with full Substratum support - Closed until Oreo - prjkt.io

Introduction
Hello everyone! I am one of the members of the Substratum team and we constantly have people asking how to add support to ROMs. I have made a repo regarding all of our documentation here, in which I include steps to add support. Normally, it is easy to add support to most ROMs; however, Lineage has made some underlying changes to AssetManager and PackageManager that makes adding the patches a little difficult if you do not have some solid programming background. To help people who are familiar with building and git but not necessarily Java and C, I have created a series of reference repos that you can use to cherry pick the commits into your forks or local builds to easily have theme support! Please read this entire thread, I go over a lot of info and I will be upset if you do not read it all enjoy!
Information
Substratum currently uses OMS (Overlay Manager Service), Sony's theming framework, that allows for real time swapping of resources via overlays. This is accomplished through a series of commits, which include the core OMS framework, exposures so themes can overlay hardcoded resources, and a second set of framework commits to allow Substratum to do all of its operations without root access. You can read more about this in the main Substratum thread. We have made it so that it is easy to merge OMS and all of our exposures on AOSP or close to AOSP ROMs. Lineage is not one of those ROMs as they have based on CAF, which modifies AOSP to suit a large range of devices. Lineage has also modified core components like Package Manager for security reasons and some of those changes will conflict with OMS changes. I have merged the changes on top of Lineage and verified everything has worked properly. I will continue to maintain this as long as time permits. I plan to try and rebase the changes every day on Lineage updates but I may need to do it weekly depending on how much free time I have.
What do I have to do?
All you need to do is merge the changes from our repos into yours! Link: https://github.com/LineageOMS
This can be done in one of four ways (ONLY ONE):
1. Cherry-pick our changes
This will be the best option if you have forked Lineage and made any changes (basically basing a ROM on Lineage). Once you have merged these changes, you can track our progress on Gerrit and merge patches as they come down. The patches you need to pick will be either "committed with nathanchance" or "nathanchance committed".
Code:
git fetch <url> cm-14.1
git cherry-pick <first_sha1>^..<second_sha1>
Example:
Code:
git fetch https://github.com/LineageOMS/android_frameworks_base cm-14.1
git cherry-pick d6b3f93bec61769fab7ebf31e78bf0acb42bb2e6^..1e00bba63c5b6facec5a8beef1bb39863b251183
2. Pull our changes
This will be a good option if you have either forked Lineage and made no changes or do straight builds from their repos, as this will fetch and merge automatically. You can still cherry-pick if you want but this should result in no conflicts (basically a clean merge).
Code:
git pull <url> cm-14.1
Example:
Code:
git pull https://github.com/LineageOMS/android_frameworks_base cm-14.1
3. Sync using our manifest
This is good if you are just building straight from Lineage's sources. The one issue with this is you will be fully reliant on me for updates; Lineage often merges patches across a few repos and you may run into errors if ALL repos are not up to date.
From the top of your Lineage repo folder:
Code:
mkdir LineageOMS && cd LineageOMS
repo init -u https://github.com/LineageOMS/android -b cm-14.1 --no-clone-bundle --depth=1
repo sync -j$( nproc --all ) --force-sync -c --no-clone-bundle --no-tags --optimized-fetch --prune
4. Use the provided local manifest
This is good if you are just building straight from Lineage's sources. As with the above option, you MAY run into errors if a patch is merged across several repos and I have not update my repos with the proper changes.
From the top of your Lineage repo folder:
Code:
cd .repo
mkdir -p local_manifests
cd local_manifests
wget https://raw.githubusercontent.com/LineageOMS/local_manifest/master/substratum.xml
cd ../..
repo sync --force-sync
4. Use the provided local manifest
I would only recommend doing this if you are building straight from Lineage's sources and willing to build only when I rebase my changes. Lineage often merges patches across several repos and without every repo being up to date, you may get build errors.
From the top of your Lineage repo folder:
Code:
cd .repo
mkdir -p local_manifests
cd local_manifests
wget https://raw.githubusercontent.com/LineageOMS/local_manifest/master/substratum.xml
cd ../..
repo sync --force-sync
That's it! Super easy as it should be.
Support
If you run into any issues with merging patches, ask in this thread.
If you PM me on XDA... I will ignore you.
If you PM me on Hangouts... I will ignore you.
If you PM me on Telegram... I will ignore you.
See a pattern? This thread is the place for support, nowhere else.
If you run into issues with using Substratum itself, ask in the main thread.

Great!

This is great!

wew...this is great bro

This is great!

Wow, great :laugh:

Awesome!

Awesome, build successfully. Thx.
Finding beautiful themes now.
通过我的 Mi 5s Plus 上的 Tapatalk发言

Great it can't be easier thn this.

Is it possible to do for this build. Can anyone HELP me with video tutorial plz..
---------- Post added at 06:56 AM ---------- Previous post was at 06:41 AM ----------
akhilnarang said:
Great!
Click to expand...
Click to collapse
Iam using HTC desire 816.i have flash this build cm14.1-20161120-unofficial-a5dwg can u plz help me to how to do this.

actually i didn't understand......can anyone explain it in simple words.......am not a tech guy, am just a beginner in this world of custom ROM.

nareshnani142 said:
Is it possible to do for this build. Can anyone HELP me with video tutorial plz..
---------- Post added at 06:56 AM ---------- Previous post was at 06:41 AM ----------
Iam using HTC desire 816.i have flash this build cm14.1-20161120-unofficial-a5dwg can u plz help me to how to do this.
Click to expand...
Click to collapse
You need to build for yourself, you cannot do this to an already compiled build.
Sachin ET said:
actually i didn't understand......can anyone explain it in simple words.......am not a tech guy, am just a beginner in this world of custom ROM.
Click to expand...
Click to collapse
Unfortunately, if you cannot understand what I wrote, you need to do a lot of research into the world of git and custom ROMs, I cannot provide that to you in this thread. A good place to start would be my guide on how to compile from source: https://github.com/nathanchance/Android-Tools/raw/master/Guides/Building_AOSP.txt

I made my own manifest to build lineage with OMS here: https://github.com/DespairFactor/android

@cvxda @xamio

Sachin ET said:
actually i didn't understand......can anyone explain it in simple words.......am not a tech guy, am just a beginner in this world of custom ROM.
Click to expand...
Click to collapse
Bro lets wait our dev will do this for us,,,,

Thanks
[Thanks bro!!]
[¡Gracias, viejo!]

Firstly thanks for this guide. I followed the THIRD way to add Substratum Support in my ROM and I'm getting some error Permissive domains not allowed and the make fails. I am building LineageOS for Moto G4 Plus (athene). Error: https://hastebin.com/keyacadezi.vbs
Full output: https://paste.ee/p/GvyYN Anyone who can help in this, I'd be thankful
Device tree: https://github.com/tywinlannister7/android_device_motorola_athene
Kernel tree: https://github.com/LineageOS/android_kernel_motorola_msm8952

tywinlannister7 said:
Firstly thanks for this guide. I followed the THIRD way to add Substratum Support in my ROM and I'm getting some error Permissive domains not allowed and the make fails. I am building LineageOS for Moto G4 Plus (athene). Error: https://hastebin.com/keyacadezi.vbs
Full output: https://paste.ee/p/GvyYN Anyone who can help in this, I'd be thankful
Device tree: https://github.com/tywinlannister7/android_device_motorola_athene
Kernel tree: https://github.com/LineageOS/android_kernel_motorola_msm8952
Click to expand...
Click to collapse
Delete the file "sepolicy/themeservice_app.te" in your device tree. I removed CMTE's sepolicy as ours conflicts.

dont work with touchwiz roms or?

gtaelbordo said:
dont work with touchwiz roms or?
Click to expand...
Click to collapse
Are TouchWiz ROMs LineageOS? Then no, this is not applicable for TouchWiz ROMs. If you mean Substratum as a whole, probably not as TouchWiz is nowhere close to stock Android and this should be asked in the main Substratum thread.
Sent from my Nexus 6P using XDA Labs

Related

[ROM][4.3][CM 10.2][31/07/13] elicik's Unofficial CM 10.2 builds

Hey, I realized that there aren't many CM 10.2 ROMs out there yet, so I made one of my own. This is my first published ROM, so expect a buggy, unsupported experience. I am using fat-tire's repos for the time being. For now, I recommend the GAPPS posted here. I will attempt to post a new build everyday, but no promises.
I don't do support, but I will try to answer questions, and I would appreciate bug reports. Note that CM 10.2 is very much in development right now.
Download/ Changelog
07/31/13 (mirror) - Just a new sync, there should be no real changes.
07/30/13 (mirror) - Initial build, uses fat-tire's repos for device and kernel
For detailed changes see the gerrit page.
Bugs
Focal doesn't work
Two Clock apps, one from Google, one from Android.
Sweet. Been waiting for this. Thanks
the only reason that there are two clocks is because there is one in the cm10.2 zip and the 4.3 gapps.
Can I get a mirror, please? The download always fails at 144MB for me.
Why not use CMs repo? Just edit the manifests default.xml to include the cm10.2 tag, and enter the proper lines to grab the device and vendor file(s) for Grouper?
MBQ_ said:
Why not use CMs repo? Just edit the manifests default.xml to include the cm10.2 tag, and enter the proper lines to grab the device and vendor file(s) for Grouper?
Click to expand...
Click to collapse
I would, but grouper's device and kernel don't as of yet have 10.2 branches. I use fattire's because I believe they are the best I can do until we have official.
fattire said:
* The /device tree is basically 10.1's device plus a bunch of cherry-picked stuff from AOSP 4.3, plus newer SELinux rules, plus my own minor changes.
* The /kernel tree is currently AOSP 4.3 stock with a cyanogenmod_android_defconfig added. None of the customization from 10.1 are here yet.
Click to expand...
Click to collapse
sgt. meow said:
Can I get a mirror, please? The download always fails at 144MB for me.
Click to expand...
Click to collapse
Done

[Build Guide][Flo/Deb] - Pure AOSP 6.0.0_r1

This is a PURE AOSP ROM build guide. I have opted not to post an actual AOSP ROM based on 6.0.0 due to the fact I just dont care for it much. The instructions are up to date as of 10/21/2015
Deprecated-> This thread is about learning to build your own ROM following the instructions in post #2. The ROM posted in this thread is for example output. Feel free to download and use the ROMS @GROGG88 and I build! Feel free to try and build your own. We will try to help!
Quick Change Log
10/21 - Updated guide to reflect Android version 6.0.0_r1. No ROM for download (at this time).
1/17 - Updated build with official 5.0.2 Binaries. Fixed Browser "Settings" crash.
12/19 - Updated my Flo builds to Android 5.0.2_r1
12/9 - Updated my Flo build. Will not be doing a Deb Build any more.
12/2 @GROGG88 has updated his builds. I have not! I will update tomorrow. I did however get thefactory stock rooted ROM up HERE!
11/18 - @GROGG88 and I have joined forces to create two ROMS! I will be creating PURE AOSP ROMS and he will be creating Modified ROMS with many useful features! Each ROM can als be user built because all commits are shared in post #2!!!
11/15 - B8 - Updated the 5.0.0_r6. Deb is only using preview binaries due to lack of final binary files.
11/14 - B7 - Updated the 5.0.0_r5. Deb is only using preview binaries due to lack of final binary files.
11/10 - B6 - File system install instead of block install, Added Google Location Services to framework, Fixed a root issue that couple DEB users were having
11/9 - B5 - Changed wallpaper again. Fixed stock recovery at source level (Thanks to @Gnome and @GROGG88)
11/8 - B4 - Changed wallpaper to android 5 Wallpaper, fixed reverting to stock recovery (No need for save-recovery.zip), pre-rooted boot.img (No need for extra boot.img!)
11/7 - B3 - Removed it. Bad files. Reverted back to Build 2.
11/5 - B2 -- Fixed MTP bug that google has left in every version of AOSP, made ROM recovery flashable and added 2 zips to the OP
11/4 - B1 - Update to 5.0.0_r2. PC install via fastboot
Additional Downloads
Root by @Chainfire HERE!
Gapps for Lollipop HERE! There may be others so shop around!
Stericson's Busybox in flashable zip format is attached! Thanks to @Stericson for the binaries!
@GROGG88's Special Builds are HERE!
MOD EDIT: Link removed as domain has expired. Thread closed until new links can be installed
Please hit Thanks! It just as easy as hitting Download! ​
Click to expand...
Click to collapse
Click to expand...
Click to collapse
Ubuntu 14.04 Set up and Build Guide
Updated 11/05/2014
Feel free to ask any questions about the build process. Do not ask questions about Ubuntu!
This guide assumes the following
Have Ubuntu 14.04 setup, fully operation, and up to date. Hard Machine or Virtual, makes no difference. Must meet the minimum specs for compiling. Info from Google HERE
Understand terminal command line entry as this is all command line processors.
You are not here to ask for help with Linux, only the Android build process!
Add Java
Code:
sudo apt-get install openjdk-7-jdk
Add Build tools (Adds the required packages at the time of this posting)
Code:
sudo apt-get install git gnupg flex bison gperf build-essential \
zip curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \
libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \
libgl1-mesa-dev g++-multilib mingw32 tofrodos \
python-markdown libxml2-utils xsltproc zlib1g-dev:i386
Add Repo command (Syncs Google Repository with your local machine)
Code:
mkdir ~/bin && curl http://commondatastorage.googleapis.com/git-repo-downloads/repo > ~/bin/repo && chmod a+x ~/bin/repo
Add bin folder to path for repo command (After you do this close Terminal and re-open to institute changes (easy way))
Code:
sudo gedit .bashrc
export PATH=~/bin:$PATH <-(add to end of bashrc)
Identify Yourself to the Repo (One day you may make commits so think about that when choosing your info!)
Code:
git config --global user.email "[email protected]"
git config --global user.name "yourpreferredusername"
Synch Repo (Download source... Sit back and grab a pop and a sandwich...)
Code:
mkdir ~/AOSP
cd ~/AOSP
repo init -u https://android.googlesource.com/platform/manifest -b android-6.0.0_r1
repo sync
Note: I use AOSP as my directory name. You can use what you want. You could use "aosp" or "Source" or "android" or "whateveryoulike"
Install proprietary binaries (Needed for things like GPS and Bluetooth, they are not Open Source like android) (Install proprietary binaries from here in the root of AOSP folder (or whatever you called yours))
Code:
[url]https://developers.google.com/android/nexus/drivers[/url]
Run envsetup.sh
Code:
source build/envsetup.sh
Choose Device
Code:
lunch
Build it!
Code:
make -j8 otapackage
See Build Notes and ramblings from me in post #3!
Notes
The ROM build will be a PURE AOSP ROM with no Gapps at all. See links in post #1 to PA Gapps for a good set of Google Apps!
The ROM will also have terminal level SU. So becareful! In other words its fully rooted and could be open to vulnerabilities. Flash your favorite Superuser Package if you need it. I dont. I recommend SuperSU by @Chainfire HERE. Download the flashable zip and flash after you flash ROM.
make -j8 is the number of worker threads that the make command will use to build. To me 8 is a safe number for an i7 processors. For an i5 Processor I would use -j4. I have experimented with a multitude of different values and it seems to me that the number of logical cores is also the best number to use with the make command.
Google recommends between -j24 and -j32 (to me that is excessive and causes my machine to error out every once in a while). Keep in mind the higher you push the more load the CPU will undertake. If your O/C'ing real hard you better have some nice cooling! I had to cut back OC on my 4770k from 4.65 to 4.4 with a Corsair H60 cooler just so it wouldn't over heat. When in doubt start low.
My i7 machine clocked at 4.4 and 16 gigs of RAM on a Samsung 840 Pro 256 Gig SSD take about 38 minutes to build the entire ROM.
With a 50 Meg download link it took maybe 30 to 45 minutes to sync the repo.
Changes from Source
Check out @GROGG88 patches HERE!
Click to expand...
Click to collapse
Click to expand...
Click to collapse
Mindrocket said:
Right on Scott! Can't wait to give it a spin.
---------- Post added at 07:37 PM ---------- Previous post was at 07:15 PM ----------
Security settings crashes says"unfortunately settings has stopped" .
Click to expand...
Click to collapse
I think its the same error some other folks are facing. Rascarlo and a few others would release their AOSP builds but it appears this blocks them from releasing. Read this over on a few pages on a few ROMs in this neighborhood.
whoamanwtf said:
I have faith in you making it work
Click to expand...
Click to collapse
Can anyone post a snippet of logcat during the crash? Particular the actually error itself.
Place it in the
Code:
box if you can.
If not I get out of work in a few hours and can look then...
mjwhirly said:
Nice to see you venturing into new projects. Most people start with CM since its not to hard to compile, but you did it the opposite way which will make all the difference in the end
Sent from my LG-D800 using XDA Premium 4 mobile app
Click to expand...
Click to collapse
IMHO: If you dont start with the basics you will end in a mess
got to try this as your clean rom works well iam sure this one will be great also
keep up the great work to you and who helps you.
Where would i start to try baking my own cake .. i use archlinux what programs needed to do a build
rocksyjj said:
got to try this as your clean rom works well iam sure this one will be great also
keep up the great work to you and who helps you.
Where would i start to try baking my own cake .. i use archlinux what programs needed to do a build
Click to expand...
Click to collapse
Never used archlinux but I used Ubunutu 13.04
Here is where I started: http://forum.xda-developers.com/showthread.php?t=2224142
(I hate nano so used gedit of course. )
But at the last two shell commands i didint use the AOKP tree I used the AOSP base so you want to look here for that: http://source.android.com/source/downloading.html
Then follow the instructions from that page on forward until you have yourself a ROM :highfive:
Also pay attention to the blurb about proprietary binaries
Obtaining proprietary binaries
The Android Open-Source Project can't be used from pure source code only, and requires additional hardware-related proprietary libraries to run, specifically for hardware graphics acceleration.
Official binaries for the supported devices can be downloaded from Google's Nexus driver page, which add access to additional hardware capabilities with non-Open-Source code.
When building the master branch for a device, the binaries for the most recent numbered release or with the most recent date are the ones that should be used.
Click to expand...
Click to collapse
There is a link for the Nexus binaries in that blurb. Make sure you install them before building and you are good.
Alright then...
Build 20131008.010041 up!
Changes
Re-synced repo for 2013/10/08
Fixed Settings -> Security F/C
Changed SU to SuperSU
Also can I have some people rate the thread 5 stars... The Nexus 7 FHD troll is at it again. He is going around rating my threads, and others, 1 star.
Any help with that would be appreciated. Damn trolls, lol!
scrosler said:
Alright then...
Build 20131008.010041 up!
Changes
Re-synced repo for 2013/10/08
Fixed Settings -> Security F/C
Changed SU to SuperSU
Also can I have some people rate the thread 5 stars... The Nexus 7 FHD troll is at it again. He is going around rating my threads, and others, 1 star.
Any help with that would be appreciated. Damn trolls, lol!
Click to expand...
Click to collapse
You fixed the security settings fc! Mind sharing how you managed to fix that?
Sent from my Nexus 7 using Tapatalk 4
scrosler said:
Also pay attention to the blurb about proprietary binaries
There is a link for the Nexus binaries in that blurb. Make sure you install them before building and you are good.
Click to expand...
Click to collapse
Where is the link to download the Nexus binaries btw? I didn't see a proprietary binaries blurb in the above 2 links.
Thanks.
vibranze said:
Where is the link to download the Nexus binaries btw? I didn't see a proprietary binaries blurb in the above 2 links.
Thanks.
Click to expand...
Click to collapse
Its under the actual "Building for devices" page...
http://source.android.com/source/building-devices.html
Wich leads to...
https://developers.google.com/android/nexus/drivers
scrosler said:
Alright then...
Build 20131008.010041 up!
Changes
Re-synced repo for 2013/10/08
Fixed Settings -> Security F/C
Changed SU to SuperSU
Also can I have some people rate the thread 5 stars... The Nexus 7 FHD troll is at it again. He is going around rating my threads, and others, 1 star.
Any help with that would be appreciated. Damn trolls, lol!
Click to expand...
Click to collapse
Hi Scott. Where is the download link for this one? I think a few folks would love to know the fix for the security fc since last I read it was blocking their update as well. Definitely want to try the aosp one.
Sent from my Nexus 7 using XDA Premium 4 mobile app
scrosler said:
Its under the actual "Building for devices" page...
http://source.android.com/source/building-devices.html
Wich leads to...
https://developers.google.com/android/nexus/drivers
Click to expand...
Click to collapse
hi scott,
could you please share the sources you build from? and specifically how you fixed the Security settings FC?
thanks.
vibranze said:
Thanks Scotts, appreciated your fast response. :good:
Click to expand...
Click to collapse
Your welcome!
mpmilestogo said:
Hi Scott. Where is the download link for this one? I think a few folks would love to know the fix for the security fc since last I read it was blocking their update as well. Definitely want to try the aosp one.
Sent from my Nexus 7 using XDA Premium 4 mobile app
Click to expand...
Click to collapse
Its in the OP. Post 1. I just changed the link. Happy downloading!
TheDarkDefender said:
hi scott,
could you please share the sources you build from? and specifically how you fixed the Security settings FC?
thanks.
Click to expand...
Click to collapse
The source is the AOSP tree and it can be found here: http://source.android.com/source/downloading.html (thats all I am using).
Fixing the Settings F/C was creative... had to Google to get the answer, lol
Here is what I found...
CM 10.2 initially had this issue as its based from AOSP like this rom (SOURCE). They did not explain a fix... Also, note this is a less than one week old issue. So I continued on with Google... (Google is a son of a ***** when you need it )
Then found this thread on XDA from the Nexus 4 about an update to 4.2.2 HERE! This started to make sense as they posted a fix for the N4. HOWEVER that fix was not applicable to our N7.2 because we did not have the keymaster files on the vendor partition!!!
So test flashed the Google stock ROM /system/vendor/firmware/keymaster/* files into this AOSP ROM. VIOLA! It worked and solved the problem.
Now I will admit I am not sure why these files are not in the AOSP source tree as I am still learning... If you can shed more light then please do! But I do know that it fixed the issue. Was not seemingly prevalent before October 2nd (or maybe it was but thats when it was reported on CM10.2) and moving those files into the ROM base resolved (granted they are not in the same spot as the N4).
Please feel free to share anything you know in this thread.
scrosler said:
Your welcome!
Its in the OP. Post 1. I just changed the link. Happy downloading!
Click to expand...
Click to collapse
Thanks Scott. I think I found something rather strange with my tablet with just about any of the AOSP builds. I found this on another as well. It seems whenever I enable locations in chrome or chrome beta the tablet soft resets immediately. If I turn off location reporting, nothing happens but I get no location updates. I decided to restore things using the factory images. For the umpteen thousandth time, thanks to the Android team for providing the safety net!
Gonna try again later today and see if this issue persists after resetting the device to the factory image and reflashing the AOSP build.
mpmilestogo said:
Thanks Scott. I think I found something rather strange with my tablet with just about any of the AOSP builds. I found this on another as well. It seems whenever I enable locations in chrome or chrome beta the tablet soft resets immediately. If I turn off location reporting, nothing happens but I get no location updates. I decided to restore things using the factory images. For the umpteen thousandth time, thanks to the Android team for providing the safety net!
Gonna try again later today and see if this issue persists after resetting the device to the factory image and reflashing the AOSP build.
Click to expand...
Click to collapse
No this very possible depending on the GAPPS used. I think this is more a GAPPS issue then a ROM issue. I cant say for sure but I might have time to look later.
If someone else knows then do tell.
However I dont much care for Chrome on mobile (love it on PC) so I use AOSP and it runs well. But have not tested location.
Im sure a fix can be found with enough effort.
scrosler said:
No this very possible depending on the GAPPS used. I think this is more a GAPPS issue then a ROM issue. I cant say for sure but I might have time to look later.
If someone else knows then do tell.
However I dont much care for Chrome on mobile (love it on PC) so I use AOSP and it runs well. But have not tested location.
Im sure a fix can be found with enough effort.
Click to expand...
Click to collapse
Interesting. I've tried the BANKS minimal GAPPS core and photosphere as well as the goo.im gapps in clean flashes of other aosp based ROMs but still had the same issue. Perhaps I'll try the PA gapps next since they seem to have everything in them. Gonna give the whole thing a try a bit later today as well. I'm lucky enough to have two Nexus 7 tablets so one has your latest CleanROM on it which I love! The other seems to have descended into flashing heaven or the other place .
Any help appreciate on the issue though. I'd love to run AOSP on the second tablet since one of them is destined for my daughter when she realizes she wants one.
scrosler said:
The source is the AOSP tree and it can be found here: http://source.android.com/source/downloading.html (thats all I am using).
Fixing the Settings F/C was creative... had to Google to get the answer, lol
Here is what I found...
CM 10.2 initially had this issue as its based from AOSP like this rom (SOURCE). They did not explain a fix... Also, note this is a less than one week old issue. So I continued on with Google... (Google is a son of a ***** when you need it )
Then found this thread on XDA from the Nexus 4 about an update to 4.2.2 HERE! This started to make sense as they posted a fix for the N4. HOWEVER that fix was not applicable to our N7.2 because we did not have the keymaster files on the vendor partition!!!
So test flashed the Google stock ROM /system/vendor/firmware/keymaster/* files into this AOSP ROM. VIOLA! It worked and solved the problem.
Now I will admit I am not sure why these files are not in the AOSP source tree as I am still learning... If you can shed more light then please do! But I do know that it fixed the issue. Was not seemingly prevalent before October 2nd (or maybe it was but thats when it was reported on CM10.2) and moving those files into the ROM base resolved (granted they are not in the same spot as the N4).
Please feel free to share anything you know in this thread.
Click to expand...
Click to collapse
Thank you very much. Did you figure out the commit in the CM repo that actually solved this issue?
Also, what do you mean by So test flashed the Google stock ROM /system/vendor/firmware/keymaster/* files into this AOSP ROM ? Could you elaborate please?
I'd be happy to share anything I get to know about this. Been researching about this too. Thanks.

Final BroadCom driver for Galaxy Y!!

Here's the final driver for our device!
http://www.broadcom.com/docs/support/videocore/Brcm_Android_ICS_Graphics_Stack.tar.gz
I got it from this site: http://www.broadcom.com/support/
Devs, try to make new roms with this driver
this is real bro ..? or just expired thread
Sent from my GT-S5360 using xda app-developers app
heinrichie said:
this is real bro ..? or just expired thread
Sent from my GT-S5360 using xda app-developers app
Click to expand...
Click to collapse
They 've just released it few days ago!
ICS here we comeDDD
how to install it ?
DvikzzDroid said:
how to install it ?
Click to expand...
Click to collapse
Download the tar.gz file and see readme.txt in the file
Here is the read me
This package contains the Broadcom Android ICS Graphics stack for arm v5
==================================================================
Package contents:
a new folder that contains the Graphics stack source codes:
-----------------------------------------------------------------
brcm_usrlib/dag
Required file changes in existing AOSP repos to build this Graphics stack
-----------------------------------------------------------------
AOSP repo name: repo_aosp/platform/bionic
libc/private/bionic_tls.h
AOSP repo name: repo_aosp/platform/build
core/legacy_prebuilts.mk
target/board/generic/device.mk
AOSP repo name: repo_aosp/platform/external/webrtc
src/common_audio/resampler/main/source/Android.mk
src/common_audio/signal_processing_library/main/source/Android.mk
src/common_audio/vad/main/source/Android.mk
src/modules/audio_processing/aec/main/source/Android.mk
src/modules/audio_processing/aecm/main/source/Android.mk
src/modules/audio_processing/agc/main/source/Android.mk
src/modules/audio_processing/main/source/Android.mk
src/modules/audio_processing/main/test/process_test/Android.mk
src/modules/audio_processing/main/test/process_test/process_test.cc
src/modules/audio_processing/main/test/unit_test/Android.mk
src/modules/audio_processing/ns/main/source/Android.mk
src/modules/audio_processing/utility/Android.mk
src/system_wrappers/source/Android.mk
AOSP repo name: repo_aosp/platform/frameworks/base
opengl/include/EGL/eglext.h
opengl/libagl/egl.cpp
opengl/libs/EGL/egl.cpp
opengl/libs/EGL/eglApi.cpp
opengl/libs/EGL/egl_entries.in
opengl/libs/EGL/getProcAddress.cpp
opengl/libs/GLES2/gl2.cpp
opengl/libs/GLES_CM/gl.cpp
services/input/InputReader.cpp
services/surfaceflinger/Android.mk
services/surfaceflinger/DisplayHardware/DisplayHardware.cpp
AOSP repo name: repo_aosp/platform/hardware/libhardware
Gralloc changes:
include/hardware/fb.h
modules/gralloc/Android.mk
modules/gralloc/framebuffer.cpp
modules/gralloc/gr.h
modules/gralloc/gralloc.cpp
modules/gralloc/gralloc_priv.h
modules/gralloc/mapper.cpp
Hwcomposer changes:
modules/gralloc/Android.mk
modules/hwcomposer/Android.mk
modules/hwcomposer/hwcomposer.cpp
AOSP repo name: repo_aosp/platform/system/core
include/system/graphics.h
==================================================================
Instructions to build this Graphics stack on Android ICS project:
1. Check out a Android ICS (example: android-4.0.1_r1.1) workspace with the following sequence of commands:
repo init -u https://android.googlesource.com/platform/manifest -b android-4.0.1_r1.1
repo sync -j8
2. Extract the content of this package (excludes this README.txt) in the root directory of the Android ICS workspace:
3. Build the Android source tree with the following sequence of commands:
source build/envsetup.sh
lunch full-eng
make -j8 TARGET_DEVICE=generic_armv5
-CALIBAN666- said:
Here is the read me
This package contains the Broadcom Android ICS Graphics stack for arm v5
==================================================================
Package contents:
a new folder that contains the Graphics stack source codes:
-----------------------------------------------------------------
brcm_usrlib/dag
Required file changes in existing AOSP repos to build this Graphics stack
-----------------------------------------------------------------
AOSP repo name: repo_aosp/platform/bionic
libc/private/bionic_tls.h
AOSP repo name: repo_aosp/platform/build
core/legacy_prebuilts.mk
target/board/generic/device.mk
AOSP repo name: repo_aosp/platform/external/webrtc
src/common_audio/resampler/main/source/Android.mk
src/common_audio/signal_processing_library/main/source/Android.mk
src/common_audio/vad/main/source/Android.mk
src/modules/audio_processing/aec/main/source/Android.mk
src/modules/audio_processing/aecm/main/source/Android.mk
src/modules/audio_processing/agc/main/source/Android.mk
src/modules/audio_processing/main/source/Android.mk
src/modules/audio_processing/main/test/process_test/Android.mk
src/modules/audio_processing/main/test/process_test/process_test.cc
src/modules/audio_processing/main/test/unit_test/Android.mk
src/modules/audio_processing/ns/main/source/Android.mk
src/modules/audio_processing/utility/Android.mk
src/system_wrappers/source/Android.mk
AOSP repo name: repo_aosp/platform/frameworks/base
opengl/include/EGL/eglext.h
opengl/libagl/egl.cpp
opengl/libs/EGL/egl.cpp
opengl/libs/EGL/eglApi.cpp
opengl/libs/EGL/egl_entries.in
opengl/libs/EGL/getProcAddress.cpp
opengl/libs/GLES2/gl2.cpp
opengl/libs/GLES_CM/gl.cpp
services/input/InputReader.cpp
services/surfaceflinger/Android.mk
services/surfaceflinger/DisplayHardware/DisplayHardware.cpp
AOSP repo name: repo_aosp/platform/hardware/libhardware
Gralloc changes:
include/hardware/fb.h
modules/gralloc/Android.mk
modules/gralloc/framebuffer.cpp
modules/gralloc/gr.h
modules/gralloc/gralloc.cpp
modules/gralloc/gralloc_priv.h
modules/gralloc/mapper.cpp
Hwcomposer changes:
modules/gralloc/Android.mk
modules/hwcomposer/Android.mk
modules/hwcomposer/hwcomposer.cpp
AOSP repo name: repo_aosp/platform/system/core
include/system/graphics.h
==================================================================
Instructions to build this Graphics stack on Android ICS project:
1. Check out a Android ICS (example: android-4.0.1_r1.1) workspace with the following sequence of commands:
repo init -u https://android.googlesource.com/platform/manifest -b android-4.0.1_r1.1
repo sync -j8
2. Extract the content of this package (excludes this README.txt) in the root directory of the Android ICS workspace:
3. Build the Android source tree with the following sequence of commands:
source build/envsetup.sh
lunch full-eng
make -j8 TARGET_DEVICE=generic_armv5
Click to expand...
Click to collapse
really , im not understand
-CALIBAN666- said:
Here is the read me
This package contains the Broadcom Android ICS Graphics stack for arm v5
==================================================================
Package contents:
a new folder that contains the Graphics stack source codes:
-----------------------------------------------------------------
brcm_usrlib/dag
Required file changes in existing AOSP repos to build this Graphics stack
-----------------------------------------------------------------
AOSP repo name: repo_aosp/platform/bionic
libc/private/bionic_tls.h
AOSP repo name: repo_aosp/platform/build
core/legacy_prebuilts.mk
target/board/generic/device.mk
AOSP repo name: repo_aosp/platform/external/webrtc
src/common_audio/resampler/main/source/Android.mk
src/common_audio/signal_processing_library/main/source/Android.mk
src/common_audio/vad/main/source/Android.mk
src/modules/audio_processing/aec/main/source/Android.mk
src/modules/audio_processing/aecm/main/source/Android.mk
src/modules/audio_processing/agc/main/source/Android.mk
src/modules/audio_processing/main/source/Android.mk
src/modules/audio_processing/main/test/process_test/Android.mk
src/modules/audio_processing/main/test/process_test/process_test.cc
src/modules/audio_processing/main/test/unit_test/Android.mk
src/modules/audio_processing/ns/main/source/Android.mk
src/modules/audio_processing/utility/Android.mk
src/system_wrappers/source/Android.mk
AOSP repo name: repo_aosp/platform/frameworks/base
opengl/include/EGL/eglext.h
opengl/libagl/egl.cpp
opengl/libs/EGL/egl.cpp
opengl/libs/EGL/eglApi.cpp
opengl/libs/EGL/egl_entries.in
opengl/libs/EGL/getProcAddress.cpp
opengl/libs/GLES2/gl2.cpp
opengl/libs/GLES_CM/gl.cpp
services/input/InputReader.cpp
services/surfaceflinger/Android.mk
services/surfaceflinger/DisplayHardware/DisplayHardware.cpp
AOSP repo name: repo_aosp/platform/hardware/libhardware
Gralloc changes:
include/hardware/fb.h
modules/gralloc/Android.mk
modules/gralloc/framebuffer.cpp
modules/gralloc/gr.h
modules/gralloc/gralloc.cpp
modules/gralloc/gralloc_priv.h
modules/gralloc/mapper.cpp
Hwcomposer changes:
modules/gralloc/Android.mk
modules/hwcomposer/Android.mk
modules/hwcomposer/hwcomposer.cpp
AOSP repo name: repo_aosp/platform/system/core
include/system/graphics.h
==================================================================
Instructions to build this Graphics stack on Android ICS project:
1. Check out a Android ICS (example: android-4.0.1_r1.1) workspace with the following sequence of commands:
repo init -u https://android.googlesource.com/platform/manifest -b android-4.0.1_r1.1
repo sync -j8
2. Extract the content of this package (excludes this README.txt) in the root directory of the Android ICS workspace:
3. Build the Android source tree with the following sequence of commands:
source build/envsetup.sh
lunch full-eng
make -j8 TARGET_DEVICE=generic_armv5
Click to expand...
Click to collapse
It says for armv5
Doesn't matter.Arnav is compiling CM9 for SGY.
aniket.lamba said:
Doesn't matter.Arnav is compiling CM9 for SGY.
Click to expand...
Click to collapse
So, it will stabe with Broadcomm Driver ?
aniket.lamba said:
Doesn't matter.Arnav is compiling CM9 for SGY.
Click to expand...
Click to collapse
I'll wait for BroadcomCM version
GSculerlor said:
So, it will stabe with Broadcomm Driver ?
Click to expand...
Click to collapse
Yes and also bieltv.3 is compiling CM9 with his teammates.
i hope someone make a duos build too,i cant currently.
aniket.lamba said:
Yes and also bieltv.3 is compiling CM9 with his teammates.
Click to expand...
Click to collapse
But, why not use Percy's CM 9 to build it ?
Breaking News : bieltv.3 said that he'll compile CM9 for SGY after 1 month
First he'll compile it for cooper
---------- Post added at 02:11 PM ---------- Previous post was at 02:07 PM ----------
GSculerlor said:
But, why not use Percy's CM 9 to build it ?
Click to expand...
Click to collapse
He'll use it as a base I guess.
CyanogenMod will change this list after it
OMG Happy As Hell.....
Sent from my GT-S5360 using xda app-developers app
-CALIBAN666- said:
i hope someone make a duos build too,i cant currently.
Click to expand...
Click to collapse
yeah bro,really we will be grateful if someone compile cm9 for sgy duos too!
GSculerlor said:
But, why not use Percy's CM 9 to build it ?
Click to expand...
Click to collapse
we cant.
aniket.lamba said:
Breaking News : bieltv.3 said that he'll compile CM9 for SGY after 1 month
First he'll compile it for cooper
---------- Post added at 02:11 PM ---------- Previous post was at 02:07 PM ----------
He'll use it as a base I guess.
Click to expand...
Click to collapse
according to the read me, these drivers need to be built while building the rom from source (google if u dunno) and not on built rom
Moreover, @-CALIBAN666- idk what is written in it (maybe my knowledge is less) , but sgy is armv6, and
-CALIBAN666- said:
Here is the read me
3. Build the Android source tree with the following sequence of commands:
source build/envsetup.sh
lunch full-eng
make -j8 TARGET_DEVICE=generic_armv5
Click to expand...
Click to collapse
Confuses me really...

[REFERENCE] [3.10.105] Stock kernel with upstream Linux patches - May 9th

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 Bullhead, 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 bullhead-upstream branch) and another one with a plain AnyKernel source for you to modify (bullhead-stock is the most basic, bullhead-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/bullhead/tree/upstream-7.1.2
AnyKernel source: https://github.com/nathanchance/AnyKernel2/tree/bullhead-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/bullhead.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 upstream-7.1.2
cd ../anykernel && git checkout bullhead-stock-decrypt
Explanation:
First command: move into the source directory and checkout the branch "upstream-7.1.2", which has all of the necessary patches in it.
Second command: move into the AnyKernel directory and checkout the branch "bullhead-decrypt". If you don't want to disable forced encryption, use the "bullhead-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 bullhead_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 bullhead_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$(nproc --all)
Explanation:
make tells the compiler to make the kernel (duh) and the -j$(nproc --all) 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.
THIS. This is what I've been looking for ever since I bought and rooted my bullhead: an optimized stock kernel. I hope and pray that upstream patches are just the beginning, and later on, you'll have the time and inclination to add more optimizations. I don't care for other features. Just a kernel that works and performs is fine with me. If ever you need a tester for future builds, just give me a shout out and I'll be happy to assist. Thanks for sharing your work, mate.
I'd like to respectfully make a request. Talking a look at your Flash kernel thread and I found the optimizations I was referring to in my post above, namely:
Upstream Linux versions 3.10.74-3.10.103
Updated to the October security patch
Patches for some CVEs
Upstream patches from CAF and Linux
Compiled with the Linaro 6.2 toolchain, compiled regularly from Uber's source?*here
Makefile optimizations
Forced encryption and dm-verity disabled
If you can add these to the stock kernel, I'm pretty sure you'll find a user base for this setup (aside from me, of course). I'm sure a lot old timers like myself would a appreciate something that they can use right out of the box and not have to tinker with too much to get a good performance.
apatal said:
I'd like to respectfully make a request. Talking a look at your Flash kernel thread and I found the optimizations I was referring to in my post above, namely:
Upstream Linux versions 3.10.74-3.10.103
Updated to the October security patch
Patches for some CVEs
Upstream patches from CAF and Linux
Compiled with the Linaro 6.2 toolchain, compiled regularly from Uber's source?*here
Makefile optimizations
Forced encryption and dm-verity disabled
If you can add these to the stock kernel, I'm pretty sure you'll find a user base for this setup (aside from me, of course). I'm sure a lot old timers like myself would a appreciate something that they can use right out of the box and not have to tinker with too much to get a good performance.
Click to expand...
Click to collapse
This kernel is not meant to have anything other than the upstream Linux stuff, that's why it is labelled as reference. The only reason I include a kernel here at all is to prove that the additions are stable and cause no side effects. If you want those things, you can compile the kernel yourself (I can show you which patches and toolchain you would need).
Sent from my Nexus 6P using XDA Labs
The Flash said:
This kernel is not meant to have anything other than the upstream Linux stuff, that's why it is labelled as reference. The only reason I include a kernel here at all is to prove that the additions are stable and cause no side effects. If you want those things, you can compile the kernel yourself (I can show you which patches and toolchain you would need).
Click to expand...
Click to collapse
Noted with thanks! Great! When I get the time and resources to build my own kernel, I'll come back here for some pointers.
Btw, I saw a thread here about making your own ROM in the cloud. Is that something you can do as well for making a kernel?
apatal said:
Noted with thanks! Great! When I get the time and resources to build my own kernel, I'll come back here for some pointers.
Btw, I saw a thread here about making your own ROM in the cloud. Is that something you can do as well for making a kernel?
Click to expand...
Click to collapse
Definitely, I do all my building on a server.
The Flash said:
Definitely, I do all my building on a server.
Click to expand...
Click to collapse
Thanks! I'll take a look at it and see if I can figure it out.
Github and the kernel in the OP are updated to 3.10.104.
The Flash said:
Github and the kernel in the OP are updated to 3.10.104.
Click to expand...
Click to collapse
I supposed because of the upstream patch, third kernel already has the Dirty Cow fix, correct?
apatal said:
I supposed because of the upstream patch, third kernel already has the Dirty Cow fix, correct?
Click to expand...
Click to collapse
Yes.
Hi...Sir @The Flash,
This third command is Making FlashableZip?
OR
Non-FlashableZip?
•••
ZawZaw said:
Hi...Sir @The Flash,
This third command is Making FlashableZip?
OR
Non-FlashableZip?
•••
Click to expand...
Click to collapse
Flashable zip
The Flash said:
Flashable zip
Click to expand...
Click to collapse
Thanks Sir. :good:
3.10.105 released https://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable.git/log/?id=refs/tags/v3.10.105
Sent from my Nexus 5X using XDA-Developers Legacy app
tuhinxp04 said:
3.10.105 released https://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable.git/log/?id=refs/tags/v3.10.105
Click to expand...
Click to collapse
I am aware. I'm not actually doing this for this device anymore so there won't be an update.
Hi... @The Flash
I have one question, please reply me.
What is UBER?
UBER is a compliler as Google's ToolChain Prebuilt?
What different UBER and Google Toolchain?
I want to know,
Please explain me.
Thanks You Sir
•••
ZawZaw said:
Hi... @The Flash
I have one question, please reply me.
What is UBER?
UBER is a compliler as Google's ToolChain Prebuilt?
What different UBER and Google Toolchain?
I want to know,
Please explain me.
Thanks You Sir
•••
Click to expand...
Click to collapse
https://plus.google.com/+ChetKener/posts/YzMJEkzPQgp
The Flash said:
https://plus.google.com/+ChetKener/posts/YzMJEkzPQgp
Click to expand...
Click to collapse
Thanks You Sir.
•••
Hey @The Flash I've been reading through your "How to build Pure Nexus" thread and this thread and I believe that I have an understanding of how to properly setup an environment and compile a kernel for use. However, I still need some guidance as to how to pull commits from others sources and merge them into mine so that my kernel will have those features. The main features I want for my kernel are: LZ4 ramdisk compression (as seen in jollaman's and rachanta's kernels), F2FS compatibility, Overclocking for both the big and little clusters, and a kernel tick rate of 100Hz. If it is not too much to ask could you please show me an example of how to merge at least one of these features into my source so that when I compile my kernel it will have the feature?
HesThatGuy said:
Hey @The Flash I've been reading through your "How to build Pure Nexus" thread and this thread and I believe that I have an understanding of how to properly setup an environment and compile a kernel for use. However, I still need some guidance as to how to pull commits from others sources and merge them into mine so that my kernel will have those features. The main features I want for my kernel are: LZ4 ramdisk compression (as seen in jollaman's and rachanta's kernels), F2FS compatibility, Overclocking for both the big and little clusters, and a kernel tick rate of 100Hz. If it is not too much to ask could you please show me an example of how to merge at least one of these features into my source so that when I compile my kernel it will have the feature?
Click to expand...
Click to collapse
I can do overclocking because it is the easiest of those. Note that you will need some good git skills as well as fairly solid foundation of C to understand what is happening around the code when you run into conflicts.
1. Fetch the repo you want to get changes from (git fetch <url> <branch>)
Code:
git fetch https://github.com/Flash-Kernel/bullhead release-7.1.1
2. Find the commit hash you want to pick on Github and cherry-pick it
Code:
git cherry-pick e60c81d4839bb0f7efd3a79213467e7cbe77801d
3. If there are conflicts, it will make you resolved them first. You'll see conflict markers like so:
Code:
<<<<<<<<<< HEAD
STUFF THAT IS CURRENTLY THERE
==================
STUFF THAT IS EXPECTED TO BE THERE AFTER COMMIT
>>>>>>>>>>>>>
Sometimes, all the stuff that is currently there will be replaced by the stuff that is expected to be there. Other times, you'll have to be more fine about it and compare the diff on Github and see what is actually changing. It's a learned process, not really one that I can concretely teach.

[LineageOS port] libqdutils_intermediates/export_includes needed but can't make

As the title suggests, I am porting lineageOS and keep getting this error
/home/zane/Lineage/out/target/product/suzuran/obj/SHARED_LIBRARIES/libqdutils_intermediates/export_includes', needed by '/home/zane/Lineage/out/target/product/suzuran/obj/SHARED_LIBRARIES/libsurfaceflinger_intermediates/import_includes', missing and no known rule to make it
here is the full log https://paste.myself5.de/JfHg5EA2Je.sql
I have tried re syncing the repo and re downloading the source trees. nothing seems to be fixing this.. :/
Is this problem solved?
How did u solved this issue? @nzzane
Appears I didn't have the right proprietary blobs - and had SonyLOS repo running alongside, the two seemed to clash
So if you are getting this error make sure you have the right vendor files and not two different repos trying to do the same thing
nzzane said:
Appears I didn't have the right proprietary blobs - and had SonyLOS repo running alongside, the two seemed to clash
So if you are getting this error make sure you have the right vendor files and not two different repos trying to do the same thing
Click to expand...
Click to collapse
Sry i didnt get u. What do u mean two different repos?
Sent from my AO5510 using Tapatalk
Raja_12 said:
What do u mean two different repos?
Click to expand...
Click to collapse
If there is a repo named abc at github that supports i.e. FMRadio and another named xyz, that also supports FMRadio, it is neccessary that depending files are coming from the same repo. Actually the repo from LineageOS clashes with the one from SonyLOS and vice versa.
That's, what nzzane wanted to say IMHO...
Yea - so had two different repos conflicting
Lineage repo was trying to build from stock blobs, and SonyLOS repo was trying to build from just device sources (which my device tree wasn't set-up for)
nzzane said:
Yea - so had two different repos conflicting
Lineage repo was trying to build from stock blobs, and SonyLOS repo was trying to build from just device sources (which my device tree wasn't set-up for)
Click to expand...
Click to collapse
I get it. so how to overcome it. Do i have to remove one repo directory. currently im having 3 repos.
Raja_12 said:
I get it. so how to overcome it. Do i have to remove one repo directory. currently im having 3 repos.
Click to expand...
Click to collapse
It depends what each repo does, and how you want to build it (stock blobs or all device tree)
nzzane said:
It depends what each repo does, and how you want to build it (stock blobs or all device tree)
Click to expand...
Click to collapse
all device tree
Raja_12 said:
all device tree
Click to expand...
Click to collapse
Then one of the repos must be conflicting somewhere :S
nzzane said:
Then one of the repos must be conflicting somewhere :S
Click to expand...
Click to collapse
Yea sometimes I can't make clean or clobber. With one repo it works with other it didn't. So I have to maintain only one repo at a time.
I ran into another issue. Can u help
target arm C: audio.primary.msm8916_32 <= hardware/qcom/audio/hal/voice.c
In file included from hardware/qcom/audio/hal/voice.c:32:
hardware/qcom/audio/hal/voice_extn/voice_extn.h:194:71: error: unused parameter 'adev' [-Werror,-Wunused-parameter]
static int voice_extn_compress_voip_set_mic_mute(struct audio_device *adev, bool state __unused)
Sent from my AO5510 using Tapatalk

Categories

Resources