Разработчиците на 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 модеми.
- Портирне от OpenBSD драйвера iwx за 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 се работи по поддръжка на FreeBSD за лаптопи Framework (вече е обявен за поддържан 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
