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
This commit is contained in:
Kyle Evans 2018-03-07 04:11:14 +00:00
parent ee4d316fe7
commit a2a7830eb1

View File

@ -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