Re: 2.5.51 won't boot with devfs enabled

Helge Hafting (helgehaf@aitel.hist.no)
Wed, 11 Dec 2002 11:00:08 +0100


Eric Buddington wrote:
>
> With 2.5.51 (gcc-3.2, Athlon, mostly modules, DEVFS=y, DEVFS_DEBUG=y),
> boot panics with "VFS: Cannot open root device "hda1" or
> 03:01".
>
> I had the same problem with 2.5.50, avoidable by disabling devfs entirely.
>
> -Eric
> -
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/

Booting anything later than 2.5.48 with devfs configured
either needs an extra kernel parameter, or a code change.
Something broke when do_mounts.c were reorganized.
It doesn't matter wether devfs is used or not, as long as it
is configured.

The lilo solution:
lilo tend to have a "root=/dev/hda1" or similiar.
This gets converted to "root=0301" on the kernel command line.
(Look at dmesg after a successful boot)

But this don't work for some reason when devfs is configured.
Use the following:

append="root=/dev/hda1"

to solve the problem. This isn't converted to numbers and works.
Of course if you use auto-mounted devfs then you don't
have a /dev/hda1 but a /dev/ide/host0/bus0/target0/lun0/part1
instead. If so, use that as root instead. You still have
to use the append= trick.

The code solution:
Edit init/do_mounts.c
Remove the following lines from the beginning of
the function prepare_namespace:
#ifdef CONFIG_DEVFS_FS
sys_mount("devfs", "/dev", "devfs", 0, NULL);
do_devfs = 1;
#endif
Then recompile, and the kernel should work with any lilo setup that
worked for 2.5.47 and earlier. At least it worked for the setups
I tried.

This has no effect on kernels without devfs, and helps for kernels
comiled with devfs wether devfs is used or not.
I posted a patch for this, but there were no interest at all.

Helge Hafting
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/