summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Brown2025-05-21 15:22:36 +0200
committerMichael Brown2025-05-21 16:07:55 +0200
commit20d2c0f78702c1e9d295c7abb7ac3a054fe17bd0 (patch)
tree5f77819dc45bbd3c68e7cc659994c9779a0c6085
parent[lkrn] Allow a single initrd to be passed to the booted kernel (diff)
downloadipxe-20d2c0f78702c1e9d295c7abb7ac3a054fe17bd0.tar.gz
ipxe-20d2c0f78702c1e9d295c7abb7ac3a054fe17bd0.tar.xz
ipxe-20d2c0f78702c1e9d295c7abb7ac3a054fe17bd0.zip
[lkrn] Shut down devices before jumping to kernel entry point
Signed-off-by: Michael Brown <mcb30@ipxe.org>
-rw-r--r--src/image/lkrn.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/image/lkrn.c b/src/image/lkrn.c
index 15e9c0d7b..c6c5f9b15 100644
--- a/src/image/lkrn.c
+++ b/src/image/lkrn.c
@@ -33,6 +33,7 @@ FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
#include <ipxe/segment.h>
#include <ipxe/io.h>
#include <ipxe/fdt.h>
+#include <ipxe/init.h>
#include <ipxe/lkrn.h>
/** @file
@@ -227,6 +228,9 @@ static int lkrn_exec ( struct image *image ) {
if ( ( rc = lkrn_load ( image, &ctx ) ) != 0 )
return rc;
+ /* Shut down ready for boot */
+ shutdown_boot();
+
/* Jump to kernel entry point */
DBGC ( image, "LKRN %s jumping to kernel at %#08lx\n",
image->name, ctx.entry );