VOGONS


First post, by SirNickity

User metadata
Rank Oldbie
Rank
Oldbie

I have used SCSI since the Pentium II days, but this one's a first for me....

I have a Pentium test box, with a hard drive cloned from a Linux install that I built on my PII. It wouldn't boot -- Grub was complaining about the filesystem. No problem, I just need to boot of a live CD and fix the boot loader. Well, that ended up being a problem afterall, since the case is so crammed full of stuff that I don't have room or free IDE ports for a CD-ROM. I put an Adaptec 2940 in there and cabled up an external CD-ROM drive. SCSI Select detected it at ID 0.

I have the card configured to use the BIOS, enabled booting from CD-ROM, and boot from SCSI ID 0. On reboot, the card finds the drive, finds the bootable CD (it shows the boot emulation type and all that), then immediately complains that "No SCSI disks found. BIOS not installed!" which seems to contradict what the card just said.

I tried another SCSI CD-ROM on ID 4, and changed the bootable ID to match. Same result. Detects the drive, knows the disc is bootable, then claims there's no drive to boot from and packs up.

What gives?

Reply 2 of 8, by mdog69

User metadata
Rank Newbie
Rank
Newbie

The BIOS "boot from cdrom" option actually means "boot from cdrom attached to motherboard".
My money is on the Adaptec adapter ROM only supporting boot from hard drive.

Reply 3 of 8, by yawetaG

User metadata
Rank Oldbie
Rank
Oldbie
mdog69 wrote:

The BIOS "boot from cdrom" option actually means "boot from cdrom attached to motherboard".
My money is on the Adaptec adapter ROM only supporting boot from hard drive.

On top of that, often, if IDE drives are present, those are prioritised over the SCSI drives (e.g. SCSI drives are only bootable if no IDE drives are attached). Obviously this is different on motherboards that have explicit support for booting from SCSI devices.

Reply 4 of 8, by SirNickity

User metadata
Rank Oldbie
Rank
Oldbie

The BIOS boot order is pretty lame. You get a drive lettering priority of IDE or SCSI. Then you get to choose from a list of device orders: A, C; A, CDROM, C; CDROM, C, A; LS/ZIP, C; D; E; C only, etc.

mdog69 wrote:

The BIOS "boot from cdrom" option actually means "boot from cdrom attached to motherboard".
My money is on the Adaptec adapter ROM only supporting boot from hard drive.

That doesn't seem right though. Why would the Adaptec BIOS bother to look for and display the boot catalog from a CD inserted into a SCSI CD-ROM then? It very prominently displays, in capital letters in a double-lined ASCII art box, that the disc is bootable, and then lists the emulation type and all that. But then it just ignores it... so I dunno what's going on.

Reply 5 of 8, by BushLin

User metadata
Rank Member
Rank
Member

It's possible that the BIOS only supports boot where the CD has a virtual floppy and your Linux CD uses a more modern method. Easy to test this with something like the Windows 98 install CD.

Screw period correct; I wanted a faster system back then. I choose no dropped frames, super fast loading, fully compatible and quiet operation.

Reply 6 of 8, by yawetaG

User metadata
Rank Oldbie
Rank
Oldbie
SirNickity wrote:

The BIOS boot order is pretty lame. You get a drive lettering priority of IDE or SCSI. Then you get to choose from a list of device orders: A, C; A, CDROM, C; CDROM, C, A; LS/ZIP, C; D; E; C only, etc.

That sounds like the generic BIOS "drive letter" selection for IDE drives that some BIOSes have. The drive letters shown (confusingly) do not correspond to your logical drive letters.

The computer BIOS (not the Adaptec BIOS) needs to explicitly support SCSI booting (e.g. it reads "SCSI" in one of the options). The Adaptec SCSI card's BIOS gets spliced into the boot sequence and will only allow booting from SCSI if the motherboard explicitly supports booting from SCSI, or if no alternative boot devices are present on the IDE bus.

Furthermore, if the motherboard does support booting from drives attached to a separate SCSI host adapter, there may be limitations regarding which adapters are supported (they will be listed in the motherboard manual).

Reply 7 of 8, by mdog69

