[TOOLCHAINS] [ARM/ARM64] [GCC 7.2.1] GNU and Linaro - September 15th, 2017 - Miscellaneous Android Development

Introduction
Hello everyone, these are some arm and arm64 toolchains I have compiled using a script created by @USBhost and modified by @frap129 and me. I know the concept of toolchains is not a new one, as there have been many specialized/optimized variants. However, some people may want a pure/unaltered toolchain for certain projects. That's what this will be, a generic/simple toolchain configuration. These will be done on a semi-nightly basis. They have been tested on up to date Arch Linux and Ubuntu 17.04 systems. If you know how to use scripts or cross compile, feel free to skip straight to the downloads!
Configuration
The GNU (standard or unlabeled) toolchains are built from GNU's latest gcc-7-branch. The Linaro toolchains are compiled from the linaro-local/gcc-7-integration-branch branch.
These are the additional components:
Code:
binutils 2.29.1
gmp 6.1.2
mpfr 3.1.5
mpc 1.0.3
isl 0.18
bionic r15c
Latest Linux Kernel headers (7318413077a5141a50a753b1fab687b7907eef16)
These toolchains are statically linked so they should work on any 64-bit Linux system; let me know if there are any issues with this.
Build script
These were compiled with crosstool-NG, which is extremely versatile but a little complex for the average user. Instead, I offer a build script in this repo to compile very similar toolchains (they will not be statically linked but that's no issue if you are only compiling on your machine and they won't have bionic). It has been modified heavily from the original repo to support two different architecture configurations (more can easily be added upon request).
To learn more about the script, give the README a glance, as it will be more up to date than the thread.
Using the toolchains
Please see the README.
Issues?
If you run into any issues with either using or compiling these toolchains, please do one of the following:
Open an issue on Github. Use the toolchains repo for issues with using, use the script repo for issues with compiling.
Make a post on here.
In both cases, I will require a detailed explanation of your system configuration, what you are compiling, and a FULL terminal output; without these, your problem will be ignored.
Credits
@USBhost: For the initial script and permission to make this thread
@frap129: For his modifications to the script
@MSF Jarvis: For testing the arm option
@kantjer: For testing the Ubuntu versions on Linux Mint

Reserved

Great stuff

nice, thank you ?
Sent from my LGLS676 using Tapatalk

Dude it took me days to get arm to build because of weird errors and you just added a flag that builds it?

frap129 said:
Dude it took me days to get arm to build because of weird errors and you just added a flag that builds it?
Click to expand...
Click to collapse
Yeah, all I did was target arm-linux-gnueabi and build the arm Linux headers and everything compiled just fine.

So linaro or standard, what's recommended?
And what flags do you suggest to use for ROM and kernel?

Any support for x86/x86_64 platform?

neobuddy89 said:
So linaro or standard, what's recommended?
And what flags do you suggest to use for ROM and kernel?
Click to expand...
Click to collapse
I personally use Linaro given all the work they do for the arm architecture. These are the flag I use for my kernel. I'd love to claim credit for them but @kwoktopus helped me with most of them
zainifame said:
Any support for x86/x86_64 platform?
Click to expand...
Click to collapse
I do not currently plan on it but if there is enough demand I can consider it.

The Flash said:
I personally use Linaro given all the work they do for the arm architecture. These are the flag I use for my kernel. I'd love to claim credit for them but @kwoktopus helped me with most of them
I do not currently plan on it but if there is enough demand I can consider it.
Click to expand...
Click to collapse
Hope u support the x86/x86_64 platform

The Flash said:
I do not currently plan on it but if there is enough demand I can consider it.
Click to expand...
Click to collapse
X86_64 is theoretically already supported.
All you need to do is Target x86_64 and choose what version then done.
Like what was done for arm

USBhost said:
X86_64 is theoretically already supported.
All you need to do is Target x86_64 and choose what version then done.
Click to expand...
Click to collapse
True, I can add an option to the script. I assumed he was referring to the prebuilts

what's recommended? btw great stuff

Dreamstar said:
what's recommended? btw great stuff
Click to expand...
Click to collapse
I don't really recommend anything other than trying both variants and seeing which one you like.

