[Bug 272077] loader defaults to kernel=kernel even if it doesn't exist

From: <bugzilla-noreply_at_freebsd.org>
Date: Mon, 21 Aug 2023 16:54:42 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=272077

Dag-Erling Smørgrav <des@FreeBSD.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |des@FreeBSD.org

--- Comment #2 from Dag-Erling Smørgrav <des@FreeBSD.org> ---
My suggestion would be:

- if able to enumerate kernels
  - initialize the list of kernels to the enumerated kernels in lexical order
- if the list of kernels is empty after attempted enumeration
  - initialize it to getenv("kernels"):gmatch("([^;, ]+)[;, ]?")
- if the list of kernels is still empty
  - initialize the list to getenv("kernel")
- else
  - if getenv("kernel") is in the list
    - move it to the front of the list

I believe this will result in the least disruption for existing setups while
removing the annoying behavior of always trying to load a non-existent kernel
for users who have KODIR = /boot/${KERN_IDENT} in /etc/src.conf.

-- 
You are receiving this mail because:
You are the assignee for the bug.