diff options
| author | Michael Brown | 2011-03-07 23:02:07 +0100 |
|---|---|---|
| committer | Michael Brown | 2011-03-07 23:28:31 +0100 |
| commit | b2332d511807b87bd71cf73acaaf48e671d71c9d (patch) | |
| tree | fde829da1d96d26c6d1047c0a41cc2aa8558df1c /src/include/ipxe | |
| parent | [main] Remove shell prompt when using an embedded image (diff) | |
| download | ipxe-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/include/ipxe')
| -rw-r--r-- | src/include/ipxe/init.h | 1 | ||||
| -rw-r--r-- | src/include/ipxe/script.h | 16 |
2 files changed, 17 insertions, 0 deletions
diff --git a/src/include/ipxe/init.h b/src/include/ipxe/init.h index 954cda453..19c5925bf 100644 --- a/src/include/ipxe/init.h +++ b/src/include/ipxe/init.h @@ -29,6 +29,7 @@ struct init_fn { #define INIT_SERIAL 02 /**< Serial driver initialisation */ #define INIT_CONSOLE 03 /**< Console initialisation */ #define INIT_NORMAL 04 /**< Normal initialisation */ +#define INIT_LATE 05 /**< Late initialisation */ /** @} */ diff --git a/src/include/ipxe/script.h b/src/include/ipxe/script.h new file mode 100644 index 000000000..33420dae4 --- /dev/null +++ b/src/include/ipxe/script.h @@ -0,0 +1,16 @@ +#ifndef _IPXE_SCRIPT_H +#define _IPXE_SCRIPT_H + +/** @file + * + * iPXE scripts + * + */ + +FILE_LICENCE ( GPL2_OR_LATER ); + +#include <ipxe/image.h> + +extern struct image_type script_image_type __image_type ( PROBE_NORMAL ); + +#endif /* _IPXE_SCRIPT_H */ |
