i386/63815: boot loader waste a lot of time (10 min) while booting from hard disk

Quiet Maks qmaks at univer.omsk.su
Fri Mar 5 11:30:16 PST 2004


>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:


More information about the freebsd-i386 mailing list