atom feed25 messages in org.freebsd.freebsd-hackersBoot manager beep (revisited)
FromSent OnAttachments
Eric AndersonMay 1, 2006 3:34 am 
Darren PilgrimMay 1, 2006 4:44 am 
Giorgos KeramidasMay 1, 2006 5:30 am 
Alex ZbyslawMay 1, 2006 9:31 am 
Giorgos KeramidasMay 1, 2006 10:15 am 
Luigi RizzoMay 1, 2006 10:29 am 
Giorgos KeramidasMay 1, 2006 10:48 am 
Dag-Erling SmørgravMay 1, 2006 10:54 am 
Alex ZbyslawMay 1, 2006 12:16 pm 
Eric AndersonMay 1, 2006 12:22 pm 
Alex ZbyslawMay 1, 2006 12:32 pm 
Giorgos KeramidasMay 1, 2006 12:52 pm 
Giorgos KeramidasMay 1, 2006 12:54 pm 
Eric AndersonMay 1, 2006 12:55 pm 
Daniel LangMay 1, 2006 1:03 pm 
Giorgos KeramidasMay 1, 2006 1:06 pm 
John BaldwinMay 1, 2006 6:03 pm 
John BaldwinMay 1, 2006 6:03 pm 
John BaldwinMay 1, 2006 6:03 pm 
Giorgos KeramidasMay 2, 2006 5:31 am 
Alex ZbyslawMay 2, 2006 11:36 am 
John BaldwinMay 2, 2006 12:38 pm 
Dag-Erling SmørgravMay 2, 2006 1:39 pm 
Alex ZbyslawMay 2, 2006 10:47 pm 
Eric AndersonMay 3, 2006 12:50 am 
Subject:Boot manager beep (revisited)
From:John Baldwin (jh@freebsd.org)
Date:May 1, 2006 6:03:22 pm
List:org.freebsd.freebsd-hackers

On Monday 01 May 2006 09:07, Giorgos Keramidas wrote:

On 2006-05-01 15:03, Daniel Lang <lang@leo.org> wrote:

Alex Zbyslaw wrote on Mon, May 01, 2006 at 10:31:34AM +0100: [..]

off by setting WITHOUT_BOOTEASY_BEEP in `/etc/src.conf'.

[..]

WITH_BOOTEASY_BEEP so that it's off by default unless you turn it on

Regardless what you decide, if such an option is created, please call it WITH/WITHOUT_BOOTZERO_BEEP or WITH/WITHOUT_BOOT0_BEEP.

The current FreeBSD bootmanager is called 'boot0'. It has replaced booteasy (which was indeed used in the past) centuries ago.

I'll do, thanks for the careful review of the diff :)

How about the patch below. It restores the behavior of the beep only happening for invalid input by axeing the BSD/OS partition type from the lookup table.

Index: boot0.S =================================================================== RCS file: /usr/cvs/src/sys/boot/i386/boot0/boot0.S,v retrieving revision 1.14 diff -u -r1.14 boot0.S --- boot0.S 8 Feb 2005 20:43:04 -0000 1.14 +++ boot0.S 1 May 2006 18:00:37 -0000 @@ -29,7 +29,7 @@ .set PRT_OFF,0x1be # Partition table

.set TBL0SZ,0x3 # Table 0 size - .set TBL1SZ,0xb # Table 1 size + .set TBL1SZ,0xa # Table 1 size

.set MAGIC,0xaa55 # Magic: bootable .set B0MAGIC,0xbb66 # Identification @@ -198,12 +198,16 @@ movb _OPT(%bp),%dl # Display decw %si # default callw putkey # key + jmp main.7_1 # Skip beep /* - * Start of input loop. Beep and take note of time + * Users's last try was bad, beep in displeasure. */ main.10: movb $ASCII_BEL,%al # Signal callw putchr # beep! - xorb %ah,%ah # BIOS: Get +/* + * Start of input loop. Take note of time + */ +main.7_1: xorb %ah,%ah # BIOS: Get int $0x1a # system time movw %dx,%di # Ticks when addw _TICKS(%bp),%di # timeout @@ -410,7 +414,7 @@ * These values indicate bootable types we know the names of. */ .byte 0x1, 0x6, 0x7, 0xb, 0xc, 0xe, 0x83 - .byte 0x9f, 0xa5, 0xa6, 0xa9 + .byte 0xa5, 0xa6, 0xa9 /* * These are offsets that match the known names above and point to the strings * that will be printed. os_misc will be used if the search of the above table @@ -423,7 +427,6 @@ .byte os_dos-. # Windows .byte os_dos-. # Windows .byte os_linux-. # Linux - .byte os_bsd-. # BSD/OS .byte os_freebsd-. # FreeBSD .byte os_bsd-. # OpenBSD .byte os_bsd-. # NetBSD