From owner-freebsd-current Wed Feb 16 15:52:28 2000 Delivered-To: freebsd-current@freebsd.org Received: from builder.freebsd.org (builder.FreeBSD.ORG [204.216.27.24]) by hub.freebsd.org (Postfix) with ESMTP id A32C337B583; Wed, 16 Feb 2000 15:52:26 -0800 (PST) (envelope-from msmith@mass.cdrom.com) Received: from mass.cdrom.com (mass.cdrom.com [204.216.28.184]) by builder.freebsd.org (Postfix) with ESMTP id 7FFBE132EF; Wed, 16 Feb 2000 15:51:47 -0800 (PST) Received: from mass.cdrom.com (localhost [127.0.0.1]) by mass.cdrom.com (8.9.3/8.9.3) with ESMTP id QAA01571; Wed, 16 Feb 2000 16:03:51 -0800 (PST) (envelope-from msmith@mass.cdrom.com) Message-Id: <200002170003.QAA01571@mass.cdrom.com> X-Mailer: exmh version 2.1.1 10/15/1999 To: Tom Bartol Cc: Mike Smith , "David E. Cross" , Gerald Abshez , freebsd-current@FreeBSD.ORG Subject: Re: Thinkpad won't boot ISO image In-reply-to: Your message of "Wed, 16 Feb 2000 14:28:28 PST." Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Date: Wed, 16 Feb 2000 16:03:51 -0800 From: Mike Smith Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG > > The problem with the Thinkpad BIOS is where it puts the emulated floppy > > image's disk number - it's not in the 'normal' place, and I don't exactly > > know how to deal with it cleanly. If someone were to lend me a thinkpad > > or look at this it would be easy to fix. > > I'd like to help look at this. I have a ThinkPad 770 and it too exhibits > this behavior. Unfortunately it's my only laptop so I can't loan it out > but I certainly would like to help out if I can. I've got an > up-to-date -current running. What code should I look at in sys/boot and > how do I figure out where the Thinkpad BIOS puts the emulated floppy > image's disk number? You'll need a CD burner and the time & patience to produce a small number of coasters for this. In sys/boot/i386/loader/main.c:main() you will need to print the value of initial_bootdev, sometime after the console is initialised. From what I've seen, I get the impression that it will be something like 0x87. This is the root of the problem; floppy disks are typically numbered 0,1 and hard disks are numbered 0x80,0x81, etc. Normally all the unit numbers are contiguous. If this is the case, you will need to modify sys/boot/i386/libi386/biosdisk.c:bd_init() to check whether it's scanned the BIOS unit number from initial_bootdev, and if not (and it's legal) scan it as well. Once we've 'probed' the BIOS unit, everything else should work correctly. If you decide to take this on, please let me know how you go. Thanks! -- \\ Give a man a fish, and you feed him for a day. \\ Mike Smith \\ Tell him he should learn how to fish himself, \\ msmith@freebsd.org \\ and he'll hate you for a lifetime. \\ msmith@cdrom.com To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message