makedev for DEBIAN
==================

The /etc/makedev.cfg and /etc/devinfo files are rewritten to fit the
Debian /dev layout.

Security : all mouse devices are changed to mode 600. Only serial
devices are mode 660 root:dialout. It's possible to crash x11 and
console with writing random bytes to a mouse device.

Serial console :
/dev/console should be a symlink to your real console device.
If it does not exist, or is not a symlink, it will be replaced with a
symlink console -> tty0.

This version of makedev will check /dev for tty*/pty* devices, and if
there are some with the old major number, it will create a
/etc/rc.boot/makedev script. This will script will change the
master/slave devices the next time you boot.

serial devices should be owned by user "uucp" and group "dialout".
former they were owned by root. new devices are created with uucp as
owner, but you will have to change old devices to user uucp on your own.
It's new policy to have all serial devices owned by uucp, but the last
word in this discussion isn't said...

some device names have changed. please read
/usr/doc/makedev/devices.{txt|html}

the permissions should be secure enough, but if you find any bugs, or
unfounded hard permissions, please let me know (i don't know much about
the right permissions for devices, i yust used the value, everybody else
was using, and made read & write only available for root, whenever i
found nothing better.

/dev/console is now a symlink to /dev/tty0. for more infomation, please
look at a new 2.1 linux kernel : Documentation/devices.txt. That is the
"Linux Allocated Device" paper, the official list of linux devices.
If your boot console is a serial device, you will have to change that
symlink.

MAKEDEV-C will not work with any kernel with mcdx support, if
/proc/devices contains "Mitsumi CD-ROM". if so, patch
/usr/src/linux/driver/cdrom/mcdx.c :
1149c1149
<     if (unregister_blkdev(MAJOR_NR, "mcdx") != 0) {
---
>     if (unregister_blkdev(MAJOR_NR, DEVICE_NAME) != 0) {
1270c1270
< 		if (register_blkdev(MAJOR_NR, "mcdx", &mcdx_fops) != 0) {
---
> 		if (register_blkdev(MAJOR_NR, DEVICE_NAME, &mcdx_fops) != 0) {


about call out devices (/dev/cu*) :

      /dev/ttySxx devices are fully POSIX-compliant TTY devices.  If you
      are only going to be using one set of tty devices, you should be
      using /dev/ttySxx.

      /dev/cuaXX devices are different from /dev/ttySXX in two ways ---
      first of all, they will allow you to open the device even if
      CLOCAL is not set and the O_NONBLOCK flag was not given to the
      open device.  This allows programs that don't use the
      POSIX-mondated interface for opening /dev/ttySxx devices to be
      able to use /dev/cuaXX to make outgoing phone calls on their modem
      (cu stands for "callout", and is taken from SunOS).

      The second way in which /dev/cuaXX differs from /dev/ttySXX is
      that if they are used, they will trigger a simplistic kernel-based
      locking scheme: If /dev/ttySXX is opened by one or more processes,
      then an attempt to open /dev/cuaXX will return EAGAIN.  If
      /dev/cuaXX is opened by one or more processes, then an attempt to
      open /dev/ttySXX will result the open blocking until /dev/cuaXX is
      closed, and the carrier detect line goes high. the open blocking
      until /dev/cuaXX is closed, and the carrier detect line goes high.

      While this will allow for simple lockouts between a user using a
      modem for callout and a getty listening on the line for logins, it
      doesn't work if you need to arbitrate between multiple programs
      wanting to do dialout --- for example, users wanting to do dialout
      and UUCP.

      I originally implemented the cuaXX/ttySXX lockout mechanism back
      before FSSTND established a standard convention for the use of tty
      lock files.  Now that it's there, people should use the tty lock
      files and not try using /dev/cuaXX.  The only reason why
      /dev/cuaXX hasn't disappeared yet is for backwards compatibility
      reasons.			  -- Theodore Ts'o <tytso@mit.edu>


debian has no /dev/cu* devices. But you can create them, if you need
them. Read devices.txt for details.

Andreas Jellinghaus <aj@debian.org>, Sun, 13 Apr 1997 21:05:58 +0200
