Boot manager beep

Scott Long scottl at samsco.org
Fri Dec 9 06:55:11 PST 2005


Thomas E. Zander wrote:
> Hi,
> 
> just installed a fresh 6.0 on a laptop, using the standard boot
> manager. The problem is: The default volume of pcspeaker can't be tuned
> in bios or anywhere else before loading a sound driver (in this case
> snd_ich). This especially means the pc speaker volume is always set to
> 100% at every boot which results in a horribly loud beep which I am
> afraid the built-in "speakers" can't do very often :-)
> 
> So what about this one:
> 
> --- /usr/src/sys/boot/i386/boot0/boot0.S
> +++ boot0.S
> @@ -201,9 +201,7 @@
>  /*
>   * Start of input loop.  Beep and take note of time
>   */
> -main.10:	movb $ASCII_BEL,%al		# Signal
> -		callw putchr			#  beep!
> -		xorb %ah,%ah			# BIOS: Get
> +main.10:	xorb %ah,%ah			# BIOS: Get
>  		int $0x1a			#  system time
>  		movw %dx,%di			# Ticks when
>  		addw _TICKS(%bp),%di		#  timeout
> 
> This might be an issue on other architectures (amd64?) as well, I
> haven't checked that right now.
> 
> TIA,
> Riggs
> 

The beep is useful for some people who run headless systems, but it
is indeed annoying for others, especially with laptops in quiet places.
We should probably conditionalize this on a variable that can go into
/etc/make.conf.  Note that amd64 uses the i386 bits here.

Scott


More information about the freebsd-stable mailing list