From 40fbf55cf3e97b8a7610e9945ae9f90d4f6dbb30 Mon Sep 17 00:00:00 2001 From: Lionel Sambuc Date: Wed, 9 Oct 2013 16:28:17 +0200 Subject: [PATCH] Revert "MAKEDEV: Add mtree output, and ramdisk set." This reverts commit 4c87adc85c83ea5971ad647f4ee5d1d37625e30b. Change-Id: I469fbbe6f49802cb86d81b059cb454d967f47079 Reason: Introduces new device nodes and removes old devices nodes which where unintended at this point. --- commands/MAKEDEV/MAKEDEV.8 | 57 --- commands/MAKEDEV/MAKEDEV.sh | 725 +++++++++++++++--------------------- commands/MAKEDEV/Makefile | 2 +- etc/Makefile | 3 +- man/man8/MAKEDEV.8 | 53 +++ man/man8/Makefile | 2 +- 6 files changed, 352 insertions(+), 490 deletions(-) delete mode 100644 commands/MAKEDEV/MAKEDEV.8 mode change 100755 => 100644 commands/MAKEDEV/MAKEDEV.sh create mode 100644 man/man8/MAKEDEV.8 diff --git a/commands/MAKEDEV/MAKEDEV.8 b/commands/MAKEDEV/MAKEDEV.8 deleted file mode 100644 index 51e0063d8..000000000 --- a/commands/MAKEDEV/MAKEDEV.8 +++ /dev/null @@ -1,57 +0,0 @@ -.Dd October 4, 2013 -.Dt MAKEDEV 8 -.Os -.Sh NAME -.Nm MAKEDEV, DESCRIBE -.Nd make/describe device files -.Sh SYNOPSIS -.Nm MAKEDEV -.Op Fl n | Fl m -.Op Fl r | Fl s -.Op key ... -.Nm DESCRIBE -.Op device ... -.Sh DESCRIPTION -.Nm MAKEDEV -may be used to create the device files normally found in the /dev directory. -.Nm MAKEDEV -knows about all supported devices and will create them in the current -directory with the proper owner and mode. For many devices -.Nm MAKEDEV -will not only create the device you want, but also the devices related -to it that you will probably want too. Naming one floppy device will -create all floppy devices for the same drive for instance. -.Pp -The options are as follows: -.Bl -tag -width Xxxexcludexfilexx -.It Fl n -echo the commands it would execute when you call it without that flag. -.It Fl m -echo -.Nm mtree(8) -formatted lines instead of creating the device nodes. -.It Fl r -Restricted set of devices. This set is used when generating the ramdisk. -.It Fl s -Standard set of devices. This set is used when popluating /dev. -.El -.Pp -.Ar key -arguments are simply the names of the devices you want to create. Call -.Nm MAKEDEV -without arguments to see a list of keys that it understands. -.Pp -The command -.Nm DESCRIBE -will give you a one-line description of a given device. By default It -will list all devices in /dev. -.Sh "SEE ALSO" -.Xr dev 4 , -.Xr mknod 8 -.Sh BUGS -The eagerness of -.Nm MAKEDEV -to create devices may cause many "File exists" errors from -.Nm mknod . -.Sh AUTHORS -Written by Kees J. Bot (kjb@cs.vu.nl) and Lionel A. Sambuc (lionel@minix3.org) diff --git a/commands/MAKEDEV/MAKEDEV.sh b/commands/MAKEDEV/MAKEDEV.sh old mode 100755 new mode 100644 index 240e4deea..9a4c1a9cd --- a/commands/MAKEDEV/MAKEDEV.sh +++ b/commands/MAKEDEV/MAKEDEV.sh @@ -1,115 +1,43 @@ #!/bin/sh # # MAKEDEV 3.3 - Make special devices. Author: Kees J. Bot -# 3.4 - Rewritten to allow mtree line to be printed, Lionel A. Sambuc -# also use getopt for argument parsing -umask 077 - -MTREE=false -STD=false -RAMDISK=false -ECHO= -EXIT=0 - -# console => lp tty log -# boot => kmem mem null ram zero -RAMDISK_DEVICES=" - boot - console - input - c0d0 c0d0p0 c0d0p0s0 c0d1 c0d1p0 c0d1p0s0 - c0d2 c0d2p0 c0d2p0s0 c0d3 c0d3p0 c0d3p0s0 - c0d4 c0d4p0 c0d4p0s0 c0d5 c0d5p0 c0d5p0s0 - c0d6 c0d6p0 c0d6p0s0 c0d7 c0d7p0 c0d7p0s0 - c1d0 c1d0p0 c1d0p0s0 c1d1 c1d1p0 c1d1p0s0 - c1d2 c1d2p0 c1d2p0s0 c1d3 c1d3p0 c1d3p0s0 - c1d4 c1d4p0 c1d4p0s0 c1d5 c1d5p0 c1d5p0s0 - c1d6 c1d6p0 c1d6p0s0 c1d7 c1d7p0 c1d7p0s0 - fd0 fd1 fd0p0 fd1p0 - ttyc1 ttyc2 ttyc3 tty00 tty01 tty02 tty03 - ttyp0 ttyp1 ttyp2 ttyp3 ttyp4 ttyp5 ttyp6 ttyp7 ttyp8 ttyp9 - ttypa ttypb ttypc ttypd ttype ttypf - ttyq0 ttyq1 ttyq2 ttyq3 ttyq4 ttyq5 ttyq6 ttyq7 ttyq8 ttyq9 - ttyqa ttyqb ttyqc ttyqd ttyqe ttyqf -" -#eth => ip tcp udp -STD_DEVICES=" - ${RAMDISK_DEVICES} +case $1 in +-n) e=echo; shift ;; # Just echo when -n is given. +*) e= +esac + +case $#:$1 in +1:std) # Standard devices. + set -$- mem fd0 fd1 fd0p0 fd1p0 \ + c0d0 c0d0p0 c0d0p0s0 c0d1 c0d1p0 c0d1p0s0 \ + c0d2 c0d2p0 c0d2p0s0 c0d3 c0d3p0 c0d3p0s0 \ + c0d4 c0d4p0 c0d4p0s0 c0d5 c0d5p0 c0d5p0s0 \ + c0d6 c0d6p0 c0d6p0s0 c0d7 c0d7p0 c0d7p0s0 \ + c1d0 c1d0p0 c1d0p0s0 c1d1 c1d1p0 c1d1p0s0 \ + c1d2 c1d2p0 c1d2p0s0 c1d3 c1d3p0 c1d3p0s0 \ + c1d4 c1d4p0 c1d4p0s0 c1d5 c1d5p0 c1d5p0s0 \ + c1d6 c1d6p0 c1d6p0s0 c1d7 c1d7p0 c1d7p0s0 \ + tty ttyc1 ttyc2 ttyc3 tty00 tty01 tty02 tty03 \ + ttyp0 ttyp1 ttyp2 ttyp3 ttyp4 ttyp5 ttyp6 ttyp7 ttyp8 ttyp9 \ + ttypa ttypb ttypc ttypd ttype ttypf \ + ttyq0 ttyq1 ttyq2 ttyq3 ttyq4 ttyq5 ttyq6 ttyq7 ttyq8 ttyq9 \ + ttyqa ttyqb ttyqc ttyqd ttyqe ttyqf \ + eth klog random uds filter fbd hello fb0 \ + i2c-1 i2c-2 i2c-3 \ + eepromb1s50 eepromb1s51 eepromb1s52 eepromb1s53 \ + eepromb1s54 eepromb1s55 eepromb1s56 eepromb1s57 \ + eepromb2s50 eepromb2s51 eepromb2s52 eepromb2s53 \ + eepromb2s54 eepromb2s55 eepromb2s56 eepromb2s57 \ + eepromb3s50 eepromb3s51 eepromb3s52 eepromb3s53 \ + eepromb3s54 eepromb3s55 eepromb3s56 eepromb3s57 \ + tsl2550b1s39 tsl2550b2s39 tsl2550b3s39 \ + sht21b1s40 sht21b2s40 sht21b3s40 \ bmp085b1s77 bmp085b2s77 bmp085b3s77 - eepromb1s50 eepromb1s51 eepromb1s52 eepromb1s53 - eepromb1s54 eepromb1s55 eepromb1s56 eepromb1s57 - eepromb2s50 eepromb2s51 eepromb2s52 eepromb2s53 - eepromb2s54 eepromb2s55 eepromb2s56 eepromb2s57 - eepromb3s50 eepromb3s51 eepromb3s52 eepromb3s53 - eepromb3s54 eepromb3s55 eepromb3s56 eepromb3s57 - eth fb0 fbd filter hello - i2c-1 i2c-2 i2c-3 - klog random - sht21b1s40 sht21b2s40 sht21b3s40 - tsl2550b1s39 tsl2550b2s39 tsl2550b3s39 - uds - vnd0 vnd0p0 vnd0p0s0 vnd1 vnd1p0 vnd1p0s0 - vnd2 vnd3 vnd4 vnd5 vnd6 vnd7 -" - -#makedev ${dev} $type ${major} ${minor} ${uname} ${gname} ${permissions} [link_target] -#When called for a link, major and minor are ignored -makedev() -{ - # Check that all the arguments are there, we trust the caller to put - # values which make sens. - [ $# -eq 7 ] || [ $# -eq 8 ] || return 1; - - local _dev=$1 - local __type=$2 - local _major=$3 - local _minor=$4 - local _uname=$5 - local _gname=$6 - local _mode=$7 - - case ${__type} in - b)_type=block;; - c) _type=char;; - l) _type=link; _target=$8;; - *) return 2;; - esac - - if [ ${MTREE} = "yes" ] - then - if [ ${_type} = "link" ] - then - echo ./dev/${_dev} type=${_type} \ - uname=${_uname} gname=${_gname} mode=${_mode} \ - link=${_target} - else - echo ./dev/${_dev} type=${_type} \ - uname=${_uname} gname=${_gname} mode=${_mode} \ - device=native,${_major},${_minor} - fi - else - if [ ${_type} = "link" ] - then - ${ECHO} ln -f ${_target} ${_dev} - else - ${ECHO} mknod ${_dev} ${__type} ${_major} ${_minor} - ${ECHO} chmod ${_mode} ${_dev} - ${ECHO} chown ${_uname}:${_gname} ${_dev} - fi - fi -} - -# no_return usage() -usage() -{ - cat >&2 <&2 <&2 - EXIT=1 - esac + $e mknod tty$dev c 4 `expr $g '*' 16 + $n + 128` + $e mknod pty$dev c 4 `expr $g '*' 16 + $n + 192` + $e chgrp tty tty$dev pty$dev + $e chmod 666 tty$dev pty$dev + ;; + eth|ip|tcp|udp|eth0|ip0|tcp0|udp0) + # TCP/IP devices. + # + $e mknod eth0 c 7 0 # Network 0 (Ethernet) + $e mknod ip0 c 7 1 + $e mknod tcp0 c 7 2 + $e mknod udp0 c 7 3 + $e chmod 600 eth0 ip0 + $e chmod 666 tcp0 udp0 + $e ln -f eth0 eth # Default interface + $e ln -f ip0 ip + $e ln -f tcp0 tcp + $e ln -f udp0 udp + ;; + audio|mixer) + # Audio devices. + # + $e mknod audio c 13 0 + $e mknod mixer c 13 1 + $e chmod 666 audio mixer + ;; + random|urandom) + # random data generator. + $e mknod random c 16 0; $e chmod 644 random + $e mknod urandom c 16 0; $e chmod 644 urandom + $e chgrp operator random urandom + ;; + uds) + # unix domain sockets device + $e mknod uds c 18 0; + $e chgrp operator uds + $e chmod 666 uds + ;; + klog) + # logging device. + $e mknod klog c 15 0 + $e chmod 600 klog + ;; + filter) + # filter driver + $e mknod filter b 11 0 + $e chmod 600 filter + ;; + fbd) + # faulty block device driver + $e mknod fbd b 14 0 + $e chmod 600 fbd + ;; + hello) + # hello driver + $e mknod hello c 17 0 + $e chmod 644 hello + ;; + fb0) + # framebuffer driver + $e mknod fb0 c 19 0 + $e chmod 644 fb0 + ;; + i2c-[1-3]) + # i2c driver + b=`expr $dev : '....\\(.*\\)'` # bus number + m=`expr $dev : '....\\(.*\\)' - 1` # least significant digit of major + $e mknod i2c-${b} c 2${m} 0 + $e chmod 600 i2c-${b} + ;; + eepromb[1-3]s5[0-7]) + # cat24c256 driver + b=`expr $dev : 'eepromb\\(.*\\)s'` # bus number + s=`expr $dev : 'eepromb.s5\\(.*\\)'` # configurable part of slave addr + m=`expr ${b} \* 8 + ${s} + 17` + $e mknod eepromb${b}s5${s} b ${m} 0 + $e chmod 600 eepromb${b}s5${s} + ;; + tsl2550b[1-3]s39) + b=`expr $dev : 'tsl2550b\\(.*\\)s39'` #bus number + m=`expr ${b} + 46` + $e mknod tsl2550b${b}s39 c ${m} 0 + $e chmod 444 tsl2550b${b}s39 + ;; + sht21b[1-3]s40) + b=`expr $dev : 'sht21b\\(.*\\)s40'` #bus number + m=`expr ${b} + 49` + $e mknod sht21b${b}s40 c ${m} 0 + $e chmod 444 sht21b${b}s40 + ;; + bmp085b[1-3]s77) + b=`expr $dev : 'bmp085b\\(.*\\)s77'` #bus number + m=`expr ${b} + 52` + $e mknod bmp085b${b}s77 c ${m} 0 + $e chmod 444 bmp085b${b}s77 + ;; + *) + echo "$0: don't know about $dev" >&2 + ex=1 + esac done -exit $EXIT +exit $ex diff --git a/commands/MAKEDEV/Makefile b/commands/MAKEDEV/Makefile index 9a9ac5d1d..93040ea76 100644 --- a/commands/MAKEDEV/Makefile +++ b/commands/MAKEDEV/Makefile @@ -1,4 +1,4 @@ SCRIPTS= MAKEDEV.sh -MAN= MAKEDEV.8 +MAN= .include diff --git a/etc/Makefile b/etc/Makefile index fc5f8a7fc..f070c3a3b 100644 --- a/etc/Makefile +++ b/etc/Makefile @@ -196,7 +196,8 @@ MAKEDEV: ${.CURDIR}/MAKEDEV.awk ${.CURDIR}/MAKEDEV.tmpl \ .else MAKEDEV: if [ ${MKUNPRIVED} != "yes" ]; then \ - cd ${DESTDIR}/dev && sh ${NETBSDSRCDIR}/commands/MAKEDEV/MAKEDEV.sh -s 2>/dev/null ;\ + cd ${DESTDIR}/dev && sh ${NETBSDSRCDIR}/commands/MAKEDEV/MAKEDEV.sh null ;\ + cd ${DESTDIR}/dev && sh ${NETBSDSRCDIR}/commands/MAKEDEV/MAKEDEV.sh std 2>/dev/null ;\ fi .endif # !defined(__MINIX) diff --git a/man/man8/MAKEDEV.8 b/man/man8/MAKEDEV.8 new file mode 100644 index 000000000..040ecb1f2 --- /dev/null +++ b/man/man8/MAKEDEV.8 @@ -0,0 +1,53 @@ +.TH MAKEDEV 8 +.SH NAME +MAKEDEV, DESCRIBE \- make/describe device files +.SH SYNOPSIS +.B MAKEDEV +.RB [ \-n ] +.IR key " ..." +.br +.B DESCRIBE +.RI [ device "] ..." +.SH DESCRIPTION +.B MAKEDEV +may be used to create the device files normally found in the +.B /dev +directory. The +.I key +arguments are simply the names of the devices you want. +.B MAKEDEV +knows about all supported devices and will create them in the current +directory with the proper owner and mode. For many devices +.B MAKEDEV +will not only create the device you want, but also the devices related +to it that you will probably want too. Naming one floppy device will +create all floppy devices for the same drive for instance. +.PP +Call +.B MAKEDEV +without arguments to see a list of keys that it understands. Then use +the +.B \-n +flag to make the script echo the commands it will execute the next time +when you call it without that flag. +.PP +The special key +.B std +must be given alone to +.BR MAKEDEV . +This key will create all standard devices. +.PP +The command +.B DESCRIBE +will give you a one-line description of a given device. It will by +default list all devices in +.BR /dev . +.SH "SEE ALSO" +.BR dev (4), +.BR mknod (8). +.SH BUGS +.BR MAKEDEV "'s" +eagerness to create devices may cause many "File exists" errors from +.BR mknod . +.SH AUTHOR +Kees J. Bot (kjb@cs.vu.nl) diff --git a/man/man8/Makefile b/man/man8/Makefile index 863517143..4b370ad98 100644 --- a/man/man8/Makefile +++ b/man/man8/Makefile @@ -2,7 +2,7 @@ MAN= add_route.8 backup.8 boot.8 btrace.8 \ cdprobe.8 chown.8 cleantmp.8 config.8 cron.8 \ dhcpd.8 diskctl.8 fbdctl.8 fdisk.8 \ getty.8 halt.8 hgfs.8 httpd.8 ifconfig.8 inet.8 init.8 \ - intr.8 irdpd.8 loadramdisk.8 \ + intr.8 irdpd.8 loadramdisk.8 MAKEDEV.8 \ netconf.8 newroot.8 nonamed.8 \ ossdevlinks.8 part.8 partition.8 \ poweroff.8 printroot.8 pr_routes.8 pwdauth.8 rarpd.8 \ -- 2.44.0