Skip site navigation (1)Skip section navigation (2)
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>