svn commit: r230065 - in stable/9: sys/boot/i386/boot0
usr.sbin/boot0cfg
John Baldwin
jhb at FreeBSD.org
Fri Jan 13 18:49:05 UTC 2012
Author: jhb
Date: Fri Jan 13 18:49:04 2012
New Revision: 230065
URL: http://svn.freebsd.org/changeset/base/230065
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/9/sys/boot/i386/boot0/boot0.S
stable/9/usr.sbin/boot0cfg/boot0cfg.8
stable/9/usr.sbin/boot0cfg/boot0cfg.c
Directory Properties:
stable/9/sys/ (props changed)
stable/9/sys/amd64/include/xen/ (props changed)
stable/9/sys/boot/ (props changed)
stable/9/sys/boot/i386/efi/ (props changed)
stable/9/sys/boot/ia64/efi/ (props changed)
stable/9/sys/boot/ia64/ski/ (props changed)
stable/9/sys/boot/powerpc/boot1.chrp/ (props changed)
stable/9/sys/boot/powerpc/ofw/ (props changed)
stable/9/sys/cddl/contrib/opensolaris/ (props changed)
stable/9/sys/conf/ (props changed)
stable/9/sys/contrib/dev/acpica/ (props changed)
stable/9/sys/contrib/octeon-sdk/ (props changed)
stable/9/sys/contrib/pf/ (props changed)
stable/9/sys/contrib/x86emu/ (props changed)
stable/9/usr.sbin/boot0cfg/ (props changed)
Modified: stable/9/sys/boot/i386/boot0/boot0.S
==============================================================================
--- stable/9/sys/boot/i386/boot0/boot0.S Fri Jan 13 18:32:56 2012 (r230064)
+++ stable/9/sys/boot/i386/boot0/boot0.S Fri Jan 13 18:49:04 2012 (r230065)
@@ -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/9/usr.sbin/boot0cfg/boot0cfg.8
==============================================================================
--- stable/9/usr.sbin/boot0cfg/boot0cfg.8 Fri Jan 13 18:32:56 2012 (r230064)
+++ stable/9/usr.sbin/boot0cfg/boot0cfg.8 Fri Jan 13 18:49:04 2012 (r230065)
@@ -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/9/usr.sbin/boot0cfg/boot0cfg.c
==============================================================================
--- stable/9/usr.sbin/boot0cfg/boot0cfg.c Fri Jan 13 18:32:56 2012 (r230064)
+++ stable/9/usr.sbin/boot0cfg/boot0cfg.c Fri Jan 13 18:49:04 2012 (r230065)
@@ -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");
}
More information about the svn-src-stable-9
mailing list