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
_/ _/ _/ _/
[email protected] _/_/ _/_/_/ use Std::Disclaimer;
To Unsubscribe: send mail to [email protected]
with "unsubscribe freebsd-current" in the body of the message