Shimp208's Guide to Finding the Kernel Source Code for your Device
Introduction
I see a lot of people asking how to start make custom kernels (This is well beyond the scope of this guide, for a great introduction check out Building Your First Kernel), or I want to port CM, AOKP, AOSP, etc. to my device. Well that great except you can’t begin to make a custom kernel or truly port CM, AOKP, AOSP, etc. without the appropriate kernel source code for your device. The following list tells you where you can find the kernel source code (Among other bits and pieces of code essential to development) for your device based on your manufacturer, as well as some other places to look for kernel sources.
Please Note: Not all manufactures release their kernel sources, and not all kernel sources are released for every device
Manufactures
LG
http://www.lg.com/global/support/opensource/opensource.jsp
* Under category select mobile phones and hit the search button located to the right, optionally you can enter in a model number to search for.
HTC
http://htcdev.com/devcenter/downloads
* You can easily find what you’re looking for by using the filters, for device, carrier, region, and android version. You will also find some useful files here besides kernel source code.
Samsung
http://opensource.samsung.com/index.jsp;jsessionid=52CC30D59B619BB5D77CE750C8AD80E1
* The easiest way to find your device is to use the search box and search for your devices model number.
Motorola
http://sourceforge.net/motorola/wiki/Projects/
https://github.com/MotorolaMobilityLLC
* Contains some devices kernel source code as well as many device specific proprietary files.
Kyocera
http://www.kyocera-wireless.com/support/developers.htm
* Small selection of kernel source code in addition to some other code.
Sony (Ericsson)
http://developer.sonymobile.com/downloads/xperia-open-source-archives/
* Variety of kernel sources and some interesting release notes documents
Google
https://android.googlesource.com/?format=HTML
* Very large selection of kernel sources for Google devices as well as tons of other hardware specific files.
Pantech
http://opensource.pantech.com/model/list.asp?Category=Mobile
* You have to sign-up and create an account (Don’t worry it’s free and easy) before you can download the kernel sources. You can use the list on your left to quickly scroll through the available devices to find the one you are looking for.
ZTE
http://support.zte.com.cn/support/news/NewsMain.aspx?type=service
http://support.zte.com.cn/support/ServiceCenter/ServiceMain.aspx
* Random of assortment of kernel sources, software updates, and pieces of code for ZTE devices. Note, the second link requires you to register for an account which gives you further access but requires you to wait a day of two for your account to be approved.
Asus
http://support.asus.com/download/options.aspx?SLanguage=en
* You can either preform a model name search to find your device or press the select model manually and select if from the list. Common product model families for Android include Eee Pad (Select under Eee Family) and PadFone (In Handheld and Navigation, under Mobile Phone, then PadFone series). It includes everything from kernel source, firmware, USB drivers, and manuals.
Acer
http://support.acer.com/product/default.aspx
* Includes kernel source for some phones and tablets. To find your device click on the link that says select a product model if your device is a smartphone select smart handheld then select your device model. If your device is a tablet select tablet from the family of products list then select your device model.
Archos
http://www.archos.com/support/support_tech/updates.html?country=us&lang=en
* Includes the kernel source code for many of Archos tablets from several generations of products, as well as firmware and other experimental software for the tablet.
Dell
http://opensource.dell.com/releases/
* Kernel source for many of Dell's Android devices as well as some additional patches, and driver files.
Huawei
http://www.huaweidevice.com/worldwide/downloadCenter.do?method=index&type=software
http://consumer.huawei.com/en/support/downloads/index.htm
* Kernel source for many of Huawei's devices both phones and tablets, also includes platform code, firmware, and some user manuals, you can scroll through the available software by hitting the *more* button at the bottom of the page
Alcatel
http://sourceforge.net/projects/alcatel/files/?source=navbar
* Kernel source as well as other files for development of Alcatel branded devices
Other Resources
Qualcomm
https://www.codeaurora.org/xwiki/bin/QAEP/
https://www.codeaurora.org/cgit/
* Great resource for finding the kernel source code of many Qualcomm chipsets.
Amlogic
http://openlinux.amlogic.com/index.php/Arm/Kernel_Info
* Contains kernel source code for devices based on the Amlogic 6236M(sz/sh), 7266M(sz/sh), 8226M(dvbc), or 8726M chipsets.
Allwinner
https://github.com/linux-sunxi
http://linux-sunxi.org/Main_Page
*Wide range of development resources from kernel source, to tools, and lots of other information for devices based on the Allwinner platform
I hope the information in this guide helped you out
A Note On Mediatek (MTK) Sources
While Mediatek sources are not officially available except through third-party repositories (Usually github) or some manufactures websites, Mediatek is taking steps to be more open source and GPL compliant with the release of MediaTek Labs. You can sign up for and stay up to date on MediaTek's efforts by signing up for MediaTek Lab's here.
Huge thanks to POORCOLLEGEGUY and all the other XDA writers for featuring this on the portal on October 2, 2012!
Just wanted to say Thank you!
Very Nice Share For All Dev............ Many Many Thanks For it......
Please find source for Micromax Devices!
shimp208 said:
Shimp208's Guide to Finding the Kernel Source Code for your Device
Introduction
I see a lot of people asking how to start make custom kernels (This is well beyond the scope of this guide, for a great introduction check out Building Your First Kernel), or I want to port CM, AOKP, AOSP, etc. to my device. Well that great except you can’t begin to make a custom kernel or truly port CM, AOKP, AOSP, etc. without the appropriate kernel source code for your device. The following list tells you where you can find the kernel source code (Among other bits and pieces of code essential to development) for your device based on your manufacturer, as well as some other places to look for kernel sources.
Please Note: Not all manufactures release their kernel sources, and not all kernel sources are released for every device
Manufactures
LG
http://www.lg.com/global/support/opensource/opensource.jsp
* Under category select mobile phones and hit the search button located to the right, optionally you can enter in a model number to search for.
HTC
http://htcdev.com/devcenter/downloads
* You can easily find what you’re looking for by using the filters, for device, carrier, region, and android version. You will also find some useful files here besides kernel source code.
Samsung
http://opensource.samsung.com/index.jsp;jsessionid=52CC30D59B619BB5D77CE750C8AD80E1
* The easiest way to find your device is to use the search box and search for your devices model number.
Motorola
http://sourceforge.net/motorola/wiki/Projects/
* Contains some devices kernel source code as well as many device specific proprietary files.
Kyocera
http://www.kyocera-wireless.com/support/developers.htm
* Small selection of kernel source code in addition to some other code.
Sony (Ericsson)
http://developer.sonymobile.com/wportal/devworld/search-downloads/opensource?cat=&maxItemCount=100&q=&searchTargetPage=&sortField=release_date&sortOrder=true&sortState=
* Variety of kernel sources and some interesting release notes documents
Google
https://android.googlesource.com/?format=HTML
* Very large selection of kernel sources for Google devices as well as tons of other hardware specific files.
Pantech
http://opensource.pantech.com/model/list.asp?Category=Mobile
* You have to sign-up and create an account (Don’t worry it’s free and easy) before you can download the kernel sources. You can use the list on your left to quickly scroll through the available devices to find the one you are looking for.
ZTE
http://support.zte.com.cn/support/news/NewsMain.aspx?type=service
http://support.zte.com.cn/support/ServiceCenter/ServiceMain.aspx
* Random of assortment of kernel sources, software updates, and pieces of code for ZTE devices. Note, the second link requires you to register for an account which gives you further access but requires you to wait a day of two for your account to be approved.
Asus
http://support.asus.com/download/options.aspx?SLanguage=en
* You can either preform a model name search to find your device or press the select model manually and select if from the list. Common product model families for Android include Eee Pad (Select under Eee Family) and PadFone (In Handheld and Navigation, under Mobile Phone, then PadFone series). It includes everything from kernel source, firmware, USB drivers, and manuals.
Acer
http://support.acer.com/product/default.aspx
* Includes kernel source for some phones and tablets. To find your device click on the link that says select a product model if your device is a smartphone select smart handheld then select your device model. If your device is a tablet select tablet from the family of products list then select your device model.
Archos
http://www.archos.com/support/support_tech/updates.html?country=us&lang=en
* Includes the kernel source code for many of Archos tablets from several generations of products, as well as firmware and other experimental software for the tablet.
Other Resources
Qualcomm
http://https://www.codeaurora.org/xwiki/bin/QAEP/
* Great resource for finding the kernel source code of many Qualcomm chipsets.
Amlogic
http://openlinux.amlogic.com/index.php/Arm/Kernel_Info
*Contains kernel source code for devices based on the Amlogic 6236M(sz/sh), 7266M(sz/sh), 8226M(dvbc), or 8726M chipsets.
I hope the information in this guide helped you out
Click to expand...
Click to collapse
Please Give me the source for Micromax Devices (I do have Funbook Pro (P500))
any for huawei honor?
lucacerio said:
any for huawei honor?
Click to expand...
Click to collapse
Check out this link for huawei honor source:
http://hbf.by/index.php?/topic/16424-huawei-honor-u8860-kernel-source-308/
thatsgamer said:
Please Give me the source for Micromax Devices (I do have Funbook Pro (P500))
Click to expand...
Click to collapse
I wasn't able to find the source for Micromax devices and from what I have read they don't seem to release there kernel source . I suppose you could try contacting them about it if you wanted to.
thatsgamer said:
Please Give me the source for Micromax Devices (I do have Funbook Pro (P500))
Click to expand...
Click to collapse
shimp208 said:
I wasn't able to find the source for Micromax devices and from what I have read they don't seem to release there kernel source . I suppose you could try contacting them about it if you wanted to.
Click to expand...
Click to collapse
Micromax uses qualcomm chipsets. You can find their kernel here. Just look at your device's build.prop for ro.product.board. For example, my Micromax A57 uses msm7627a chipset.
Nice find I didn't realize that micromax used qualcomm I have that link in the op though already. Still great find though
Sent from my SCH-I535 using xda premium
thanks for this!
codeaurora link needs to be fixed though
Mediatek
Any kernel sources publicly available for Mediatek SOCs MT(K) 6575 6577 6583 6588 ? I couldn't find anything Is Mediatek open source friendly ?
PS: I ask this because I consider buying a dual sim dual active android phone and best bang for the buck seems to be offered by MT6577 devices like ZTE Grand X (V970), Huawei Ascend G500 (U8836D,U8832D) and many other chinese phones.
Also, devices based on MT658x started appearing on the market too.
shimp208 said:
Qualcomm
http://https://www.codeaurora.org/xwiki/bin/QAEP/
Click to expand...
Click to collapse
I don't think that http://https://.. is valid URL
invisiblek said:
thanks for this!
codeaurora link needs to be fixed though
Click to expand...
Click to collapse
SamePaul said:
I don't think that http://https://.. is valid URL
Click to expand...
Click to collapse
Thanks for pointing this out guys link should be fixed now!
" Dell "
anyone?
xtcdj15 said:
Any kernel sources publicly available for Mediatek SOCs MT(K) 6575 6577 6583 6588 ? I couldn't find anything Is Mediatek open source friendly ?
PS: I ask this because I consider buying a dual sim dual active android phone and best bang for the buck seems to be offered by MT6577 devices like ZTE Grand X (V970), Huawei Ascend G500 (U8836D,U8832D) and many other chinese phones.
Also, devices based on MT658x started appearing on the market too.
Click to expand...
Click to collapse
It seems Mediatek is not that open source friendly, the small bits and pieces I could find on Mediatek SOC's were long outdated or really incomplete sources.
prasad12ka4 said:
" Dell "
anyone?
Click to expand...
Click to collapse
Just updated the OP to include Dell sources
i want mediatek kernel please help me...i have new cloned phone and its touch stopped working...please help me so i can flash it with odin and update a new rom...
shimp208 said:
Sony (Ericsson)
http://developer.sonymobile.com/wportal/devworld/search-downloads/opensource?cat=&maxItemCount=100&q=&searchTargetPage=&sortField=release_date&sortOrder=true&sortState=
Click to expand...
Click to collapse
Great thread, here is an update: http://developer.sonymobile.com/downloads/xperia-open-source-archives
Mediatek
shimp208 said:
It seems Mediatek is not that open source friendly, the small bits and pieces I could find on Mediatek SOC's were long outdated or really incomplete sources.
Click to expand...
Click to collapse
Damn
I found few customized roms for Mediatek based phones....but virualy all of them use stock unmodified kernels form manufacturers.
Did any developer (interested in Mediatek based phones) tried to contact Mediatek regarding support policy for their SOCs ? The strange thing is that, although most mediatek based phones target Asia (China, India, etc), virtually all asian developers around xda-forum seems to target high end international phone models based on more widely spread SOCs. I wonder if this is related to poor SOC support from Mediatek or just poor phones quality. Probably first one .
---------- Post added at 01:02 PM ---------- Previous post was at 12:49 PM ----------
When I'll have enough posts to be able to post in devel section of the forum I'll try to contact Bruno Martin ( bgcngm ), the guy who released customized roms for both ZTE V970 and Huawei U8836D, maybe he have more details about Mediatek and this 2 phones.
How about MTK Kernel Source
I am new with the rom development and I would like to know if there is a way to create device specific code (mostly the device tree and the proprietary blobs) depending on the desired android sdk version. To be more specific, my device (Huawei P8 Lite) will not get an official nougat update and I would like to know the prerequisites and a good guide to follow, in order to create (and contribute to others - currently active devs) device specific code for my phone, since there is no open source for this phone.
Thanks in advance.
Many might think that this could be duplicate, but I haven't seen any question regarding the connection of the device tree and the android version ...
Maybe someone can use these to help with Libreelec, or better yet create one rom that will work on all S8 devices and forward port it to the current Android Version? Either way the entire devices tree as of 2015 is in the first archive. (Crossposted on freaktab)
I found most of these using http://www.pan115.com and other search sites like it.
Android Source (release_m8_kitkat44_20140823_patch_20150113_0303. tar.bz2) :
https://pan.baidu.com/s/1eQ9SBVO#list/path=/Amlogic/S8的资料/源码包&parentPath=/
Various - docs, tools, specs, confidential docs (use google translate):
https://pan.baidu.com/s/1eQ9SBVO#list/path=/Amlogic/S8的资料&parentPath=/
Users with lots of interesting things:
https://pan.baidu.com/share/home?uk=3630967200#category/type=0
https://pan.baidu.com/share/home?uk=3056934161#category/type=0
https://pan.baidu.com/share/home?uk=1663641602#category/type=0
https://pan.baidu.com/share/home?uk=3559450989#category/type=0
https://pan.baidu.com/share/home?uk=137011214#category/type=0
https://pan.baidu.com/share/home?uk=3630967200#category/type=0
Just to make it complete and maybe easier, the ARM souces from Amlogic.
Maybe not since they don't give access to most people and the device trees and many of their patches require an NDA.
Hello,
I have an MTK device (Ixion MS155, with MT6737 chipset, to be pricese) that I flashed with a custom ROM. Unfortunately, being new to flashing, I carelessly didn't backup the NVRAM with the IMEI numbers, which got reset to Null. I know that this problem can be addressed through the MTK Engineer Mode. But to activate the right menu option, I need an auxiliary package usually called CDS_INFO.apk, which was not included in the ROM. I found some versions of that package online, but they don't seem compatible with my specific device and/or ROM combination (one version almost works, but it seems that it was compiled against a different Android API/ABI version). This is not a very popular device model, so there are not many ROMs available for it, and I've not yet found one that is capable of running Engineering Mode with the right menu options.
Now, my main question is this: I did find a repository on GitHub (can't post a direct link: user Danile71, repository android_kernel_zte_run4g_mod, path /tree/master/mediatek/packages/apps/CdsInfo) with the source code for CDS_INFO.apk (as well as other low level packages like EngineerMode.apk itself). What could really help me is compiling these packages against the Android 7.1 API/ABI (which I believe would be API version 25). Now, I don't have any direct experience building APK packages from source. Could some kind soul help me out and build an appropriate version of these packages? CDS_INFO.apk and EngineerMode.apk would be sufficient for my purposes, but they might have some other internal dependencies.
Please let me know if there's a better subforum where to direct this request. Thank you in advance for any help!
hello again peeps,
ive been gently banging my head around these past few days because i keep walking into knowledge pockets and nothing i can find, in the form of help or internet information, is filling in these holes. i originally planned to take my oneplus device and obtain the source code for oxygenos so i could build and customise it. this seems to have become a dead end so now i just want to build stock android via AOSP, but i dont understand what software i need to get the AOSP working on any device, so far i understand that you need 3 components; 1) Kernel 2) Vendor files (if any) 3) "Proprietary binaries".
The problems are, i have no idea how to obtain these "proprietary binaries", i have no idea where to put any 3 of them in the downloaded android source tree (after repo sync), and i dont know if thats all the information i need to atleast build and flash a stock image onto any phone. i think i have the kernel files i need on OnePlusOSS github and there is a vendor.img in the OTA update files, and a directory in my phone. if anybody could please guide me in the right direction, it'd be very cool. i just want to get started and have some fun.
0
Seppppx said:
You can't customize Oxygen Os as the source code doesn't exist for that. (It's not required for companies to publish that.)
What phone do you have? You already might have the required trees to build AOSP (or at least LineageOS)
You need
1. A Device Tree
2. The kernel (you can use the prebuilt kernel if you really want)
3. The proprietary vendor blobs located in the vendor partition.
You will probably have to download the aosp-caf source code instead of aosp for it to be more easy.
https://www.youtube.com/channel/UCnGqG_jyyXmTzdamBpKfeHA
This is a great channel about Android building and has about everything you need to know.
Click to expand...
Click to collapse
thank you for every inch of text in your reply. I have a oneplus 8. Ah right, so the vendor folder CONTAINS the proprietary binaries/blobs.
it seems safest for me to use the kernel in the manufacturers github for the first flash as i want to be careful with making changes. may i ask what "aosp-caf" is? or can i find out using the resource you provided? thank you again.
my new understanding is, you need; 1) android source (e.g android-10-r5) 2) kernel 3) proprietary blobs. this helps a lot and is a lot clearer. the last issue i have is with knowing where to put the kernel and the blobs. i think if i am not mistaken you put the blobs in a vendor folder after the build? i am unsure with the kernel. i am going to definitely check this guy out. your time means a lot to me.