What's the difference between Kernal and ROM?

Discussion in 'Android Hacks and Help' started by HamDog, Sep 13, 2010.

  1. HamDog
    Offline

    HamDog New Member

    Joined:
    Aug 3, 2010
    Messages:
    191
    Likes Received:
    0
    Trophy Points:
    0
    I'm kinda confused about the difference between these two. As I understand, ROM basically is the equivalent of an "image" in Windows terms. You're just copying someone else's image on to your Droid. And this image also contains a specialized kernal. Using a ROM, you overwrite everything on your Droid and you have to completely redesign it by reinstalling all your apps and creating all your shortcuts. Correct?

    With a kernal, you are just doing something to the operating system, not copying an entire image. All of your programs remain there and don't need to be installed again. And all icons remain in their place.

    Do I have this right???

    I'm just rooted, running 2.2. I just want to be able to overclock. So I would just need a kernel - right? Any recommendations on the most stable kernal with overclocking capabilities? And are there any kernals (or even ROMs) that get rid of the big redraw lag?
  2. Tallica
    Offline

    Tallica Premium Member Rescue Squad Premium Member

    Joined:
    Mar 17, 2010
    Messages:
    3,259
    Likes Received:
    0
    Trophy Points:
    36
    Location:
    Middleboro, MA
    You got it pretty much right.

    Try link 1 in my sig for more info
  3. log
    Offline

    log New Member

    Joined:
    Aug 26, 2010
    Messages:
    51
    Likes Received:
    0
    Trophy Points:
    0
  4. jimbob_sf
    Offline

    jimbob_sf New Member

    Joined:
    Jul 8, 2010
    Messages:
    12
    Likes Received:
    0
    Trophy Points:
    0
    I had the same question when I rooted my Droid. It was somewhat frustrating b/c most topics on the forums assumed that the reader fully understood this principle and this basic concept was missing from most of the "read this first" sticky posts.

    I'm certainly not a developer or a hard-core contributor to the forums. I'm the guy who wanted more from his Droid and wanted it to "work". Someone may have a more complete description, but I have grown to think of the ROM = complete OS, and the Kernel = set of code that just controls CPU and some other low-level functions within the ROM.

    An image implies a ghost of a fully configured OS where as a ROM is an install of an OS that you will have to configure once installed. Like most OS, you can apply updates. Some are small, like a service pack, and some are big, like Vista-> Win 7. The trick is figuring out if you're doing a service pack update or a big update (format/wipe first).

    AFAIK, you can swap out kernels at your whim as long as they are compatible with your version of Android (2.1, 2.2). Backup first for safety, but I've never had a problem flashing a kernel. Don't like it? Flash a different one.

    I've tried a bunch of different ROMs and kernels. I use CM6 and I tried a bunch of kernels with it. The best one I've used, in terms of speed, battery usage, and WiFi stability, is the jdlfg 1200 kernel. With SetCPU set up properly, it can easily get through a whole day of active business use and everything works.

    Everyone has favorites and there are tons of opinions out there, this is just mine. The beauty of ROM Manager is that you can back up what's working for you and try anything you like. If I ever try a new ROM or a major update to CM, I do a full wipe and spend the hour re-configuring it just to make sure the install is clean. Titanium can accelerate a wipe / install, but you'll only learn by doing it a bunch. Remember, backup first, and go at it with whatever ROM/Kernel and process you find works. XDA forums are also very helpful.

    Hopefully one of the moderators will build out this topic in one of the primer threads because this is something every new rooter needs to know. Maybe they have, I just haven't looked at the starter threads in a while.
  5. DF Smod
    Offline

    DF Smod New Member

    Joined:
    Apr 23, 2010
    Messages:
    11,470
    Likes Received:
    93
    Trophy Points:
    0
    ^ There is a sticky thread entitled "Android Terminology for Dummies" which gives a very good overview of all of this lingo, I will try to find it for you and post the link :)
  6. DF Smod
    Offline

    DF Smod New Member

    Joined:
    Apr 23, 2010
    Messages:
    11,470
    Likes Received:
    93
    Trophy Points:
    0
  7. Se7enLC
    Offline

    Se7enLC New Member

    Joined:
    Nov 16, 2009
    Messages:
    1,263
    Likes Received:
    0
    Trophy Points:
    0
    Wow, that dummies guide is terrible. Here's what it says about "kernel" and "rom":

    Kernel: The govenor of the CPU useage and Battery output, one can upload certain Kernals to achieve greater performance speed of their device at the cost of some battery life

    To call it a "governor" is especially confusing, because there is a "cpu scaling governor" which is another important android term that it will be confused with. It doesn't do anything to cpu usage OR battery output. The tradeoff being described here is actually the overclocking tradeoff, not the kernel selection tradeoff.

    What a kernel ACTUALLY is: The kernel is the core of the linux operating system - the bridge between hardware and higher level software. It contains the drivers for devices. The main reasons for changing your kernel: overclocking, access to different drivers/options, and modified init filesystem. These can include: cpu scaling governors, wifi netfilter for tethering, cpu temperature monitoring driver, additional filesystem types, and allowing for startup programs.

    ROM: Read Only Memory, a program used to make changes to anything from the look of the home screen, to icons to custom boot animation

    ROM does mean "Read Only Memory", but it is not a program, and does not "make changes". In the context of android hacking community, a ROM is typically a zip file of software to be installed in /system, and it might also include a boot image (a kernel and init filesystem). When you install a ROM, it will make changes to your system software, probably also installs a new kernel. It generally does not install things into your /data partition or /sdcard, but many roms will require that you erase your /data partition to make sure that they work properly.

    *Outside of the android hacking context, a ROM is a type of memory that cannot be written to - only read from. Some types of ROMs (EEPROM, Flash ROM, etc) can be written to, but it is generally understood that they are meant to be read more than written. The line is blurred now with solid-state drives, SD cards, and other "read-only" media that are easily written to. ROM can also refer to the image that is stored to that device - usually a direct dump of the data, byte for byte.
  8. DF Smod
    Offline

    DF Smod New Member

    Joined:
    Apr 23, 2010
    Messages:
    11,470
    Likes Received:
    93
    Trophy Points:
    0
    I didn't write it, or read it for that matter, I just posted it :)

    Thanks for clearing up any confusion I might have caused by linking this thread to another one of mis-information
  9. Darkseider
    Offline

    Darkseider New Member

    Joined:
    Mar 12, 2010
    Messages:
    1,866
    Likes Received:
    0
    Trophy Points:
    0
    Almost. Android the operating system is ONLY the Kernel just like Linux is only the Kernel. The ROM, includes a kernel, but in essence would be the distribution. Similar to a linux distro. The GUI, applications, etc... are all just pieces that run on top of the kernel.
  10. HamDog
    Offline

    HamDog New Member

    Joined:
    Aug 3, 2010
    Messages:
    191
    Likes Received:
    0
    Trophy Points:
    0
    Thanks everyone for helping. Se7enLc, you make a very good point about ROM. That is one place many get confused as it's meaning in the Android community is completely different than it's meaning in the general computer and chip world.
  11. Se7enLC
    Offline

    Se7enLC New Member

    Joined:
    Nov 16, 2009
    Messages:
    1,263
    Likes Received:
    0
    Trophy Points:
    0
    Neither Linux nor Android OS are only the kernel. The kernel is only the kernel, the operating system is made up of system software AND a kernel. Even in Windows - there's a kernel and there's additional software. A kernel by itself is too low a level to even be able to load applications - you need something on top of that to be able to use the computer, so you can't call it an operating system.

    Operating system - Wikipedia, the free encyclopedia
    Kernel (computing) - Wikipedia, the free encyclopedia

    There's a lot of grey area with linux, and more so with Android, but a kernel is not an operating system. I would call AndroidOS either a "linux-based derivative" or an operating system that runs "on top of" linux.

    Comparing ROMS to distributions/flavors of linux is spot on, though - they are all types AndroidOS, but they are different enough from eachother.
  12. Darkseider
    Offline

    Darkseider New Member

    Joined:
    Mar 12, 2010
    Messages:
    1,866
    Likes Received:
    0
    Trophy Points:
    0
    Linux and Android are essentially only the kernel. All either needs to be functional as an OS is a shell whether it be bash, csh, jsh, tcsh, jc, sh, rsh, etc... Everything runs on top of the kernel even the UI. So all that widgety, GUI goodness is just a wrapper for the underlying OS, which is by default, the kernel. Which provides, IO, memory management, device management and handles system calls and processes. You can remove the GUI and widgety goodness of both Android AND Linux and run the whole thing through a terminal/shell and still have a basic functioning OS. Depending on the shell, bash for instance, which has commands that are shell specific you will have a higher functioning OS than say runnnig sh.
  13. rwking
    Offline

    rwking New Member

    Joined:
    Sep 27, 2010
    Messages:
    215
    Likes Received:
    1
    Trophy Points:
    0
    So are ROMs essentially only for cosmetic changes to the device? Look/feel, built-in apps., etc?
Search tags for this page
difference between custom rom and kernel
,

difference between kernel and rom

,

difference between rom and kernel

,
what is custom kernel and rom
,
what is different between rom and kernel
,
what is the diference between kernal and rom
,
what is the difference between a rom and a kernel
,
what is the difference between rom and kernel
,
what is the difference between stock kernal or custom kernal
,
what's the difference between a rom and a kernel
,
whats the difference between a rom and a kernel
,
whats the difference between kernel and rom