FreeBSD can now be built from other operating systems

The FreeBSD developers have released a progress report of the project from July to September 2020. The most significant achievement was the ability to build the base FreeBSD system in environments based on other operating systems. The need to build on other operating systems is driven by the desire to use Linux or macOS specific continuous integration tools to test FreeBSD.

Work on the cross-build implementation has continued since 2017 and the latest patch was included in September, which is necessary for the full work of buildworld and buildkernel on other operating systems. Build starts with a specially prepared layer ./tools/build/make.py and can be done on systems with LLVM 10 or 11 installed.

Other changes include the grants from the FreeBSD Foundation they are working for improve WiFi support, improve the Linux KPI framework for cLinux kernel DRM API support, improve Linuxulator compatibility with applications, update graphics drivers, add Zstd compression to OpenZFS, expand RAID-Z partitions On the fly, improved support for the LLDB debugger.

On the other hand the FreeBSD Foundation is also working to improve Run-Time Dynamic Linker (rtld) and the ELF loader, improve UNIX domain socket locking, update the build infrastructure, extend ARM64 support and migrate the repository to Git.

In addition, all known issues in svn2git have been resolved, including metadata inconsistencies in the Subversion change log. The final transition to Git will take place in preparation for the release of FreeBSD 13.0. There are no plans yet to translate existing stable branch development to Git.

At the end of October, they plan to launch a test Git repository to run links and familiarize developers. The main src and doc repositories are expected to migrate to Git in mid-November, while the timelines for the port repositories have yet to be determined.

The FreeBSD Ports Collection has passed the 40.000 ports milestone, with 2525 PRs open, of which 595 PRs have yet to be analyzed. Updated versions of Perl 5.32, PostgreSQL 12, PHP 7.4, GNOME 3.36, Qt5 5.15.0, Emacs a 27.1, KDE Frameworks 5.74.0 and pkg 1.15.8. Compatibility with LibreOffice 7.0 has been implemented.

Mesa and related ports have been moved to use the meson building system instead of autotools, X.org was updated 1.20.9, libdrm and libevdev. The drm graphics drivers are synced with Linux kernel 5.4.62. The main libdrm and libevdev code bases have been modified to support FreeBSD.

Work has been done on the use of udev / evdev and libinput to improve compatibility with input devices that no longer require local settings. The change will be proposed in the October 27 release of FreeBSD 12.2.

In the Linux environment emulation infrastructure (Linuxulator), work has started to fix problems with running Linux-specific applications (for example, reasons for inoperability of Chromium, Firefox, DB2, Oracle, EAGLE, Memcached, Nginx, Steam, signal-desktop, VLC, 1password are being analyzed).

During the reporting period, the Linux kernel version announced by the emulator was raised to 3.10.0 (as in RHEL 7), the gettynam call was improved in chroot, the memfd support was improved, the system call was added splice and BLKPBSZGET ioctl, and kcov support was implemented.

Added a new sysctl compat.linux.use_emul_path. Reworked bug handling. The port sysutils / debootstrap has been updated to version 1.0.123 to create sandboxes with Debian and Ubuntu. The changes will be included in version 12.2.

DTS (Device Tree Sources) files are synchronized with the Linux 5.8 kernel on the HEAD branch and with the 5.6 kernel on the 12-STABLE branch.

Work continues on the implementation of the ability to work NFS over an encrypted communication channel based on TLS 1.3, instead of using Kerberos (sec mode = krb5p), which is limited to encrypting only RPC messages and is implemented only in software. The new implementation uses the TLS stack provided by the kernel to enable hardware acceleration.

Source:


Be the first to comment

Leave a Comment

Your email address will not be published. Required fields are marked with *

*

*

  1. Responsible for the data: AB Internet Networks 2008 SL
  2. Purpose of the data: Control SPAM, comment management.
  3. Legitimation: Your consent
  4. Communication of the data: The data will not be communicated to third parties except by legal obligation.
  5. Data storage: Database hosted by Occentus Networks (EU)
  6. Rights: At any time you can limit, recover and delete your information.