Re: could bootblock guru's look at this?

From: John Baldwin <jhb_at_FreeBSD.org>
Date: Thu, 6 Jan 2005 14:11:35 -0500
On Sunday 12 December 2004 01:00 am, Julian Elischer wrote:
> We need to decide what to do with this PR

I just don't like loosing the bell but I guess it can go in.  It also needs to 
be merged into boot0ext.S, but that wouldn't have to lose the bell as that 
version has more room for code.

> -------- Original Message --------
> Subject: Re: kern/66248: [panic] bootloader is confused by booting from USB
> flash, trashes main drives boot block
> Date: Mon, 8 Nov 2004 17:20:21 GMT
> From: Hans Petter Selasky <hselasky_at_c2i.net>
> Reply-To: Hans Petter Selasky <hselasky_at_c2i.net>
> To: freebsd-usb_at_freebsd.org
>
> The following reply was made to PR kern/66248; it has been noted by GNATS.
>
> From: Hans Petter Selasky <hselasky_at_c2i.net>
> To: jhb_at_freebsd.org, freebsd-gnats-submit_at_freebsd.org, bremner_at_unb.ca
> Cc:
> Subject: Re: kern/66248: [panic] bootloader is confused by booting from USB
> flash, trashes main drives boot block
> Date: Mon, 8 Nov 2004 18:24:03 +0100
>
>   --SUOF0GtieIMvvwua
>   Content-Type: text/plain; charset=us-ascii
>   Content-Disposition: inline
>
>   Hi,
>
>   Attached patch for /src/sys/boot/i386/boot0/boot0.S closes kern/66248
>   Apply using: cat boot0.S.diff | patch -N -l
>
>
>   When the boot0 boot-manager is used on a floppy or USB drive, the
> floppy's or USB's boot-sector gets written to the hdd!
>
>   Solution: Only update the boot-sector when there is a valid drive number
> or the drive number is set manually.
>
>   To make the patch fit into the code I had to disable the "beep-signal".
>
>   Yours
>   -HPS
>
>
>   --SUOF0GtieIMvvwua
>   Content-Type: text/plain; charset=us-ascii
>   Content-Disposition: attachment; filename="boot0.S.diff"
>
>   *** boot0.S.ref	Wed Oct 20 17:24:19 2004
>   --- boot0.S	Wed Oct 20 17:30:56 2004
>   ***************
>   *** 103,112 ****
>      * Check what flags were loaded with us, specifically, Use a predefined
> Drive. * If what the bios gives us is bad, use the '0' in the block
> instead, as well. */
>   ! 		testb $0x20,_FLAGS(%bp)		# Set number drive?
>     		jnz main.1			# Yes
>     		testb %dl,%dl			# Drive number valid?
>     		js main.2			# Possibly (0x80 set)
>     main.1:		movb _SETDRV(%bp),%dl		# Drive number to use
>     /*
>      * Whatever we decided to use, now store it into the fake
>   --- 103,117 ----
>      * Check what flags were loaded with us, specifically, Use a predefined
> Drive. * If what the bios gives us is bad, use the '0' in the block
> instead, as well. */
>   ! 		testb $0x20,_FLAGS(%bp)		# Set drive number?
>     		jnz main.1			# Yes
>     		testb %dl,%dl			# Drive number valid?
>     		js main.2			# Possibly (0x80 set)
>   + /*
>   +  * Only update the boot-sector when there is a valid drive number or
>   +  * the drive number is set manually.
>   +  */
>   + 		orb $0x40,_FLAGS(%bp)		# Disable updates
>     main.1:		movb _SETDRV(%bp),%dl		# Drive number to use
>     /*
>      * Whatever we decided to use, now store it into the fake
>   ***************
>   *** 203,210 ****
>     /*
>      * 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
>     		int $0x1a			#  system time
>     		movw %dx,%di			# Ticks when
>   --- 208,218 ----
>     /*
>      * Start of input loop.  Beep and take note of time
>      */
>   ! main.10:
>   ! #ifdef BEL
>   ! 		movb $ASCII_BEL,%al		# Signal
>     		callw putchr			#  beep!
>   + #endif
>     		xorb %ah,%ah			# BIOS: Get
>     		int $0x1a			#  system time
>     		movw %dx,%di			# Ticks when
>
>   --SUOF0GtieIMvvwua--
> _______________________________________________
> freebsd-usb_at_freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-usb
> To unsubscribe, send any mail to "freebsd-usb-unsubscribe_at_freebsd.org"
> _______________________________________________
> freebsd-current_at_freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-current
> To unsubscribe, send any mail to "freebsd-current-unsubscribe_at_freebsd.org"

-- 
John Baldwin <jhb_at_FreeBSD.org>  <><  http://www.FreeBSD.org/~jhb/
"Power Users Use the Power to Serve"  =  http://www.FreeBSD.org
Received on Thu Jan 06 2005 - 20:20:56 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:38:25 UTC