Início » Celular » Por que o Google quer adotar o kernel Linux “puro” no Android?

Por que o Google quer adotar o kernel Linux “puro” no Android?

Um Android com kernel Linux sem modificações facilitaria os updates

Emerson Alecrim Por

Não é novidade que o Android tem o kernel Linux como base. Mas se engana quem pensa que se trata da versão “pura”: ao longo do tempo, o kernel (núcleo) foi bastante modificado para adequar o sistema operacional a requisitos técnicos vindos de companhias como Qualcomm, de fabricantes de celulares e, claro, do próprio Google. Mas isso pode mudar.

Android - root

A informação vem do Ars Technica, que explica que, durante a Linux Plumbers Conference 2019, desenvolvedores do Google revelaram planos para fazer o Android ter um kernel o mais próximo possível do Linux genérico, por assim dizer.

Esse cenário traria pelo menos duas grandes vantagens: faria o Google gastar menos tempo cuidando da manutenção de milhares de linhas de código que correspondem às modificações e facilitaria a disponibilização de correções de segurança.

Dá para pensar também em alguma melhora de desempenho e até no aumento da autonomia de bateria dos dispositivos.

Como o Google implementa o Linux no Android?

Mudar para o Linux genérico não é um processo fácil. Isso fica claro quando observamos como o kernel Linux é implementado hoje no Android. Basicamente, é assim: começa com o Google transformando o Linux LTS (Long Term Support) em Android Common, uma versão do kernel complementada com códigos específicos para o Android.

Posteriormente, o Android Common é repassado para fornecedores de SoCs, como Qualcomm e MediaTek. Essas empresas adicionam ao kernel códigos específicos sobre o seu hardware (processador, GPU, modem LTE, entre outros).

Por fim, o kernel resultante é enviado aos fabricantes para que eles adicionem as modificações referentes aos componentes de seus celulares (câmeras, tela, portas e por aí vai).

Android Common Kernel

Na prática, cada dispositivo acaba tendo um kernel próprio. É por isso que é praticamente impossível fazer o kernel de um modelo funcionar em outro sem modificações de código-fonte.

Essa quantidade de etapas é uma das razões pelas quais o Android não é baseado nas versões recentes do kernel Linux. Está aí também o motivo para dispositivos Android geralmente não receberem novas versões do kernel.

Por conta dessa ausência de atualizações, o Google precisa fazer cada nova versão do Android ter suporte a versões antigas do Linux LTS. O Android 10, por exemplo, foi lançado em 2019, mas mantém suporte ao kernel Linux 4.9, disponibilizado no final de 2016.

Por aí já dá para perceber que faz muito sentido que o Google queira trabalhar com um kernel sem modificações.

Como o Google pretende implementar o Linux “puro”?

Você se lembra do Project Treble? Essa iniciativa foi apresentada pelo Google em 2017 como forma de agilizar a disponibilização de atualizações para o Android.

Para tanto, o Google meio que modularizou a arquitetura do sistema para que os fabricantes possam trabalhar em suas implementações quase ao mesmo tempo em que companhias como Qualcomm e MediaTek cuidam da parte delas.

Pois bem, a ideia aqui é parecida. O plano dos desenvolvedores do Google é criar uma espécie de interface no kernel para permitir que drivers e outros componentes possam ser executados como se fossem plugins.

Com isso, não seria necessário adicionar milhares de códigos ao núcleo do sistema em cada novo dispositivo. O Google poderia, portanto, implementar o Linux “puro” no Android e manter a compatibilidade com diversos componentes de hardware por meio de módulos.

Mas é claro que essa é uma explicação simplista. Para que essa tal interface funcione, é importante, por exemplo, que partes fundamentais do kernel modificado para Android passem a compor o kernel Linux em si.

Esse é um projeto de longo prazo, pois requer que o Google trabalhe de modo ainda mais próximo com a comunidade Linux e conte com a colaboração de toda a indústria para esse modelo de implementação do Android funcionar.

Mas, como que para mostrar que essa ideia é viável, Tom Gall, diretor do Linaro Consumer Group, mostrou na Linux Plumbers Conference um Pocophone F1 com Android 10 usando o kernel Linux sem modificações.

Android com Linux puro

É verdade que algumas funções não funcionavam, como a que indica a porcentagem de carga de bateria. Mesmo assim, a demonstração serve para mostrar que, com algum esforço, dá para levar a proposta adiante.

