what are kernels? - General Questions and Answers

guys im new,just started to see how works android and stuff.
what are kernels?sort of drivers?

found here

In simple terms, the kernel is a bit of software that tells the operating system how to use the hardware. That includes the processors, RAM, buttons, speakers, the screen, etc. Root access is required to adjust kernel parameters, and an unlocked bootloader is required to flash custom kernels. A custom kernel can offer adjustments outside the stock settings, such as overclocking, undervolting, vibration intensity, screen color adjustments, touch-wake options, etc. A custom kernel has the potential (but no guarantee) to improve performance, battery life, and stability. Often custom kernels are more up-to-date than factory kernels, since the people that create and work on them base them on the latest from Linux/Android, while the manufacturers typically don't bother. But that depends on the device; for example a Nexus phone will have a plethora of custom kernels available to try, but some random Mediatek powered clone from China probably won't.

what are kernels in short.
kernels is a software domain chain which lets you interact with the os and the hardware.
donate me a thanks if it helped you.

With short words, kernel is bridge between software and hardware. An Android Kernel is essentially a modified Linux Kernel with specific modifications to support the device architecture. You can read more about it here: http://xda-university.com/as-a-developer/getting-started-building-a-kernel-from-source

Related

[Q] Port Android Questions

Ok, I know much of what I'm about to ask has generally been answered or discussed in other posts, but I could really use some more direct/specific answers to my own questions.
My first question is about hardware drivers. To my understanding, a great many, if not most, of the more common wifi drivers are incorporated into the latest linux kernels. If this is the case, will more or less any Android system run on a device so long as the appropriate kernel is provided?
To be a little more clear on that, I'm actually trying to learn Android development (both for apps and building roms) on a cheap Chinese tablet that I picked up. Naturally it already has a version of Android 2.2 pre-installed. However, I have not been able to extract the contents of the boot.img or the system.img, I keep getting an error, whereas I can unpack the SDK img's no problem. So I was hoping that I can get away without compiling a custom kernel, use the already existing one, and go ahead with tweaking the system.img from either the AOSP or SDK sources. Getting the source code from the manufacturer may be impossible since I can't even seem to find out who the manufacturer is or get their contact info.
I'm actually looking to port CM7 to my wife's LG Shine Plus eventually, but I don't want to pull a Tim Allen on her phone so I want to get some experience and feel for working with Android's internals on my tablet.
So my next question is still about drivers, but what I want to know is how are things like the LCD, touchscreen input, audio output, wifi and the cell radio handled on a typical Android device? Is it mostly handled by the hardware itself with the Android framework or kernel just passing universal APIs or do the drivers for each individual piece of hardware need to be compiled into the kernel? As in the gkisystem for radios, is this handled by the kernel or the framework? Which kinda brings me back to my first question, if it is built into the kernel itself, can I not use, for example, the already existing kernel on the LG Shine Plus (it's running 2.1) to port CM7?
Any and ALL help is honestly and truly appreciated. I've been looking for detailed answers for these questions EVERYWHERE.
** just bumping this post so that it can get seen**
any help or advice at all?

[Q] Looking for clarification concerning Android ROM architecture

I have been reading some of the items about people modifying ROMS, porting ROMS, etc. and I am not certain if I have all of the terminology correct. I am wondering if there is some type of architecture definition or diagram that would indicate the different parts of a ROM.
I found one web post that broke items down to kernel, libraries, bootloader, recovery, radio, framework, core, android runtime. What I don't know is what kind of correlation there is between a framework and runtime to a kernel. Is this a situation like Linux where you have a kernel with all of its drivers and you would run the Android GUI on top of that and any version of the Android GUI is going to work with pretty much any kernel, or is there some type of match-up between a kernel and specific versions of Android?
I have an Elocity A7+ which uses a Tegra II 1ghz dual core CPU. It was only built with Android 2.2. It seems like this tablet should be able to run ICS fairly well since I have seen a number of single core tablets running it. The manufacturer made the kernel source available for this tablet, but what I don't understand is if it is possible to build the ICS framework and runtime with this kernel.
Without detailed information it would seem to me that the kernel is taking care of interfacing directly with items like the touch screen, the camera, the audio system, the buttons, the wi-fi, etc. Do requirements for kernel interfaces change from android version to android version or can an ICS framework communicate with the kernel from a 2.2 device? Is there any kind of documentation that indicates what kernel calls have to be available to the different Android versions?
I apologize if I am not asking the right questions.

Shield Kernel Development - Unlinking Source

The general idea is to free the kernel from needing the source for every build.
The kernel currently uses DTB, but even that is included in the kernel source.
make tegra11_android_defconfig -j$CPU_JOB_NUM ARCH=arm CROSS_COMPILE=$TOOLCHAIN_PREFIX
make tegra114-roth.dtb -j$CPU_JOB_NUM ARCH=arm CROSS_COMPILE=$TOOLCHAIN_PREFIX
make -j$CPU_JOB_NUM ARCH=arm CROSS_COMPILE=$TOOLCHAIN_PREFIX
This has not been verified without the source already downloaded, but the general idea is to move toward being able to produce kernel packages with just the kernel repository.
https://github.com/StarKissed/roth-kernel-starkissed
Had to fix some make issues running a mac, but I'm hoping to have a build out soon.
Many of the changes come from Tegra 3, due to the lack of Tegra 4 devices, and will have to be tuned. This may lead to some initial instability.
The source was temporarily made private until it is fit to compile. This was done to prevent erroneous reports that it's broken when the issues are known and just require the time to address them.
Are you going to compile custom kernels and release them to public?
Antara33 said:
Are you going to compile custom kernels and release them to public?
Click to expand...
Click to collapse
When I get time. Right now there is a little too much going on already.
The source and commands may work but with using a Mac, even a source build results in loops, so I have to resolve that before saying it does the same thing.
After an interesting conversation, the mpdecision idea is pointless. I bought into the belief that it might be interesting to test an alternative, but the shield thermal control has been extremely well-designed.
The primary focus will be simply unlocking additional kernel features, such as extended ntfs support and alternate tcp settings along with integrating and updating the kernel to current Linux revisions.
twistedumbrella said:
The source and commands may work but with using a Mac, even a source build results in loops, so I have to resolve that before saying it does the same thing.
After an interesting conversation, the mpdecision idea is pointless. I bought into the belief that it might be interesting to test an alternative, but the shield thermal control has been extremely well-designed.
The primary focus will be simply unlocking additional kernel features, such as extended ntfs support and alternate tcp settings along with integrating and updating the kernel to current Linux revisions.
Click to expand...
Click to collapse
Any word on what's the status here? Why does the kernel source require the full source anyways?
I'm just looking to be able to build the vanilla kernel with no hacks, I just want to compile extra modules for the kernel where I need them
vostok4 said:
Any word on what's the status here? Why does the kernel source require the full source anyways?
I'm just looking to be able to build the vanilla kernel with no hacks, I just want to compile extra modules for the kernel where I need them
Click to expand...
Click to collapse
I had a recent realization after working with the Note 4 that should allow me to build the stuff needed to compile kernels without the source. I just have to verify I can make it a distributable file and we should be good.

What is a Custom Rom?

A ROM, for those who don't know, is an operating system build that runs on your device with basic applications such as an address book, calendar, camera, etc.
A major advantage of Android smartphones is that they can be operated by third-party systems and not only with the original ROM. Custom ROMs replace the pre-installed version of Android on devices. The substitution is made by a variation of the AOSP, adapted by volunteers with 'too much free time'.
These volunteers often work more frequently than the manufacturer itself – at least when it comes to updates.
AOSP?
AOSP means Android Open Source Program. It is a version of the open source code of Android, developed by Google in its consortium of brands to offer a pure version of the system, which is available to anyone. It can be modified by developers without the need to follow standards of Google applications.
Thanks to this project, the birth of custom ROMs like CyanogenMod, Paranoid Android, MIUI and others have come about.
Advantages of custom ROMs
System upgrade for older smartphones
Many Android owners already know this problem: the smartphone is already a year old but the manufacturer hasn't released updates to the device. The new versions of Android are not only interesting because they bring new features but also because they fill security gapps.
Third party firmware uses the official codification of Android as well as a compatible driver for smartphones. This keeps everyone up-to-date on the newest version of Android. And it's not difficult for a custom ROM to be more updated than the original firmware
The smartphone is faster
One of the biggest advantages of using custom ROMs is your smartphone will be faster. Themes and applications preinstalled by the manufacturer are reduced to almost nothing. This saves a lot of memory space and increases the device's performance.
Customization options galore
Custom ROMs not only bring the latest version of Android but also give you many customization options. The possibilities are almost limitless.
You have root access (administrative)
With root access, you have control over all of the functions of your device. With the original Android, some functions are hidden. Now the modified firmware gives you unlimited access to all the features of your smartphone. Furthermore, backups are performed more easily.
Ideal for purists
Since custom ROMs are based on the 'Android Open Source Project' they are enriched with more functions and the appropriate driver by the team behind the community firmware. So if you bought a less stocky Android device like a Sony or Samsung you can still get a stocky experience.
Disadvantages
Custom ROMs are wonderful but before you decide to change your device's original firmware you should familiarize yourself with the disadvantages of the process.
They void the warranty
If your phone is still under warranty, you could have the possibility of voiding it if you decide to install a custom ROM. There are just a few manufacturers that will tolerate changes to the device system. Xiaomi is one of them.
They're a lot of work
Custom ROMs are perfect for those who love a good challenge. But if this doesn't sound like you then you won't like custom ROMs. Between updates, the system root and unstable versions of a device, your patience could reach its limits.
The lack of Google applications
Third-party firmware comes with very few Google apps. The Play Store applications have to be installed again. The Google apps that you will need to install again can be found on the site.
Credits @ SHAHJADE ALAM
Devendar Reddy D said:
A ROM, for those who don't know, is an operating system build that runs on your device with basic applications such as an address book, calendar, camera, etc.
A major advantage of Android smartphones is that they can be operated by third-party systems and not only with the original ROM. Custom ROMs replace the pre-installed version of Android on devices. The substitution is made by a variation of the AOSP, adapted by volunteers with 'too much free time'.
These volunteers often work more frequently than the manufacturer itself – at least when it comes to updates.
AOSP?
AOSP means Android Open Source Program. It is a version of the open source code of Android, developed by Google in its consortium of brands to offer a pure version of the system, which is available to anyone. It can be modified by developers without the need to follow standards of Google applications.
Thanks to this project, the birth of custom ROMs like CyanogenMod, Paranoid Android, MIUI and others have come about.
Advantages of custom ROMs
System upgrade for older smartphones
Many Android owners already know this problem: the smartphone is already a year old but the manufacturer hasn't released updates to the device. The new versions of Android are not only interesting because they bring new features but also because they fill security gapps.
Third party firmware uses the official codification of Android as well as a compatible driver for smartphones. This keeps everyone up-to-date on the newest version of Android. And it's not difficult for a custom ROM to be more updated than the original firmware
The smartphone is faster
One of the biggest advantages of using custom ROMs is your smartphone will be faster. Themes and applications preinstalled by the manufacturer are reduced to almost nothing. This saves a lot of memory space and increases the device's performance.
Customization options galore
Custom ROMs not only bring the latest version of Android but also give you many customization options. The possibilities are almost limitless.
You have root access (administrative)
With root access, you have control over all of the functions of your device. With the original Android, some functions are hidden. Now the modified firmware gives you unlimited access to all the features of your smartphone. Furthermore, backups are performed more easily.
Ideal for purists
Since custom ROMs are based on the 'Android Open Source Project' they are enriched with more functions and the appropriate driver by the team behind the community firmware. So if you bought a less stocky Android device like a Sony or Samsung you can still get a stocky experience.
Disadvantages
Custom ROMs are wonderful but before you decide to change your device's original firmware you should familiarize yourself with the disadvantages of the process.
They void the warranty
If your phone is still under warranty, you could have the possibility of voiding it if you decide to install a custom ROM. There are just a few manufacturers that will tolerate changes to the device system. Xiaomi is one of them.
They're a lot of work
Custom ROMs are perfect for those who love a good challenge. But if this doesn't sound like you then you won't like custom ROMs. Between updates, the system root and unstable versions of a device, your patience could reach its limits.
The lack of Google applications
Third-party firmware comes with very few Google apps. The Play Store applications have to be installed again. The Google apps that you will need to install again can be found on the site.
Credits @ SHAHJADE ALAM
Click to expand...
Click to collapse
A custom rom is anything that is not stock from a manufacturer first off, you can have modified stock rom and it is a custom one bc you modified it. What you are talking about here is a source built rom with heavy modifications. Secondly they do not void your warranty. Tripping knox or bootloader security voids your warranty. And this does not always occur when rooting and you can reset that flag most of the time and flash stock firmware before sending your phone back in for warranty.

What actually is a kernel?

I see a lot of people talking about flashing kernels and stuff, but what actually is it? What does it do? What benefits does it bring to your device?
In the world of Android term kernel refers to a modified Linux kernel. The kernel represents the lowest layer of the operating system in that it is responsible for controlling the hardware. Processor clock, memory accesses and other accesses to the hardware are executed by the kernel,
In other words the kernel generally serves as an interface between the hardware and the rest of the operating system with the program control, the Android runtime ("ART" or formerly "Dalvik"). Since the kernel is, among other things, responsible for the timing of hardware accesses, you can achieve significant improvements in terms of performance and battery life by changing the kernel.
xXx yYy said:
In the world of Android term kernel refers to a modified Linux kernel. The kernel represents the lowest layer of the operating system in that it is responsible for controlling the hardware. Processor clock, memory accesses and other accesses to the hardware are executed by the kernel,
In other words the kernel generally serves as an interface between the hardware and the rest of the operating system with the program control, the Android runtime ("ART" or formerly "Dalvik"). Since the kernel is, among other things, responsible for the timing of hardware accesses, you can achieve significant improvements in terms of performance and battery life by changing the kernel.
Click to expand...
Click to collapse
Thank you so much
I assume you aren't talking about this
The Linux kernel, which Android runs on, is essentially the "core" of the operating system. It interfaces with the device hardware and provides a software platform for applications to run on.
Here's something that should help put things in perspective:
"Devices" in this context means camera, display, digitizer (touchscreen), I/O's such as WiFi and Bluetooth, etc.

Categories

Resources