Great stuff on XDA after a long time good work

Hi, can I use it to compile my rom based on LineageOS 14.1? I started to develop my own rom recently and now I wanted to try changing the toolchain.

zibiksior said:
Hi, can I use it to compile my rom based on LineageOS 14.1? I started to develop my own rom recently and now I wanted to try changing the toolchain.
Click to expand...
Click to collapse
Mostly will not be able to compile a ROM with this but give it a try. It for sure can compile the inline kernel.
Just a brief update, the build script still works perfectly fine but I will start compiling the provided toolchains with crosstool-NG as I can make the toolchains statically linked, meaning that they should work with all versions of Linux. It will also be easier for me to manage and tarballs will be smaller. I will try to have this done tomorrow, given Linaro just released their updated snapshot source

The Flash said:
Mostly will not be able to compile a ROM with this but give it a try. It for sure can compile the inline kernel.
Just a brief update, the build script still works perfectly fine but I will start compiling the provided toolchains with crosstool-NG as I can make the toolchains statically linked, meaning that they should work with all versions of Linux. It will also be easier for me to manage and tarballs will be smaller. I will try to have this done tomorrow, given Linaro just released their updated snapshot source
Click to expand...
Click to collapse
Ok, I undertstand can you instead point me some link with prebuild toolchains which I can use to compile my rom? I connot find any... Or meybe some manual how to compile appropriate version of toolchain?

20170520 toolchains are now uploaded!
As I mentioned before, they are compiled with crosstool-NG so that it's easier for me to update. Furthermore, the toolchains are much smaller now so they're easier to download and they're statically linked so they *should* work when any updated form of Linux. Let me know of any issues and enjoy!

Nice stuff indeed, thanks
Btw i've once been told that gnueabi and androideabi are slightly different, would it be okay to compile android kernels with gnueabi?

Related

Upgrading linux on custom kernel

Hi all,
Following advices from the site I successfully compiled a custom kernel from sources, rebuilt boot.img and the ramdisk and flashed it on my S3: it works.
Now I want incrementally upgrade the Linux part using git and the sources at kernel.org, let say to patch the kernel on the disk with the linux online versions 3.0.50, 3.0.51 and so on up to the latest 3.0.100. Never used git before unfortunately
Can someone please point me to an example of the correct command-line to do that? From then on I'll sort the rest by myself, I promise, that would save me a lot of time and unnecessary troubles. Thank you very much.
PU
Look up "git-cherry-pick".
reS28raM said:
Hi all,
Following advices from the site I successfully compiled a custom kernel from sources, rebuilt boot.img and the ramdisk and flashed it on my S3: it works.
Now I want incrementally upgrade the Linux part using git and the sources at kernel.org, let say to patch the kernel on the disk with the linux online versions 3.0.50, 3.0.51 and so on up to the latest 3.0.100. Never used git before unfortunately
Can someone please point me to an example of the correct command-line to do that? From then on I'll sort the rest by myself, I promise, that would save me a lot of time and unnecessary troubles. Thank you very much.
PU
Click to expand...
Click to collapse
Look up "git merge". Also you have to add the tree from kernel.org.
Mine looks like such.
git merge linux/linux-3.4.y
CNexus said:
Look up "git-cherry-pick".
Click to expand...
Click to collapse
Hi mate, I am using your tools to build the images, thanks for that. I'll do
PwnCakes193 said:
Look up "git merge". Also you have to add the tree from kernel.org.
Mine looks like such.
git merge linux/linux-3.4.y
Click to expand...
Click to collapse
Thanks, I'll investigate both of your suggestions! Today it'll be a busy day.
reS28raM said:
Hi mate, I am using your tools to build the images, thanks for that. I'll do that
Thanks, I'll investigate both of your suggestions! Today it'll be a busy day.
Click to expand...
Click to collapse
No problem
You'll probably go with the suggestion after mine, git-cherry-pick is more to add one or a couple commits, rather than a whole mass of commits
Git-merge is for adding larger chunks of commits/merging branches, etc

[11/06/2014]Linaro 4.7.4 and 4.8.3 Cortex-A8 Versions of Quarx 3.0 Kernel

