Date: Wed, 6 Jun 2001 12:48:24 +1200 From: "Juha Saarinen" <juha@saarinen.org> To: "'Gregory Bond'" <gnb@itga.com.au>, <freebsd-stable@FreeBSD.ORG> Subject: RE: Strange boot message - "no devsw (majdev=0 bootdev=0xa0400000)" Message-ID: <014b01c0ee22$64248e70$0a01a8c0@den2> In-Reply-To: <200106060043.KAA27323@lightning.itga.com.au>
next in thread | previous in thread | raw e-mail | index | archive | help
:: 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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?014b01c0ee22$64248e70$0a01a8c0>