Diagram show the steps involved in converting the Vanilla Linux Kernel to Android Linux Kernel. The processes represented in the gray box takes most of our time. After patch is applied to the code, lot of debugging and optimizations are needed to get the final working code. Today many processor manufactures are added their processor support into the Linux Kernel. So most of the time, there will be a very less effort (board specific customization) is needed for the 1st gray box. Only a small number of processor manufactures are providing android port for their processor. So more effort and time is needed for 2nd gray box.