NOTE: All new releases from 11th June and onwards are going to be in the second post: http://forum.xda-developers.com/showpost.php?p=53192240&postcount=2[/SIZE]
I used Christopher83's Cortex-A8 Linaro 4.7.4 Toolchain to build Quarx 3.0 Kernel. Even though I don't own this phone but I have buillt custom kernels in the past for my Defy Mini. Please test it and report to me.
How to build:
1. Download Quarx's 3.0 Kernel source here: https://github.com/Quarx2k/jordan-kernel/archive/p-android-omap3-3.0.zip
2. Unzip the file.
3. Now here comes the building part:
Code:
cd jordan-kernel-p-android-omap3-3.0
export CROSS_COMPILE=/home/YOURUSERNAME/PATHOFTOOLCHAINFOLDER/NAMEOFTOOLCHAINFOLDER/bin/arm-gnueabi-
export ARCH=arm
make mapphone_defconfig
make -j9
4. Now you will see zImage in the folder /jordan-kernel-p-android-omap3-3.0/arch/arm/boot
5. You will also see modules but they will be defined as [M] in the output of Terminal when kernel finishes building and you will need to find it various folders to find where the modules are.
Instructions on installing the kernel:
1. Unzip zImage.zip and copy zImage to /system/bootstrap/2nd-boot
2. Unzip Modules.zip and copy it to /system/lib/modules
3. Fix permissions to 644 for modules and zImage.
I have attached a screenshot of the output when compiling.
Christopher83's Linaro Toolchain thread: http://forum.xda-developers.com/showthread.php?t=2098133
Quarx 3.0 Kernel Source: https://github.com/Quarx2k/jordan-kernel/tree/p-android-omap3-3.0
NOTE: Linaro 3.0 Kernels will be built every time I see a new commit in Quarx's Github.
Linaro 4.7.4 and 4.8.3 Versions of Quarx 3.0 Kernel Releases and Changelogs
NOTE: Installation instructions are in the OP. Please read the OP for Manual installation method!
Please read before flashing or installing the kernel!
Flashable update.zip have the name "update" at the front. The zip files with the name "zImage" and "Modules" at the front are for manual installation.
3rd June 2014 Release:
- Built using sources of Quarx 3.0 Kernel committed up to 3rd June on Github.
- Download Linaro 3.0 Kernel and Modules in the attachment of 1st post.
11th June 2014 Release:
- Built using sources of Quarx 3.0 Kernel committed up to 11th June on Github.
- Built using both Linaro 4.7.4 and Linaro 4.8.3 Cortex-A8 toolchain by @Christopher83
- Released a TWRP flashable zip or use manual method to install.
- Changelog for the kernel for this release can be found here: http://forum.xda-developers.com/showpost.php?p=53277156&postcount=370
Flashable TWRP zips can be find here: http://www.androidfilehost.com/?w=files&flid=15539
Please test this kernel @Fight4Music and report to me thanks. May you also try both Linaro 4.7.4 and Linaro 4.8.3 versions of the kernel and upload the screenshot? Thanks
@rootdefyxt320
working (Defy+)
Fight4Music said:
@rootdefyxt320
working
Click to expand...
Click to collapse
For me the Wi-Fi doesn't get activated anymore :/ it says always activating, but never does.
I copied the zimage and set permissions and copied the modules and overwrite all existing ones and corrected permissions there as well. Any ideas?
L
Gesendet von meinem GT-I9505 mit Tapatalk
Set permissions for all modules and zimage to rw-r-r and reboot. That's it
Fight4Music said:
@rootdefyxt320
working (Defy+)
Click to expand...
Click to collapse
Thanks for your feedback. Does it feel much smoother? Well then I will be building Linaro 3.0 nightly kernels then.
Fight4Music said:
Set permissions for all modules and zimage to rw-r-r and reboot. That's it
Click to expand...
Click to collapse
They are rw-r-r.
I'm on the 2014-06-03 nightly
L
Gesendet von meinem GT-I9505 mit Tapatalk
rootdefyxt320 said:
Thanks for your feedback. Does it feel much smoother? Well then I will be building Linaro 3.0 nightly kernels then.
Click to expand...
Click to collapse
In my opinion it feels smoother - could anyone also give feedback? I hope its not only placebo
If you want to build more kernel nightlys - open a new thread, please
Fight4Music said:
In my opinion it feels smoother - could anyone also give feedback? I hope its not only placebo
If you want to build more kernel nightlys - open a new thread, please
Click to expand...
Click to collapse
If you want to test if it is not a placebo, then run Antutu Benchmark to compare
Sorry for my n00b question, what's differente between quarx kernel and this? xD
DragonautMk said:
Sorry for my n00b question, what's differente between quarx kernel and this? xD
Click to expand...
Click to collapse
Quarx builds use 4.6.x GCC while my one uses a 4.7.4 Linaro. Linaro tends to be smoother than GCC.
My builds use https://github.com/JustArchi/linaro/tree/4.8-androideabi
4.8 linaro.
Great Work you guys are doing -- I am Slimbean 4.4.2 which uses 2.6.x kernel ,
can anything be done ( like Flashable ZIP ) , so that i can flash 3.0.x kernel on it and test it .....
Thanks
jassi32 said:
Great Work you guys are doing -- I am Slimbean 4.4.2 which uses 2.6.x kernel ,
can anything be done ( like Flashable ZIP ) , so that i can flash 3.0.x kernel on it and test it .....
Thanks
Click to expand...
Click to collapse
There is a seperate rom whitch support 3.0. Kernel
Usual 2.6.. kernel rom would not boot with 3.0.. kernel
Sent from my MB525 red , froyo 2.2.2 german blurless service.sbf, as stock rom
There is a Linaro 4.8 toolchain optimised for Cortex-A8 by @Christopher83. The zImage seems to be smaller with his toolchain.
Sent from my U20i using XDA Free mobile app
But Quarx said above he uses Linaro 4.8, I don't get this
This Kernel have bugs?
DragonautMk said:
This Kernel have bugs?
Click to expand...
Click to collapse
The same as that being developed by Quarx.
DiegoxG said:
But Quarx said above he uses Linaro 4.8, I don't get this
Click to expand...
Click to collapse
Quarx uses JustArchi's Linaro 4.8 android-eabi toolchain which can compile both ROM's and Kernels while I use Christopher83's Linaro 4.7.4 Cortex-A8 Toolchain which can only compile kernels. I will compile using Christopher83's Linaro 4.8 Cortex-A8 Toolchain soon when I finish up my exams.
New kernel nightly tonight since Quarx has committed new changes on Github in 3.0 kernel
Will be using both Linaro 4.7.4 Cortex-A8 Toolchain and Linaro 4.8.3 Cortex-A8 Toolchain to compile.

