Os desenvolvedores do FreeBSD publicaram um relatório de progresso para o quarto trimestre de 2024, no qual é mencionado o projeto bsd-user-4-linux, que desenvolve ferramentas para executar aplicativos compilados para FreeBSD dentro do Linux. O objetivo do projeto é alcançar a capacidade de compilar de forma independente, utilizando as ferramentas do FreeBSD no Linux, bem como a possibilidade de compilar pacotes para FreeBSD em Linux usando as ferramentas nativas de compilação do FreeBSD.
Para executar arquivos executáveis do FreeBSD, é utilizado um fork do emulador QEMU, funcionando no modo de Emulação de Modo de Usuário, destinado à execução de processos compilados para outras CPUs e sistemas operacionais. Nesse modo, o QEMU realiza a tradução de chamadas de sistema e o tratamento de sinais. Para executar aplicativos, é necessário o provisionamento de bibliotecas e configurações localmente a partir do sistema base do FreeBSD. O projeto pode ser visto como BSDlator — um análogo reverso do Linuxulator.
Neste estágio atual de desenvolvimento, está funcionando a execução das principais utilidades do sistema (sh, bash, find, grep, git, clang etc.), com suporte para ligação dinâmica e bibliotecas compartilhadas, além de funcionalidades de rede. Por exemplo, já é possível recompilar o FreeBSD com o comando “make -j80 buildworld”, estando no Linux. Entre as funcionalidades ausentes, destaca-se a impossibilidade de iniciar o depurador GDB, a indisponibilidade de IPC, das funções kevent/kqueue e alguns sysctl (por exemplo, name2oid).
Adicionalmente, o projeto está preparando imagens de contêiner com ambiente de trabalho do FreeBSD para várias arquiteturas (linux/386, linux/amd64, linux/arm/v5 e linux/arm64/v8) e fornecendo GitHub Actions para a geração de tais imagens.
Entre outros eventos do relatório trimestral do FreeBSD, podemos destacar:
- A utilidade mdo para executar comandos sob outro usuário, semelhante à utilidade su, mas utilizando em vez de setuid o módulo do núcleo mac_do e a chamada de sistema setcred.
- Desenvolvimento do driver AMD IOMMU para FreeBSD.
- Projeto para melhorar o funcionamento do FreeBSD em laptops.
- Projeto de modernização da infraestrutura.
- Trabalho na suporte aos modos de baixo consumo de energia S0ix e s2idle (Suspender para Inatividade).
- Melhoria do funcionamento da plataforma OpenStack no FreeBSD.
- Melhoria da pilha de som do FreeBSD.
- Melhoria do funcionamento do OpenJDK no FreeBSD.
- Modernização do gerenciador de pacotes pkg para o projeto PkgBase (formatação dos componentes do sistema base em um formato adequado para gerenciamento e atualização através do gerenciador de pacotes pkg).
- Retomada do trabalho no driver umb para modems MBIM USB 4G/5G.
- Portabilidade do driver iwx do OpenBSD para chips Wi-Fi da Intel.
- Continuação do trabalho na camada LinuxKPI para executar drivers Linux em chips sem fio.
- O número de portas diminuiu de 36504 para 36332. As portas foram atualizadas para Xfce 4.20, LXQt 2.1.0, PHP 8.3, KDE Plasma 6.2.4, Qt 6.8.1, Python 3.9.21, Python 3.11.11, Ruby 3.3.6, Rust 1.83.0, SDL 3.1.6, Sway 1.10, Tor Browser 14.0.3.
- Foi realizada uma auditoria de segurança no código dos subsistemas bhyve e Capsicum.
- Em colaboração com a empresa Framework, está sendo desenvolvido o suporte para notebooks Framework no FreeBSD (já está anunciado o suporte para o Framework Laptop 13 com base no AMD Ryzen 7040).
- Está em andamento o trabalho para adicionar modos de recuperação e atualização do sistema no instalador, bem como a possibilidade de instalação de pacotes em ambientes Live.
- Continua a portabilidade do FreeBSD para o smartphone Pinephone Pro.
- As ferramentas AppJail, Director e LittleJet estão sendo desenvolvidas para organizar o trabalho com contêineres compatíveis com OCI no FreeBSD, utilizando o mecanismo de isolamento FreeBSD jail.
- A ferramenta Pot está sendo desenvolvida para gerenciar contêineres em ambientes jail, ZFS, pf e rctl, suportando integração com a plataforma de orquestração de contêineres nomad. Um catálogo de imagens de contêineres, Potluck, é proposto como uma alternativa ao Dockerhub para o FreeBSD.
- Está em desenvolvimento uma interface gráfica para gerenciar o sistema de virtualização baseado no hypervisor Bhyve. O desenvolvimento utiliza Freepascal/Lazarus.
Fonte: opennet.ru
