Разработчиците на FreeBSD публикуваха отчет за развитието за четвъртото тримесечие на 2024 година, в който се споменава проектът bsd-user-4-linux, развиващ инструменти за стартиране на приложения, компилирани за FreeBSD, в Linux. Целта на проекта е да се постигне възможност за собствено компилиране, използвайки инструментите на FreeBSD в Linux, както и възможност за компилиране на пакети за FreeBSD в Linux, използвайки родния инструментариум за компилиране на FreeBSD.
За стартиране на изпълними файлове от FreeBSD се използва fork на емулятора QEMU, работещ в режим User Mode Emulation, предназначен за стартиране на процеси, компилирани за други CPU и операционни системи. В този режим QEMU извършва транслация на системните извиквания и обработка на сигнали. За стартиране на приложения е необходимо разгръщането в локален каталог на библиотеки и настройки от основната система FreeBSD. Проектът може да се разглежда като BSDlator — обратно на Linuxulator.
В текущия етап на разработката работи стартирането на основни системни утилити (sh, bash, find, grep, git, clang и т.н.), поддържа се динамично свързване и споделени библиотеки, налични са мрежови функции. Например, вече е възможно да се преработи FreeBSD с команда „make -j80 buildworld“, докато се намирате в Linux. От липсващата функционалност се отбелязва невъзможността за стартиране на отладчика GDB, недостъпността на IPC, функциите kevent/kqueue и някои sysctl (например, name2oid).
Допълнително, проектът се занимава с подготовка на изображения на контейнери с работна среда FreeBSD за различни архитектури (linux/386, linux/amd64, linux/arm/v5 и linux/arm64/v8) и предоставяне на GitHub Actions за изграждане на подобни изображения.
От другите събития в кварталния отчет на FreeBSD можем да отбележим:
- Утилитата mdo за изпълнение на команди под друг потребител, подобна на утилитата su, но използваща вместо setuid модул на ядрото mac_do и системно извикване setcred.
- Разработка на драйвер за AMD IOMMU за FreeBSD.
- Проект за подобряване на работата на FreeBSD на лаптопи.
- Проект за модернизиране на инфраструктурата.
- Работа по поддръжка на режимите с ниска консумация на енергия S0ix и s2idle (Suspend-To-Idle).
- Подобряване на работата на платформата OpenStack в FreeBSD.
- Подобряване на звуковия стек на FreeBSD.
- Подобряване на работата на OpenJDK в FreeBSD.
- Модернизация на пакетния мениджър pkg за проекта PkgBase (оформяне на компонентите на базовата система в формат, подходящ за управление и актуализация с помощта на пакетния мениджър pkg).
- Подновяване на работата по драйвера umb за MBIM USB 4G/5G модеми.
- Портирене на драйвера iwx от OpenBSD за Wi-Fi чипове на Intel.
- Продължава работата по слоя LinuxKPI за стартиране на Linux драйвери за безжични чипове.
- Броят на портовете е намален от 36504 на 36332. В портовете са обновени 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.
- Извършен е одит на сигурността на кода на подсистемите bhyve и Capsicum.
- В сътрудничество с компанията Framework се работи по поддръжката на лаптопи Framework във FreeBSD (уже е обявена поддръжка на Framework Laptop 13 с AMD Ryzen 7040).
- Работи се по добавяне на режими за възстановяване и обновление на системата в инсталатора, както и възможност за инсталиране на пакети в Live среди.
- Продължава портироването на FreeBSD за смартфон Pinephone Pro.
- Развиват се инструментите AppJail, Director и LittleJet за работа с OCI съвместими контейнери във FreeBSD, използващи механизма на изолация FreeBSD jail.
- Развива се инструментът Pot за управление на контейнери на базата на jail среди, ZFS, pf и rctl, с поддръжка за интеграция с платформата за оркестрация на контейнери nomad. Предлага се каталог на контейнерни образи Potluck, който е аналог на Dockerhub за FreeBSD.
- Разработва се графичен интерфейс за управление на системата за виртуализация на базата на хипервизор Bhyve. За разработката се използва Freepascal/Lazarus.
Източник: opennet.ru
