Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 6 Apr 2001 14:00:49 -0700 (PDT)
From:      Doug Ambrisko <ambrisko@whistle.com>
To:        ambrisko@whistle.com
Cc:        John Baldwin <jhb@FreeBSD.org>, mark@whistle.com, dhw@whistle.com, freebsd-hackers@FreeBSD.org
Subject:   Re: Fix for CDROM boot for IBM PC desktops
Message-ID:  <200104062100.OAA76025@whistle.com>
In-Reply-To: From "(env:" "ambrisko)" at "Apr 6, 2001 12:48:56 pm"

next in thread | raw e-mail | index | archive | help
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




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