Subject: MAKEDEV (v2.0)
From: Nick Holloway <[email-masked]>
Date: 17 Jul 1994 21:59:54 GMT
Newsgroups: comp.os.linux.announce

This has been rather longer in appearing than I would have liked, but
life has been in upheaval as I have started a new job, and have had to
bring my Linux machine onto the Internet.

I have just uploaded MAKEDEV to the various ftp sites.  The final resting
places are unknown, but based on previous locations, I would guess at:

     tsx-11.mit.edu:/pub/linux/sources/sbin/MAKEDEV-2.0.tar.gz
    sunsite.unc.edu:/pub/Linux/system/Admin/MAKEDEV-2.0.tar.gz
       ftp.funet.fi:/pub/OS/Linux/tools/MAKEDEV-2.0.tar.gz

The major change for this release is the ability to query /proc/devices
for the major number a device has registered with the kernel.

This coupled with the ability for MAKEDEV to make and delete devices
as required (thanks to Matthias Urlichs for the idea) opens the way for
dynamic allocation of major numbers.  So, for your devices to match your
kernel and the currently loaded modules, add "cd /dev; ./MAKEDEV update"
to an rc file somewhere.  You might like to check this in a scratch
directory first.

This automatic update feature is not complete.  I do not know all
of the strings that are used by various drivers in their calls to
register_{blk,chr}dev.  If you see that MAKEDEV does not know about your
favourite driver, let me know.

As my Internet connectivity is now dial-up, I can not grab new drivers
just to see what devices they use.  If developers want their devices to
be included, the best way is to e-mail me, and tell me what they are.
The information I need is the names of devices to create, whether they
are character or block devices, and what string is used in the call
to register_{chr,blk}dev.

Also, if anybody managed to get their driver forgotten in my move,
let me know again.  

The list of changes for this version are:

    o The customisation section is now more accesible (at the top).  It is
      also now possible to specify the user too.
    o The net devices have been removed, since Net-3 no longer needs them.
    o Flags are now:
	-v	be verbose in what is being done
	-n	don't actually do anything, just report what would be done
	-d	delete devices instead of creating (used by "update")
    o Queries /proc/devices for major numbers.  Many devices have a
      default, but this may change in future.
    o Added 2.88Mb floppy device (fdxH2880)
    o Added devices used by ibcs2.
    o Added helloworld -- device created by module example.
    o Added update.  Compares /proc/devices with DEVICES, and creates any
      devices which are new or whose major number has changed, and deletes
      those which are no longer present.  The current /proc/devices is
      then stored in DEVICES.

Outstanding issues are the large number of claims on a few major numbers,
and what the many Matsushita devices are (see <linux/major.h>), and what
devices have fixed major numbers (hd, xd, sd, fd, etc) since booting
the kernel relies on this.

It was based fairly heavily on Jim Winstead's version, but as well as
being updated to include more recent devices, it tends to create related
groups of devices.  For example, "MAKEDEV fd0" will create all of the
various floppy devices for the various densities, and "MAKEDEV ttyS0"
will create ttyS0 and cua0.

This was intended as an adjunct to Rick Miller's ``Linux Device List''
(from which most of the original information came from), but I haven't
heard of anything from that for a while.  However, it is possible to
use MAKEDEV as a quick reference by providing '-n' as an argument:

	$ ./MAKEDEV -n sg
	sga	= c 21 0 root:system 600
	sgb	= c 21 1 root:system 600
	sgc	= c 21 2 root:system 600
	sgd	= c 21 3 root:system 600
	sge	= c 21 4 root:system 600
	sgf	= c 21 5 root:system 600
	sgg	= c 21 6 root:system 600
	sgh	= c 21 7 root:system 600

-- 
Nick Holloway |  `O O'  | Home: [email-masked]
[aka `Alfie'] | // ^ \\ | Work: [email-masked]

Begin2
Title        = MAKEDEV
Version      = 2.0
Desc1        = Updated MAKEDEV script to create devices in /dev
Desc2        =
Desc3        =
Desc4        =
Desc5        =
Author       = Nick Holloway
AuthorEmail  = [email-masked]
Maintainer   =
MaintEmail   =
Site1        = tsx-11.mit.edu
Path1        = /pub/linux/sources/sbin
File1        = MAKEDEV-2.0.tar.gz
FileSize1    = 4143
Site2        = sunsite.unc.edu
Path2        = /pub/Linux/system/Admin
File2        = MAKEDEV-2.0.tar.gz
FileSize2    = 4143
Site3        = ftp.funet.fi
Path3        = /pub/OS/Linux/tools
File3        = MAKEDEV-2.0.tar.gz
FileSize3    = 4143
Site4        =
Path4        =
File4        =
FileSize4    =
Required1    = Requires /bin/sh to be a bourne/POSIX compatible shell (bash,
Required2    = ash or ksh) and the external commands expr, rm, mknod, chown,
Required3    = chmod and ln.  (NOTE: pdksh-4.9 is too buggy)
Required4    =
CopyPolicy1  = Freely redistributable
CopyPolicy2  =
Keywords     = MAKEDEV mknod Linux devices
Comment1     =
Comment2     =
Comment3     =
Comment4     =
RelFiles1    =
RelFiles2    =
RelFiles3    =
Entered      = 17JUL94
EnteredBy    = Nick Holloway
CheckedEmail = [email-masked]
End

--
Mail submissions for comp.os.linux.announce to: [email-masked]
PLEASE remember Keywords: and a short description of the software.