Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 5 Mar 2004 11:27:22 -0800 (PST)
From:      Quiet Maks <qmaks@univer.omsk.su>
To:        freebsd-gnats-submit@FreeBSD.org
Subject:   i386/63815: boot loader waste a lot of time (10 min) while booting from hard disk
Message-ID:  <200403051927.i25JRM90012348@www.freebsd.org>
Resent-Message-ID: <200403051930.i25JUFSo001942@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         63815
>Category:       i386
>Synopsis:       boot loader waste a lot of time (10 min) while booting from hard disk
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-i386
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Fri Mar 05 11:30:15 PST 2004
>Closed-Date:
>Last-Modified:
>Originator:     Quiet Maks
>Release:        5.2.1-RELEASE
>Organization:
>Environment:
>Description:
While booting from hard disk, after "FreeBSD/i386 bootstrap loader, Revision 1.1" starts, the loader hangs for a whiles until the kernel to be loaded.

>How-To-Repeat:
The reason is an attempt in i386/.../biosdisk.c to open hard disk each time when the file have to be read. If hard disk contains a recursive extended partition with wrong slice offset specification (prepared by another OS), the disk opening may cause the reading of a sector beyond hard disk limit. Such request is handled by BIOS for a some seconds, and been repeated multiple times, this situation dramatically delay a boot process.
>Fix:
Add a check of the requested sector to be in hard disk limit's inside the bd_read() function in the biosdisk.c, and do not perform BIOS read if the check fails.

>Release-Note:
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200403051927.i25JRM90012348>