sys_mount() returns ENXIO on boot.
sys_mount() returns ENXIO on boot, giving the on screen message - VFS: Cannot open root device “hda2”. The kernel was made from Linux 2.6.17 source from the USAGI IPv6 port. Could you please comment on the following diagnostics?
1) The struct block_device of “/dev/root” gotten by fs/block_dev.c - open_bdev_excl() has bd_dev = 0. The inode of “/dev/root” has i_rdev = 0 and not (3,2). dev = 0, is the dev argument used in the further function calls, beneath sys_mount().
2) drivers/base/map.c – kobj_lookup() fails because the 1st bdev_map.probes[] entry has dev = 1. The dev argument to kobj_lookup() was 0, from (1) above. dev = 1, is the init value for bdev_map.probes[].
3) I built a kernel with all the drivers linked in.
4) I compiled ext2 and ext3 for reiserfs.
5) Except for changing the name of the kernel, the GRUB menu.lst entry is the same as for booting kernels. It was generated by “make install”, anyway.
This is a re-post, as no one has looked at the diagnostics yet.
Any advice would be deeply appreciated.
Tx,
Tim McFadden
|