Hi
Can anyone tell me a way to use clang instead of GCC for ROM devlopment? Particularly because I would prefer a colored output of the compile processes (and no, I tried coloredgcc but it doesnt work no matter what methods I try. So clang is my only hope, I think).
I can try manually changing compiler name in build mk files but there are so many linked files.... kinda confused if thats even possible. Some help would be appreciated.
Related
I would like to post a general question about kernel development!
Background:
I've started to look into what it take so to develop a kernel of my own, and I'm guessing its no small undertaking even though everything is linux based... which means all the source exists already. I'm learning linux is awesome in that respect.
Question:
Any reason I can't use google's NDK to do development? I've learned it has the necessary cross compiler for the arm... or at least I think it does.
Ok, let me re-word the question.
I downloaded the kernel source from htc for the thunderbolt. The first thing I did was attempt to compile the source on my Ubuntu computer. After setting up the .config file for the thunderbolt, I soon found I needed an arm cross compiler. I also found NDK includes an arm cross compiler.
I downloaded it, modified the Makefile (I know... there are better ways instead of modifying the Makefile) to point to the NDK cross compiler and it compiled.
My question is... is there any reason I can't use the files that resulted (zImage --> boot.img) on my thunderbolt? Just trying to learn. Should I post this somewhere else?
toymachine115 said:
Ok, let me re-word the question.
I downloaded the kernel source from htc for the thunderbolt. The first thing I did was attempt to compile the source on my Ubuntu computer. After setting up the .config file for the thunderbolt, I soon found I needed an arm cross compiler. I also found NDK includes an arm cross compiler.
I downloaded it, modified the Makefile (I know... there are better ways instead of modifying the Makefile) to point to the NDK cross compiler and it compiled.
My question is... is there any reason I can't use the files that resulted (zImage --> boot.img) on my thunderbolt? Just trying to learn. Should I post this somewhere else?
Click to expand...
Click to collapse
Any ARM toolchain should work, though the android NDK is not always the easiest one to use. Best way to see if you compiled it correctly is to test it of course. Back up your current phone state first of course.
Thanks! I'll attempt it.
Main thing I was going for was to avoid the NO do not use the NDK cross-compiler... so looks like it is ok.
I hope this is just me being stupid. I wanted to start using the linaro toolchain to build my kernel, having fixed the errors that appeared it now only produces an 'Image' file instead of a 'zImage'.
Please tell me I am just being thick! I cannot work out for the life of me what to do to fix it.
Any help anyone can give any advice will be greatly appreciated, my git hub is here: https://github.com/vidoardes/XS-ICS
BTW: These errors don't occur if I use the standard android 4.4.3 toochain.
Hello, I'm newbie dev trying to build CM13 for Lenovo Phab plus.
I think I'm almost finished with device and vendor, but I cannot figure it out what to do with kernel.
The circumstance is,
I have a stock kernel source which runs in 5.1.1 LP, with version of 3.10.49.
What I want is to make kernel compatible with 6.0.1.
I already know that linux kernel version doesn't have to be exactly same with new Android OS versions and I can just make a few patches in order to run kernel in higher OS.
So I googled and studied(?) for 2-3weeks, but got not many useful informations and I still cannot figure out where to find required patches for 6.0.1 .
So here's what I am not sure about.
1. I found that I can either upstream, merge, cherry-pick kernel sources from higher OS. For instance, if I merge kernel patches (starting from 3.10.50 to 3.18 step by step) and check if the kernel compiles successfully, is this a right thing to do? I am confused whether merging or cherry-picking is required for my situation.
2. I see lots of commits when comparing with other kernel sources in github. How do you find those kinds of patches? -> just keep compiling kernel and if error comes out->search->commit
Always this pattern goes again and again till boot properly?
3. i'm quite curious with backports. What i know is that "backports" are the files which is compatible for lower version kernels. For example, backported audio driver originally based on 4.9 can be used in kernels with version below 4.9. Is it right?
4. If there is an useful links, anything could be helped a lot.
THANKS IN ADVANCE.
Hi,
I've been trying to solve an issue with my box Mecool KIII pro. It does not have the driver modules I need for my gamepads (want to make it retro emulation station). Anyways, my best bet is to learn how to compile the whole thing then add the bits I need. I found the buildroot images published by amlogic and found the one for my device. Here is the image for my device:
http://openlinux.amlogic.com:8000/download/ARM/filesystem/Linux_BSP/buildroot_openlinux_kernel_4.9_fbdev_20180211.tar.gz
It has kernel 4.9 which might be better than the current stock 3.4.
And here are the documentations for compiling:
http://openlinux.amlogic.com:8000/download/doc/Linux_BSP_Kernel4.9_Buildroot_OpenLinux_Release_Notes_V20180211.pdf
Now my issue is with gcc. When i install it in installs version 7 something and when I look for versions only 2 versions appear and both version 7. I tried to compile with this version, but after couple minutes it stops with an error.
From what i understand is if i want to get an older version I need to add the server that hosts them to my sources list which I don't have any clue how to do.
I have found the toolchain in question, but not sure how I can get it with "apt-get install":
https://releases.linaro.org/components/toolchain/binaries/6.3-2017.02/
I am at my wits end here and any help would be much appreciated
P.S: It's my first time using Ubuntu, so please bear up with me and be noob friendly as much as you can
So, I recently got a ASUS Zenfone 4 Selfie Pro, the phone is stuck on android 7.1 and doesn't have any roms, nothing, just TWRP. So I'm on a journey trying to build stuff for this device from the ground up, I already made a device tree based on Zenfone 3 (which has the same SoC) and I tried to build lineage/cyanogenmod 14.1 for it and got a lot of kernel errors, so I went to try to compile the kernel from the source ASUS gave on their website and uploaded it to my github. In this past 3 days was able to fix and workaround some of the errors I got while building, but now I'm stuck on this one: https://hastebin.com/iqisuzegeg.coffeescript | any help would be greatly apreciated .
For easier access to the kernel source I uploaded it to my github and made some fixes/workarounds for some errors: https://github.com/2003Frost/android_kernel_asus_Z01M_stock
I'm using Linaro 7.5.0 as arm64 toolchain.
I'm using Zorin OS 15.2 as OS.
If any more information is needed I'll be glad to give out.
0
Seppppx said:
Hmm. There is probably no definition for 'drivers/platform' and 'drivers/platform/msm' . But there is a reference (probably). Also have you tried to build the kernel with the defconfig "the manual way". If there is something wrong with the kernel I have almost no way of helping you because I'm not a real developer.
EDIT : There is a kernel source for your phone that on a developer's github https://github.com/shakalaca/android_kernel_asus_zd552kl . That is also the person who is the maintainer for official twrp. He has some large commits on the kernel so his kernel should build.
Click to expand...
Click to collapse
I already tried his kernel and got the same exact error :/
I didn't understand fully what you said with "the manual way" but I'm trying to compile the kernel outside the rom build environment, by using my device's defconfig and compiling with linaro.
0
Seppppx said:
By the manual way I mean the with the defconfig. Also I made a pull request to your Device Tree (adds persist partition and Shakalaca's kernel).
Also if you're trying to build with defconfig there is a tutorial by google. https://source.android.com/setup/build/building-kernels-deprecated .
After that you will have to put it to the boot image. Another guide for that. https://source.android.com/setup/build/building-kernels#embedding-into-Android .
Edit : Isn't the Android kernel build with the defconfig when you run a source build? I think it actually builds the kernel when you build android so you don't build the kernel separately.
Click to expand...
Click to collapse
I accepted your pull request. Yes when you build a rom from source it also compiles the kernel, but I wasn't able to build the rom because it gave me kernel errors, so I went and started compiling separately because it's easier to fix kernel errors like this.
I am not using Google's tutorial, I'm following one that has almost the same steps and I'm using the same toolchain.
0
Seppppx said:
By toolchain you mean tools that you need to compile a kernel? Why doesn't one just install the tools needed to compile a kernel source.
The guide I linked doesn't specify any toolchain (thus idk if I need one). It also doesn't have anything to do with build.sh script used to compile a kernel. Instead it uses the defconfig. The commands are actually very simple.
cd kernel-source_code
export ARCH=arm64
export CROSS_COMPILE=aarch64-linux-android-
make ZD552KL-Phoenix_defconfig
make
Also have you tried to build another kernel that you are sure builds? If another kernel builds. The issues have to do something with the kernel itself. If it does not it's most likely something else.
Click to expand...
Click to collapse
To compile a kernel from source you need something a cross compiler or toolchain in my case I'm actually using the exact same commands you commented with linaro toolchain/cross compiler (aarch64-linux-android). As far as I know you need that to compile a kernel and I don't think the toolchain is the problem but the kernel itself. I can try another kernel later to see if it compiles.
0
Seppppx said:
Okay thanks!
If you manage to compile the kernel for your device make sure to mention/quote me. I would like to contribute. I'm on my way to make another pull request (now about cameras).
Click to expand...
Click to collapse
If you want to talk to me more quickly you can message me on telegram https://t.me/Frost_2003
0