Building a Kernel/rom - Android Q&A, Help & Troubleshooting

Hi everyone.
I know little-nothing about Linux and compiling kernels. I almost never used Linux, I don't know any programming language, but I'm a PC master(hardware/windows etc). First of all, from what I read, I need to learn Linux and only after I should learn how to build a kernel. Can someone help me, or give me a link for better understanding/learning linux, and after how to compile own kernel from source(or modify it, for ex: updating libs(if it's possible, adding overclock to cpu/gpu, update gpu driver, upstream kernel at the latest one etc). I'm saying again, I'm newbie, but I can learn very fast + i can have virtual machine with latest Ubuntu).
Thanks everyone who try to help me! Have a good life.

Related

[Q] Making a custom Kernel?

I've had a search and a look around but can't see anything specific enough to answer this.
I have read that the SGS2 uses the new BCM4330 chipset for it's WiFi-N support.
It looks to me that for existing kernels they are using either the existing kernel support or possibly the b43 driver.
I need to find out, and while I have compiled custom kernels in nix in the past, I have never done so in Android, so I'm a little out of my comfort zone here.
I want to compile a kernel where the WiFI driver will support monitor mode, ideally it would be the CM7 kernel with just this extra functionality added, however a number of the tools that I would use to identify the existing configuration do not seem to be available in the standard CM7 build (lspci being one).
I don't want to frack around too much without having read up first so could anyone point me at a good guide for creating my own Android Kernel, even better if the guide was specific to the CM7 version.
Lastly I mostly run a Fedora environment, however the bits I have read seem to suggest a number of tools are only available in a Ubuntu guise (heimdall springs to mind and while I'm sure it's possible to recreate it for Fedora I'm trying to reduce the number of dependencies I'll have to recreate as much as possible). Therefore can I get some advice regarding the least complicated way to generate an Android build environment in Linux.
Thanks
For kernel compilation on android, you can check the several repositories there are for the several kernels. Depending on each kernel/repository/user, you can find a predefined .config inside them, so you can get the basic configuration to compile the kernel, don't know if CM7 has it in its repository...
As for the enviorment, I haven't tried compiling a kernel, but I did compile some ROM on Gentoo Linux, so I suppose it could also be done in Fedora without many problems. The main thing about using Ubuntu is that is very extended, so they're using it as main Linux base, but that doesn't mean it can't be done in other linux distros. You can check CM7 wiki for building from source to install the required packages for your enviorment. In my case I cross checked the Ubuntu packages with Gentoo to install gentoo's version of that packages/tools to be able to compile without problems.
Also in the case of building kernels, you need a toolchain to be able to compile, but there are several webs/tutorials with info on how to use that.
EDIT: You have a complete tutorial for CM7 in their wiki with the needed packages for both Debian and Red Hat based distributions...
Very useful, thanks for the info.
Very useful info.
Hi,
I'm interested in compiling a custom kernel to support wifi monitor mode, but I read in a previous post that it can be a hardware limitation which makes it impossible to use monitor mode. Can anyone confirm that? Maybe a statement/answer from Broadcom?
I'm just asking it because I don't want to start playing with kernel compilation and driver hacking if it can't be done because of some missing code on the chipset or something.
Thanks.
kepten said:
Can anyone confirm that? Maybe a statement/answer from Broadcom?
Click to expand...
Click to collapse
I doubt Broadcom will answer that, but you can try to search the chipset info in Broadcom's web and see if its supported. Also you can check kernel modules if they can compile against that version.
AzureusPT said:
I doubt Broadcom will answer that, but you can try to search the chipset info in Broadcom's web and see if its supported. Also you can check kernel modules if they can compile against that version.
Click to expand...
Click to collapse
Well, Broadcom's website says nothing about monitor mode but I've found a driver (https:// github.com/cyanogen/galaxy-2636/blob/ics/drivers/net/wireless/bcm4330/src/include/wlioctl.h#L1153) which at least mentions it. This is for Galaxy Tab 10.1 which has the same chipset so maybe someone with a Tab 10.1 could verify if monitor mode works with that kernel/driver? ??

[Q] Set up Ubuntu for compile roms from sourcecode

So I want to compile Cyanogenmod myself. But all the time I'm trying to set up my ubuntu it's not working. And often the threads are out of date. So could you tell me what I'll need in order to compile roms ? Toutorials would be nice. Of course I'm running a 64bit Ubuntu 12.04. If I schould use another distro just tell me.
Thank you in advance.

Question about custom Kernel dev.

Hi! I was wondering if it's possible to make a kernel without source? Say i wanted a new kernel for my phone, but there is only one available, could i reverse engineer the one i have, and then port some files into the new one?
I have some programming knowledge, but i'm currently learning C, assembly and java at school, but i'm not so familiar with linux yet
Any help would be appreciated!

[HELP]android rom compiling software

Hey guys . I'm new to Android development...but i have a good idea about developing a custom rom and kernel using ubuntu..
But one day i was thinking that,
everyone who are interested in rom development goes through the AOSP website and tries it. And atlast after so many confusions and so many new learnings they compile it..
Bug fixing and adding features is next job.... Let's keep it aside
My thought was to build a software using java or c++ , which will automatically compile the rom for any device according to the user's input.
The inputs are device's code name (eg:-hammerhead)
And type of os(lineage based or aosp based etc...)
In the background of this software, all the rom compiling codes, source downloading codes, setting up environment codes etc,.. will be feeded using c++ or java.
After getting inputs from the user via a simple interface, the process will start. Downloading source, choosing directory,compilation, and finally the flashable rom will be the output of this software which will be stored in the given directory folder...
What do u guys think about this. Will this work???
i also know there are many troubles making this software
Pls comment abt ur thought guys..
I also need help in this case..
My vote is for is for a interactive GUI for android kernel development. One to allow easy modification to the kernel source and compilation. Kinda like Link+ Kernel Ide for Eclipse but for android

Help! Compiling from amlogic buildroot image

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

Categories

Resources