Relatório sobre o desenvolvimento do FreeBSD no segundo trimestre de 2025

O relatório sobre o desenvolvimento do projeto FreeBSD para o segundo trimestre de 2025 foi publicado. As mudanças incluem:

  • A Equipe Central do FreeBSD está desenvolvendo diretrizes para o uso de IA e grandes modelos de linguagem no desenvolvimento. Entre as possíveis aplicações da IA no FreeBSD estão a tradução de documentação, resumo de documentos extensos/dificeis de entender, rastreamento de bugs e análise de código. No momento, não se planeja a geração de código com IA, principalmente devido a possíveis problemas de licenciamento.
  • O instalador agora suporta o sistema pkgbase, permitindo a instalação de componentes do sistema base em um formato acessível para gerenciamento e atualização com o gerenciador de pacotes pkg. Os pacotes pkgbase podem ser fornecidos no meio de instalação para instalação offline ou baixados do repositório pkg.freebsd.org.
  • O desenvolvimento do projeto bsd-user-4-linux continua, permitindo a execução de aplicativos compilados para FreeBSD em sistemas Linux. O objetivo do projeto é permitir a construção de pacotes para FreeBSD no Linux, utilizando a ferramenta de construção nativa do FreeBSD. Para executar binários do FreeBSD no Linux, um fork do emulador QEMU é utilizado, operando no modo de Emulação em Modo de Usuário, destinado a executar processos compilados para outras CPUs e sistemas operacionais (o QEMU realiza a tradução de chamadas do sistema e o tratamento de sinais). Na fase atual de desenvolvimento, já é possível recompilar o FreeBSD com o comando "make -j80 buildworld" a partir do Linux. As principais utilitários do sistema, como sh, bash, find, grep, git e clang, estão funcionando. Entre as mudanças recentes, destaca-se a migração para a base de código do QEMU 9.2 e a implementação do suporte ao mecanismo kqueue() no Linux, utilizando libkqueue.
  • Uma plataforma de virtualização chamada Sylve está sendo desenvolvida para FreeBSD, permitindo gerenciar a execução através de uma interface web. máquinas virtuais baseado no hipervisor Bhyve e em contêineres baseados em ambientes Jail. O projeto visa fornecer funcionalidades semelhantes a uma distribuição Linux Proxmox VE, mas baseada em FreeBSD, Bhyve e ZFS. Entre as novidades do segundo trimestre estão a adição de gráficos para visualização da carga do CPU, consumo de RAM e atividade de rede, uma interface para trabalhar com interfaces de rede, recursos para trabalhar com sistemas de arquivos, partições, pools e snapshots do ZFS, suporte ao carregamento de imagens de máquinas virtuais através de uma interface web, e funcionalidades para criação e remoção de máquinas virtuais para Bhyve com suporte a console VNC, passagem de dispositivos PCI e vinculação a núcleos de CPU selecionados.
  • O porta libvirt para o hipervisor bhyve foi aprimorado. Apresentado um projeto de testes do driver bhyve da libvirt em um sistema de integração contínua com FreeBSD. A compatibilidade do driver bhyve foi aumentada. Adicionada a suporte a dispositivos virtio-rnd, configuração de NVRAM e estatísticas avançadas. Implementado apoio ao acesso de rede via NAT com base no filtro de pacotes pf.
  • Melhorado o manuseio do tlsbase em sistemas amd64, o que teve um impacto positivo no desempenho de aplicações que gerenciam manualmente o TLS (Thread-Local Storage), como o Wine.
  • No ligador rtld (Runtime linker) foi implementada a opção "-z initfirst", que oferece recursos adicionais para gerenciar a ordem de inicialização em aplicações dinamicamente vinculadas.
  • Adicionado suporte à introspecção kqueue e ampliadas as capacidades para analisar o uso de mecanismos de eventos do núcleo nos processos. No utilitário procstat, foi implementada a geração de relatórios sobre o estado do kqueue.
  • No núcleo, foi implementada a flag EXTERROR, que informa sobre a existência de informações de erro ampliadas. Através da EXTERROR, aplicações podem receber dados diagnósticos adicionais quando ocorrem erros, não se limitando apenas ao código de erro.
  • Na base de código do FreeBSD 15, a formação de imagens de instalação e montagem de pacotes binários para arquiteturas de 32 bits i386 e powerpc foi descontinuada. Das plataformas de 32 bits, apenas a plataforma armv7 foi mantida na ramificação do FreeBSD 15. O modo COMPAT_FREEBSD32, que permite executar arquivos executáveis de 32 bits em ambientes de 64 bits, foi mantido, mas a partir dos ports, o suporte a compilações de 32 bits será descontinuado.
  • No ramo FreeBSD 15, o comportamento das chamadas de sistema setgroups, getgroups e initgroups em relação aos grupos de usuários se aproxima do que é observado em outras plataformas (a diferença de implementação no FreeBSD consistia em armazenar o identificador efetivo do grupo de processos no primeiro elemento do array de listas de grupos).
  • Está em andamento a substituição da implementação do Kerberos no núcleo do FreeBSD de Heimdal Kerberos para MIT Kerberos. O MIT Kerberos já está incluído no ramo FreeBSD 15-CURRENT, mas atualmente é ativado apenas através da opção WITH_MITKRB5.
  • Foram publicados os primeiros lançamentos do aplicativo SysctlTUI, que oferece uma interface de texto para navegar pela árvore de parâmetros sysctl, visualizar metadados associados e modificar configurações.
    Relatório sobre o desenvolvimento do FreeBSD no segundo trimestre de 2025
  • Está em desenvolvimento um novo gerenciador de partições, Geomman (GEOM Manager), baseado no sade e oferecendo recursos adicionais como mover, copiar e colar partições de disco. Além do UFS, o Geomman suporta ext2, ext3, ext4, exFAT e NTFS, com suporte planejado para ZFS. Entre outras coisas, é possível aumentar e reduzir o tamanho das partições existentes com o sistema de arquivos ext4 e criar novas partições exFAT.
  • O trabalho de melhoria do stack de áudio do FreeBSD foi continuado. O driver de áudio foi limpo, uma ferramenta sndctl foi adicionada, o suporte para AFMT_FLOAT foi implementado, a interação com dispositivos de áudio em laptops foi significativamente aprimorada e o refatoramento da subsistema MIDI foi iniciado.
  • Foi realizada a portação dos drivers DRM (i915 e amdgpu) do núcleo Linux 6.9. As mudanças estão sendo desenvolvidas para o ramo FreeBSD 15-CURRENT, mas provavelmente serão backportadas para o ramo 14-STABLE.
  • Está em andamento o trabalho para adicionar modos de baixo consumo de energia S0ix e s2idle (Suspend-To-Idle), que permitirão reduzir o consumo de energia ao usar o FreeBSD em laptops modernos com processadores Intel e AMD, alguns dos quais não suportam o modo de suspensão S3. O driver USB4 agora possui a capacidade de entrar no modo de baixo consumo de energia C3.
  • Para a ramificação FreeBSD 15, está sendo desenvolvido o suporte para atributos nomeados de arquivos (atributos estendidos no estilo Solaris), que devem ser suportados como um mecanismo alternativo de gerenciamento de atributos estendidos, disponível para ZFS e NFSv4. As diferenças em relação aos métodos tradicionais de FreeBSD e Linux para trabalhar com atributos estendidos estão relacionadas à apresentação dos atributos em um diretório de serviço, que não é visível no espaço de nomes principal do sistema de arquivos e está associada ao arquivo. O trabalho com os atributos é feito como com arquivos comuns; por exemplo, para determinar a lista de atributos, pode-se executar a função readdir().
  • Foram preparados patches com a implementação da opção de montagem "packrat", permitindo o cache agressivo de dados em um armazenamento não volátil local do lado do cliente para NFSv4.1/4.2.
  • Com base no LinuxKPI, a camada para executar drivers Linux no FreeBSD, está em desenvolvimento uma pilha atualizada net80211 com suporte para os padrões Wi-Fi 5 (802.11ac) e Wi-Fi 6 (802.11ax). As firmwares iwlwififw para o driver Intel iwlwifi foram removidas do sistema base em favor da instalação a partir dos ports e do uso da ferramenta fwget. O linuxkpi implementou suporte para wlan_tkip, permitindo o uso dos protocolos criptográficos TKIP (Temporal Key Integrity Protocol) e Michael (Message Integrity Code).
  • Foi implementado o suporte para a interface de depuração fornecida nos controladores XHCI USB, permitindo o uso de um cabo USB 3 especial para gerenciar a depuração do núcleo do FreeBSD. Essa interface pode ser usada para depurar problemas em drivers gráficos que levam a falhas na saída.
  • Está sendo trabalhado o port para o núcleo FreeBSD da implementação original dos sistemas de arquivos HFS e HFS+, cujo driver foi aberto pela Apple.
  • Um port do FreeBSD para o smartphone Pinephone Pro foi preparado, incluindo firmware com suporte para controle na tela sensível ao toque e um ambiente de desktop simples. Infelizmente, alguns dias atrás, o projeto Pine64 anunciou a descontinuação e interrupção das vendas dos smartphones PinePhone Pro.
  • O número de ports aumentou de 36332 para 36605. Entre as atualizações nos ports estão: GCC 15, OpenJDK 24.0.1, GNOME 47, KDE Plasma 6.4.1, KDE Framework 6.15.0, Sway 1.11, Qt 6.9.1, Ruby 3.4.4, Rust 1.87.0, SDL 3.2.16, servidor Xorg 21.1.18. Por padrão, as versões Go 1.24, Perl 5.40, Ruby 3.3 e PostgreSQL 17 estão em uso. O ambiente para Linuxulator foi atualizado para Rocky Linux 9.
  • Adicionada a opção de suporte para a construção de portas com especificação de flags do compilador, incluindo modos adicionais de fortalecimento da segurança. As configurações foram implementadas em make.conf:
    • WITH_FORTIFY para proteção contra estouros de buffer por meio da adição de verificações adicionais em funções como memcpy, strcpy e sprintf;
    • WITH_STACK_AUTOINIT para inicialização automática de variáveis locais;
    • WITH_ZEROREGS para proteção contra exploits ROP (Return-Oriented Programming) e vazamentos de informações através dos registradores da CPU.

Fonte: opennet.ru

Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster