Foi anunciado recentemente lançamento do fwupd 2.0, uma ferramenta código aberto usado para gerenciar e atualizar o firmware de vários dispositivos no Linux. Sua finalidade é facilitar a instalação e atualização de firmware em hardware sem a necessidade de acessar ferramentas específicas do fabricante ou reinicializar em um sistema operacional diferente.
fwupd usa o serviço de atualização de firmware LVFS (Linux Vendor Firmware Service), onde os fabricantes carregam suas atualizações de firmware. Atualmente, o catálogo LVFS inclui firmware para mais de 1,600 dispositivos de 160 fabricantes.
A utilização de Este diretório centralizado elimina a necessidade dos fabricantes gerarem pacotes específicos para cada distribuição, permitindo-lhes transferir firmware em um arquivo ".cab" que inclui metadados adicionais, semelhante ao que é feito ao publicar firmware para Windows.
Os Os usuários podem baixar e instalar essas atualizações diretamente de sua distribuição Linux, facilitando um grande número de processos, pois suporta tanto o modo de atualização automática de firmware, quanto a opção de executar a operação após confirmação.
Entre as principais características que se destacam do fwupd, podemos encontrar o seguinte:
- Suporte para uma ampla gama de dispositivos (UEFI, USB, Thunderbolt, monitores, etc.).
- Instalação e atualização de firmware sem reiniciar ou sair do ambiente de trabalho.
- Integração com gerenciador de pacotes e atualizações do sistema.
- Compatível com muitas distribuições Linux
- É uma solução conveniente e segura para manter o firmware atualizado
- É compatível com os gerenciadores de aplicativos GNOME Software e KDE Discover.
- Não se limitando apenas a sistemas desktop, também é adequado para atualizar firmware em dispositivos como smartphones, tablets, servidores e dispositivos de Internet das Coisas.
O que há de novo no fwupd 2.0?
Nesta nova versão do fwupd 2.0, mudou o processo em segundo plano do uso do gancho GObject do GUsb para acesso direto ao libusb e sysfs. Essa mudança tornou possível mover a emulação do dispositivo para a biblioteca libfwupdplugin e implementar a emulação de atualizações de firmware em dispositivos fictícios hidraw e nvme, semelhante à emulação realizada com dispositivos USB fictícios. Graças a esse recurso, conseguimos realizar testes adicionais que identificam problemas com atualizações que podem surgir após fazer determinadas alterações no fwupd.
Além disso, a biblioteca GUdev, que fornece ligações GObject sobre libudev, foi retirado do local. Em vez disso, o processo fwupd agora cria um soquete netlink para analisar eventos do udev transmitidos através dele. Esta mudança resultou em uma redução significativa no consumo de memória e na carga da CPU tanto na inicialização quanto durante a operação, além de simplificar a incorporação do suporte ueventd, que no futuro permitirá que o fwupd seja compatível com a plataforma Android.
Otimizações foram feitas para reduzir o consumo de memória ao transferir firmware de arquivos para dispositivos; Em vez de copiar o firmware para a memória, agora é usada a transferência por meio de um descritor de arquivo. Também Foi adicionado suporte para uma variedade de novos dispositivos.
Além disso, O suporte para metadados legados e formatos de verificação de firmware foi descontinuado, e utilitários de linha de comando anteriormente obsoletos foram removidos. Também adicionada API para carregar relatórios no gnome-firmware e o sistema de construção agora inclui suporte para a plataforma Darwin.
Por fim, adicionamos a capacidade de exibir uma lista de arquivos ESP no formato JSON (usando o comando fwupdtool esp-list –json) e adicionamos a opção de especificar dispositivos emulados na configuração.
Por fim, se estiver interessado em saber mais sobre o assunto, pode consultar os detalhes no link a seguir
Como instalar o fwupd no Linux?
Para quem tem interesse em instalar o fwupd, saiba que, na maioria das distribuições, ele já vem pré-instalado. Porém, caso não o tenha instalado, você pode fazê-lo com o seguinte comando dependendo da sua distribuição:
Ubuntu e derivados:
sudo apt install fwupd
Fedora:
sudo dnf install fwupd
Arch Linux e baseado nele:
sudo pacman -S fwupd
Como usar o fwupd?
A forma de usar o fwupd é bastante simples e se baseia na execução de comandos e a maneira correta de fazer isso é sempre atualizar o banco de dados do firmware disponível, antes de prosseguir com a atualização do firmware do dispositivo. Podemos fazer isso digitando:
sudo fwupdmgr refresh
Pára veja quais dispositivos suportam fwupd, bem como seu status atual e se tiverem atualizações disponíveis, podem fazê-lo com o seguinte comando:
fwupdmgr get-devices
Depois de listar os dispositivos, eles podem verifique se há atualizações de firmware disponível executando:
fwupdmgr get-updates
Se atualizações de firmware estiverem disponíveis, você pode aplicá-los executando:
sudo fwupdmgr update
Pára exibir uma lista de atualizações de firmware que foram instaladas via fwupd, você pode fazer isso com o seguinte comando:
fwupdmgr history