Some more information:

In sys/i386/i386/autoconf I'm seeing the following happen:

static void
setroot()
{
        int majdev, mindev, unit, slice, part;
        dev_t newrootdev;
        char partname[2];
        char *sname;

        if (boothowto & RB_DFLTROOT || (bootdev & B_MAGICMASK) != B_DEVMAGIC)
                return;
        majdev = B_TYPE(bootdev);
        printf("setroot: majdev=%d,bdevsw(majdev)=%p\n",majdev,bdevsw(majdev));
        if (majdev >= nblkdev || bdevsw(majdev) == NULL)
                return;
        unit = B_UNIT(bootdev);
        slice = B_SLICE(bootdev);

etc.

which prints

        setroot: majdev=4,bdevsw(majdev)=0

Thus the function returns, without setting the name of the root device further
on in the code (it would appear that that is where it happens).

-- 
Jos Backus                          _/ _/_/_/  "Reliability means never
                                   _/ _/   _/   having to say you're sorry."
                                  _/ _/_/_/             -- D. J. Bernstein
                             _/  _/ _/    _/
jos.bac...@nl.origin-it.com  _/_/  _/_/_/      use Std::Disclaimer;


To Unsubscribe: send mail to majord...@freebsd.org
with "unsubscribe freebsd-current" in the body of the message

Reply via email to