Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 13 Jan 2012 18:49:28 +0000 (UTC)
From:      John Baldwin <jhb@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org
Subject:   svn commit: r230066 - in stable/8: sys/boot/i386/boot0 usr.sbin/boot0cfg
Message-ID:  <201201131849.q0DInSic074623@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: jhb
Date: Fri Jan 13 18:49:28 2012
New Revision: 230066
URL: http://svn.freebsd.org/changeset/base/230066

Log:
  MFC 228738:
  Allow boot0cfg to force a PXE boot via boot0 on the next boot.
  - Fix boot0 to check for PXE when using the pre-set setting for the
    preferred slice.
  - Update boot0cfg to use slice 6 to select PXE.  Accept a 'pxe' argument
    instead of a number for the 's' option as a way to select PXE as well.

Modified:
  stable/8/sys/boot/i386/boot0/boot0.S
  stable/8/usr.sbin/boot0cfg/boot0cfg.8
  stable/8/usr.sbin/boot0cfg/boot0cfg.c
Directory Properties:
  stable/8/sys/   (props changed)
  stable/8/sys/amd64/include/xen/   (props changed)
  stable/8/sys/cddl/contrib/opensolaris/   (props changed)
  stable/8/sys/contrib/dev/acpica/   (props changed)
  stable/8/sys/contrib/pf/   (props changed)
  stable/8/usr.sbin/boot0cfg/   (props changed)

Modified: stable/8/sys/boot/i386/boot0/boot0.S
==============================================================================
--- stable/8/sys/boot/i386/boot0/boot0.S	Fri Jan 13 18:49:04 2012	(r230065)
+++ stable/8/sys/boot/i386/boot0/boot0.S	Fri Jan 13 18:49:28 2012	(r230066)
@@ -413,6 +413,7 @@ got_key:
 	3:
 #endif /* ONLY_F_KEYS */
 #endif /* SIO */
+check_selection:
 		cmpb $0x5,%al			# F1..F6 or 1..6 ?
 #ifdef PXE /* enable PXE/INT18 using F6 */
 		jne 1f;
@@ -421,7 +422,6 @@ got_key:
 #endif /* PXE */
 		jae beep			# Not in F1..F5, beep
 
-check_selection:
 	/*
 	 * We have a selection.  If it's a bad selection go back to complain.
 	 * The bits in MNUOPT were set when the options were printed.

Modified: stable/8/usr.sbin/boot0cfg/boot0cfg.8
==============================================================================
--- stable/8/usr.sbin/boot0cfg/boot0cfg.8	Fri Jan 13 18:49:04 2012	(r230065)
+++ stable/8/usr.sbin/boot0cfg/boot0cfg.8	Fri Jan 13 18:49:28 2012	(r230066)
@@ -146,6 +146,9 @@ Set the default boot selection to
 .Ar slice .
 Values between 1 and 4 refer to slices; a value of 5 refers to the
 option of booting from a second disk.
+The special string
+.Dq PXE
+or a value of 6 can be used to boot via PXE.
 .It Fl t Ar ticks
 Set the timeout value to
 .Ar ticks .

Modified: stable/8/usr.sbin/boot0cfg/boot0cfg.c
==============================================================================
--- stable/8/usr.sbin/boot0cfg/boot0cfg.c	Fri Jan 13 18:49:04 2012	(r230065)
+++ stable/8/usr.sbin/boot0cfg/boot0cfg.c	Fri Jan 13 18:49:28 2012	(r230066)
@@ -168,7 +168,10 @@ main(int argc, char *argv[])
             o_flag = 1;
             break;
         case 's':
-            s_arg = argtoi(optarg, 1, 5, 's');
+	    if (strcasecmp(optarg, "pxe") == 0)
+		s_arg = 6;
+	    else
+		s_arg = argtoi(optarg, 1, 6, 's');
             break;
         case 't':
             t_arg = argtoi(optarg, 1, 0xffff, 't');
@@ -441,8 +444,10 @@ display_mbr(u_int8_t *mbr)
     printf("default_selection=F%d (", mbr[OFF_OPT] + 1);
     if (mbr[OFF_OPT] < 4)
 	printf("Slice %d", mbr[OFF_OPT] + 1);
-    else
+    else if (mbr[OFF_OPT] == 4)
 	printf("Drive 1");
+    else
+	printf("PXE");
     printf(")\n");
 }
 



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201201131849.q0DInSic074623>