Difference between ROM and Kernel?

Search This thread

intermension

New member
Jan 5, 2012
1
13
The kernal is contained by and is the core of the ROM. The ROM accesses hardware services via the kernal.

The kernal wraps (abstracts) the hardware so that all the other aspects of the ROM can make simplified calls to the kernal when they want to access the hardware in some way.

So the kernal is an interface to the hardware. It's value is in wrapping the hardware into a nice set of API calls for the ROM that abstract away the messy details of interacting with the hardware.

Otherwise every part of the ROM would have to know the ins and outs of the hardware. This leads to bloated, fragile components.

So yes you can alter the kernal independently of the ROM. But you must ensure that when replacing your kernal your ROM can still understand how to make calls into it. i.e. Not all kernals are compatible with all ROMs. When you do a ROM update however you are typically replacing both the ROM and the kernal. i.e. the kernal is bundled with in your ROM update.

But when you do something like rooting. You are replacing your "bundled" kernal with one that allow you superuser access to core of the OS/ROM. So in this instance the outer shell (i.e. the ROM) is being left as is and you are just replacing the inner core. i.e. kernal.

hth
Richard
 
Last edited:

bassmadrigal

Senior Member
Jun 4, 2010
1,293
515
40
Newport News, Virginia
bassmadrigal.com
But when you do something like rooting. You are replacing your "bundled" kernal with one that allow you superuser access to core of the OS/ROM. So in this instance the outer shell (i.e. the ROM) is being left as is and you are just replacing the inner core. i.e. kernal.

Rooting actually does not require replacing the kernel... you are just adding the required binaries to the system that allows root access. Replacing the kernel is done through recovery. This is why you can flash the superuser zip file to any ROM. It just adds the necessary files that allow you to obtain root access.
 

PenguinDroid

Member
Mar 23, 2012
27
1
Belgrade
Galaxy S Plus GT- i9001

My phone isnt very popular so I was excited when I found a cm9 port somewhere, but it turned out to be very buggy, just like my stock rom was before flashing a kernel, so i thougt that this was because of the kernel and tried to flash some(feaxore and cranium), but with every one I just got a bootloop. Can somebody tell me why? Id ask this in the rom's or kernel's thread but Im still a noob on xda... thank you for reading this!
 

n1newbie

Senior Member
Oct 14, 2011
1,036
259
Tamil Nadu
@penguindroid. those kernels you flashed might be not be compatible wid your rom. search for the correct kernel before flashing :)

Sent from my Nexus One using Tapatalk
 
  • Like
Reactions: PenguinDroid

PenguinDroid

Member
Mar 23, 2012
27
1
Belgrade
Thanks, but i dont think there is any... oh, can i ask you why do roms require a certain recovery? I also get bootloop unless i have cwm instead of feamod...
 

PenguinDroid

Member
Mar 23, 2012
27
1
Belgrade
Galaxy S Plus i9001 with an unofficial port of Cyanogenmod 9, and I get bootloop with:
Stock cm9 kernel & feamod recovery (based on cwm 5.5.0.4)
Feacore Phoenix kernel & feamod recovery
Cranium v6 kernel & ClockWorkMod recovery (port by, i think, arco68)

I also think that flashing cranium v6 switched my recovery back (from cwm) to feamod, but Im not sure (just ignore that part, I preffer feacore)
 

istvan_06

Member
Sep 5, 2013
22
2
changing kernel

Hello,

I am newbie here and have got not too much experience with android mobiles. I would like to replace my Samsung Galaxy Y's kernel with a better one. Could you please tell will i have my original language settings after that or not? I use hungarian language and do not want to loose it.
I think the rom includes the language settings and kernel not cares about it.

Istvan
 

bbanana

Member
Jun 16, 2013
44
7
Hello,

I am newbie here and have got not too much experience with android mobiles. I would like to replace my Samsung Galaxy Y's kernel with a better one. Could you please tell will i have my original language settings after that or not? I use hungarian language and do not want to loose it.
I think the rom includes the language settings and kernel not cares about it.

Istvan

I wana build a 3.x.x kernel for my m110s model but it seem cant. I dont understand your question about your language, if the custom rom has no support you language u can translate it. It's really easy to translate a rom but need any times. About kernel, i think no one can help u for the old model, xda forums and samsung never mind abt old model. I're pm to so muck guys to ask the help, but no one reply me. Let try by yourself guy, i will help u if i am not a bussiness administrator, i wil help u if i were knowge android any more.

