Initiative to develop a graphical installation interface for FreeBSD
Contact: Pierre Pronchery <pierre@freebsdfoundation.org>
The first challenge for users trying out a new operating system is the installation process, which shapes their initial impression. Nowadays, OS installers usually have a graphical interface, as seen in popular systems such as RedHat Enterprise Linux, Ubuntu, and Debian GNU/Linux. This graphical method is also common in UNIX systems like FreeBSD. Regardless of the user’s technical skills, the installation process plays a crucial role in how the platform is perceived by the public.
Various projects have adapted FreeBSD into desktop-oriented systems, with GhostBSD being a notable example that offers a graphical installation procedure. However, GhostBSD’s installer relies on a Gtk+ interface driven by Python, which would significantly increase the installation media’s footprint if integrated into FreeBSD’s usual image generation process. This approach would also necessitate importing and maintaining new projects in the ports tree.
To address this, a BSD-licensed replacement for man:Xdialog[1] was envisioned, leveraging knowledge of the existing man:bsdinstall[8] and man:bsdconfig[8] utilities. This new tool, named man:gbsddialog[1], would enable graphical installation while sharing the current installer’s infrastructure. Unlike the obsolete Xdialog (last released in 2006), gbsddialog provides a modern and efficient alternative, ensuring a minimal footprint and maintaining FreeBSD’s streamlined image generation process.
A Proof-of-Concept prototype was created post-FreeBSD 14.0 release. The FreeBSD Foundation then provided a two-month window to complete a working implementation. This effort culminated in the presentation of a functional graphical installer during the WIP session of AsiaBSDCon 2024, showcasing significant progress in making FreeBSD’s installation process more user-friendly and visually appealing.
More Information: Graphical Installer (GitHub)