From owner-freebsd-current Wed Feb 16 16:18:48 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 3E34A37B598; Wed, 16 Feb 2000 16:18:46 -0800 (PST) (envelope-from bartol@salk.edu) Received: from helmholtz.salk.edu (helmholtz.salk.edu [198.202.70.34]) by builder.freebsd.org (Postfix) with ESMTP id AFDC9132E0; Wed, 16 Feb 2000 16:18:04 -0800 (PST) Received: from eccles.salk.edu (eccles [198.202.70.120]) by helmholtz.salk.edu (8.7.5/8.7.3) with ESMTP id QAA11924; Wed, 16 Feb 2000 16:18:41 -0800 (PST) Date: Wed, 16 Feb 2000 16:18:42 -0800 (PST) From: Tom Bartol To: Mike Smith Cc: "David E. Cross" , Gerald Abshez , freebsd-current@FreeBSD.ORG Subject: Re: Thinkpad won't boot ISO image In-Reply-To: <200002170003.QAA01571@mass.cdrom.com> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG On Wed, 16 Feb 2000, Mike Smith wrote: > > > 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. O.K. I've got a burner and boat loads of cheap media so no problem there. One question though -- Once I've modified the sources as you've outlined below, how do I make the bootable floppy image that gets written to the CDR? > > 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. Understood (I think) :-) On my Thinkpad I believe I've seen things like 0x8b or some such. This will be the first CD to burn... > > 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. O.K. this makes a lot of sense and sounds easy. > > If you decide to take this on, please let me know how you go. Will do! > > Thanks! > And thank you too!!! Tom To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message