ROM? What the?!?! Why do people keep misspelling room? And often they capitalize it?
Kernel? What does popcorn have to do with a smartphone?
These answers and more will be addressed here.
The Android Operating System (OS) is based off of Linux and it's kernel. The Linux kernel operates like Unix.
The short definition of a Kernel would be:
A computer program that takes commands from hardware, converting it into a request for the software, and vice versa. Even though a user uses the Kernel with nearly every action, it is something that can't really be seen.
For more detailed information, you can go here: Android A to Z: What is a kernel? | Android Central
Kernels and ROMs can be flashed to your device. Many ROMs that can be downloaded often have a kernel preloaded. You can, however load a kernel independently. Different kernels can offer better battery life, more speed or even a balance between the two. Ensure the kernel you want to load is compatible with your device and Android version.
[WARN]As with anything else, make a Nandroid of your current setup before flashing any ROMs or kernels. This is your failsafe in the event something goes wrong.[/WARN]
As for a ROM: A ROM is a version of the OS. It is a bulk file that has commands for the system image, apps, and other related files and commands. Ice Cream Sandwich, Jelly Bean, KitKat, all ROMs. When someone who is completely stock gets an update to the OS, they are basically flashing a ROM, it is just that the flashing process is controlled by the carrier/OEM.
To make an analogy, your phone would be like a gaming console and the individual games would be like a ROM. ROMs are also kind of like buildings. You always have to start with a base and build up from there. Starting with 'Vanilla' Android, or what would be seen on a Nexus, OEMs take Vanilla, and add their own panache via features, or icon differences, or both.
[INFO]When flashing ROMs, it is always a good idea to wipe your device. Best practice would be to wipe cache, Dalvik, and factory reset.[/INFO]
[TIP]Even users who are bare bones stock, it is still a good idea to reboot into recovery and wipe the cache, as it may contain files that will drive the OS into errors.[/TIP]
Vanilla Android...
This is bare bones stock. Nothing fancy, completely Spartan. It's minimal layout actually helps to keep the ROM from growing in size. Icons and features are at times minor. But, to offset the difference is with minimal extras, there is less to make things go wrong.
OEM Skins...
This is where a manufacturer, say LG, will take Android, and change the look of it by adding their own icons, possibly even changing the order of things in the settings menu, and can add hooks into the ROM itself. A good example of a hook in the ROM would be the Samsung 'Smart' features. Because say the 'swipe to screen shot' is an action tied to a basic command in the ROM, this is why it can't be removed from the ROM itself.
Custom ROMs...
Custom ROMs can be based off of Vanilla Android, or a skinned version, like Touchwiz. In the case of skinned ROMs they can be debloated, or not. Vanilla type customs can have extra features added, or be fairly close to Vanilla. Any of these differences are how developer sees fit.
Further down, I will break down even further the differences between the ROMs.
Kernel? What does popcorn have to do with a smartphone?
These answers and more will be addressed here.
The Android Operating System (OS) is based off of Linux and it's kernel. The Linux kernel operates like Unix.
The short definition of a Kernel would be:
A computer program that takes commands from hardware, converting it into a request for the software, and vice versa. Even though a user uses the Kernel with nearly every action, it is something that can't really be seen.
For more detailed information, you can go here: Android A to Z: What is a kernel? | Android Central
Kernels and ROMs can be flashed to your device. Many ROMs that can be downloaded often have a kernel preloaded. You can, however load a kernel independently. Different kernels can offer better battery life, more speed or even a balance between the two. Ensure the kernel you want to load is compatible with your device and Android version.
[WARN]As with anything else, make a Nandroid of your current setup before flashing any ROMs or kernels. This is your failsafe in the event something goes wrong.[/WARN]
As for a ROM: A ROM is a version of the OS. It is a bulk file that has commands for the system image, apps, and other related files and commands. Ice Cream Sandwich, Jelly Bean, KitKat, all ROMs. When someone who is completely stock gets an update to the OS, they are basically flashing a ROM, it is just that the flashing process is controlled by the carrier/OEM.
To make an analogy, your phone would be like a gaming console and the individual games would be like a ROM. ROMs are also kind of like buildings. You always have to start with a base and build up from there. Starting with 'Vanilla' Android, or what would be seen on a Nexus, OEMs take Vanilla, and add their own panache via features, or icon differences, or both.
[INFO]When flashing ROMs, it is always a good idea to wipe your device. Best practice would be to wipe cache, Dalvik, and factory reset.[/INFO]
[TIP]Even users who are bare bones stock, it is still a good idea to reboot into recovery and wipe the cache, as it may contain files that will drive the OS into errors.[/TIP]
Vanilla Android...
This is bare bones stock. Nothing fancy, completely Spartan. It's minimal layout actually helps to keep the ROM from growing in size. Icons and features are at times minor. But, to offset the difference is with minimal extras, there is less to make things go wrong.
OEM Skins...
This is where a manufacturer, say LG, will take Android, and change the look of it by adding their own icons, possibly even changing the order of things in the settings menu, and can add hooks into the ROM itself. A good example of a hook in the ROM would be the Samsung 'Smart' features. Because say the 'swipe to screen shot' is an action tied to a basic command in the ROM, this is why it can't be removed from the ROM itself.
Custom ROMs...
Custom ROMs can be based off of Vanilla Android, or a skinned version, like Touchwiz. In the case of skinned ROMs they can be debloated, or not. Vanilla type customs can have extra features added, or be fairly close to Vanilla. Any of these differences are how developer sees fit.
Further down, I will break down even further the differences between the ROMs.
Last edited: