O kernel Linux 5.0 RC1 está disponível com ARM grande. Suporte LITTLE EAS, correções F2FS e muito mais

O kernel Linux no qual todos os dispositivos Android são baseados está recebendo uma grande atualização para a versão 5.0. Examinamos as mudanças que são relevantes para dispositivos móveis.

Embora normalmente não abordemos o que acontece no reino principal do kernel Linux, é importante para nós acompanhar o que está acontecendo com cada novo lançamento do kernel, já que o Google exige um versão mínima do kernel Linux requisito com cada nova versão do Android. A recente decisão de estender os lançamentos LTS de 2 para 6 anos desempenhará um papel importante na redução da fragmentação de patches de segurança, uma vez que os fabricantes de dispositivos terão que trabalhar menos no backport de patches de segurança. Além disso, o kernel principal geralmente integra novos recursos que são relevantes para dispositivos móveis.

Por exemplo, o primeiro Versão do Candidato de Lançamento para a próxima versão LTS do kernel foi lançada recentemente - kernel Linux 5.0 RC1. Ainda faltam um ou dois meses para o lançamento estável, mas já podemos dar uma olhada no que está por vir no próximo lançamento. Destacarei algumas das atualizações que são relevantes para dispositivos móveis, mas recomendo que você dê uma olhada no changelog completo se estiver interessado no desenvolvimento de código aberto e no kernel Linux.

ARM grande. PEQUENO suporte EAS

Agendamento com consciência de energia existe em dispositivos Android desde o lançamento do Pixel original. EAS é uma das razões pelas quais os dispositivos Google Pixel são geralmente mais rápidos do que seus concorrentes. O suporte já foi habilitado para o lançamento do kernel Snapdragon 845 pela Qualcomm, portanto, qualquer dispositivo com este SoC (ou mais recente) suportará EAS. Embora o Linux não tenha suporte upstream para Energy Aware Scheduling, até agora. O suporte upstream deveria, teoricamente, tornar mais fácil para os fabricantes de silício e dispositivos implementarem a tecnologia em seus dispositivos. Porém, para os usuários finais, o suporte upstream não significa muito.

Suporte Adiantum

Speck é um algoritmo de criptografia desenvolvido pela NSA (National Security Administration) que funciona bem em hardware de baixo custo. Google pretendido para adicionar suporte para speck, pois oferece suporte de criptografia de dados para dispositivos econômicos com SoCs sem extensões de criptografia aceleradas por hardware. A adoção do Speck foi amplamente criticada devido aos seus laços com a NSA. O suporte para speck foi removido no kernel Linux 4.20, e seu substituto, Adiantum, funciona tão bem, se não melhor, em hardware de baixo custo com sistemas de arquivos EXT4/F2FS.

Correções F2FS e EXT4

Sistema de arquivos compatível com Flash, ou F2FS, é amplamente utilizado em dispositivos Android. O Google Pixel 3 e Pixel 3 XL oficialmente suporte F2FS, por exemplo. Aparentemente, Jaegeuk Kim, o desenvolvedor original do F2FS, enviou uma solicitação de mesclagem de várias correções para o sistema de arquivos para o repositório Linux. Essas mudanças cuidam de problemas de criptografia e gerenciamento de tempo ocioso, juntamente com correções de coleta de lixo. Você pode ver todos os detalhes em esta solicitação pull. No geral, corrigir o F2FS melhora a estabilidade e a confiabilidade nos smartphones Android que o suportam ou irão suportá-lo.

Da mesma forma, o popular sistema de arquivos EXT4 recebeu pouco mais de uma dúzia de patches. EXT4 é usado em muitos dispositivos Android, como os dispositivos OnePlus mais recentes (incluindo o OnePlus 5T, OnePlus 6 e OnePlus 6T).

Novo suporte de hardware ARM

As distribuições GNU/Linux são indiscutivelmente os melhores sistemas operacionais para rodar em hardware baseado em ARM. Eles oferecem multitarefa confiável com base no modelo de código aberto. Os processadores ARM são projetados especificamente para executar muitas tarefas ao mesmo tempo. É por isso que é importante que o sistema operacional acompanhe o hardware. Como alguns de vocês sabem, a maioria dos smartphones e tablets Android usa chipsets com arquitetura ARM. Os chips baseados em RISC são perfeitos para executar tarefas diárias (que você faz em seu smartphone). O kernel Linux 5.0 está adicionando suporte para muitos novos hardwares ARM. Aqui estão alguns deles:

  • Tegra X2
  • Tegra Xavier
  • Allwinner F1C100
  • Qualcomm QCS404
  • Allwinner T3
  • Camada NXP LX2160

Além do suporte de compatibilidade universal para hardware ARM específico, o kernel Linux 5.0 também melhorou o gerenciamento de energia.

Suporte ao BinderFS

O Android usa o Binder para trocar argumentos entre diferentes processos do sistema. Aplicativos, atividades e processos usam o Binder para iniciar e gerenciar processos. A segurança no Android é altamente baseada em permissões UID. O Binder verifica os UIDs fornecidos pelos aplicativos usando chamadas IPC bidirecionais para confirmar se tem acesso a um recurso que deseja usar. BinderFS é uma versão atualizada do Binder, mas é mais especializada e compatível com o sistema. O suporte para BinderFS não mudará muito para o usuário final, mas resolverá alguns problemas de implementação para desenvolvedores no longo prazo. Aqui está o commit relevante.

Estrutura de gestão do modelo energético

Outra adição é o suporte ao Quadro de Gestão do Modelo Energético. Esta mudança é principalmente para desenvolvedores de ARM e kernel. Ele oferece uma nova camada de informações padronizadas sobre o uso de energia de diferentes fontes, como a árvore de dispositivos ou os drivers. O consumo de energia e os relatórios são tratados de forma diferente tanto pelo hardware quanto pelo software. O Energy Model Management Framework fornecerá uma API padrão que pode ser usada por outro driver no kernel para acessar informações sobre o consumo de energia. Teoricamente, isso tornará mais fácil para engenheiros e desenvolvedores de software obterem informações relevantes do hardware. Você pode ler mais sobre esta estrutura neste commit.

Suporte para autenticação de ponteiro ARM64

Todas as soluções relevantes de hardware e software, especialmente em dispositivos móveis, precisam de protocolos de segurança fortes. Isso é o que o kernel Linux 5.0 está oferecendo com o suporte da autenticação de ponteiro ARM64. Como a maioria dos smartphones possui chipsets baseados em ARM64, é crucial que os invasores não possam explorar ponteiros, que são usados ​​no kernel do Linux para acessar endereços de memória. O novo protocolo de autenticação compara ponteiros com chaves secretas. A Autenticação de Ponteiro tentará evitar a Programação Orientada a Retorno (ROP) e outros tipos de ataques.


Há muito mais atualizações para o kernel Linux 5.0 que não abordamos. A maioria deles não significa muito para dispositivos Android, por isso tivemos que escolher o changelog. Se você quiser ver o ‘changelog’ completo, confira de Forônix cobertura.

Agradecimentos ao desenvolvedor reconhecido pelo XDA flar2 por ajudar com este artigo.