Re: devfs howto

From: Richard Gooch (rgooch@atnf.csiro.au)
Date: Sun Feb 20 2000 - 18:06:45 EST


Khimenko Victor writes:
> In <Pine.LNX.4.10.10002191345460.283-100000@solvent> iehrenwald@earthlink.net (iehrenwald@earthlink.net) wrote:
> > Is there a devfs HOWTO somewhere? The README that is in
> > linux/Documentation/filesystems/devfs is terrible, IMO. It doesn't
> > actually give any examples for you to follow.
>
> Just compile kernel with devfs, add
> append="root=/dev/ide/host0/bus0/target0/lun0/partXX"
> (or where are your root is placed) and try to fire up system.
> System will complain loudly on your "broken" /etc/fstab and you'll be
> able to enter root password (in most distributions -- this is userland
> issue) and fix it. Then you'll need to fix /etc/inittab and pile of
> distribution specific files... Installation of devfs is VERY
> distribution-specific thing (especially now when there are no compatibility
> entries by default)... All needed technical background is in mentioned
> directory...

Just install devfsd. It will give you back the old names.

> To Gooch: BTW why it's so ? To confuse innocent souls ?

I prefer "Richard" :-)

I think the confusion is partly due to people expecting to be able to
just compile it in and everything will "just work". With the Great
Name Change, that's no longer possible. You either have to install
devfsd to get the old names back, or you spend time fixing
configuration files and software that make invalid assumptions.

Also, the README could probably use some work. I've been doing that
slowly (amidst the flood of emails). I've appended an extract from the
current README that will hopefully help.

                                Regards,

                                        Richard....
Permanent: rgooch@atnf.csiro.au
Current: rgooch@ras.ucalgary.ca
===============================================================================
The default is for devfs to be mounted onto /dev at boot time.
Device drivers which do not yet have devfs support will not
automagically appear in the devfs. The simplest way to create device
nodes for these drivers is to unpack a tarfile containing the required
device nodes. You can do this in your boot scripts. All your drivers
will now work as before.

Hopefully for most people devfs will have enough support so that they
can mount devfs directly over /dev without loosing most functionality
(i.e. loosing access to various devices). As of 22-JAN-1998 (devfs
patch version 10) I am now running this way. All the devices I have
are available in the devfs, so I don't lose anything.

WARNING: if your configuration requires the old-style device names
(i.e. /dev/hda1 or /dev/sda1), you must install devfsd and configure
it to maintain compatibility entries. It is almost certain that you
will require this. Note that the kernel creates a compatibility entry
for the root device, so you don't need initrd.

Note that you no longer need to mount devpts if you use Unix98 PTYs,
as devfs can manage /dev/pts itself. This saves you some RAM, as you
don't need to compile and install devpts. Note that some versions of
glibc have a bug with Unix98 pty handling on devfs systems. Contact
the glibc maintainers for a fix.

Note also that apart from editing /etc/fstab, other things will need
to be changed if you *don't* install devfsd. Some software (like the X
server) hard-wire device names in their source. It really is much
easier to install devfsd so that compatibility entries are created.
You can then slowly migrate your system to using the new device names
(for example, by starting with /etc/fstab), and then limiting the
compatibility entries that devfsd creates.
MAKE SURE YOU INSTALL DEVFSD BEFORE YOU BOOT A DEVFS-ENABLED KERNEL!

Now that devfs has gone into the 2.3.46 kernel, I'm getting a lot of
reports back. Many of these are because people are trying to run
without devfsd, and hence some things break. Please just run devfsd if
things break. I want to concentrate on real bugs rather than
misconfiguration problems at the moment. If people are willing to fix
bugs/false assumptions in other code (i.e. glibc, X server) and submit
that to the respective maintainers, that would be great.

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



This archive was generated by hypermail 2b29 : Wed Feb 23 2000 - 21:00:26 EST