2
0
mirror of https://github.com/xcat2/xcat-dep.git synced 2024-12-25 04:31:40 +00:00

-Add an 'hdboot' command to xnba to allow a clean 'localboot' behavior

-Add back in harmless kvm workaround, stable kvm still susceptible, two nops areacceptable even when they don't matter.
-Add scalability enhancement patches to KVM
-Explicitly remove troublesome 'IMAGE_EFI' support (causes UEFI systems to reboot)
-Remove Multiboot image support (mboot.c32 is much more usable, and gPXE codebase would require a lot of code to become equivalent that would likely push it beyond the 64k limit.
-Add 'NVO' commands, which really includes changing transient DHCP options
This commit is contained in:
jbjohnso 2009-07-20 13:54:47 +00:00
parent 961c84de01
commit cae1bcfed9
4 changed files with 82 additions and 11 deletions

View File

@ -1,6 +1,6 @@
diff -urN gpxe-0.9.7/src/config/general.h gpxe-0.9.7-config/src/config/general.h
--- gpxe-0.9.7/src/config/general.h 2009-03-01 21:23:42.000000000 -0500
+++ gpxe-0.9.7-config/src/config/general.h 2009-06-23 12:49:23.000000000 -0400
--- gpxe-0.9.7/src/config/general.h 2009-07-09 10:15:27.000000000 -0400
+++ gpxe-0.9.7-config/src/config/general.h 2009-07-09 10:19:39.000000000 -0400
@@ -48,7 +48,7 @@
#undef DOWNLOAD_PROTO_NFS /* Network File System */
#define DOWNLOAD_PROTO_HTTP /* Hypertext Transfer Protocol */
@ -19,7 +19,7 @@ diff -urN gpxe-0.9.7/src/config/general.h gpxe-0.9.7-config/src/config/general.h
/*
* Name resolution modules
@@ -76,16 +76,16 @@
@@ -76,17 +76,17 @@
* you want to use.
*
*/
@ -33,26 +33,26 @@ diff -urN gpxe-0.9.7/src/config/general.h gpxe-0.9.7-config/src/config/general.h
-//#define IMAGE_SCRIPT /* gPXE script image support */
-//#define IMAGE_BZIMAGE /* Linux bzImage image support */
-//#define IMAGE_COMBOOT /* SYSLINUX COMBOOT image support */
-//#define IMAGE_EFI /* EFI image support */
+#define IMAGE_NBI /* NBI image support */
+#define IMAGE_ELF /* ELF image support */
+#define IMAGE_FREEBSD /* FreeBSD kernel image support */
+#define IMAGE_MULTIBOOT /* MultiBoot image support */
+#undef IMAGE_MULTIBOOT /* MultiBoot image support */
+#undef IMAGE_AOUT /* a.out image support */
+#undef IMAGE_WINCE /* WinCE image support */
+#define IMAGE_PXE /* PXE image support */
+#define IMAGE_SCRIPT /* gPXE script image support */
+#define IMAGE_BZIMAGE /* Linux bzImage image support */
+#undef IMAGE_COMBOOT /* SYSLINUX COMBOOT image support */
//#define IMAGE_EFI /* EFI image support */
+#undef IMAGE_EFI /* EFI image support */
/*
@@ -93,14 +93,14 @@
*
* Command-line commands to include
@@ -94,13 +94,13 @@
*/
#define AUTOBOOT_CMD /* Automatic booting */
-#define NVO_CMD /* Non-volatile option storage commands */
#define NVO_CMD /* Non-volatile option storage commands */
-#define CONFIG_CMD /* Option configuration console */
+#undef NVO_CMD /* Non-volatile option storage commands */
+#undef CONFIG_CMD /* Option configuration console */
#define IFMGMT_CMD /* Interface management commands */
#define ROUTE_CMD /* Routing table management commands */

View File

@ -0,0 +1,60 @@
diff -urN gpxe-0.9.7/src/config/general.h gpxe-0.9.7-hdboot/src/config/general.h
--- gpxe-0.9.7/src/config/general.h 2009-07-20 09:44:50.000000000 -0400
+++ gpxe-0.9.7-hdboot/src/config/general.h 2009-07-20 09:45:33.000000000 -0400
@@ -100,6 +100,7 @@
#define IMAGE_CMD /* Image management commands */
#define DHCP_CMD /* DHCP management commands */
#define SANBOOT_CMD /* SAN boot commands */
+#define HDBOOT_CMD /* SAN boot commands */
#undef LOGIN_CMD /* Login command */
/*
diff -urN gpxe-0.9.7/src/core/config.c gpxe-0.9.7-hdboot/src/core/config.c
--- gpxe-0.9.7/src/core/config.c 2009-03-01 21:23:42.000000000 -0500
+++ gpxe-0.9.7-hdboot/src/core/config.c 2009-07-20 09:45:56.000000000 -0400
@@ -193,6 +193,9 @@
#ifdef SANBOOT_CMD
REQUIRE_OBJECT ( sanboot_cmd );
#endif
+#ifdef HDBOOT_CMD
+REQUIRE_OBJECT ( hdboot_cmd );
+#endif
#ifdef LOGIN_CMD
REQUIRE_OBJECT ( login_cmd );
#endif
diff -urN gpxe-0.9.7/src/hci/commands/hdboot_cmd.c gpxe-0.9.7-hdboot/src/hci/commands/hdboot_cmd.c
--- gpxe-0.9.7/src/hci/commands/hdboot_cmd.c 1969-12-31 19:00:00.000000000 -0500
+++ gpxe-0.9.7-hdboot/src/hci/commands/hdboot_cmd.c 2009-07-20 09:46:25.000000000 -0400
@@ -0,0 +1,32 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <getopt.h>
+#include <int13.h>
+#include <gpxe/command.h>
+#include <usr/autoboot.h>
+
+/**
+ * The "hdboot" command
+ *
+ * @v argc Argument count
+ * @v argv Argument list
+ * @ret rc Exit code
+ */
+static int hdboot_exec ( int argc, char **argv ) {
+ if (argc != 1) {
+ printf ( "Usage:\n"
+ " %s\n"
+ "\n"
+ "Boot from the first HD\n",
+ argv[0] );
+ return 1;
+ }
+ int13_boot ( 0x80 );
+ return 1;
+}
+
+struct command hdboot_command __command = {
+ .name = "hdboot",
+ .exec = hdboot_exec,
+};

View File

@ -1,12 +1,13 @@
Name: xnba-kvm
Version: 0.9.7
Release: 3
Release: 8
Summary: gPXE loader for virtual guests
Group: System Environment/Kernel
License: GPL
URL: http://etherboot.org/wiki/index.php
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}
Obsoletes: gpxe-kvm
ExclusiveArch: i386 x86_64
@ -20,6 +21,9 @@ Source0: gpxe-0.9.7.tar.gz
Patch0: gpxe-0.9.7-branding.patch
Patch1: gpxe-0.9.7-registeriscsionpxe.patch
Patch2: gpxe-0.9.7-config.patch
Patch3: gpxe-0.9.7-ignorepackets.patch
Patch4: gpxe-0.9.7-kvmworkaround.patch
Patch5: gpxe-0.9.7-hdboot.patch
%description
The gPXE network bootloader provides network boot capability for virtual machines with e1000 and virtio network devices. This includes iSCSI and PXE with tftp or ftp image download capability.
@ -30,6 +34,9 @@ The gPXE network bootloader provides network boot capability for virtual machine
%patch -p1
%patch1 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p1
%patch5 -p1
%build

View File

@ -1,6 +1,6 @@
Name: xnba-undi
Version: 0.9.7
Release: 5
Release: 8
Summary: xCAT Network Boot Agent for x86 PXE hosts
Obsoletes: gpxe-xcat
Obsoletes: gpxe-undi
@ -21,6 +21,8 @@ Patch0: gpxe-0.9.7-branding.patch
Patch1: gpxe-0.9.7-registeriscsionpxe.patch
Patch2: gpxe-0.9.7-config.patch
Patch3: gpxe-0.9.7-ignorepackets.patch
Patch4: gpxe-0.9.7-kvmworkaround.patch
Patch5: gpxe-0.9.7-hdboot.patch
%description
The xCAT Network Boot Agent is a slightly modified version of gPXE. It provides enhanced boot features for any UNDI compliant x86 host. This includes iSCSI, http/ftp downloads, and gPXE script based booting.
@ -32,6 +34,8 @@ The xCAT Network Boot Agent is a slightly modified version of gPXE. It provides
%patch1 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p1
%patch5 -p1
%build