From owner-freebsd-stable Tue Jun 5 17:49: 3 2001 Delivered-To: freebsd-stable@freebsd.org Received: from vimfuego.saarinen.org (saarinen.org [203.79.82.14]) by hub.freebsd.org (Postfix) with ESMTP id CD60C37B401 for ; Tue, 5 Jun 2001 17:48:57 -0700 (PDT) (envelope-from juha@saarinen.org) Received: from [192.168.1.10] (helo=den2) by vimfuego.saarinen.org with esmtp (Exim 3.22 #1 (Red Hack)) id 157RVI-0004qQ-00; Wed, 06 Jun 2001 12:48:56 +1200 From: "Juha Saarinen" To: "'Gregory Bond'" , Subject: RE: Strange boot message - "no devsw (majdev=0 bootdev=0xa0400000)" Date: Wed, 6 Jun 2001 12:48:24 +1200 Message-ID: <014b01c0ee22$64248e70$0a01a8c0@den2> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit X-Priority: 3 (Normal) X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook, Build 10.0.2627 In-Reply-To: <200106060043.KAA27323@lightning.itga.com.au> X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4522.1200 Importance: Normal Sender: owner-freebsd-stable@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG :: I also saw this following an upgrade from 4.3-BETA to :: -STABLE on the weekend. :: Hardware is an old P100 with ATA disk (pri master) and ATAPI :: CD-ROM (sec :: master) on Intel PII controller. No SCSI. It's from autoconf.c: /* * Attempt to find the device from which we were booted. * If we can do so, and not instructed not to do so, * set rootdevs[] and rootdevnames[] to correspond to the * boot device(s). * * This code survives in order to allow the system to be * booted from legacy environments that do not correctly * populate the kernel environment. There are significant * restrictions on the bootability of the system in this * situation; it can only be mounting root from a 'da' * 'wd' or 'fd' device, and the root filesystem must be ufs. */ static void setroot() { int majdev, mindev, unit, slice, part; dev_t newrootdev, dev; char partname[2]; char *sname; if ((bootdev & B_MAGICMASK) != B_DEVMAGIC) { printf("no B_DEVMAGIC (bootdev=%#lx)\n", bootdev); return; } majdev = B_TYPE(bootdev); dev = makebdev(majdev, 0); if (devsw(dev) == NULL) { printf("no devsw (majdev=%d bootdev=%#lx)\n", majdev, bootdev); return; } unit = B_UNIT(bootdev); slice = B_SLICE(bootdev); if (slice == WHOLE_DISK_SLICE) slice = COMPATIBILITY_SLICE; if (slice < 0 || slice >= MAX_SLICES) { printf("bad slice\n"); return; } -- Juha To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-stable" in the body of the message