From owner-freebsd-questions Tue Feb 28 15:01:37 1995 Return-Path: questions-owner Received: (from majordom@localhost) by freefall.cdrom.com (8.6.9/8.6.6) id PAA17078 for questions-outgoing; Tue, 28 Feb 1995 15:01:37 -0800 Received: from cs.weber.edu (cs.weber.edu [137.190.16.16]) by freefall.cdrom.com (8.6.9/8.6.6) with SMTP id PAA17068 for ; Tue, 28 Feb 1995 15:01:33 -0800 Received: by cs.weber.edu (4.1/SMI-4.1.1) id AA09255; Tue, 28 Feb 95 15:54:13 MST From: terry@cs.weber.edu (Terry Lambert) Message-Id: <9502282254.AA09255@cs.weber.edu> Subject: Re: Missing Operating System To: annettj@lati.tec.sd.us (John R. Annett) Date: Tue, 28 Feb 95 15:54:12 MST Cc: FreeBSD-questions@FreeBSD.org In-Reply-To: from "John R. Annett" at Feb 28, 95 03:18:09 pm X-Mailer: ELM [version 2.4dev PL52] Sender: questions-owner@FreeBSD.org Precedence: bulk > I am trying to install freebsd on a compaq Prolinea 4/33s with a seagate > st3391a drive the install seems to go well until I get to the point to > have the system boot from the hard drive in order to go to step 3 to > install the cpio files. At the reboot I get the message Missing operating > system. Is there a way to copy the kernel to the hard drive manually? > Or is it possible that the st3391a drive is not compatible with FreeBSD? > Any help that I could get would be greatly appreciated as my current > machine storage is full and I need to get this one up before I take my > older Gateway 386/16 off line. The message "Missing Operating System" comes from the DOS master boot record when the partition marked active does not have the correct hex stamp at the end of the boot record. Since the BSD boot code has the correct stamp, there are only two possibilities: 1) You didn't write the BSD boot code to the disk. This case is easily checked from the BSD fdisk program; thus I will reject it as trivial to correct. 2) The BSD boot code was written to the disk, only it was not written where it was supposed to go. This case may be the result of a non-linear translation of the drive (in which case you must turn off translation OR use the entire drive for BSD). This is what WD1007 ESDI controllers do; the translation is nono-linear because they reserve replacements to pretend to have "perfect media" in the middle of the driver rather than grouped at the end. There is also the possibility that the drive translation is done via an MBR loaded INT13 redirector, such as the one provided by OnTrack systems in version 6.x or above of OnTrack disk utilities. All major drive manufacturers and OEM's use OnTrack's code. The MBR redirector means that the real MBR is hidden by subtraction out of the sector offset on the drive when the INT13 redirector is active. This basically means that there is then a discrepancy between the BIOS apparent start-of drive and the BSD apparent start-of-drive. This is 69 sectors. If you boot with a DOS disk instead of from the DOS partition of the hard disk, and run pfdisk.exe to dump the partition table at the real start-of-drive, you will see a partition type 0x54 that spans the entire drive. To resolve the problem, you must make a differential of 69 sectors between the BSD absolute sector offsets in the BSD disklabel and the BIOS partition offsets. You must then modify the BSD fdisk program to write the BSD partition information at a +69 sector offset. This ensures that it goes into the partition table that BIOS sees after the bootstrap redirector loading MBR has patched the INT 13 vector. Once in protected mode, BSD itself attempts to use the disklabel to mount root, etc.. This is why you need the 69 sector differential, since the protected mode drivers will be reading from the physical start of disk, not the BIOS apparent start of disk. Unfortunately, the drive geometry is *still* not being passed in via the boot blocks instead of being interpolated; this means that most if this still can not be done automatically. I have some code that I've been working on with the help of an engineer at OnTrack that would deal with some of these issues, but it is still far from ready. Unfortunately, this is also complicated by the existance of other MBR based INT 13 redirector software (used by non-major OEM's and drive manufacturer's 8-)). Most EIDE drives have this code preinstalled. Gateway and Compaq tend to install the code as well. I haven't seen a Dell system with it in place yet, but I'm sure I will. Terry Lambert terry@cs.weber.edu --- Any opinions in this posting are my own and not those of my present or previous employers.