A ideia já encontra alguma resistência, porém. Integrantes da comunidade Linux temem que a interface contenha brechas de segurança que possam comprometer todo o sistema.

Para eles, os fabricantes deveriam abrir o código-fonte de seus drivers para permitir que estes sejam implementados diretamente no kernel, o que possibilitaria a liberação mais rápida de atualizações de núcleo. Mas a gente sabe que isso não vai acontecer.

Com informações: Ars Technica, Android Police.

Comentários

Envie uma pergunta

Os mais notáveis

Comentários com a maior pontuação

Celso

Não acho que seja bem por aí (o Android não deu errado, muito pelo contrário), mas deu pra entender onde você quis chegar.
Eu mudaria o "deu errado desde a sua concepção" para "foi concebido de maneiras equivocadas (embora os efeitos disso só puderam ser sentidos muitos anos depois)"

Bruna C. C. de S. Wojtenko

Eu só concordei com você porque acho que os smartphones são a escória do mundo moderno. Mas só por isso aushauhsuahusa.

Bruna C. C. de S. Wojtenko

Termux talvez cumpra esse papel xD

Bruna C. C. de S. Wojtenko

Para haver vulnerabilidades em um sistema, é preciso interesse em explorá-las.
Portanto, dá pra se entender as ulnerabilidades no Adroid!

William Cunha

Simples, Android apesar de Linux está virando um XP da vida, de tanto que esta vulnerável.

Trovalds

Se o "genérico" funcionasse teríamos muito mais variedade de jogos e aplicações 3D no Linux sem precisar depender de nada além da comunidade. Só que AMD e nVidia, que são os principais nesse mercado, não estão nem aí pro Linux. O driver genérico pra ambos só suporta 2D e o suporte a 3D só via driver deles, que é proprietário E fechado. Vulkan à parte aqui já que não tem exatamente haver com o assunto da notícia.

Dito isso, vamos trazer agora pro mundo dos smartphones: não temos só Qualcomm no mercado, que é uma das mais "abertas" em matéria de especificações do hardware. MediaTek é fechado e está tocando o f***-se, temos Samsung que também é fechado, Kirin... seria fácil trazer o linux "quase puro" pra um smartphone com chip snapdragon, tanto que é isso que foi demonstrado: um Pocophone F1 rodando Linux, que tem o chip em questão. O resto vai cair na mesma coisa do parágrafo anterior: vai ficar refém da boa vontade do fabricante dar suporte completo.

Se fosse só pela vontade da comunidade (que está dividida, como sempre), já teríamos Linux sem ser Android em celular faz tempo.

uB.

Gostaria mesmo de uma explicação sua para tal argumento.

Postar link é algo muito vago. Por favor, com suas próprias palavras. :D

Sid

Explica aí o que está errado pra gente poder saber. Ficou a crítica pela crítica.

Wagner

O kernel é o que conversa com o hardware, não tem como separar.
"Separar" seria mudar o codigo do kernel linux, opa mas isso já é feito.
Ou seja, unico jeito de melhorar é aproximar muito os dois kernels.

zephyr1an

N é trocar Linux pelo Fuchsia. E sim, Android pelo Fuchsia.

você está desperdiçando seu tempo com suas respostas, já que isso que você escreveu simplesmente não faz sentido :)

https://en.wikipedia.org/wi...

Fabio Santos

Coloca um terminal pra Huawei e seus usuários kkk

Helliton Soares Mesquita

Já tem "módulos" no Kernel Linux. E fazer drivers genéricos diminuem as falhas. Depois basta o fabricante aplicar pequenos patches caso dê problema nos módulos genéricos. O que diminui os riscos.

uB.

Penso q a transição vai ser suave, porém demorada. Se pá boa parte dos usuários nem vão notar direito.

Atualmente Android suporta apps em Flutter. Flutter este q é o framework nativo pro Fuchsia e, felizmente, tá tendo boa adoção da comunidade.

Quando o Google trocar o Android pelo Fuchsia praticamente todos os apps já serão nativos da plataforma. E a biblioteca de apps é uma das partes mais delicada de todo o processo

uB.

As fabricantes vão acabar seguindo. N dá pra ficar no Android sem suporte da Google e n dá pra criar seu próprio OS e concorrer com Apple e Google.

E só piora o lado das fabricantes se o Pixel tiver ainda mais relevante.

A Google só tem q tomar cuidado, pq nessa transição pode abrir brecha pra outra concorrente. Aí se pisar errado, o império Google pode começar a desandar.

Lucas Carvalho

exato

Exibir mais comentários