summaryrefslogtreecommitdiffstats
path: root/src/image
diff options
context:
space:
mode:
authorMichael Brown2011-03-07 23:02:07 +0100
committerMichael Brown2011-03-07 23:28:31 +0100
commitb2332d511807b87bd71cf73acaaf48e671d71c9d (patch)
treefde829da1d96d26c6d1047c0a41cc2aa8558df1c /src/image
parent[main] Remove shell prompt when using an embedded image (diff)
downloadipxe-b2332d511807b87bd71cf73acaaf48e671d71c9d.tar.gz
ipxe-b2332d511807b87bd71cf73acaaf48e671d71c9d.tar.xz
ipxe-b2332d511807b87bd71cf73acaaf48e671d71c9d.zip
[prefix] Allow iPXE's own command line to be executed as a script
Some prefixes (e.g. .lkrn) allow a command line to be passed in to iPXE. At present, this command line is ignored. If a command line is provided, treat it as an embedded script (without an explicit "#!ipxe" magic marker). This allows for patterns of invocation such as title iPXE kernel /boot/ipxe.lkrn dhcp && \ sanboot iscsi:10.0.4.1::::iqn.2010-04.org.ipxe.dolphin:storage Here GRUB is instructed to load ipxe.lkrn with an embedded script equivalent to #!ipxe dhcp sanboot iscsi:10.0.4.1::::iqn.2010-04.org.ipxe.dolphin:storage This can be used to effectively vary the embedded script without having to rebuild ipxe.lkrn. Originally-implemented-by: Dave Hansen <dave@sr71.net> Signed-off-by: Michael Brown <mcb30@ipxe.org>
Diffstat (limited to 'src/image')
-rw-r--r--src/image/embedded.c2
-rw-r--r--src/image/script.c1
2 files changed, 2 insertions, 1 deletions
diff --git a/src/image/embedded.c b/src/image/embedded.c
index 2ddccfed..6358378f 100644
--- a/src/image/embedded.c
+++ b/src/image/embedded.c
@@ -86,6 +86,6 @@ static void embedded_init ( void ) {
}
/** Embedded image initialisation function */
-struct init_fn embedded_init_fn __init_fn ( INIT_NORMAL ) = {
+struct init_fn embedded_init_fn __init_fn ( INIT_LATE ) = {
.initialise = embedded_init,
};
diff --git a/src/image/script.c b/src/image/script.c
index b819693d..572eac71 100644
--- a/src/image/script.c
+++ b/src/image/script.c
@@ -36,6 +36,7 @@ FILE_LICENCE ( GPL2_OR_LATER );
#include <ipxe/image.h>
#include <ipxe/shell.h>
#include <usr/prompt.h>
+#include <ipxe/script.h>
/** Currently running script
*