mouting rootfs fails/devfs_lookup issue

waynegong L waynegong83 at gmail.com
Tue Jun 29 16:37:55 UTC 2010


Hi,

I  tried to boot the kernel ( N64ABI) on one of my  octeon boards, with
rootfs on the compact flash.
The booting came to halt when mouting the rootfs, off the cf and dropped to
mountroot prompt with below error.

*ROOT MOUNT ERROR:
If you have invalid mount options, reboot, and first try the following from
the loader prompt:
     set vfs.root.mountfrom.options=rw
*
After some debugging, I found that devfs_lookup( ) was not able to find the
entry cf0s1 in the /dev directory
and so cameout with ENOENT error. Below is my understanding, Please correct
me if i am wrong.

The kernel tries to mount devfs as / and then creates a symbolic link betwen
/dev and / in the devfs_first( )
Then it tries to mount the  rootfs mentioned in config file(my case
ROOTDEVNAME=\"ufs:cf0s1\") from the devfs root by going through
vfs_donmount() --> vfs_domount() -> name() -> lookup () -> devfs_lookup ().
In my case it finally failed at devfs_lookupx()

Also devfs_fqpn() was called to create an entry which failed and eventually
returned ENOENT error from devfs_lookupx ().

-->Bootmsg shows that flash was detected properly
*nexus0: <MIPS32 root nexus>
Compact flash found in bootbus region 5 (16 bit).
cf0: <Octeon Compact Flash Driver> on nexus0
*
-->Flash was partition as below.
fdisk -vBI /dev/da0
bsdlabel -w /dev/da0s1
bsdlabel da0s1
newfs /dev/da0s1a

Please let me know if i am missing some thing during my configuration.

Thanks,
Wayne.


More information about the freebsd-mips mailing list