summaryrefslogtreecommitdiffstats
path: root/src/config
diff options
context:
space:
mode:
authorMichael Brown2015-05-18 17:02:02 +0200
committerMichael Brown2015-05-19 13:58:03 +0200
commit3ec8b67818c146064bbc830490c1fa4454ba1513 (patch)
tree901833f66fb7b40c700779b52b55915c4d107c76 /src/config
parent[intel] Add intelxvf driver for Intel 10 GigE virtual function NICs (diff)
downloadipxe-3ec8b67818c146064bbc830490c1fa4454ba1513.tar.gz
ipxe-3ec8b67818c146064bbc830490c1fa4454ba1513.tar.xz
ipxe-3ec8b67818c146064bbc830490c1fa4454ba1513.zip
[int13con] Add basic ability to log to a local disk via INT 13
Several popular public cloud providers do not provide any sensible mechanism for obtaining debug output from an OS which is failing to boot. For example, Amazon EC2 provides the "Get System Log" facility, which occasionally deigns to report a random subset of the characters emitted via the VM's serial port, but usually returns only a blank screen. (Amazingly, this is still superior to the debugging facilities provided by Azure.) Work around these shortcomings by adding a console type which sends output to a magically detected raw disk partition, and including such a partition within any iPXE .usb-format image. To use this facility: - build an iPXE .usb image with CONSOLE_INT13 enabled - boot the cloud VM from this image - after the boot fails, attach the VM's boot disk to a second VM - from this second VM, use "less -f -R /dev/sdb3" (or similar) to view the iPXE output. Signed-off-by: Michael Brown <mcb30@ipxe.org>
Diffstat (limited to 'src/config')
-rw-r--r--src/config/config.c3
-rw-r--r--src/config/console.h1
2 files changed, 4 insertions, 0 deletions
diff --git a/src/config/config.c b/src/config/config.c
index ae2ec479..9cc23949 100644
--- a/src/config/config.c
+++ b/src/config/config.c
@@ -84,6 +84,9 @@ REQUIRE_OBJECT ( debugcon );
#ifdef CONSOLE_VESAFB
REQUIRE_OBJECT ( vesafb );
#endif
+#ifdef CONSOLE_INT13
+REQUIRE_OBJECT ( int13con );
+#endif
/*
* Drag in all requested network protocols
diff --git a/src/config/console.h b/src/config/console.h
index d71ef481..ffa5cf50 100644
--- a/src/config/console.h
+++ b/src/config/console.h
@@ -23,6 +23,7 @@ FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
//#define CONSOLE_VMWARE /* VMware logfile console */
//#define CONSOLE_DEBUGCON /* Debug port console */
//#define CONSOLE_VESAFB /* VESA framebuffer console */
+//#define CONSOLE_INT13 /* INT13 disk log console */
#define KEYBOARD_MAP us