git: 6dabfd3efefa - stable/15 - lualoader: fix pruning of non-existent default kernel

From: Kyle Evans <kevans_at_FreeBSD.org>
Date: Tue, 20 Jan 2026 04:09:25 UTC
The branch stable/15 has been updated by kevans:

URL: https://cgit.FreeBSD.org/src/commit/?id=6dabfd3efefaeb2bc24b8f16e1c5aae8dedc4d0c

commit 6dabfd3efefaeb2bc24b8f16e1c5aae8dedc4d0c
Author:     Kyle Evans <kevans@FreeBSD.org>
AuthorDate: 2026-01-07 18:20:05 +0000
Commit:     Kyle Evans <kevans@FreeBSD.org>
CommitDate: 2026-01-20 04:04:46 +0000

    lualoader: fix pruning of non-existent default kernel
    
    Removing the kernel from the list of available kernels is sufficient to
    avoid rendering it in the list, but we need more for booting to actually
    work.  Notably, the 'kernel' loader.conf var was left intact to its
    default value, so if one didn't use the kernel selector in the menu then
    we'd try to boot the nonexistent 'kernel' instead of the new default
    (first autodetected).
    
    There's room to improve the error messages here, but for now let's just
    make it actually work correctly.
    
    PR:             292232
    Fixes:  d04415c520b03 ("loader: lua: remove the default kernel [...]")
    (cherry picked from commit e30086ab4c8778ea70a3b19e83546ce1b4a16492)
---
 stand/lua/core.lua | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/stand/lua/core.lua b/stand/lua/core.lua
index f42be6fbebb7..d06f41511a47 100644
--- a/stand/lua/core.lua
+++ b/stand/lua/core.lua
@@ -289,6 +289,12 @@ function core.kernelList()
 				kernels[n] = kernels[n + 1]
 			end
 		end
+
+		-- The config/boot bits use the env var as a fallback if the
+		-- menu's kernel selector remains untouched, so we want to
+		-- update our notion of the default kernel to one that is
+		-- actually present.
+		loader.setenv("kernel", kernels[1])
 	end
 
 	core.cached_kernels = kernels