From owner-freebsd-current@FreeBSD.ORG Sun Dec 12 06:00:47 2004 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 142D016A4CE for ; Sun, 12 Dec 2004 06:00:47 +0000 (GMT) Received: from pimout3-ext.prodigy.net (pimout3-ext.prodigy.net [207.115.63.102]) by mx1.FreeBSD.org (Postfix) with ESMTP id 9CC6F43D66 for ; Sun, 12 Dec 2004 06:00:46 +0000 (GMT) (envelope-from julian@elischer.org) Received: from [192.168.1.102] (adsl-216-100-134-143.dsl.snfc21.pacbell.net [216.100.134.143])iBC60iNb380674 for ; Sun, 12 Dec 2004 01:00:45 -0500 Message-ID: <41BBDE8C.6040702@elischer.org> Date: Sat, 11 Dec 2004 22:00:44 -0800 From: Julian Elischer User-Agent: Mozilla/5.0 (X11; U; FreeBSD i386; en-US; rv:1.8a3) Gecko/20041017 X-Accept-Language: en, hu MIME-Version: 1.0 To: current@freebsd.org Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Subject: could bootblock guru's look at this? X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 12 Dec 2004 06:00:47 -0000 We need to decide what to do with this PR -------- 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 Reply-To: Hans Petter Selasky To: freebsd-usb@freebsd.org The following reply was made to PR kern/66248; it has been noted by GNATS. From: Hans Petter Selasky To: jhb@freebsd.org, freebsd-gnats-submit@freebsd.org, bremner@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@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-usb To unsubscribe, send any mail to "freebsd-usb-unsubscribe@freebsd.org"