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.

Mais sobre: , , , ,

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
Exatamente...
Luiz Carlos Querido
Sério que não fizeram uma camada de hardware separada do kernel? Sério? E a cada atualização do Kernel, tem que atualizar todas as fontes dos 742 modelos de aparelho? Sério isso? SÉRIO???
Luiz Carlos Querido
Parafraseando os linuxers quando se diz da popularidade do WIndows: Não é porque vende muito que signifique ser melhor.
Rafael F. Silva
Mais facil cada fabricante criar um fork do android do que adotar massivamente o fuchsia
Alexandre Copi
Sem contar o tempo pra todas as fabricantes mudarem pra lá (se mudarem), a gente já vê como é difícil elas liberarem atualizações pros aparelhos atuais e são atualizações de versão, imagina o quanto não vão gastar pra adaptar tudo pra um novo OS, aplicativos proprietários, performance, etc.
Rafael F. Silva
"Motivo XYZ": compre o aparelho mais novo e atualizado que sai a cada 6 meses.
Rafael F. Silva
E não há nenhum problema nisso, desde que respeitem as licenças dos softwares.
Rafael F. Silva
Claro, até porque sai de graça a google pegar o kernel e alterar profundamente ele para ter mais desempenho no android.
Rafael F. Silva
A modularização de componentes do kernel para o android é algo que está em fase de testes. Você entendeu errado.O a idéia é do google liberar um android-common cru, fabricantes de componentes e de celulares pegam esse common e colocam o que precisam nele sem passar pelo google.
Antony
O texto deu a entender (para mim) que a modularização dos componentes do Android é algo que ainda está em fase de testes dentro do Google, quando na vdd é algo que já está disponível na comunidade há algum tempo.
Daniel
kkkkkk É tipo o Windows, é ruim mas é o que temos.
Cléber
"Dá para pensar também em alguma melhora de desempenho e até no aumento da autonomia de bateria dos dispositivos."Interessante que eu penso justamente o oposto!
Dan
pq gambiarra?
@Sckillfer
(Muitos) anos atrás teve uma junção de códigos Android ao Linux.... Pelo visto não ajudou em muita coisa
@Sckillfer
(Muitos) anos atrás teve uma junção de códigos Android ao Linux.... Pelo visto não ajudou em muita coisa
@Sckillfer
Já usam e pelo menos usam contribuindo com a comunidade, ao contrario da Apple com o Darwin. Esse modelo seria benéfico não só a Google, mas a todos, já que as grandes distros GNU/Linux têm modificações no kernel e drivers seguem sendo um problema no Linux
@Sckillfer
Mas essas modificações sempre poderão buggar o kernel
@Sckillfer
Mas o texto não disse que o Treble não funciona... Qualquer aparelho com o Pie de fabrica tem Treble, porém continua sem updates de kernel
uB.
N é entrar em produção, tava referindo a ser geral Fuchsia e o Android mortinho. Entrar em produção mesmo vai ser 1 ou 2 anos após o lançamento.Se nada mudar, vai sair o 1o Fuchsia em 2021. Vai levar um tempo pra Google testar, ver se a galera curte, se tá bacana e etc. Aí, digamos, lá pra 2023 ela começa a forçar o povo a migrar pro Fuchsia aos poucos. Vai levar um bom tempo pro Android "morrer" e geral tá usando o Fuchsia, por isso chutei lá pra 2030.Claro, de 2023 até 2030 vai ser a transição, talvez lá pra 2027 ela pare de dar suporte pro Android e a maioria já seja Fuchsia, mas provavelmente ainda vai ter uma considerável de Android.Enfim, tudo achismo, a gente nem sabe se o Google irá realmente cumprir o prazo inicial. Mas, de qualquer forma, n vai ser da noite pro dia q o Google vai matar o Android, vai levar um bom tempo.
Antony
Alguns pontos:- O kernel 4.9 é bem atual, não é algo datado lá de 2016, apenas iniciou lá, inclusive a última atualização é do dia 16 desse mês. Várias distribuições utilizam o 4.9 como padrão.- O projeto Treble já funciona em diversos dispositivos, nos dois dispositivos que tenho já existem um recovery disponível com suporte ao Treble. Funciona de forma que você possa instalar ROMs específicas para o projeto e genéricas para aparelhos (funcionam em todos*), contendo atualizações de sistema e segurança sem necessidade de aguardar o fabricante disponibilizar.
avinicius
Google é Platinum Member da Linux Foundation e também contribui no código do kernel.
Lucas Carvalho
na verdade eles já usam "o trabalho grátis do software livre"
João Victor
Gambiarra porquê?
Daniel
O Google poderia continuar com Android Common (já que há resistência da comunidade em adotar as modificações propostas, com certa razão) e usar este modelo de plugins, na verdade eu gostaria que o menor número possível de empresas alterassem o kernel até este chegar aos aparelhos, não duvido que estas modificações feitas pelas fabricantes estejam bugando o kernel.
Zanac_Compile
10 anos pra entrar em produção ? Isso é surreal.
Magnosama
Mais uma gambiarra do Google.
Trovalds
Mas aí esbarra justamente no que a comunidade tem chiado: se modulariza, abre uma brecha de segurança no sistema.
J_Eduardo
Sou completamente leigo na parada, mas será que está proposta junto a do Fuschia não tem relação Com o que o pessoal da Google/Android pensa ou imagina em relação ao será o futuro do smartfone? Penso isso em relação a chegada de modelos dobráveis (retornado aos modelos de flip) e outras variações de tamanhos e sentido da dobra e quantidade de telas, numa realidade que a capacidade dos hardwares ainda não contempla uma Mudança mais radical do conceito de telefone inteligente... assim melhorar consumo de bateria e agilizar processos permite adequar a plataforma a estas novas possibilidades que se coloca para o Android Obs: será que o SÓ Próprio da Huawei também não interfere nisso?
Helliton Soares Mesquita
Na verdade o Linus pode implementar drivers genéricos para dar suporte a Smarts. Depois os fabricantes aplicam suas modificações através de módulos.
Jumbonium
Querem usar o trabalho grátis do software livre.
Rafael Schüng
Mas a ideia é trocar o Android pelo Fuchsia. Um fator que motiva a galera a fazer essa troca é o cenário de desenvolvimento de APPs híbridos usando Flutter. O Fuschia desde a concepção tem suporte ao Flutter.
brunocabral
Dá tão errado que impediu o sucesso do WinPhone (que só fez algum sucesso no Brasil).
Acho que por mais que o Google se esforçe, as fabricantes ainda assim atrasarão ou não atualizarão o sistemas pelo motivo xyz.
ωαท∂єrℓєy ✓ᵛᵉʳᶦᶠᶦᵉᵈ
O Android é tipo o Brasil, Deu errado desde a sua concepção.
uB.
N é trocar Linux pelo Fuchsia. E sim, Android pelo Fuchsia.E este projeto ainda corre a todo vapor.Mas óbvio, Google n vai abandonar o Android enquanto não ter certeza de q o Fuchsia tá pegando. E a previsão do primeiro smartphone com este OS vai demorar um pouco ainda (a 1ª previsão era pra 2021, vamos ver se n altera). E depois de sair, ainda vai demorar muito pro Google migrar pra lá. Se pá, só lá pra 2030.
Trovalds
Oi, boa noite. Não acredito que esse modelo vá vingar. A não ser que o Linus mude de ideia acerca de dispositivos ultra-low-voltage (smartphones e assemelhados) duvido muito que o Google consiga emplacar a ideia. E muita coisa ainda tem que acontecer, como por exemplo o suporte a Arm64, que ainda é precário.MAS pelo histórico do Google investir milhões em projetos e depois abandoná-los, confesso que foi um balde de água fria essa notícia.
zephyr1an
peraí, cadê aquele pessoal que dizia que o Google ia trocar o Linux pelo Fuchsia ? :)ps. as distribuições mais importantes também não fazem deploy do kernel "puro" original publicado pelo Linus, todas elas têm sua própria árvore de desenvolvimento e seu próprio conjunto de patches, embora a situação de Red Hat, Suse e Ubuntu seja muito mais simples do que a do Google, claro
zephyr1an
peraí, cadê aquele pessoal que dizia que o Google ia trocar o Linux pelo Fuchsia ? :)


ps. as distribuições mais importantes também não fazem deploy do kernel "puro" original publicado pelo Linus, todas elas têm sua própria árvore de desenvolvimento e seu próprio conjunto de patches, embora a situação de Red Hat, Suse e Ubuntu seja muito mais simples do que a do Google, claro
Zé Colmedia
Sempre o interesse individual atrapalhando o coletivo. Brasilia mandou abraços.