Browse Source

[romprefix] Change from opt-in to opt-out when booting via INT19

On non-BBS systems, we have to hook INT 19 in order to be able to boot
from the gPXE ROM at all.  However, doing this unconditionally will
prevent the user from booting via any other devices.

Previously, the INT 19 entry point would prompt the user to press B in
order to boot from gPXE, which makes it impossible to perform an
unattended network boot.  We now prompt the user to press N to skip
booting from gPXE, which allows for unattended operation.

This should be a better match for most real-world scenarios.  Most
modern systems support BBS and so are unaffected by this change.  Very
old (non-BBS) systems tend not to have PXE ROMs by default anyway; if
the user has added a gPXE ROM then they probably do want to boot from
the network.  Newer non-BBS systems are essentially limited to IBM
servers, which will recapture the INT 19 vector anyway and implement
their own boot-ordering selection mechanism.
tags/v0.9.7
Michael Brown 16 years ago
parent
commit
4d7c650164
1 changed files with 3 additions and 3 deletions
  1. 3
    3
      src/arch/i386/prefix/romprefix.S

+ 3
- 3
src/arch/i386/prefix/romprefix.S View File

512
 	call	print_message
512
 	call	print_message
513
 	movw	$int19_message_dots, %si
513
 	movw	$int19_message_dots, %si
514
 	call	print_message
514
 	call	print_message
515
-	movw	$0xdf42, %bx
515
+	movw	$0xdf4e, %bx
516
 	call	wait_for_key
516
 	call	wait_for_key
517
 	pushf
517
 	pushf
518
 	xorw	%di, %di
518
 	xorw	%di, %di
520
 	movw	$int19_message_done, %si
520
 	movw	$int19_message_done, %si
521
 	call	print_message
521
 	call	print_message
522
 	popf
522
 	popf
523
-	jnz	1f
523
+	jz	1f
524
 	/* Leave keypress in buffer and start gPXE.  The keypress will
524
 	/* Leave keypress in buffer and start gPXE.  The keypress will
525
 	 * cause the usual initial Ctrl-B prompt to be skipped.
525
 	 * cause the usual initial Ctrl-B prompt to be skipped.
526
 	 */
526
 	 */
539
 	.size	orig_int19, . - orig_int19
539
 	.size	orig_int19, . - orig_int19
540
 
540
 
541
 int19_message_prompt:
541
 int19_message_prompt:
542
-	.asciz	"Press B to boot from "
542
+	.asciz	"Press N to skip booting from "
543
 	.size	int19_message_prompt, . - int19_message_prompt
543
 	.size	int19_message_prompt, . - int19_message_prompt
544
 int19_message_dots:
544
 int19_message_dots:
545
 	.asciz	"..."
545
 	.asciz	"..."

Loading…
Cancel
Save