Updated 10/25
There's a kernel you like, but it is only available packaged with the developer's ROM. You like the features of a different ROM, but want to use the kernel of the first ROM. Or maybe you want to keep your stock ROM, but use a kernel packaged in a custom ROM. What do you do? You extract the kernel (this sounds a lot cooler than it actually is).
Standard disclaimer: this procedure should not be done by anyone ever. But if you do do it and blow your phone up into tiny little pieces, I am not responsible
You might have noticed that all ROMs and kernels come in zip files, which you install in ClockworkMod Recovery. Ever tried looking in one of those zip files? You'll find a bunch of files and folders. One of these files, called "zImage", is the kernel. Here is how to take a kernel out of a ROM to use in another ROM or by itself, in 3 (you should already have done step 0 but I put it there just in case) easy steps:
0) Make a backup of your phone using ClockworkMod Recovery. This is extremely important - if you mess anything up, you'll have a system backup as a restore point. If you don't know how to do this or what I'm talking about, there are several threads in this sub-forum explaining how.
1) If you don't already have it, download ASTRO file manager - this will let you view and modify the internals of zip files without extracting them. This is important because other users have reported problems with the unzip ROM>modify ROM>re-zip ROM method.
2) On your computer, unzip the ROM you want to extract the kernel from (it's ok to unzip this ROM since you won't be flashing it) and find the "zImage" file. It will be in a folder called "kernel_update". Set this file aside.
Now, if you are putting the extracted kernel into a ROM that comes with its own kernel, go to step 3a. If the ROM does not come with its own kernel or you want to install the extracted kernel without a ROM, go to step 3b.
3a) Place the ROM you plan on flashing as well as the extracted "zImage" file onto the root of your phone's SD card. Using ASTRO file manager, look inside the ROM and find the "kernel_update" folder and delete the "zImage" file there, then replace it with the "zImage" from step 2. That's it, you're done! Now just boot into ClockworkMod Recovery and flash.
3b) This step is for installing the extracted kernel by itself, and for users who want to use the extracted kernel with a ROM that does not come with its own kernel. To insert a kernel into a ROM that does not come with its own kernel is beyond the scope of this guide (it's a bit messier). So for those users it is easiest to first flash your ROM, then flash the kernel as a separate zip. To do this, first download any stand-alone kernel such as MixUp, Fluff, Andromeda, Phoenix, etc. Then place both the stand-alone kernel as well as the "zImage" from step 2 onto the root of your SD card. Using ASTRO, Find the "kernel_update" folder in the stand-alone kernel zip, delete "zImage" and replace it with the "zImage" from step 2. That's it, you're done! Now just boot into ClockworkMod Recovery and flash.
Thanks to shaundizzle for testing the original method of manipulating the zip file on a computer, and to GhostDecon for suggesting the use of ASTRO as an archive utility.
If you use this procedure, let me know how it went
There's a kernel you like, but it is only available packaged with the developer's ROM. You like the features of a different ROM, but want to use the kernel of the first ROM. Or maybe you want to keep your stock ROM, but use a kernel packaged in a custom ROM. What do you do? You extract the kernel (this sounds a lot cooler than it actually is).
Standard disclaimer: this procedure should not be done by anyone ever. But if you do do it and blow your phone up into tiny little pieces, I am not responsible

You might have noticed that all ROMs and kernels come in zip files, which you install in ClockworkMod Recovery. Ever tried looking in one of those zip files? You'll find a bunch of files and folders. One of these files, called "zImage", is the kernel. Here is how to take a kernel out of a ROM to use in another ROM or by itself, in 3 (you should already have done step 0 but I put it there just in case) easy steps:
0) Make a backup of your phone using ClockworkMod Recovery. This is extremely important - if you mess anything up, you'll have a system backup as a restore point. If you don't know how to do this or what I'm talking about, there are several threads in this sub-forum explaining how.
1) If you don't already have it, download ASTRO file manager - this will let you view and modify the internals of zip files without extracting them. This is important because other users have reported problems with the unzip ROM>modify ROM>re-zip ROM method.
2) On your computer, unzip the ROM you want to extract the kernel from (it's ok to unzip this ROM since you won't be flashing it) and find the "zImage" file. It will be in a folder called "kernel_update". Set this file aside.
Now, if you are putting the extracted kernel into a ROM that comes with its own kernel, go to step 3a. If the ROM does not come with its own kernel or you want to install the extracted kernel without a ROM, go to step 3b.
3a) Place the ROM you plan on flashing as well as the extracted "zImage" file onto the root of your phone's SD card. Using ASTRO file manager, look inside the ROM and find the "kernel_update" folder and delete the "zImage" file there, then replace it with the "zImage" from step 2. That's it, you're done! Now just boot into ClockworkMod Recovery and flash.
3b) This step is for installing the extracted kernel by itself, and for users who want to use the extracted kernel with a ROM that does not come with its own kernel. To insert a kernel into a ROM that does not come with its own kernel is beyond the scope of this guide (it's a bit messier). So for those users it is easiest to first flash your ROM, then flash the kernel as a separate zip. To do this, first download any stand-alone kernel such as MixUp, Fluff, Andromeda, Phoenix, etc. Then place both the stand-alone kernel as well as the "zImage" from step 2 onto the root of your SD card. Using ASTRO, Find the "kernel_update" folder in the stand-alone kernel zip, delete "zImage" and replace it with the "zImage" from step 2. That's it, you're done! Now just boot into ClockworkMod Recovery and flash.
Thanks to shaundizzle for testing the original method of manipulating the zip file on a computer, and to GhostDecon for suggesting the use of ASTRO as an archive utility.
If you use this procedure, let me know how it went

Last edited: