[KERNEL] Mate9 vs. HiKey960 - Huawei Mate 9 Guides, News, & Discussion

Huawei is extremely reluctant to publish the Linux 4.x kernel source code they are using on Mate9, although it is a blatant violation of the General Public License (GPL).
Meanwhile one can buy a (overpriced) HiKey960 development board https://www.amazon.de/ALLNET-LeMaker-4xARM-Cortex-LEMAKER-HIKEY960/dp/B071429D9W , which is a heavily stripped down version of Mate9: no LCD+touchscreen, no modem, no GPS, no accelerometer/gyroscope/compass, less RAM, etc.
Linaro/Huawei are providing the full 4.4 (and 4.9) kernel source code together with the
Debian image and AOSP, and full schematics for this board: https://github.com/96boards-hikey/tools-images-hikey960/blob/master/README-technical.md
I think we should make a side-by-side comparison of HiKey960 and Mate9 hardware and (closed source) firmware. Feel free to post your findings here, because it seems to be our only real chance to have a properly running LineageOS on Mate9 in a timeslot before this device will become obsolete.

Related

What is a kernel?

this might be a stupid question, but what is a kernel and how do u use them? i know what a rom is and how to install but not a kernel....
Wikipedia definition:
"In computing, the kernel is the central component of most computer operating systems; it is a bridge between applications and the actual data processing done at the hardware level. The kernel's responsibilities include managing the system's resources (the communication between hardware and software components).[1] Usually as a basic component of an operating system, a kernel can provide the lowest-level abstraction layer for the resources (especially processors and I/O devices) that application software must control to perform its function. It typically makes these facilities available to applicationprocesses through inter-process communication mechanisms and system calls."
Since Android is based on Linux: (don't know if this relevant)
"The Linux kernel is an operating system kernel used by the Linux family of Unix-like operating systems.[6] It is one of the most prominent examples of free and open source software.[7]
The Linux kernel is released under the GNU General Public License version 2 (GPLv2),[4] (plus some firmware images with various licenses), and is developed by contributors worldwide. Day-to-day development takes place on the Linux kernel mailing list.
The Linux kernel was initially conceived and created by Finnish computer science student[8] Linus Torvalds in 1991. Linux rapidly accumulated developers and users who adopted code from other free software projects for use with the new operating system.[9] The Linux kernel has received contributions from thousands of programmers.[10] Many Linux distributions have been released based upon the Linux kernel."
I have a question too.
When I boot ubuntu 10.04, the kernel comes up as 2.6.32, I think this is the same number as a previous android kernel. So how close is the android kernel to the linux kernel, us it a fork? When the new linux kernel comes out, will the android kernel be updated to reflect that?
What the little brown things are in a popcorn bag before you pop it XD
I thought it would be better to ask here than start a new thread but i have never installed a kernal before and was wondering how, do you just flash it in recovery? I have the desire rom and would like for my speaker to be a bit louder.
With kernels, I usually do ADB command.
liam.lah said:
So how close is the android kernel to the linux kernel, us it a fork?
Click to expand...
Click to collapse
It's the same with some Android and phone specific patches applied. A config file decides what architecture to build for and what drivers to include. That's what lets us bring in cutting edge features like compcache and BFS quickly.
Nice to think that your phone is running the exact same code that the world's fastest supercomputer is.

XDA-Developers and the GPL

Dear Developers
I'm sure you already heard about the GPL around the forums. In case you did not, the GPL ("GNU General Public License") is the most common license that affects many projects, like the Linux Kernel (the Linux Kernel is licensed under the GPLv2). This affects us, XDA and its members, as we are often working with the Linux Kernel (every Android platform runs on top of the Linux Kernel).
You may ask yourself now "Well, that's nice, but how does this affect me and what does the GPL do?" The answer is pretty simple actually: The GPL guarantees users to examine, modify and share their and others code by enforcing open-sourceness. This means you are free to use any GPL'ed sourcecode for your project, but you must make your used code publically available again.
Now, as many advantages this has, it also means quite some work for us developers. All used sources must be completely public by the time the compiled binary (like a Kernel) goes online. Another requirement is, that the OP must include all information to compile the exact same binary as uploaded by the developer. This means you need to specify:
The used toolchain including its version (linking to your toolchain source is always a good idea)
The used defconfig
The link to your sourcecode (including the used branch, tags,...)
If used, also upload your scripts used for the compilation
If you upload a kernel, publish the source, but the source is not compilable, it means you are breaking the GPL as you did not release the used source. Breaking the GPL actually means breaking the law, which means the sanctions on XDA could possibly be the least of your problems...
Example:
GPL:
- Used sources (cm-10.1 branch)
- Used defconfig
- Used toolchain
- Used scripts
Click to expand...
Click to collapse
@ROM devs, using a precompiled kernel
As you are not compiling the kernel yourself, you do not have to give the above information. However, you have to link to the source of your kernel binary (for example: link to the OP of the used kernel). If you use the stock kernel, you must state this. Linking to the stock sources is not a requirement, but it is not the worst idea.
Keep in mind; if the kernel used is not GPL compliant, your ROM is not GPL compliant either. This may cause your thread to be closed and/or further action on your account may be taken.
Example:
GPL:
The kernel included in this ROM is located HERE. I have not altered anything.
Click to expand...
Click to collapse
If you need/want further information, you might want to take a look at THIS news article written by our Developer Admin pulser_g2

XDA-Developers and the GPL

Dear Developers
I'm sure you already heard about the GPL around the forums. In case you did not, the GPL ("GNU General Public License") is the most common license that affects many projects, like the Linux Kernel (the Linux Kernel is licensed under the GPLv2). This affects us, XDA and its members, as we are often working with the Linux Kernel (every Android platform runs on top of the Linux Kernel).
You may ask yourself now "Well, that's nice, but how does this affect me and what does the GPL do?" The answer is pretty simple actually: The GPL guarantees users to examine, modify and share their and others code by enforcing open-sourceness. This means you are free to use any GPL'ed sourcecode for your project, but you must make your used code publically available again.
Now, as many advantages this has, it also means quite some work for us developers. All used sources must be completely public by the time the compiled binary (like a Kernel) goes online. Another requirement is, that the OP must include all information to compile the exact same binary as uploaded by the developer. This means you need to specify:
The used toolchain including its version (linking to your toolchain source is always a good idea)
The used defconfig
The link to your sourcecode (including the used branch, tags,...)
If used, also upload your scripts used for the compilation
If you upload a kernel, publish the source, but the source is not compilable, it means you are breaking the GPL as you did not release the used source. Breaking the GPL actually means breaking the law, which means the sanctions on XDA could possibly be the least of your problems...
Example:
GPL:
- Used sources (cm-10.1 branch)
- Used defconfig
- Used toolchain
- Used scripts
Click to expand...
Click to collapse
@ROM devs, using a precompiled kernel
As you are not compiling the kernel yourself, you do not have to give the above information. However, you have to link to the source of your kernel binary (for example: link to the OP of the used kernel). If you use the stock kernel, you must state this. Linking to the stock sources is not a requirement, but it is not the worst idea.
Keep in mind; if the kernel used is not GPL compliant, your ROM is not GPL compliant either. This may cause your thread to be closed and/or further action on your account may be taken.
Example:
GPL:
The kernel included in this ROM is located HERE. I have not altered anything.
Click to expand...
Click to collapse
If you need/want further information, you might want to take a look at THIS news article written by our Developer Admin pulser_g2

XDA-Developers and the GPL

Dear Developers
I'm sure you already heard about the GPL around the forums. In case you did not, the GPL ("GNU General Public License") is the most common license that affects many projects, like the Linux Kernel (the Linux Kernel is licensed under the GPLv2). This affects us, XDA and its members, as we are often working with the Linux Kernel (every Android platform runs on top of the Linux Kernel).
You may ask yourself now "Well, that's nice, but how does this affect me and what does the GPL do?" The answer is pretty simple actually: The GPL guarantees users to examine, modify and share their and others code by enforcing open-sourceness. This means you are free to use any GPL'ed sourcecode for your project, but you must make your used code publically available again.
Now, as many advantages this has, it also means quite some work for us developers. All used sources must be completely public by the time the compiled binary (like a Kernel) goes online. Another requirement is, that the OP must include all information to compile the exact same binary as uploaded by the developer. This means you need to specify:
The used toolchain including its version (linking to your toolchain source is always a good idea)
The used defconfig
The link to your sourcecode (including the used branch, tags,...)
If used, also upload your scripts used for the compilation
If you upload a kernel, publish the source, but the source is not compilable, it means you are breaking the GPL as you did not release the used source. Breaking the GPL actually means breaking the law, which means the sanctions on XDA could possibly be the least of your problems...
Example:
GPL:
- Used sources (cm-10.1 branch)
- Used defconfig
- Used toolchain
- Used scripts
Click to expand...
Click to collapse
@ROM devs, using a precompiled kernel
As you are not compiling the kernel yourself, you do not have to give the above information. However, you have to link to the source of your kernel binary (for example: link to the OP of the used kernel). If you use the stock kernel, you must state this. Linking to the stock sources is not a requirement, but it is not the worst idea.
Keep in mind; if the kernel used is not GPL compliant, your ROM is not GPL compliant either. This may cause your thread to be closed and/or further action on your account may be taken.
Example:
GPL:
The kernel included in this ROM is located HERE. I have not altered anything.
Click to expand...
Click to collapse
If you need/want further information, you might want to take a look at THIS news article written by our Developer Admin pulser_g2

So the kernel source for e9lte/LMT600QS has been posted to LG's open souce website

OpenSource Code Distribution
Does this help anyone with custom rom development / bootloaders / rooting?
I feel like this device still has a fairly large userbase, and would benefit from some new life.

Categories

Resources