From: Mark M. <ma...@re...> - 2008-04-29 10:42:32
|
The -kernel option generates a new boot sector for the boot drive which jumps directly to the supplied kernel rather than running the standard bootloader. Trivially fix generate_bootsect() to handle the case where we're booting using extboot. Signed-off-by: Mark McLoughlin <ma...@re...> --- qemu/hw/pc.c | 7 ++++--- 1 files changed, 4 insertions(+), 3 deletions(-) diff --git a/qemu/hw/pc.c b/qemu/hw/pc.c index 48a36e0..506ef6b 100644 --- a/qemu/hw/pc.c +++ b/qemu/hw/pc.c @@ -405,11 +405,12 @@ static void generate_bootsect(uint32_t gpr[8], uint16_t segs[6], uint16_t ip) { uint8_t bootsect[512], *p; int i; - int hda; + int hda = extboot_drive; - hda = drive_get_index(IF_IDE, 0, 0); + if (hda == -1) + hda = drive_get_index(IF_IDE, 0, 0); if (hda == -1) { - fprintf(stderr, "A disk image must be given for 'hda' when booting " + fprintf(stderr, "-hda or -drive boot=on must be given when booting " "a Linux kernel\n"); exit(1); } -- 1.5.4.1 |