[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.

[KERNEL][8.1.0][3.10.108] HardcoreKernel Nexus 5X

HardcoreKernel for the Nexus 5X
Features
- Based on latest Google Release (April 2018)
- 3.10.108
- Compiled with Linaro 4.9
- Reduced kernel size
- Disable useless debug
- Wireguard support
Download
http://pc.cd/ru77
Kernel Source
https://github.com/HardcoreKernel/bullhead (8.1.0-hardcore13)
Telegram Channel
https://t.me/hardcorekernelchannel
PS:
Can be used as a clean base for creating custom kernels (8.1.0-linux)
Reserved
scafroglia93 said:
HardcoreKernel for the Nexus 5X
Features
- Based on latest Google Release
- 3.10.108
- Compiled with UberTC 4.9
Download
https://goo.gl/ZuiJos
Kernel Source
https://github.com/HardcoreKernel/bullhead
Telegram Channel
https://t.me/hardcorekernelchannel
PS:
Can be used as a clean base for creating custom kernels (8.0.0-linux)
Click to expand...
Click to collapse
3.10.108 ? awesome ! Thanks
What feature also included in this kernel (except the latest security patches from Google, 3.10.108 and UberTC?)?
AFK269 said:
What feature also included in this kernel (except the latest security patches from Google, 3.10.108 and UberTC?)?
Click to expand...
Click to collapse
No at the moment, my main goal is provide a simply kernel for all with the latest upstream made by Linux according to the latest reports made by Kernel Mantainer (Greg and Willy) about upstream lts kernel.
The other goal is to provide third-party developers with a base for creating their own custom kernel starting from a clean base so if you want add another features you can grab my kernel and edit without any problem with the support of latest Kernel LTS version 3.10.108
Edit
It's a simply google + linux
Thanks for this kernel.
Sent from my Nexus 5X using Tapatalk
scafroglia93 said:
No at the moment, my main goal is provide a simply kernel for all with the latest upstream made by Linux according to the latest reports made by Kernel Mantainer (Greg and Willy) about upstream lts kernel.
The other goal is to provide third-party developers with a base for creating their own custom kernel starting from a clean base so if you want add another features you can grab my kernel and edit without any problem with the support of latest Kernel LTS version 3.10.108
Edit
It's a simply google + linux
Click to expand...
Click to collapse
Adding wakelock control should be appreciated!
November's kernel source is available
AFK269 said:
November's kernel source is available
Click to expand...
Click to collapse
I know...
*Update*
HardcoreKernel-bullhead--20171107-1012
- Merge November Security Patch
what conflicts you had when merging upstream linux to base 3.10.73? did you merge or cherry-pick?
Yaznas said:
what conflicts you had when merging upstream linux to base 3.10.73? did you merge or cherry-pick?
Click to expand...
Click to collapse
All cherry-picked, check my source
scafroglia93 said:
*Update*
HardcoreKernel-bullhead--20171107-1012
- Merge November Security Patch
Click to expand...
Click to collapse
Why you don't do a kernel with some features to save battery and other optimisations and tools instead as just publishing the base as you looks like to be really experimented?
francos21 said:
Why you don't do a kernel with some features to save battery and other optimisations and tools instead as just publishing the base as you looks like to be really experimented?
Click to expand...
Click to collapse
Why complain? if you don't want to use it, move along.
francos21 said:
Why you don't do a kernel with some features to save battery and other optimisations and tools instead as just publishing the base as you looks like to be really experimented?
Click to expand...
Click to collapse
It's the same "base" used by Google plus the upstream to latest Linux kernel version.
If you want some features fork my kernel and work on it, it's simply
k4zkispr0xy said:
Why complain? if you don't want to use it, move along.
Click to expand...
Click to collapse
I'm not complaining man, I'm just asking why he don't compile his with useful features because he think that's simple but not really as to begin I don't have an access to linux during the week as my laptop don't support it.
@scafroglia93, Awesomeness! Nice work. ??
francos21 said:
I'm not complaining man, I'm just asking why he don't compile his with useful features because he think that's simple but not really as to begin I don't have an access to linux during the week as my laptop don't support it.
Click to expand...
Click to collapse
UPSTREAM it's the most useful features which you can find in a kernel
I cloned your source to my PC but for some reason the kernel version is 3.10.73 and not the 3.10.108.
AFK269 said:
I cloned your source to my PC but for some reason the kernel version is 3.10.73 and not the 3.10.108.
Click to expand...
Click to collapse
Well, the default branch is 8.0.0-base (1:1 Google) just git checkout 8.0.0-linux and you're okay

[KERNEL][HAVOC-OS-2.2 - 2.4]Coconut Kernel with Nethunter Support[HolyDragon Source]

Coconut Kernel for HAVOC OS - With Nethunter Support
Code:
***I'm not responsible for any problems that might occur flashing this kernel or what you do with the kernel support***
This kernel is tested on HAVOC OS 2.2 - 2.4 PIE. This is built from HolyDragon Source with added nethunter support/USB Wifi Adapter Drivers and monitor mode/packet injection
The kernel should also work on every ROM that Holydragon kernel supports.
Requirements
Oxygen OS 5.0.8 firmware is required. The wifi adapter wont work on older firmwares. Those who are using Havoc OS would most probably be on 5.0.8 firmware so this is just a remainder for others and/or anyone who have trouble making this work.
How to install
Make sure that you are rooted with magisk/supersu/any superuser
Download kernel from attachment and flash in TWRP Recovery
Reboot and download any terminal app like Termux
Plugin the USB Wifi card and open Termux
Type the command su
Then type ifconfig wlan1 up
This is how you can test whether it works or not
The kernel works fine with Nethunter as well as other chroot applications like Linux Deploy.
Note:- This kernel does not need any module to be inserted as all wifi drivers are compiled inline. So no need to insmod/modprobe
Credits
@HolyAngel for HolyDragon Kernel Source
Source
https://gitlab.com/HolyAngel/OP3
Thanks sir, this weekend, I test and i say you if I have a problem, but surely not, at this moment it is the kernel that I have but without the controller. I want to learn to compile the kernel on my own so that, in case HolyAngel updates the kernel, it dosn't depend on your work.
Victroid said:
Thanks sir, this weekend, I test and i say you if I have a problem, but surely not, at this moment it is the kernel that I have but without the controller. I want to learn to compile the kernel on my own so that, in case HolyAngel updates the kernel, it dosn't depend on your work.
Click to expand...
Click to collapse
https://forum.xda-developers.com/an...erence-how-to-compile-android-kernel-t3627297
Follow the tutorial above for kernel building.
@fredrickz
Any future build for stock oos pie like your Oreo one, it was perfect man thank you for your efforts regard to the community.?
DoN LoUhI said:
@fredrickz
Any future build for stock oos pie like your Oreo one, it was perfect man thank you for your efforts regard to the community.
Click to expand...
Click to collapse
Stock oos pie source isn't available yet man. I can build pie version from holydragon sources. I'll compile one when stock sources arw available too.
fredrickz said:
Stock oos pie source isn't available yet man. I can build pie version from holydragon sources. I'll compile one when stock sources arw available too.
Click to expand...
Click to collapse
Fair enough, thank YOU:laugh::good:
You explicitly mention this:
This is built from HolyDragon Source with added nethunter support/USB Wifi Adapter Drivers and monitor mode/packet injection
Click to expand...
Click to collapse
And the kernel source points to:
https://gitlab.com/HolyAngel/OP3
Click to expand...
Click to collapse
This can only mean 2 things:
1) you've merely taken holydragon kernel source and renamed it as your own or
2) you're actually breaking the GPL here by not releasing your changes
So which one is it?
And this leaves me no doubt that the second is very likely the case:
Note:- This kernel does not need any module to be inserted as all wifi drivers are compiled inline. So no need to insmod/modprobe
Click to expand...
Click to collapse
@Fredricks
It would be more than appreciated if you could add support for HID brother. Thanks:crying:
anupritaisno1 said:
You explicitly mention this:
And the kernel source points to:
This can only mean 2 things:
1) you've merely taken holydragon kernel source and renamed it as your own or
2) you're actually breaking the GPL here by not releasing your changes
So which one is it?
And this leaves me no doubt that the second is very likely the case:
Click to expand...
Click to collapse
I dont want to break any gpl.. the thing is that all my changes are local. Im not used to github. This kernel and all others i posted werr just for my own use. I have been using @ZaneZam kernel for oneplus3. But the Oreo kernel wasnt working fine. Thats the reason i tried to compile one my own. I shared it with a friend of mine some time ago and he insisted that i should post it so that others may also benefit. The kernel i posted doesn't have tonnes of feature list because i mostly stick to stock. I just added the wifi drivers and was using them. My friend asked me to add support for DriveDroid and i just did that. I don't know much about git and didnt have time to learn.
If this is against the rules then maybe ill post the source later. Im currently out of town.
for now if you want to know what changes i did,
1. Prepare the kernel for standalone build (except holydragon kernel)
2. Added just the wifi drivers mentioned in the nethunter wiki. I didnt add support for usb Bluetooth or sdr.
3. Added support for DriveDroid from official post in xda making changes to adapt the code to 3.18 kernel.
4. Added a fancy name to the kernel.
5. Published it.
DoN LoUhI said:
@Fredricks
It would be more than appreciated if you could add support for HID brother. Thanks:crying:
Click to expand...
Click to collapse
Im out of town bro. Ill add it when i reach home.
fredrickz said:
Im out of town bro. Ill add it when i reach home.
Click to expand...
Click to collapse
Very thankful, have a good time..:good:

Categories

Resources