From a2a7830eb1e68712fde0b639aec87ef678ada634 Mon Sep 17 00:00:00 2001 From: Kyle Evans Date: Wed, 7 Mar 2018 04:11:14 +0000 Subject: [PATCH] lualoader: Only loadelf before boot/autoboot if no kernel loaded Back when I "fixed" the loading of kernel/modules to be deferred until booting, I inadvertently broke the ability to manually load a set of kernels and modules in case of something bad having happened. lualoader would instead happily load whatever is specified in loader.conf(5) and go about the boot, leading to a panic loop as you try to rediscover a way to stop the panicky efirt module from loading and fail miserably. Reported by: me, sadly --- stand/lua/core.lua | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/stand/lua/core.lua b/stand/lua/core.lua index 3c256588a090..4d82921943b8 100644 --- a/stand/lua/core.lua +++ b/stand/lua/core.lua @@ -240,12 +240,18 @@ function core.setDefaults() end function core.autoboot(argstr) - config.loadelf() + -- loadelf() only if we've not already loaded a kernel + if loader.getenv("kernelname") == nil then + config.loadelf() + end loader.perform(composeLoaderCmd("autoboot", argstr)) end function core.boot(argstr) - config.loadelf() + -- loadelf() only if we've not already loaded a kernel + if loader.getenv("kernelname") == nil then + config.loadelf() + end loader.perform(composeLoaderCmd("boot", argstr)) end