From owner-freebsd-questions Mon Feb 10 06:30:46 1997 Return-Path: Received: (from root@localhost) by freefall.freebsd.org (8.8.5/8.8.5) id GAA04827 for questions-outgoing; Mon, 10 Feb 1997 06:30:46 -0800 (PST) Received: from mail13.digital.com (mail13.digital.com [192.208.46.30]) by freefall.freebsd.org (8.8.5/8.8.5) with ESMTP id GAA04821 for ; Mon, 10 Feb 1997 06:30:44 -0800 (PST) From: garyj@frt.dec.com Received: from cssmuc.frt.dec.com by mail13.digital.com (8.7.5/UNX 1.5/1.0/WV) id JAA03065; Mon, 10 Feb 1997 09:19:37 -0500 (EST) Received: from localhost by cssmuc.frt.dec.com; (5.65v3.2/1.1.8.2/14Nov95-0232PM) id AA16556; Mon, 10 Feb 1997 15:19:07 +0100 Message-Id: <9702101419.AA16556@cssmuc.frt.dec.com> X-Mailer: exmh version 1.6.4 10/10/95 To: Erik Manders Cc: questions@freebsd.org In-Reply-To: Message from Erik Manders of Mon, 10 Feb 97 13:40:33 +0100. Reply-To: gjennejohn@frt.dec.com Subject: Re: Bootblock (mis)behaviour Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Date: Mon, 10 Feb 97 15:19:07 +0100 X-Mts: smtp Sender: owner-questions@freebsd.org X-Loop: FreeBSD.org Precedence: bulk erik@il.ft.hse.nl writes: > Hello, > I recently bought a 3Gb SCSI drive to replace the IDE disks that had > been in my machine. After I had disklabeled, installed bootblocks, moved > the file systems and installed a new kernel, I removed the IDE and > booted the new setup. To my amazement the new kernel continued to want > wd0a as its root device, even though `root on sd0' had been in the > config file. > > Things even went so far that even though I typed `sd(0,a)/kernel', > the machine said it was booting from `wd(0,a)/kernel'. The kernel was > still loaded from the SCSI drive. It later said `changing root device > to wd0a'. My DOS stuff (on the same disk) was and is working perfectly. > > After some hair-pulling, I started looking at the boot block source. > I have some theories as to why things are going wrong. It seems to me > that the variable `maj' gets zeroed between the assignment > `maj = devp-devs' in sys.c:openrd() and the `MAKEBOOTDEV()' macro in > boot.c:loadprog(). It's probably before the call to loadprog(), since > the printf() at early in loadprog() reports maj=0. Changing the `maj' in > the MAKEBOOTDEV() macro to `4' solves the problem. So (probably) would > an assignment `maj=4' early in loadprog. It's ugly but it works. > > Has anyone else here had similar problems? For your information, I'm > running -current (CTM-current around 3000, IIRC) on a noname pentium > board with an NCR PCI SCSI controller. More detailed information > available on request. > did you also remove the IDE disk from the BIOS setup ? The bootblocks just use what the BIOS tells them. If the BIOS says that there's an IDE disk, then the behavior you're seeing would be explained. --- Gary Jennejohn (work) gjennejohn@frt.dec.com (home) Gary.Jennejohn@munich.netsurf.de (play) gj@freebsd.org