Questions on Kernel compilation - Android Software/Hacking General [Developers Only]

I'm new to the android build system but have been running stripped kernels for years. I'm working on a custom rom for a TCL A30 (MT6762/MT6765).
I've looked at the AOSP code base and TCL source, for a similar device, and it looks like the TCL source generates the needed kernel .config file with scripts. There are multiple scripts for different archs and cellphone carriers. My TCL A30 has a Bangkok_CC (ConsumerCellular) tag and I found arch/arm64/configs/bangkok_TF_defconfig (TracFone). There do not appear to be any patches in the TCL source. The source I found:
TCL-Mobile on sourceforge
Has the Tracfone TCL A3:
Tracfone TCL A3x product link
That source contains Bangkok_TF_defconfig.
I was able to adb pull /proc/config.gz directly from the device and it's running 4.19.126+ released last month.
First question: Can I generate a bangkok_CC_defconfig from /proc/config.gz in the AOSP code base? It is mosttly monolithic
Code:
cat .config | grep =m > kernel_modules.txt
CONFIG_IKHEADERS=m
CONFIG_TCP_CONG_WESTWOOD=m
CONFIG_TCP_CONG_HTCP=m
CONFIG_SERIAL_OF_PLATFORM=m
CONFIG_BATTERY_MT6359=m
CONFIG_SND_SOC_MT6359_ACCDET=m
CONFIG_USB_DUMMY_HCD=m
CONFIG_MMC_SDHCI=m
CONFIG_MMC_SDHCI_PLTFM=m
CONFIG_MMSTAT_TRACER=m
At the time of this post the latest upstream is 4.19.244
Second question: Are most Android projects like Debian/RHEL where they back patch kernel vulnerabilites? Would the most up-to-date kernel result from the latest AOSP source and would building it just be a matter of dropping in my /proc/config.gz and setting the build environment that I found in the TCL source?
I suspect that AOSP is contributing back to kernel.org. Third question: AOSP vs Kernel.org source? Does Google backport like RHEL/Debian? Or would I get a more recent,, secure kernel using upstream kernel.org source?.
Last question Clang vs GCC. I've just setup my Arch Linux build box w/ arm64_gcc. Speed is less important to me than stable builds. What are the arguments for one compiler over another?

Related

[KERNEL-3.4.67] MT6589 / MT6589M / MT6589T

