Re: devfs patch v21 available

Richard Gooch (rgooch@atnf.CSIRO.AU)
Tue, 31 Mar 1998 12:47:12 +1000


Richard Guenther writes:
> On Mon, 30 Mar 1998, Richard Gooch wrote:
> > Hi, all. Version 21 of my devfs patch is now available
> [...]
> > Please, would people give this a final thrashing. I want to submit
> > this to Linus ASAP. Unless there are outstanding issues, I'm happy to
> > see it included in the mainstream kernel now.
>
> It works for me (TM), apart from one bug and some (minor) flaws:
>
> - The bug:
> /dev # ln -s ttyS1 mouse
> /dev # rm mouse
> /dev # ls mouse
> /bin/ls: mouse: no such file or directory
> /dev # ln -s ttyS0 mouse
> ln: cannot symbolic link 'ttyS0' to 'mouse': file exists
> /dev # ls mouse
> /bin/ls: mouse: no such file or directory
>
> linking with ttyS1 again succeeds.

OK, I'll look at this.

> - SysVInit (v2.65f) seems to try to open /dev/console. So I see
> 'unable to open an initial console' on bootup until I mknod
> the console device into /dev (ext2)
> - SysVInit opens /dev/initctl on shutdown.... (pipe)

This problem is similar to init versions which need
/dev/telinit. There is a userspace solution to this:

# cd /sbin
# mv init init.real
# echo '#! /bin/sh\nmount -n -t devfs none /dev\n/sbin/init.real' > init
# chmod a+x init

I've toyed with the idea of adding a config option to have devfs
automatically mounted straight after the root filesystem is
mounted. This would also help where the kernel init code opens up
/dev/console prior to exec'ing /sbin/init (i.e. before we jump to
userland for the first time). I could solve this problem by having the
kernel init code open via devfs instead of through the root
filesystem, in which case the above userspace solution for the init
programme would be needed.
So, I'd like to get some feedback from some kernel gurus.

BTW: I consider the opening of /dev/console from within the kernel
init code flawed, as it makes an assumption that /dev is populated
correctly. It should really have used <chrdev_open> or something.

> - Autoloading the ide-cdrom module does not work!? Perhaps
> kerneld <-> kmod related? (modprobe ide-cd works)

What about autoloading other modules? Can someone else please test
this too? (Patches would be nice: I don't use kerneld/kmod).

> - mknod does not actually create a special device in /dev ?
> So /dev/video et al could not be simply mknodded.

Really? I just did:

# mknod zzz c 100 200
# ll zzz
crw-r--r-- 1 root root 100, 200 Mar 31 12:45 zzz

Looks OK to me. Does this work for you?

Regards,

Richard....

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu