Illumarine's Installer(s)
Some background: ZFS is on the backburner for now, in favor of working on the installation of a bare minimum Illumarine system that we can then expand and start actually having people install systems. This was one of three options. ZFS was not a community favorite option to continue work on, and XLibre was a close second. But focusing on the installer was ultimate winner in the short 2 hour poll on Twitter.
So let's talk installers!I know a lot of the Linux/BSD side from people I know who have made their own distros, and from basic research. This was my jumping off point to figure out how to setup an installer. My ultimate goal with the installer is to provide four methods of installation.
- Via command: One command to start setting up your Illumarine install
- CLI tool: A simple, screen-reader friendly CLI tool
- Menu tool: A simple curses menu
- Graphical tool: One that many new users will expect
This seems difficult, right? Wrong. I already have a concept in the works on my personal GitHub. While I haven't updated it in a few hours, I am working on the design for a one-program installer that supports all four of my desired options.
Let's talk about the current design option by option.
The options and designs
Command Installer
There will be safeguards in place to prevent issues. Stuff like an "are you sure" and warnings saying "this will erase the drive at [selected drive]" with an "I know what I am doing" prompt. But what if there was a simple one-liner command that installed the system?
This is the only one I feel as if is really something I shouldn't do. A guided installer has its perks, but also a one-liner for sysadmins, hardware providers, distro hoppers, etc. would get benefit from.
I am not sure exactly how the command will look yet but the general gist is something along the lines of installillumarine --drive=/dev/whatever --autoinstall --otheroptions.
CLI Tool
Working with Freya the past few hours, I learned a lot with how screen readers are a problem for distro devs. I want to take it seriously, so the command to install illumarine would have a simple installer.
This would be a very simple, unfancy installer. That's the point. It would be ran, and input commands will guide you through the installation process.
Menu Tool
The menu tool is a curses menu for those who want extra key functionality.
This would be a simple menu installer like FreeBSD's for example. This would largely follow the same process as CLI tool, but ultimately a bit easier.
Graphical Tool
I am considering a design similar to the Calamares installer for Linux systems, or GBI from GhostBSD as the base design for how the installer would look. I haven't yet gotten a design down because I haven't decided on which one would be better for Illumarine. Though, I will say, I am not porting Calamares to illumos for use on Illumarine.
Why so much thought into an installer?
The installer is step 1 into getting users on an OS. Without one, your OS is... not as useful for normies, and isn't persistent without some kind of hackery to some extent. Installing an OS to something is important. Also, as a desktop-focused OS, I think we can agree new users need an installer that guides them, warns them, and helps them use Illumarine.
Comments
Post a Comment