Hi,
I was working since a while on this :
android_kernel_mt6589
For releases (beta builds - maybe unstable/not working), see here
I'm trying to support other devices too. Please send me your mt6589 device name and his kernel source (stock source !!)
Actual features :
Built commit history (patches cherry-pick from AOSP inside mtk kernel)
Mtk generate&build scripts moved into kernel directory
Merging meditatek sources (some devices will benefit from others kernel changes)
Removed a lot of unusued debug
Cortex A7 Optimizations + NeonV2 + FPV4
Built with sabermod (4.8.3) arm-eabi 4.8
Can be used into Omnirom build process (kernel and modules)
Future releases :
Support for multiple devices
Mtk commits for kernel source (with comments or docs)
Improve mediatek source ?
Suggestions welcomed
Supported devices :
Faea F2S
Requested devices :
Oppo R819 - WIP
Wiko (MT6589 devices) - need check for GPL compliance (OTA and updates on kernel source)
Lenovo P780 - need check for GPL compliance (OTA and updates on kernel source)
ZTE V967S - need check for GPL compliance (OTA and updates on kernel source)
Acer Liquid E2
Requested devices but no stock sources :
Xolo Q800 - need GPL compliance
Micromax A116 - need GPL compliance
Info about compatibility :
Kernel should be compatible with MT6589/MT6589M/MT6589T because the OC is hardware dependent (it gets the values of the board to detect which generation it is)
What I won't do :
Support overclocking for MT6589/MT6589M to act like MT6589/MT6589T
XDA:DevDB Information
[KERNEL-3.4.67] Source for MT6589 / MT6589M / MT6589T, a Kernel for the Android General
Contributors
Dr-Shadow
Kernel Special Features: Full source for kernel with commit history
Version Information
Status: Stable
Stable Release Date: 2014-03-04
Created 2014-03-04
Last Updated 2014-04-13
Reserved
So I implemented a way to build easyly the kernel
All you need is repo, git and dependencies as described here : https://github.com/Dr-Shadow/android_kernel_mt6589_manifest
So if you want to build latest kernel from my git :
For Faea F2S : ramdisk from stock ROM - almost stock kernel should be "stable"
Code:
repo init -u https://github.com/Dr-Shadow/android_kernel_mt6589_manifest.git -b master
cd kernel
./build.sh
For Oppo R819 : ramdisk from stock colorOS stable (V1.0.0i 140120) - BETA
Code:
repo init -u https://github.com/Dr-Shadow/android_kernel_mt6589_manifest.git -b r819-release
cd kernel
./build.sh
Next branch (released) :
For Faea F2S : ramdisk from stock ROM - BETA real 3.4.67 (should be stable)
Code:
repo init -u https://github.com/Dr-Shadow/android_kernel_mt6589_manifest.git -b devel-upstream
cd kernel
./build.sh
I improved the build.sh like this, you don't need to worry about vars and others.
Reserved
Any help is welcomed for this kernel tree.
What you can actually do :
Check if you can compile actually suported devices
Do pull requests to add devices or drivers
Check changes between your original stock source of your device
Adapt configuration files (Remove drivers not added or not working, add missing var)
Create a build script with a var for TARGET_PRODUCT which would be able to check env, build kernel and modules to out/ (my build.sh is a example for e960 - Faea F2S)
Actually, I'm merging Oppo R819 sources and I saw there was differences on mediatek drivers (some things were added by Oppo)
For example, I got this diff :
https://docs.google.com/document/d/1OGQS_HWRG9LbSiBCwWilKIQ-Wo_Asbz49IREXeZFJEA/edit
So for merging I'm replacing VENDOR_EDIT by OPPO_R819 so when kernel is compiling it should be able to keep Oppo changes only for Oppo R819 (thank you preprocessor for your hard work).
Of course, I'm not merging debug stuff.
The other idea would be to create documents, to document a specific change between another mtk source like those changes :
https://docs.google.com/document/d/15Bexb9ytPsYbvwo871u0mifmh9NqDJd6Oo1rXZiDiCg/edit
The focus of doc would be to show if the changes would be interesting for system part (better app for photos for example)
Example of new var introduced by recent mtk source (MAIN_SENSOR_ROTATE_DEGREE_X see config files) :
https://github.com/Dr-Shadow/androi...hal/camera/camera/cfg_setting_imgsensor.h#L52
Ok this is for hal but it's still interesting to check changes and this is actually my focus.
Awesome
You finnaly got the time to released it
:good:
Kernel source code Acer E2 Duo v370:
http://global-download.acer.com/GDF...E2&Step3=V370&OS=ALL&LC=fr&BC=ACER&SC=EMEA_13
Extracted kernel:
https://www.mediafire.com/?anywf4e9d1mb755
That's what you want?
I'm starting with the kernels ...
Matx13 said:
Kernel source code Acer E2 Duo v370:
http://global-download.acer.com/GDF...E2&Step3=V370&OS=ALL&LC=fr&BC=ACER&SC=EMEA_13
Extracted kernel:
https://www.mediafire.com/?anywf4e9d1mb755
That's what you want? :good:
Click to expand...
Click to collapse
Thank you for your sources
I will reconsider working on this device if Acer updates the kernel source (I got a discussion for it with Acer - need some time to find a solution).
There is a working kernel by @kashifmin, please check his gitrepo : http://d-h.st/zdN
Device : Micromax A116
this kernel have few bugs.
eagledipesh said:
There is a working kernel by @kashifmin, please check his gitrepo : http://d-h.st/zdN
Device : Micromax A116
this kernel have few bugs.
Click to expand...
Click to collapse
Yes but this is not a stock source.
Dr-Shadow said:
Yes but this is not a stock source.
Click to expand...
Click to collapse
Great work sir. Check your pm for stock source links
I see that you cherry picked many commits but still can you provide a Changelog (With Major changes from Stock MTK Kernel and Features )
This will help me atleast for development of kernel for other MTK Chipsets
Btw Great work i always like development and i also bought a MTK Phone based on MT6572
I suppose these are from the THL W8:
https://github.com/C3C0/MT6589_kernel_source
Adding the iOcean X7 woukd be nice, but I think sources aren't available..
GuneetAtwal said:
I see that you cherry picked many commits but still can you provide a Changelog (With Major changes from Stock MTK Kernel and Features )
This will help me atleast for development of kernel for other MTK Chipsets
Btw Great work i always like development and i also bought a MTK Phone based on MT6572
Click to expand...
Click to collapse
I think you didn't understand what I have written ^^
I cleaned kernel of debug and added the commits MTK injected in kernel so it's like stock mtk kernel with few changes and fixes (android binder for example).
Dr-Shadow said:
I think you didn't understand what I have written ^^
I cleaned kernel of debug and added the commits MTK injected in kernel so it's like stock mtk kernel with few changes and fixes (android binder for example).
Click to expand...
Click to collapse
gotcha sorry for incovience created by first Page moreover have you tried Dynamic Fysnc Control by Faux123 that is nice and any way to update source with the mainstream updating source ?
GuneetAtwal said:
gotcha sorry for incovience created by first Page moreover have you tried Dynamic Fysnc Control by Faux123 that is nice and any way to update source with the mainstream updating source ?
Click to expand...
Click to collapse
Yeah I should be able to update with mainstream updating source and it should be easier than mtk stock kernel as I fixed a lot of whitespaces, useless comments and others (around 400 or more files).
Actually I'm porting oppo R819, it will introduce some new features which could be interesting
Device : Micromax Chd A116
Kernel Source stock link : Updating...
Kernel Source Modified (kashifmin) : ADDED
Dr-Shadow said:
Yeah I should be able to update with mainstream updating source and it should be easier than mtk stock kernel as I fixed a lot of whitespaces, useless comments and others (around 400 or more files).
Actually I'm porting oppo R819, it will introduce some new features which could be interesting
Click to expand...
Click to collapse
Hmm Now i got it thats why the source was very smooth as earlier in Novem. i tried to compile Oppo kernel source and it compiled with no probs but your source is very smooth with some(actually many) warning but no Errors with the default drivers but when i introduced other phone's config and drivers it gave errors in aee :/ but will fix that
Thanks for Awesome Work will try and help by adding commits after my exams
Hey
Alcatel One Touch Hero (OT-8020D) / TCL Hero N3 (Y910)
This is supposedly the sauces.
SourceForge link (this will start the download automatically, sorry about that. Is a huge tar! :/
Update : Add support for GSLx680 touchpanel driver for Faea F2S
I have the Elephone P8, any support for this phone?
Sent from my P8 using xda app-developers app
bmw2k1 said:
I have the Elephone P8, any support for this phone?
Sent from my P8 using xda app-developers app
Click to expand...
Click to collapse
Hi
When requesting, do it with your phone stock kernel sources please
If you don't own kernel sources for your device, there's nothing he can do.
Regards

[HELP] Cherry Pick from a local source

Hi, I wanted to build a CM12 kernel. I used CM kernel source and built a basic one that booted. Now i want to add features. I referred to guides and understand how to cherrypick using commits but instead of doing git fetch, I git cloned it. Now i have a folder of my kernel and other kernel. How do i cherrypick from that folder into my kernel?

How to add my own linux kernel module to Pixel2?

I have written a linux kernel module for my Pixel2, and compile it under AOSP source: kernel/msm.git android-msm-wahoo-4.4-oreo-dr1
But when I insmod my module, dmesg reports "disagrees about version of symbol module_layout".
Google told me that the kernel source version I used to compile my kernel module is not corresponding to the kernel source version used to building the official Pixel2 kernel.
Where can I find the kernel source version/branch of AOSP used to build the official Pixel2 kernel?
https://android.googlesource.com/device/google/wahoo-kernel/
Thanks, but this link only has some binaries used for pixel device.
I want to have the kernel source location and its branch and version used to build the pixel 2 official kernel.

General [SOURCE] SM-F711B kernel

WARNING:
This is NOT a custom kernel!​
GPL requires that source is released for Android kernels.
It does not, however, require that the source is tracked.
Samsung Open Source
opensource.samsung.com
Each release is downloaded, extracted, and added to git in a single repo in order to create a kernel changelog. Some commits may be added to improve building the kernel as a standalone binary. The core functionality and features will remain unchanged.
https://github.com/StarKissed/FLIP_3_SM-F711B

Linux 6.3 supports our phone!

With the release of mainline Linux 6.3, you can find initial support for our phone (and many other Snapdragon 625/632/450 devices).
This is very, very "initial support" - for example, the display doesn't work. But it boots!
I'm continuing to add support for more functionality, but this is an important milestone that I wanted to share.
You can find the device tree at `arch/arm64/boot/dts/sdm450-motorola-ali.dts`
linux/arch/arm64/boot/dts/qcom/sdm450-motorola-ali.dts at master · torvalds/linux
Linux kernel source tree. Contribute to torvalds/linux development by creating an account on GitHub.
github.com
wow Bro I really like if all works on 6.3
Uclydde said:
With the release of mainline Linux 6.3, you can find initial support for our phone (and many other Snapdragon 625/632/450 devices).
Click to expand...
Click to collapse
It's the device tree source to build a dtb. But you still need a Kernel and a running build.

Categories

Resources