Date: Thu, 15 Nov 2012 21:38:46 -0500 (EST) From: Daniel Eischen <deischen@freebsd.org> To: Devin Teske <dteske@freebsd.org> Cc: Adrian Chadd <adrian@freebsd.org>, freebsd-arch@freebsd.org Subject: Re: HEADS-UP: Boot Loader Interface Fixes Message-ID: <Pine.GSO.4.64.1211152135010.14282@sea.ntplx.net> In-Reply-To: <9643EC52-E905-43FB-8B18-5EF052271725@fisglobal.com> References: <9643EC52-E905-43FB-8B18-5EF052271725@fisglobal.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, 15 Nov 2012, Devin Teske wrote: > Hi All, > > I'm back with more changes to the boot loader menu. > > First, don't panic! > > Second, calm down! > > Let's go over where we've been so-far so we don't repeat it here. > > 1. Changing the order of items should be avoided as it "moves the goal posts" > > Agreed. This is not always avoidable, but should be avoided if possible. > > 2. Hiding "Single User" mode behind a submenu is bad. > > Agreed. It's been suggested, "why can't it be an action item?" I've thought about it and it doesn't seem right to be an action item because it's a setting in loader.conf(5). However, nobody said it can't be both an action item _and_ a boolean option. > > === > > Now that we've covered those basics, let me explain the current situation: > > If you are a proponent of the "goal posts" argument, then you may find yourself astonished one day to find that the following procedure does not work: > > + Boot to beastie menu > + Press V to enable verbosity > + Press Enter to boot > > The reason the above may fail and violate POLA is because of the improvements made in SVN r241523. Since r241523, adding something like: > > boot_verbose="YES" > > to loader.conf(5) will not cause the boot menu to display a default ON-status for the Verbose boot option. In this case, booting and pressing V will disable verbose boot. > > Given that all boot options in the menu are dynamically-initializing and will inherit the states of their respective options from loader.conf(5), a new problem emerges: > > Q. How does one go about restoring the defaults in the event that a system doesn't boot? > > Furthermore, the person may not know what the defaults are. > > The need arises to have a "Load Defaults" option. > > However, the introduction of this new menu item would both crowd the main menu and (unless appended to the end) violate the first rule of not re-ordering items (which we just argued that it doesn't matter if you memorize the numbers, their initial state may be negated from what the user expects). > > The latter arguments of crowded main-menu and that the memorization of numbers is broken right now brings up the good idea of utilizing submenus (reasoning that if we have to make a change, best to make a change that can last). > > === > > I want to move the boot options into a submenu. This submenu will have all the boot options you see today on the main menu. > > At the same time, add a "Load Defaults" action item for resetting the various boot options to their hard-coded defaults (overriding loader.conf(5) inheritance). > > === > > While proposing this, I realize that we need an easy way to get to single-user mode. So in-addition to be able to access SUM as a boolean option in the "Boot Options" submenu, I propose adding a new "alternate boot" menu item to the main menu. > > At the same time, I've recognized the need to have more feedback in the "Boot" option. For example, it would be nice if setting boot_single="YES" in loader.conf(5) that the first menu item said "Boot Single User [Enter]" -- vociferating the default boot action. Meanwhile, the "Alternate Boot" (not actually titled that) gives a quick and easy way of booting Multi-User in the case of boot_single="YES" or vice-versa. I always disliked adding the large FreeBSD logo and beastie to the boot screen. Nearly 3/4 of the real-estate is that. I'd rather put all the information on one screen and do away with the large logo and beastie. Perhaps there should be an option to "6: Show Large Logo and Beastie" ;-) -- DE
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.GSO.4.64.1211152135010.14282>