Development of new graphical installer underway for FreeBSD: FreeBSD Q1 Report

FreeBSD Foundation is developing new graphical installer for FreeBSD, which is designed to make the process of installation and initial system configuration more convenient for beginners. It is noted that the new installer will increase the attractiveness of the system for users who are accustomed to graphical installers and perceive text interfaces as an anachronism. In addition, the graphical installation mode will allow you to create a more holistic environment in assemblies that use FreeBSD as the basis for running custom environments.

To perform installation-related processes, already proven components of the existing bsdinstall installer are used, the graphical interface of which is implemented by replacing the tools for building console dialogs bsddialog with new tools gbsddialogwhich uses dialogs and widgets based on the GTK library.

Advertisement

This approach allows you to implement the ability to install in graphical mode, using the existing infrastructure of the bsdinstall installer and retaining the possibility of a console installation mode. A similar replacement can be made for the bsdconfig configurator, which already supports the “-X” option to create a simple GUI via calling Xdialog (GTK2 based) instead of bsddialog. Using gbsddialog instead of Xdialog will give you a more modern interface design.

A working implementation of the new installer is already ready for testing, and the patches necessary for its integration into the main structure are proposed for review. For inclusion in bsdinstall, interfaces translated to bsddialog for adding a user, setting an administrator password and selecting a time zone are proposed, as well as components for selecting an implementation of the dialog utility based on the value of the $DIALOG environment variable and support for activating graphical mode.

It is noteworthy that the GhostBSD project (an edition of FreeBSD with the MATE desktop) already uses its own graphical installer written in Python and PyGTK, but its porting to FreeBSD is not considered, since it would require the inclusion of Python as an additional dependency, which would lead to a noticeable increase in the size of the installation carrier. Several years ago, with the support of the FreeBSD Foundation, a prototype of a graphical installer was also developed, written in the Lua language and implemented in the form of an http server that provides a web interface that opens in single-window mode using a web browser.

From other events mentioned in report FreeBSD for the first quarter of 2024, it can be noted:

Advertisement

  • Work is underway to improve the sound stack. Implemented the ability to disconnect sound devices in asynchronous mode, which is necessary, for example, for hot disconnecting sound cards with a USB interface. There are plans to implement the oss library, audio utility and utility for managing Bluetooth devices, as well as expanding the capabilities of the mixer utility and library.
  • Background process implemented for Bhyve vmstated for managing virtual machines and configuring associated network subsystems and storage. Added the vmstatedctl utility for managing (starting/stopping/checking status) virtual machines in the style of the jail command.
  • An initiative to move code for accessing system calls, previously present in libc.so and libpthread.so, into a separate library libsys.so. The creation of libsys.so will limit direct access to system calls to trusted code, abstract access to system calls for runtime programming languages, and improve tool support for system call logging and replay operations.
  • A backend for the pkg package manager is being developed for PackageKit, which will allow the use of standard application management interfaces that use PackageKit, for example, KDE Discover and GNOME Software Center, to manage packages in FreeBSD.
  • The ported version of the GCC compiler suite has been updated to GCC 13.
  • A joint project with AMD to create an IOMMU driver for FreeBSD has been launched.
  • The VPP (Vector Packet Processor) network stack is being ported to FreeBSD.
  • A project has been started to implement configurable rate limits in OpenZFS, which works similarly to disk quotas, but in the context of limiting the number of read/write operations and read/write throughput.
  • Work is underway to stabilize unionfs support in FreeBSD.
  • Plan to end support for 32-bit platforms.
  • KDE 6 has been added to the ports.

Thanks for reading:

Advertisement