← Back to team overview

sslug-teknik team mailing list archive

Re: devpts

 

In <Pine.LNX.4.10.9907161347510.7064-100000@xxxxxxxxxxxxxxxxxxx> Niels Sandmann <sandm@xxxxx> writes:

>mount: fs type devpts not supported by kernel

>ovenstående få jeg 2 gange under boot. Jeg kan ikke finde ud af hvilken
>service der kræver dette suspekte filsystem...

glibc 2.1 benytter devpts til pseudo-terminal devices, f.eks. hvis
du logger ind via telnet. Hvis ikke devpts systemet findes, kan den
dog godt finde ud af at benytte de gamle pty devices i stedet.

>jeg har prøvet at compile en ny kernel 23^15 gange og tror ganske
>ikke det er muligt at vælge at compile dette fs med.

Det er da bestemt muligt! cd til dit Linux 2.2 kernel source directory
og kør en 'make config'. Under "Character Devices" siger du "Y" til
   Unix98 PTY support (CONFIG_UNIX98_PTYS) [Y/n/?]
og når du kommer til afsnittet om "Filesystems" vælger du
  /dev/pts filesystem for Unix98 PTYs (CONFIG_DEVPTS_FS) [Y/n/?] 

>grep -e devpts * i /usr/src/linux/scripts giver heller ikke noget
>fornuftigt resultat selvom den vel burde, da det vel er kconfig.tk man
>"eksekverer" ved en make xconfig ?!?

ja og nej - kconfig.tk er kun "hoved-programmet". Du skal have fat i
de enkelte Config.in filer, som ligger spredt rundt i diverse subdirs.
Specifikt: fs/Config.in


Ellers er Documentation/Configure.help et godt sted at lede efter sådan 
nogle oplysninger:

CONFIG_DEVPTS_FS
  You should say Y here if you said Y to "Unix98 PTY support" above.
  You'll then get a virtual filesystem which can be mounted on
  /dev/pts with "mount -t devpts". This, together with the pseudo
  terminal master multiplexer /dev/ptmx, is used for pseudo terminal
  support as described in The Open Group's Unix98 standard: in order
  to acquire a pseudo terminal, a process opens /dev/ptmx; the number
  of the pseudo terminal is then made available to the process and the
  pseudo terminal slave can be accessed as /dev/pts/<number>. What was
  traditionally /dev/ttyp2 will then be /dev/pts/2, for example.

  The GNU C library glibc 2.1 contains the requisite support for this
  mode of operation; you also need client programs that use the Unix98
  API.

-- 
Henrik Storner     | "Software engineering is a race between engineers 
<storner@xxxxxxxx> |  who try to create foolproof software and the 
                   |  universe which is trying to create bigger fools.
                   |  So far, the universe is winning..."


References