Gửi từ SHW-M110S của tôi bằng cách sử dụng Tapatalk 2
 

istvan_06

Member
Sep 5, 2013
22
2
I wana build a 3.x.x kernel for my m110s model but it seem cant. I dont understand your question about your language, if the custom rom has no support you language u can translate it. It's really easy to translate a rom but need any times. About kernel, i think no one can help u for the old model, xda forums and samsung never mind abt old model. I're pm to so muck guys to ask the help, but no one reply me. Let try by yourself guy, i will help u if i am not a bussiness administrator, i wil help u if i were knowge android any more.

Gửi từ SHW-M110S của tôi bằng cách sử dụng Tapatalk 2

Thanks to Doky73 the issue is fixed. My mobile's menu language hungarian and did not know will it be still hungarian after a kernel "upgrade". He said the original lanuage will be available after the upgrade.He was right, the menu language did not changed at all. :) Thanks
 
  • Like
Reactions: bbanana

Top Liked Posts

  • There are no posts matching your filters.
  • 13
    The kernal is contained by and is the core of the ROM. The ROM accesses hardware services via the kernal.

    The kernal wraps (abstracts) the hardware so that all the other aspects of the ROM can make simplified calls to the kernal when they want to access the hardware in some way.

    So the kernal is an interface to the hardware. It's value is in wrapping the hardware into a nice set of API calls for the ROM that abstract away the messy details of interacting with the hardware.

    Otherwise every part of the ROM would have to know the ins and outs of the hardware. This leads to bloated, fragile components.

    So yes you can alter the kernal independently of the ROM. But you must ensure that when replacing your kernal your ROM can still understand how to make calls into it. i.e. Not all kernals are compatible with all ROMs. When you do a ROM update however you are typically replacing both the ROM and the kernal. i.e. the kernal is bundled with in your ROM update.

    But when you do something like rooting. You are replacing your "bundled" kernal with one that allow you superuser access to core of the OS/ROM. So in this instance the outer shell (i.e. the ROM) is being left as is and you are just replacing the inner core. i.e. kernal.

    hth
    Richard
    9
    To my understanding, a kernel is what directly interacts with the hardware. Every OS has this, but it's more customizable on our phones since it's based on Linux. The Rom contains the OS itself, and the software and file structure therein. The kernel even can tell the OS how fast the processor goes and how much juice to use from the battery.

    Hope that makes sense, as I'm no expert. You can mix and match the two as far as I know. I've mixed them, anyway.
    6
    Thank you your post..

    but i can't understand clearly.
    so.,

    which one is better to install NewRom / Kernal. for android phones.

    I know both Dude Random21 and codesplice have gone into this, but to try and give a bit more info...

    The kernel is kinda like the nervous system of the body. It directly interacts with the hardware (which is how it is able to adjust CPU speed) and it is what allows the ROM to function.

    The ROM is the rest of the body. Every other aspect of the phone. In fact, most ROMs include custom kernels. Various ROMs give you various features/enhancements/bugfixes. You will probably notice the biggest change in your phone if you load a custom ROM. Most people load the custom kernels to help with battery life as a lot of them allow you to lower the phones minimum processing speed from 245Mhz to 128MHz.

    The ROM can change so many different aspects of how the phone works. There is CyanogenMod which is based off of stock Android with a lot of tweaks, bugfixes, and new features added. There is also MIUI, which is similar to the iOS style (not the same, but much closer than stock Android), and then there are a ton others out there.
    5
    Hello,

    Sorry for this very basic question, I am just wondering what is the difference between a Kernel and a ROM? I see in the development forum there are lots of new Kernels, what are these actually optimizing except underclocking or undervolting (understand that terminology). I am also wondering if the Kernels are specific for the original Nexus One 2.1 Android or can you install for example Modaco or Cyan ROM and then a different random Kernel?

    Thanks!
    5
    Neither one is better it just depends on what you want to do.

    If you want to totally change over your phone to look and function differently then you need to flash a ROM if you just want to keep the same look but want to enable lets say overclocking then flash an overclocked kernel. If it has to do with the hardware mostly then it's probably something that the kernel can change. Although like mentioned above if you flash a ROM most of the time it will come with a custom kernel.