User metadata
Rank Newbie
Rank
Newbie
yawetaG wrote:
That sounds like the generic BIOS "drive letter" selection for IDE drives that some BIOSes have. The drive letters shown (confus […]
Show full quote
SirNickity wrote:

The BIOS boot order is pretty lame. You get a drive lettering priority of IDE or SCSI. Then you get to choose from a list of device orders: A, C; A, CDROM, C; CDROM, C, A; LS/ZIP, C; D; E; C only, etc.

That sounds like the generic BIOS "drive letter" selection for IDE drives that some BIOSes have. The drive letters shown (confusingly) do not correspond to your logical drive letters.

The computer BIOS (not the Adaptec BIOS) needs to explicitly support SCSI booting (e.g. it reads "SCSI" in one of the options). The Adaptec SCSI card's BIOS gets spliced into the boot sequence and will only allow booting from SCSI if the motherboard explicitly supports booting from SCSI, or if no alternative boot devices are present on the IDE bus.

Furthermore, if the motherboard does support booting from drives attached to a separate SCSI host adapter, there may be limitations regarding which adapters are supported (they will be listed in the motherboard manual).

Most motherboards will permit booting from a SCSI drive (or a network boot) even without an explicit SCSI or Network option.
All that is required is that the option card (SCSI or network) hooks INT18 at initialisation, and that the BIOS calls INT18 to "start cassette basic" when an attempt to boot each of the configured devices fails. Again, most bootable cards will do this, but only the last one to hook the interrupt will get a bite of the cherry.

If I were in the OP's position I would:
Option A
Temporarily install an IDE CD drive, and have done with all these shenanigans, boot from CD, run GRUB, get a beer.

Option B
1) Follow the earlier advice to see if it is possible to boot from a CD which has an emulated floppy image
If that works, and bearing in mind the objective: boot the system and re-run GRUB (and assuming Linux)
2) Create a bootable CD with an emulated floppy containing a bootable stripped down kernel and an initrd or maybe even just a plain kernel image.
The floppy would either be configured to use the hard disc root partition as root, or would use a bootloader which allowed me to tell it which partition to use.
Note that "stripped down" means absolutely nothing beyond that required to get the root partition to mount and get me to a login prompt.
Any boot time errors regarding non-essential hardware can be ignored - you want to get the root partition mounted so you can run GRUB.
You will need to know how to configure and compile a kernel, and create an initrd.

This option has dependencies on your hardware:
1) Can your system actually boot a el-torito CD with an emulated floppy?
2) The emulated floppy will have to be 2.88Mb - you would be hard pressed to get a x86 kernel small enough to fit within 1.44Mb
Can your system handle a 2.88Mb floppy image?

The fact that it can recognise a bootable CD, doesn't mean it can actually boot it. (I can drive a car, and recognise a fire truck, it doesn't mean that I can drive a fire truck)

Reply 8 of 8, by SirNickity

User metadata
Rank Oldbie
Rank
Oldbie

OK, that sounds totally plausible. I never thought about there being a limitation on which emulation types would be supported by the Adaptec BIOS.

FWIW, I did eventually tear apart all my beautiful cabling and hang a CD-ROM drive from a ribbon cable (with a tiny bit of support from some spools of hookup wire underneath) long enough to try and get it booted from the Gentoo live CD I used to install it on the PII. That was a complete disaster. It loaded the kernel image, went black for about 10 seconds, then started booting the kernel for a brief moment before it panicked and crashed. I tried the "notsc" option to fix one error, but then it just panicked anyway without a clear indication of what happened. I'm guessing nobody checks Gentoo 2019 Minimal image builds for compatibility with Pentium MMX systems. 😉

I then scoured the 'cave for other bootable Linux discs and found a combination of DVDs (CD drive only), 2016+ discs, and various other Live CDs either too old to understand the version of ext3 I'm using, or too old of a kernel to run the Grub executable on my HDD.

I downloaded a Grub boot floppy, which didn't work because it couldn't detect the filesystem at all (seriously? has ext3 really changed that much in all these years??). I think I might try booting the PII again and installing Grub to the floppy. If it has enough space for the Grub 2 stages and drivers, that might be enough. I always build kernels from scratch, so I can try the floppy image -- but it will definitely be a tight fit. 😀