浏览代码

[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 年前
父节点
当前提交
4d7c650164
共有 1 个文件被更改,包括 3 次插入3 次删除
  1. 3
    3
      src/arch/i386/prefix/romprefix.S

+ 3
- 3
src/arch/i386/prefix/romprefix.S 查看文件

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

正在加载...
取消
保存