Re: Kernel selection in Lua loader

From: Rodney W. Grimes <freebsd-rwg_at_pdx.rh.CN85.dnsmgr.net>
Date: Wed, 21 Feb 2018 10:18:07 -0800 (PST)
> On Wed, Feb 21, 2018 at 6:11 AM, Kyle Evans <kevans_at_freebsd.org> wrote:
> > On Wed, Feb 21, 2018 at 6:36 AM, David Wolfskill <david_at_catwhisker.org> wrote:
> >>
> >> ...
> >> kernels="kernel kernel.old kernel.save"
> >>
> >> and the Forth loader presented (precisely) those kernels as the
> >> available options for selecting a kernel to load and boot.
> >>
> >
> > Right, so, we (and by we I mean cem_at_) actually implemented a form of
> > auto-detection for kernels. Any directory in in /boot with a file
> > named 'kernel' inside will be automatically listed, and that
> > supplemented(*) 'kernels' and 'kernel' specified in loader.conf(5).
> >
> > (*) I use "supplemented" because I changed that in r329709, just a
> > little bit ago, to not do the autodetection if a 'kernels' is
> > explicitly set in loader.conf(5) My reasoning here is that there's
> > probably a reason one has set it explicitly, whether it be to hide
> > bogus kernels or just to slim down the list of kernels they need to
> > cycle through.
> 
> Yep.  And to add a little more detail, because I like this behavior,
> I've convinced Kyle to add a knob to re-enable the autodetection
> behavior even in the presence of kernels="", by adding a
> kernels_autodetect="yes" knob to loader.conf (r329733).

Or how about parse a wildcard * in kernels= to mean do the same as
kernels_autodetect=yes
the should make it possible to control the order of them on
the list bo doing something like
kernels=/boot/kernel;/boot/kernel.old;*;/altboot/kernel;/altboot/kernel.GENERIC



> Note that any kernels in kernels="" are offered first in the list, in
> the same order as configured; any additional autodetected kernels
> follow at the end (as you observed earlier):

The mechansism now only allows autodetec at end, use of a wildcard to
show when to insert autodetect allows a fairly arbitrary order.

> >> with the Lua loader, I was being offered a choice among 4 kernels
> >> (rather than the expected 3).  Cycling through them (twice; I wanted
> >> to be sure the behavior was reproducible), I noted that the presented
> >> options were:
> >>
> >> * default/kernel
> >> * kernel.old
> >> * kernel.save
> >> * kernel.panic
> >>
> >> (in that sequence).
> 
> Best,
> Conrad

-- 
Rod Grimes                                                 rgrimes_at_freebsd.org
Received on Wed Feb 21 2018 - 17:18:32 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:41:15 UTC