What is devpts?

Matthias Benkmann matthias at winterdrache.de
Fri Nov 9 16:12:45 PST 2001

On 8 Nov 2001, at 20:30, Michael V. Franklin wrote:

> Hi,
> Could someone please tell me what devpts is?

Applications such as an xterm or sshd simulate a terminal. This works 
using 2 special files, a pseudo-tty master that the xterm/... writes to 
and reads from and a pseudo-tty slave that the applications using the 
simulated terminal (such as the bash running in the xterm) read from and 
write to. Traditionally you had lots of /dev/files for these. The masters 
are called ptyp0, ptyp1,... and the slaves are called ttyp0, ttyp1,....
These files make up a significant portion of your /dev tree if you use 
MAKEDEV generic.
This approach is rather dumb because it uses lots of device nodes and 
restricts the number of pseudo-ttys (and consequentially the number of 
xterms/ssh sessions/...).

There is a better approach, though. It uses a single master multiplexer 
/dev/ptmx and slaves /dev/pts/<number> that are created on demand.
For this to work devpts filesystem must be mounted at /dev/pts (and devpts 
must be compiled in the kernel, I think it's called "Unix98 terminal 
support" or something like this).
I think if you use devfs (don't confuse the 2), you don't need devpts 
anymore, otherwise it's a good idea to include devpts support in your 
kernel and put devpts in fstab (the LFS book demonstrates how). Then pass 
'generic-nopty' to MAKEDEV instead of 'generic'. This will give you a 
cleaner /dev. All recent versions of xterm,... know how to use the Unix98 
pseudo-terminals and unlike devfs devpts is stable.


Support bacteria - they're the only culture some people have.

Unsubscribe: send email to listar at linuxfromscratch.org
and put 'unsubscribe lfs-support' in the subject header of the message

More information about the lfs-support mailing list