From owner-freebsd-hackers Fri Apr 6 14:10: 7 2001 Delivered-To: freebsd-hackers@freebsd.org Received: from alpo.whistle.com (s206m1.whistle.com [207.76.206.1]) by hub.freebsd.org (Postfix) with ESMTP id 7CC1E37B423; Fri, 6 Apr 2001 14:10:02 -0700 (PDT) (envelope-from ambrisko@whistle.com) Received: from whistle.com (crab.whistle.com [207.76.205.112]) by alpo.whistle.com (8.9.1a/8.9.1) with ESMTP id OAA34996; Fri, 6 Apr 2001 14:01:48 -0700 (PDT) Received: (from ambrisko@localhost) by whistle.com (8.9.3/8.9.1) id OAA76025; Fri, 6 Apr 2001 14:00:49 -0700 (PDT) (envelope-from ambrisko) From: Doug Ambrisko Message-Id: <200104062100.OAA76025@whistle.com> Subject: Re: Fix for CDROM boot for IBM PC desktops In-Reply-To: From "(env:" "ambrisko)" at "Apr 6, 2001 12:48:56 pm" To: ambrisko@whistle.com Date: Fri, 6 Apr 2001 14:00:49 -0700 (PDT) Cc: John Baldwin , mark@whistle.com, dhw@whistle.com, freebsd-hackers@FreeBSD.org X-Mailer: ELM [version 2.4ME+ PL61 (25)] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG ambrisko writes: | I also have an update to the patch to make it work on IBM ThinkPads so | that we can boot a FreeBSD CD on a ThinkPad. The problem on the ThinkPad | is that it reads the values from the defined MSDOS boot sector and | uses them to figure out how to do the emulation. Which in our cause | is random code values. Since the BIOS didn't see the media type defined | as a floppy it made it a IDE device somewhere (such as ad11). This | confused the 3rd stage loader. I have confirmed that this works. So now we should be able to boot a FreeBSD CD on all IBM hardware that I can find around here. I will revise the PR. Doug A. | Here is the updated structure in boot1.s: | /* From OpenBSD biosboot.S with tuned values from Doug Ambrisko so | ThinkPads can boot from CDROM. I think the critical part | is setting the media type. | */ | .org 0x03, 0x00 | .asciz "FreeBSD" | /* BPB */ | .org 0x0b, 0x00 | bpb: .word 512 /* sector size */ | .byte 1 /* sectors/cluster */ | .word 1 /* reserved sectors */ | .byte 2 /* # of FAT */ | .word 224 /* root entries */ | .word 2880 /* small sectors */ | .byte 0xf0 /* media type (fd) */ | .word 144 /* sectors/fat */ | .word 18 /* sectors per track */ | .word 2 /* # of heads */ | | /* EBPB */ | .org 0x1c, 0x00 | ebpb: .long 16 /* hidden sectors */ | .long 0 /* large sectors */ | To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message