From 3ec8b67818c146064bbc830490c1fa4454ba1513 Mon Sep 17 00:00:00 2001 From: Michael Brown Date: Mon, 18 May 2015 16:02:02 +0100 Subject: [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 --- src/config/config.c | 3 +++ src/config/console.h | 1 + 2 files changed, 4 insertions(+) (limited to 'src/config') 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 -- cgit v1.2.3-55-g7522