Sistemas operacionaisNotícias

Novidades nos testes do kernel Linux

Em recente reunião do Linux Kernel Plumbers, que ocorreu em Lisboa, Portugal, o tópico “automação de testes para o kernel Linux” foi discutido. Os principais desenvolvedores do Linux uniram-se com o objetivo de empregar esforços em uma estrutura de testes sólidos: o KernelCI. Agora na Open Source Summit Europe, em Lyon, França, o KernelCI passa a ser um projeto da The Linux Foundation e receberá os investimentos e recursos necessários.    

Antes de tudo, você realmente sabe o que é Linux, se ele é apenas um kernel? Confira logo abaixo o vídeo do Gabriel do canal Toca do Tux, abordando o assunto.  

Aprofundando mais neste assunto, verá à definição oficial da The Linux Foundation. Aposto que muita coisa será desmistificada, vindo da própria fundação que mantém o Linux, confira o artigo clicando aqui.   

O Desenvolvimento do kernel Linux

Atualmente o kernel Linux é desenvolvido por uma gigantesca comunidade, composta por pessoas físicas, organizações sem fins lucrativos, diversas empresas e eventuais colaboradores. O método utilizado para organização do projeto, é através da LKML (Linux Kernel Mailing List). Digamos que seja uma enorme lista de e-mails, na qual os desenvolvedores interagem entre si e sugerem mudanças e implementações no código. Contudo, esta forma nem sempre é uma das melhores para as diversas tarefas, questões relacionadas aos patches são um bom exemplo dado por Russel Currey, um dos desenvolvedores do kernel Linux, explicando:  

“[Ao contrário de um projeto baseado exclusivamente no GitHub ou GitLab], em que uma solicitação ‘pull’ contém todas as informações necessárias para mesclar um grupo de alterações; um e-mail contendo, digamos, o patch 7/10, não possui esse contexto. É quase impossível saber de uma mensagem do e-mail, se uma série de patches foi mesclada, rejeitada ou substituída. Em geral, as listas de discussão simplesmente não possuem o mesmo nível de metadados que os sites de hospedagem de projetos contemporâneos e isso dificulta ainda mais o problema de CI [Integração Contínua]”.  

Nesse contexto surge o KernelCI, projetado inicialmente para auxiliar o teste do Linux em uma gama de hardwares muito ampla. Pois, os testes eram realizados em um número bem limitado e específico de hardwares. Basicamente os desenvolvedores efetuavam testes em seus próprios equipamentos. Assim a certeza de um bom funcionamento era garantida para os hardwares mais comuns e populares no mercado, caso contrário, era bem provável que teste algum tenha sido realizado em equipamentos “específicos”.  

Greg Kroah-Hartman, mantenedor da versão estável do Linux, explica:  

“O Linux roda em todos os lugares e em tantos hardwares diferentes, mas os testes neles foram mínimos. A maioria das pessoas, estavam apenas testando as poucas coisas com as quais se importava. Então, queremos testá-lo com o mesmo hardware que nós. Poderia garantir que realmente oferecemos suporte a todo o hardware que afirmamos oferecer suporte “.  

Os planos para utilização do KernelCI vão mais além do que implementar testes automáticos em hardwares. Como bem explicou, Kevin Hilman, seu co-fundador e engenheiro sênior da BayLibre em uma palestra na Open Source Summit Europe:  

“Nós nos reunimos no Linux Plumbers. Um dos grandes problemas que temos agora é que temos seis ou sete projetos diferentes para teste de código que enviavam relatórios aos desenvolvedores e mantenedores do kernel. Isso estava ficando realmente irritante, então nos reunimos e dissemos: ‘escolha um para usarmos como uma estrutura ‘, portanto, concordamos com o KernelCI, então todos trabalharemos juntos, para não duplicar nossos esforços e resultados”.   

Após consolidar efetivamente o novo KernelCI, não somente os testes em diferentes hardwares serão realizados. Como, seu objetivo passa a unificar os diferentes tipos de testes no kernel Linux. A atual deficiência do modelo de discussão através dos e-mails, para lidar com patches, será solucionada com um único local para armazenar, visualizar, comparar e acompanhar os resultados do inúmeros testes.  

kernel-linux-testes-automatização-kernelci-hardware-open-source
Imagem – Davide Boscolo

Segundo o vice-presidente para desenvolvimento de negócios e consultoria open source e colaborador do KernelCI Collabora, Guy Lunardi,

“Desde que o Linux tenha se tornado crucial para a sociedade, é essencial obter uma cobertura abrangente de testes do Kernel Linux. Ao aplicar a filosofia de código aberto ao teste, a arquitetura distribuída pelo KernelCI, permite que toda a comunidade do kernel colabore em torno de um único sistema de IC [Integração Contínua] upstream”.  

O Linux tornou-se tão relevante e essencial para o cenário atual da tecnologia, que esforços para potencializar suas qualidades e sanar seus defeitos são desenvolvidos e implementados corriqueiramente. Não obstante, sua utilização transcende barreiras e sua atuação engloba uma infinidade de soluções no mercado. Agora com esse sistema de automatização, o KernelCI, versões de longo tempo de suporte (LTS) passarão a englobar um maior número de equipamentos e problemas já conhecidos. Problemas de mal funcionamento de hardware deixarão de existir, ou diminuirão drasticamente. Isso irá melhorar a qualidade, estabilidade e manutenção do kernel Linux. No final, toda uma comunidade será beneficiada.  

O que você espera com tais mudanças? Você têm algum hardware que não funciona plenamente no Linux?  

Participe de nossa comunidade Diolinux Plus, fique por dentro das novidades e compartilhe suas opiniões.  

Até o próximo post, te espero aqui no blog Diolinux, SISTEMATICAMENTE! 😎  

Fonte: KernelCI, ZDnet.


Viu algum erro ou gostaria de adicionar alguma sugestão a essa matéria? Colabore, clique aqui.

Diolinux Ofertas - Aproveite os melhores descontos em diversos produtos!
275 postagens

Sobre o autor
Técnico em Informática, redator e SISTEMATICAMENTE apaixonado por tecnologia. A mente responsável pelo projeto OSistemático.
Artigos
Postagens relacionadas
Notícias

Navegadores de internet tem brecha de dados pela GPU via WebGPU

Notícias

NixOS mais FreeBSD resulta em NixBSD

Notícias

Godot quer começar a embarcar em aplicativos