aboutsummaryrefslogtreecommitdiff
path: root/src/include/usr
diff options
context:
space:
mode:
authorMichael Brown <mcb30@ipxe.org>2011-01-27 18:48:47 +0000
committerMichael Brown <mcb30@ipxe.org>2011-01-27 20:41:27 +0000
commite088892a81e428aa4982b1c97001a1196d91acb7 (patch)
tree252e2ca31404c299be9808869f3b6e8ec96114bf /src/include/usr
parent962cada830e9b0ce7049a59bef4c33ab01c6161e (diff)
downloadipxe-e088892a81e428aa4982b1c97001a1196d91acb7.zip
ipxe-e088892a81e428aa4982b1c97001a1196d91acb7.tar.gz
ipxe-e088892a81e428aa4982b1c97001a1196d91acb7.tar.bz2
[autoboot] Connect SAN disk during a filename boot, if applicable
For performing installations direct to a SAN target, it can be very useful to hook a SAN disk and then proceed to perform a filename boot. For example, the user may wish to hook the (empty) SAN installation disk and then boot into the OS installer via TFTP. This provides an alternative mechanism to using "keep-san" and relying on the BIOS to fall through to boot from the installation media, which is unreliable on many BIOSes. When a root-path is specified in addition to a boot filename, attempt to hook the root-path as a SAN disk before booting from the specified filename. Since the root-path may be used for non-SAN purposes (e.g. an NFS root mount point), ignore the root-path if it contains a URI scheme that we do not support. Originally-implemented-by: Jarrod Johnson <jarrod.b.johnson@gmail.com> Signed-off-by: Michael Brown <mcb30@ipxe.org>
Diffstat (limited to 'src/include/usr')
-rw-r--r--src/include/usr/autoboot.h8
-rw-r--r--src/include/usr/imgmgmt.h2
2 files changed, 7 insertions, 3 deletions
diff --git a/src/include/usr/autoboot.h b/src/include/usr/autoboot.h
index 32763be..a608b3d 100644
--- a/src/include/usr/autoboot.h
+++ b/src/include/usr/autoboot.h
@@ -11,12 +11,14 @@ FILE_LICENCE ( GPL2_OR_LATER );
#include <ipxe/in.h>
struct net_device;
+struct uri;
+struct settings;
+extern int uriboot ( struct uri *filename, struct uri *root_path );
+extern struct uri *
+fetch_next_server_and_filename ( struct settings *settings );
extern int netboot ( struct net_device *netdev );
extern int autoboot ( void );
-extern int boot_next_server_and_filename ( struct in_addr next_server,
- const char *filename );
-extern int boot_root_path ( const char *root_path );
extern int pxe_menu_boot ( struct net_device *netdev );
diff --git a/src/include/usr/imgmgmt.h b/src/include/usr/imgmgmt.h
index 0c8c8cf..0beab51 100644
--- a/src/include/usr/imgmgmt.h
+++ b/src/include/usr/imgmgmt.h
@@ -11,6 +11,8 @@ FILE_LICENCE ( GPL2_OR_LATER );
struct image;
+extern int imgdownload ( struct image *image, struct uri *uri,
+ int ( * image_register ) ( struct image *image ) );
extern int imgfetch ( struct image *image, const char *uri_string,
int ( * image_register ) ( struct image *image ) );
extern int imgload ( struct image *image );