Los núcleos variar de un fabricante a otro. Muchos de esos granos proceden de la pura cepa línea del kernel de fuentes encontradas en la CAF, lo que estos fabricantes de hacer es tomar esas acciones las fuentes, modificar para satisfacer basado en la junta directiva y el chipset utilizado, también, poner en práctica sus propios controladores.
Tome una buena mirada a su alrededor, hay variaciones de las pantallas táctiles, las variaciones de wifi chipsets, por no mencionar, acelerómetro, sensores, baterías, compás, gps, sonido, gráficos.
Tomando uno de los fuentes del kernel, por ejemplo, desde HTC no funciona en un Samsung, y viceversa.
Los fabricantes son libres de cherry-pick o fuera de la fuente de varios bits que quedar incorporado en la placa de circuito. No hay ningún disco duro rápido o normas en cuestión. De ahí la gran cantidad de piratería y/o modificaciones para obtener el kernel para que funcione correctamente.
Usted no debe nunca, comparar a Linux de escritorio de la distribución de los núcleos en los que se ha PCI, PCI-Express, SATA, VGA, SVGA, USB, Ethernet, son totalmente diferentes ball-juego de parque. Las principales diferencias con CentOS y con Android en el Kernel de Linux se esta - TODOS los controladores están compilados como módulos o incorporado, por lo que cualquier distribución de Linux simplemente "trabajar fuera de la caja". De nuevo, con distribuciones de Linux de escritorio - usted tiene una arquitectura x86, por lo tanto el núcleo de Linux de una PC de Dell, puede trabajar fuera de la caja en una Lenovo siempre que el consejo directivo estándar de controladores están compilados.
No olvides que en el mundo Android, no hay variaciones de un núcleo construido para determinados BRAZO de chipsets, tales como binarios armv6, ARMv7, hay TEGRA, hay EXYNOS, y que son binarios incompatibles el uno con el otro. Por lo tanto, si un kernel compilado para TEGRA, olvídalo, no va a funcionar en ARMv7!
La razón por la que algunos núcleos en Android parecen ser "roto" el fabricante. Algunos (Zte es un muy buen ejemplo), la liberación de un masacrados fuente que puede compilar desde el código fuente, pero no se inicia debido a que falta un controlador que no está cubierto por la GPLv2 o licencia GPLv3. Ese es el problema, por lo tanto, algunos hackers han de ir recorriendo alrededor de github buscando algunas pistas; algunos fabricantes, si no todos, de hacer cumplir. La encarnación actual de Zte origen es supuestamente para ser 2.6.35.7, pero, en realidad, su realidad 2.6.32.9 fuente de base con una gran cantidad de modificaciones, por lo tanto no representa la verdadera fuente del kernel para 2.6.35.7!
Esto es donde los fabricantes tienen a la liberación de sus respectivas fuentes, no sólo de ser compatible con la GPLv2 o posterior, sino más bien, para que la comunidad sea capaz de mod, tales como la adición de capacidades de overclocking.
Por lo tanto, no hacking involucradas detrás de las escenas y un mucho de joder con conductores tratando de conseguir que funcione, y que no es fácil de depurar, ya sea.. Algunos conductores pueden ser cruzada con licencia, PERO no puede ser distribuidas en función de la cláusula y condiciones de negociación.
Afortunadamente, todo eso ha cambiado ahora con el kernel 3.x.x. línea de fuentes, como Android conductores están ahora integrados en la corriente principal de las fuentes. Pero hay un problema!
Intentar trasladar un 3.x.x. núcleo existentes en un receptor que está alrededor de los 12 a los 18 meses de edad; No una bola de nieve de la oportunidad en el infierno es trabajar, eso es debido a que, de los diferentes factores, la 3.x.x fuentes es muy diferente a la 2.6.x fuente y tomar un montón de hacking para conseguir trabajo - debería saberlo, han tratado de trasladar 2.6.38.6 fuente para el Zte Blade y error.
Asimismo, la última versión del kernel 3.0.1 - cuando se trabaja en el ics4blade proyecto en Modaco, se han hecho numerosas tentativas para el puerto, sino que por el simple hecho de que Zte hizo una muy mala lío de la fuente que representa portar casi imposible.