Release of FreeBSD 14.1 with improved sound stack and cloud-init support

After six months of development, the FreeBSD 14.1 release has been finalized. Installation images have been prepared for the amd64, i386, powerpc, powerpc64, powerpc64le, powerpcspe, armv7, aarch64, and riscv64 architectures. Additionally, builds have been created for virtualization systems (QCOW2, VHD, VMDK, raw) and cloud environments like Amazon EC2, Google Compute Engine, and Vagrant.

Key Changes:

  • Work has been done to improve the audio stack. The ability to detach audio devices asynchronously has been implemented, which is necessary for hot unplugging USB audio cards. The snd_clone framework and related sysctl parameters have been removed, simplifying the audio subsystem. Now, instead of creating separate device files for each audio channel (/dev/dspX.Y), only the primary device file (/dev/dspX) is created.
  • String and memory handling functions in libc have been optimized using SIMD instructions on AMD64 architecture systems. A total of 17 functions have been optimized using SIMD, along with 9 functions transitioned to calls optimized through SIMD. Performance tests show that the new functions processing strings of 64 characters increased performance by 5.54 times.
  • Built-in support for configuration with cloud-init, a tool for system setup during boot, has been added. Among other features, it supports creating users/groups, adding SSH keys, configuring network connection parameters, defining the initial nuageinit script, and setting up disk partitions (config-drive). The implementation is compatible with OpenStack and many providers. hosting-providers.
  • For new UFS2 file systems created by the newfs utility, journaling (soft updates) is enabled by default.
  • The possibility of building the kernel with only IPv6 support (INET6), without IPv4 (INET).
  • In the adduser utility used in bsdinstall, the creation of a separate ZFS dataset (volume, snapshot, or clone) for the user's home directory is ensured if a ZFS dataset is already used for the parent directory. Support for encrypting home directories using ZFS has also been added. To manage the activation of these features, 'Zcreate' and 'Zencrypt' parameters have been added to adduser.conf.
  • The "libutil" library has added support for setting process priority based on configurations from the ".login.conf" file located in the home directory. Support for the value "inherit" has been added when setting priority or umask, allowing these to be the same as those of the parent process.
  • The "date" utility now supports nanosecond precision; for example, "date -Ins" will output "2024-06-04T10:20:28,763742224+05:00", and "date +%N" will output "415050400".
  • The "dtrace" utility has implemented the ability to generate output in formats suitable for automated parsing and viewing, such as JSON, XML, and HTML.
  • The "usbconfig" utility has been enhanced to provide additional information about USB devices and manufacturers, corresponding to descriptions from the file /usr/share/misc/usb_vendors.
  • Support for Intel E800 Ethernet controllers with a throughput of 100 Gb/s has been added to the "ice" driver.
  • The Ethernet driver "msc" now supports setting the MAC address based on the "smsc95xx.macaddr" parameter, which is provided by some models of Raspberry Pi boards.
  • Work has been done to enhance the stability of the "iwlwifi" driver for Intel wireless chips.
  • The ability to use multiple PCI MCFG regions on amd64 and i386 systems for segmenting the address space of PCI devices has been added.
  • Hardware support has been expanded.
  • In the NFS handler "mountd", the "strunvis" library has been used to decode directory names in the "exports" file, enabling the use of special characters like spaces in directory names. New sysctl variables kern.rpc.unenc and kern.rpc.tls have been added for configuring NFS-over-TLS.
  • The loader now reads configuration files listed in the local_loader_conf_files variable after the configuration files specified in /boot/loader.conf.local. The ability to extract settings from SMBIOS related to manufacturer and product identifiers has also been added. Console detection has been improved on EFI systems. The framebuffer implementation in the loader can now utilize console video drivers.
  • Support for using the LinuxBoot loader (loader.kboot) to boot FreeBSD from Linux-based environments on aarch64 and amd64 systems has been implemented.
  • The kdc_restart parameter has been added to rc.conf, enabling the automatic restart of kdc (the Kerberos 5 server) in the event of a crash. Additionally, the kdc_restart_delay parameter is available, allowing you to set a delay before the restart.
  • By default, to reduce the size of reports sent via email, the details of changes during regularly scheduled tasks and security checks have been minimized. The level of output can be configured using the daily_diff_flags and security_status_diff_flags parameters in periodic.conf.
  • Updated versions of third-party components: Clang/LLVM 18.1.5, OpenZFS 2.2.4, OpenSSH 9.7p1, awk 2024-01-22 (with UTF-8 support and the '-csv' mode), libarchive 3.7.4, sendmail 8.18.1, unbound 1.20.0.

    Source: opennet.ru
Buy reliable website hosting with DDoS protection, VPS VDS servers 🔥 Buy reliable website hosting with DDoS protection, VPS VDS servers | ProHoster