Eu estou querendo saber como as ROMs personalizadas portam novas versões do Android (particularmente o kernel do Linux) para telefones antigos.
Pelo que entendi, o Linux permite módulos de kernel de código fechado. Se assim for, então quando o fabricante do telefone (como a Samsung) lançou seu telefone (digamos, S2), eles apenas abriram o kernel principal, mas não os módulos que lidam com o hardware.
Cyanogenmod decide criar uma versão CM do android (mesmo número de versão) para manter o Kernel BAPI igual e apenas brincar com o código do espaço do usuário.
Agora, cinco anos depois, o Android usa um novo kernel do Linux.
Portas CM (Say Marshmallow) para um SII antigo.
Como eles portam os módulos de kernel blob binários do Jellybean (o último lançamento oficial daquele telefone) para o Marshmallow?