0

I am trying to figure out 4 things :

  1. What do the branches in https://android.googlesource.com/kernel/common/+refs correspond to ? Linux kernel tags[citation needed] ?

  2. How is kernel/common related to the device kernel repositories (kernel/) ? The build instructions refer to /device/*/*/kernel prebuilt files that I am not sure how they fit in too

  3. What is the repo at Kernel-Projects ? Looks empty as the void

  4. How are mapped android kernel versions to API releases (found this but it is outdated) ?

I know about git and why is the master branch empty. I would appreciate links to official docs/forums or to some thorough guide of the source tree(s).

Related : Kernel Sources for Android 4.0 - Ice Cream Sandwich

EDIT :

The kernel trees are apparently :

kernel/common   Common Android Kernel Tree
kernel/exynos   
kernel/goldfish 
kernel/lk   
kernel/msm  Kernel tree for Qualcomm chipsets
kernel/omap 
kernel/samsung  Kernel tree for Samsung systems on Android.
kernel/tegra

The page here got me in this direction - unfortunately it is not updated since 2011 - started a discussion and hopefully someone will volunteer. From the same page I came to the conclusion that the kernel/lk repo is "a bootloader".

EDIT 2 :

I just found out that older kernels can be found here : https://www.codeaurora.org/cgit/quic/la/kernel/common/refs/heads

Community
  • 1
  • 1
Mr_and_Mrs_D
  • 32,208
  • 39
  • 178
  • 361

1 Answers1

0

I'll try to give some guidelines as its hard to answer all your questions.

Google doesn't care about you compiling the kernel, on the contrary they invest large efforts to make it difficult in many ways.

The good news is that kernel has open source license and you can actually download and compile it.

So where do you find kernel sources that produce a working code on a real device? At the device manufacturer: Ex.Samsung devices - http://opensource.samsung.com/ Look for example at I9500 and you will find the sources of Galaxy S4

Chipset manufacturers:

  • Exynos - Samsung's chipset
  • Goldfish - Emulator device
  • MSM - Qualcomm chipset
  • OMAP - TI chipset
  • Tegra - Nvidia chipset
  • BCM - Broadcom chipset

and there are many more.

Their customers are the device manufacturers, and the kernel trees usually not compatible to a specific device, but to a range of chipset products which the developers modify and make it work on the device. For example: Qualcomm publishes their kernel to www.codeaurora.org and its customers (Samsung,HTC,LG,Chinese OEM..) use the code from there.

about 2.: Many device repositories come with a prebuilt kernel for various of reasons(For example if the device manufacturer is not publishing the sources), then you can compile the whole ROM without compiling a kernel - That is an inferior option.

about 3.: No idea what that is.

about 4.:Some have 3.4+ for jellybean and up. ICS using 3.0+ and 2.X is usually GB. However, there are many inconsistency as kernel developers back-port specific drivers from newer kernels and result in 2.X running JB and even KitKat.

Mr_and_Mrs_D
  • 32,208
  • 39
  • 178
  • 361
skoperst
  • 2,259
  • 1
  • 23
  • 35