Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 26 Jun 2001 02:05:01 -0700
From:      Terry Lambert <tlambert2@mindspring.com>
To:        "Lawrence S. Lansing" <lansil@rpi.edu>
Cc:        freebsd-hackers@FreeBSD.ORG
Subject:   Re: custom bootable CD & /usr/src/sys/i386/boot/cdboot
Message-ID:  <3B38503D.AD53EBCD@mindspring.com>
References:  <Pine.A41.3.96.1010626002910.64824A-100000@vcmr-19.rcs.rpi.edu>

next in thread | previous in thread | raw e-mail | index | archive | help
"Lawrence S. Lansing" wrote:
> 
> Hello.  I am trying to create a custom bootable FreeBSD CD
> with a "live" filesystem.

[ ... ]

> 2 -- The boot image is created by running 'make' in
> /usr/src/sys/i386/boot/cdboot.  This image contains a
> smarter 'loader', which is able to read an ISO9660
> filesystem for the kernel and root filesystem.  I
> believe this boot image contains boot0/1 and /boot/cdboot.
> /boot/cdboot appears to be created from
> /usr/src/sys/boot/i386/cdldr, a 'loader' wrapper which
> replaces boot2, and allows 'loader' to understand ISO9660.

[ ... ]

> I burned a CD, and attempted to boot from it.  I was greeted
> with this message, generated by 'cdboot':
> 
> ---
> Your BIOS int 0x13 extensions seem to be disabled.
> It's impossible to boot a CD-ROM without them.
> (BIOS int 0x13 fn 0x4b01 yielded error 75
> ---
> 
> The same message appears when the CD is booted in three
> different machines, all with fairly recent hardware and
> BIOSes.  I have the distinct suspicion that the error
> message is bogus.  I'm working with a recent -STABLE
> source tree (within the last week), but it doesn't appear
> that any of the boot-related files have been changed in
> almost a year.


The message means that it can't read your CDROM using
INT 13 BIOS calls, since your controller didn't hook INT
13 to install CDROM support.

Most "bootable CDROMs" that boot directly, without the
El Torito -> floppy image in memory hack, are SCSI (e.g.
on recent model Adaptec controllers, with the SCSI BIOS
set to make the CDROM look like a standard disk to the
INT 13 interface).

The only IDE CDROMs that I've seen that can do this need
you to reflash your BIOS with the extensions (there is an
AMI BIOS version 1.5 that has this capability, but it
only runs on certain SuperMicro motherboards).  As far as
they are concerned, the CDROM then looks like a regular
disk to the BIOS.

The really old code you are looking at, from the Attic,
is, I think, a.out specific.

See also the comments in:

<http://www.FreeBSD.org/cgi/cvsweb.cgi/src/sys/i386/boot/cdboot/Attic/bios.S>;

[ ... ]
] Only SCSI CD-ROMs are supported, since i fail to see any
] possibility to determine the drive type using BIOS functions.
] (Even for hard disks, this determination is done by a big
] hack only.)
[ ... ]

You would be much better off doing the chroot onto the CD
after booting hack; that, at least, will work anywhere you
can boot the CDROM normally.

Mostly, the cdboot code is used for the DEC Alpha; See also:

http://www.FreeBSD.org/cgi/cvsweb.cgi/src/lib/libstand/cd9660.c


-- Terry

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?3B38503D.AD53EBCD>