Module Name: src
Committed By: tnn
Date: Tue Apr 6 21:18:59 UTC 2010
Modified Files:
src/sys/arch/i386/stand/pxeboot: main.c
Log Message:
Add multiboot command. This lets us netboot the xen+dom0 kernel combo.
To generate a diff of this commit:
cvs rdiff -u -r1.24 -r1.25 src/sys/arch/i386/stand/pxeboot/main.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/arch/i386/stand/pxeboot/main.c
diff -u src/sys/arch/i386/stand/pxeboot/main.c:1.24 src/sys/arch/i386/stand/pxeboot/main.c:1.25
--- src/sys/arch/i386/stand/pxeboot/main.c:1.24 Sun Jan 17 14:54:44 2010
+++ src/sys/arch/i386/stand/pxeboot/main.c Tue Apr 6 21:18:59 2010
@@ -1,4 +1,4 @@
-/* $NetBSD: main.c,v 1.24 2010/01/17 14:54:44 drochner Exp $ */
+/* $NetBSD: main.c,v 1.25 2010/04/06 21:18:59 tnn Exp $ */
/*
* Copyright (c) 1996
@@ -64,6 +64,7 @@
void command_boot(char *);
void command_consdev(char *);
void command_modules(char *);
+void command_multiboot(char *);
const struct bootblk_command commands[] = {
{ "help", command_help },
@@ -72,6 +73,7 @@
{ "boot", command_boot },
{ "consdev", command_consdev },
{ "modules", command_modules },
+ { "multiboot", command_multiboot },
{ "load", module_add },
{ "vesa", command_vesa },
{ NULL, NULL },
@@ -193,6 +195,7 @@
" (ex. \"netbsd.old -s\"\n"
"consdev {pc|com[0123]|com[0123]kbd|auto}\n"
"vesa {enabled|disabled|list|modenum}\n"
+ "multiboot [filename] [<args>]\n"
"modules {enabled|disabled}\n"
"load {path_to_module}\n"
"help|?\n"
@@ -264,3 +267,16 @@
else
printf("invalid flag, must be 'enabled' or 'disabled'.\n");
}
+
+void
+command_multiboot(char *arg)
+{
+ char *filename;
+
+ filename = arg;
+ if (exec_multiboot(filename, gettrailer(arg)) < 0)
+ printf("multiboot: %s: %s\n", filename,
+ strerror(errno));
+ else
+ printf("boot returned\n");
+}