diff options
Diffstat (limited to 'share')
21 files changed, 0 insertions, 1175 deletions
diff --git a/share/examples/diskless/209.157.86.12/README b/share/examples/diskless/209.157.86.12/README deleted file mode 100644 index 0b52492979f2..000000000000 --- a/share/examples/diskless/209.157.86.12/README +++ /dev/null @@ -1,27 +0,0 @@ - - kernel, rc.local, and xdm-config are typically softlinks. Plus other - files, of course, depending on how you setup your system. - - rc.local and xdm-config might be softlinks into HT.DISKLESS, allowing - you to ease system administration when managing many diskless - workstations. You can also play other tricks, such as I play in - rc.conf.local by having it source ../HT.DISKLESS/rc.conf.local to get - class-based defaults. - - Note: the ttys file below contains an example of how to have X startup - on boot. - -apollo:/conf/209.157.86.12# ls -la -total 7 -drwxr-xr-x 2 root wheel 512 Feb 9 00:27 . -drwxr-xr-x 8 root wheel 512 Feb 8 22:48 .. -lrwxr-xr-x 1 root wheel 20 Feb 8 22:04 fstab -> ../HT.DISKLESS/fstab -lrwxr-xr-x 1 root wheel 17 Jan 24 23:33 kernel -> /kernel.diskless2 --rw-r--r-- 1 root wheel 133 Feb 8 22:04 rc.conf.local -lrwxr-xr-x 1 root wheel 23 Jan 25 00:41 rc.local -> ../HT.DISKLESS/rc.local --rw------- 1 root wheel 539 Jan 17 15:29 ssh_host_key --rw-r--r-- 1 root wheel 343 Jan 17 15:29 ssh_host_key.pub -lrwxr-xr-x 1 root wheel 26 Feb 9 00:27 syslog.conf -> ../HT.DISKLESS/syslog.conf --rw-r--r-- 1 root wheel 1408 Feb 8 19:54 ttys -lrwxr-xr-x 1 root wheel 25 Jan 25 00:38 xdm-config -> ../HT.DISKLESS/xdm-config - diff --git a/share/examples/diskless/209.157.86.12/rc.conf.local b/share/examples/diskless/209.157.86.12/rc.conf.local deleted file mode 100644 index 181c6723708f..000000000000 --- a/share/examples/diskless/209.157.86.12/rc.conf.local +++ /dev/null @@ -1,9 +0,0 @@ -# DISKLESS RC.CONF.LOCAL -# -# Override system standard /etc/rc.conf - -. /conf/HT.DISKLESS/rc.conf.local - -hostname=test2.backplane.com -start_xdm=NO - diff --git a/share/examples/diskless/209.157.86.12/ssh_host_key b/share/examples/diskless/209.157.86.12/ssh_host_key Binary files differdeleted file mode 100644 index ee90cd252e87..000000000000 --- a/share/examples/diskless/209.157.86.12/ssh_host_key +++ /dev/null diff --git a/share/examples/diskless/209.157.86.12/ssh_host_key.pub b/share/examples/diskless/209.157.86.12/ssh_host_key.pub deleted file mode 100644 index 7c99d2c0eb3b..000000000000 --- a/share/examples/diskless/209.157.86.12/ssh_host_key.pub +++ /dev/null @@ -1 +0,0 @@ -1024 33 131532587310298436102876167134780549224884868848048954510241288010381123823834489593599651234236801895942903979896941799980786675282403650831462626987993609590967535749256449810953893747928248417183421903403076895749793372279190481189373438759742396152779236777836204647146078686957945395785442097357022574693 root@apollo.backplane.com diff --git a/share/examples/diskless/HT.DISKLESS/fstab b/share/examples/diskless/HT.DISKLESS/fstab deleted file mode 100644 index f1ee38f2c2bd..000000000000 --- a/share/examples/diskless/HT.DISKLESS/fstab +++ /dev/null @@ -1,5 +0,0 @@ -# fstab for diskless machine. Root is already mounted, as is swap. -# -209.157.86.2:/usr /usr nfs ro 0 0 -209.157.86.2:/var /var nfs ro 0 0 -proc /proc procfs rw 0 0 diff --git a/share/examples/diskless/HT.DISKLESS/rc.conf.local b/share/examples/diskless/HT.DISKLESS/rc.conf.local deleted file mode 100644 index 16ddd1d7f18e..000000000000 --- a/share/examples/diskless/HT.DISKLESS/rc.conf.local +++ /dev/null @@ -1,34 +0,0 @@ -# DISKLESS RC.CONF.LOCAL -# -# Override system standard /etc/rc.conf - -ldconfig_paths="$ldconfig_paths /usr/krb5/lib" -ldconfig_paths_aout="$ldconfig_paths_aout /usr/krb5/lib/aout" - -# Must do NFS mounts early -# Must not attempt to mount root rw -# -early_nfs_mounts="YES" -root_rw_mount="NO" - -inetd_enable="NO" -portmap_enable="NO" -router_enable="NO" -cron_enable="NO" -sendmail_enable="NO" - -# Enable additional services -# - -nfs_client_enable="YES" -lpd_enable="YES" -ntpdate_enable="YES" -ntpdate_flags="apollo.backplane.com" -xntpd_enable="YES" - -if [ -f /etc/ipfw.conf ]; then - firewall_enable="YES" - firewall_type="/etc/ipfw.conf" - firewall_quiet="NO" -fi - diff --git a/share/examples/diskless/HT.DISKLESS/rc.local b/share/examples/diskless/HT.DISKLESS/rc.local deleted file mode 100755 index f473d4152168..000000000000 --- a/share/examples/diskless/HT.DISKLESS/rc.local +++ /dev/null @@ -1,77 +0,0 @@ -#!/bin/sh - -if [ -f /etc/rc.conf ]; then - . /etc/rc.conf -fi - -# Firewall helper - if we configure the firewall to let through -# ports > 4000, we need to configure the machines as such. -# - -sysctl -w net.inet.ip.portrange.first=4000 - -# Setup spool -# - -cat >> /var/spool/lpd/ljet4.ps << EOF -#!/bin/sh -# - -gs -q -dSAFER -dNOPAUSE -sDEVICE=ljet4 -r600x600 -dBitsPerPixel=1 \ - -sOutputFile=- - -EOF - -chmod 755 /var/spool/lpd/ljet4.ps - -mkdir /var/spool/ljet4 -chown daemon /var/spool/ljet4 - -# Setup remote source -# - -mount_mfs -s 600000 -T qp120at dummy /src -mount apollo:/FreeBSD /FreeBSD -mkdir /src/u3 -mkdir /src/u3/usr.obj - -# Copy of ssh_host_key* files to where sshd -# expects them, assuming you add to /usr/local/etc/sshd_config: -# -# HostKey /var/db/ssh_host_key -# -# Then restart sshd ( the /usr/local/etc/rc.d script installed by -# the port probably failed due to the lack of host keys ) - -if [ -f /conf/ME/ssh_host_key ]; then - cp /conf/ME/ssh_host_key* /var/db -else - (cd /var/db; ssh-keygen -f ssh_host_key -P "") -fi -chmod 400 /var/db/ssh_host_key -chmod 644 /var/db/ssh_host_key.pub -/usr/local/sbin/sshd - -# Copy home directory so you can login -# -# - -mount_mfs -s 65536 -T qp120at dummy /home - -if [ -d /home.diskless ]; then - cd /home.diskless - for i in *; do - if [ -f $i/home.tgz ]; then - mkdir /home/$i - chown $i /home/$i - chmod 700 /home/$i - (cd /home/$i; tar xzpf /home.diskless/$i/home.tgz) - homeok=1 - fi - done -fi - -if [ "${homeok:=0}" = "0" ]; then - echo "ERROR, NO /home.diskless DIRECTORY TO COPY TO /HOME" - sleep 10 -fi - diff --git a/share/examples/diskless/HT.DISKLESS/syslog.conf b/share/examples/diskless/HT.DISKLESS/syslog.conf deleted file mode 100644 index a7df1e96deea..000000000000 --- a/share/examples/diskless/HT.DISKLESS/syslog.conf +++ /dev/null @@ -1,3 +0,0 @@ -*.err;kern.debug;auth.notice;mail.crit;lpr.info /dev/console -*.err;kern.debug;auth.notice;mail.crit root -*.emerg * diff --git a/share/examples/diskless/HT.DISKLESS/ttys b/share/examples/diskless/HT.DISKLESS/ttys deleted file mode 100644 index 2c357d4b3b3b..000000000000 --- a/share/examples/diskless/HT.DISKLESS/ttys +++ /dev/null @@ -1,52 +0,0 @@ -# -# @(#)ttys 5.1 (Berkeley) 4/17/89 -# -# name getty type status comments -# -# This entry needed for asking password when init goes to single-user mode -# If you want to be asked for password, change "secure" to "insecure" here -console none unknown off secure -# -ttyv0 "/usr/X11R6/bin/xdm -nodaemon -config /conf/209.157.86.6/xdm-config" cons25 on secure -# Virtual terminals -ttyv1 "/usr/libexec/getty Pc" cons25 on secure -ttyv2 "/usr/libexec/getty Pc" cons25 on secure -ttyv3 "/usr/libexec/getty Pc" cons25 on secure -# Serial terminals -ttyd0 "/usr/libexec/getty std.9600" unknown off secure -ttyd1 "/usr/libexec/getty std.9600" unknown off secure -ttyd2 "/usr/libexec/getty std.9600" unknown off secure -ttyd3 "/usr/libexec/getty std.9600" unknown off secure -# Pseudo terminals -ttyp0 none network -ttyp1 none network -ttyp2 none network -ttyp3 none network -ttyp4 none network -ttyp5 none network -ttyp6 none network -ttyp7 none network -ttyp8 none network -ttyp9 none network -ttypa none network -ttypb none network -ttypc none network -ttypd none network -ttype none network -ttypf none network -ttypg none network -ttyph none network -ttypi none network -ttypj none network -ttypk none network -ttypl none network -ttypm none network -ttypn none network -ttypo none network -ttypp none network -ttypq none network -ttypr none network -ttyps none network -ttypt none network -ttypu none network -ttypv none network diff --git a/share/examples/diskless/HT.DISKLESS/xdm-config b/share/examples/diskless/HT.DISKLESS/xdm-config deleted file mode 100644 index 88ad35fbeea7..000000000000 --- a/share/examples/diskless/HT.DISKLESS/xdm-config +++ /dev/null @@ -1,15 +0,0 @@ -! $XConsortium: xdm-conf.cpp,v 1.2 93/09/28 14:30:32 gildea Exp $ -DisplayManager.errorLogFile: /var/run/xdm-errors -DisplayManager.pidFile: /var/run/xdm-pid -DisplayManager.servers: /usr/X11R6/lib/X11/xdm/Xservers-1 -DisplayManager.keyFile: /usr/X11R6/lib/X11/xdm/xdm-keys -DisplayManager.servers: /usr/X11R6/lib/X11/xdm/Xservers -DisplayManager.accessFile: /usr/X11R6/lib/X11/xdm/Xaccess -DisplayManager._0.authorize: true -DisplayManager._0.setup: /usr/X11R6/lib/X11/xdm/Xsetup_0 -DisplayManager._0.startup: /usr/X11R6/lib/X11/xdm/GiveConsole -DisplayManager._0.reset: /usr/X11R6/lib/X11/xdm/TakeConsole -DisplayManager*resources: /usr/X11R6/lib/X11/xdm/Xresources -DisplayManager*session: /usr/X11R6/lib/X11/xdm/Xsession -DisplayManager*authComplain: false - diff --git a/share/examples/diskless/HT.STD/aliases b/share/examples/diskless/HT.STD/aliases deleted file mode 100644 index 5988f793f814..000000000000 --- a/share/examples/diskless/HT.STD/aliases +++ /dev/null @@ -1,30 +0,0 @@ -# -# @(#)aliases 5.3 (Berkeley) 5/24/90 -# -# Aliases in this file will NOT be expanded in the header from -# Mail, but WILL be visible over networks or from /bin/mail. -# -# >>>>>>>>>> The program "newaliases" must be run after -# >> NOTE >> this file is updated for any changes to -# >>>>>>>>>> show through to sendmail. -# - -# Basic system aliases -- these MUST be present -MAILER-DAEMON: postmaster -postmaster: root - -# General redirections for pseudo accounts -bin: root -daemon: root -games: root -ingres: root -nobody: root -system: root -toor: root -uucp: root -usenet: root -root: root@backplane.com - -diablo: dillon -diablo-bugs: dillon - diff --git a/share/examples/diskless/HT.STD/forward.map b/share/examples/diskless/HT.STD/forward.map deleted file mode 100644 index d4253f8734c6..000000000000 --- a/share/examples/diskless/HT.STD/forward.map +++ /dev/null @@ -1,6 +0,0 @@ -# @(#)forward.map 1.1 1/17/95 -# -# Put addresses to be forwarded here. Example: -# -# garyw@mojosoft.com charliex@best.com -# diff --git a/share/examples/diskless/HT.STD/ndomain.map b/share/examples/diskless/HT.STD/ndomain.map deleted file mode 100644 index 63011d08ca91..000000000000 --- a/share/examples/diskless/HT.STD/ndomain.map +++ /dev/null @@ -1,11 +0,0 @@ -# -# example: -# fofs.com markl@shellx.best.com -# -# NOTE: FORWARD.MAP can be used to override NDOMAIN.MAP for specific -# users. NDOMAIN.MAP would then act as a catch-all -# -# NOTE: NDOMAIN.MAP only works to two levels. I.E. if you have an -# entry for fubar.com, then user@fubar.com will work and -# user@host.fubar.com will work, but NOT user@host.dom.fubar.com -# diff --git a/share/examples/diskless/HT.STD/syslog.conf b/share/examples/diskless/HT.STD/syslog.conf deleted file mode 100644 index cb92c6e6db07..000000000000 --- a/share/examples/diskless/HT.STD/syslog.conf +++ /dev/null @@ -1,11 +0,0 @@ -*.err;kern.debug;auth.notice;mail.crit /dev/console -# *.notice;kern.debug;lpr,auth.info;mail.crit /var/log/messages -*.debug;kern.debug;lpr,auth.info;mail.crit;news.crit /var/log/messages -mail.info /var/log/maillog -news.info /var/log/news -lpr.info /var/log/lpd-errs -cron.* /var/log/cron -#*.err root -#*.notice;auth.debug root -#*.alert root -*.emerg * diff --git a/share/examples/diskless/HT.STD/ttys b/share/examples/diskless/HT.STD/ttys deleted file mode 100644 index bcd059bd9091..000000000000 --- a/share/examples/diskless/HT.STD/ttys +++ /dev/null @@ -1,52 +0,0 @@ -# -# @(#)ttys 5.1 (Berkeley) 4/17/89 -# -# name getty type status comments -# -# This entry needed for asking password when init goes to single-user mode -# If you want to be asked for password, change "secure" to "insecure" here -console none unknown off secure -# -ttyv0 "/usr/libexec/getty Pc" cons25 on secure -# Virtual terminals -ttyv1 "/usr/libexec/getty Pc" cons25 on secure -ttyv2 "/usr/libexec/getty Pc" cons25 on secure -ttyv3 "/usr/libexec/getty Pc" cons25 on secure -# Serial terminals -ttyd0 "/usr/libexec/getty std.9600" unknown off secure -ttyd1 "/usr/libexec/getty std.9600" unknown off secure -ttyd2 "/usr/libexec/getty std.9600" unknown off secure -ttyd3 "/usr/libexec/getty std.9600" unknown off secure -# Pseudo terminals -ttyp0 none network -ttyp1 none network -ttyp2 none network -ttyp3 none network -ttyp4 none network -ttyp5 none network -ttyp6 none network -ttyp7 none network -ttyp8 none network -ttyp9 none network -ttypa none network -ttypb none network -ttypc none network -ttypd none network -ttype none network -ttypf none network -ttypg none network -ttyph none network -ttypi none network -ttypj none network -ttypk none network -ttypl none network -ttypm none network -ttypn none network -ttypo none network -ttypp none network -ttypq none network -ttypr none network -ttyps none network -ttypt none network -ttypu none network -ttypv none network diff --git a/share/examples/diskless/ME b/share/examples/diskless/ME deleted file mode 100644 index 85178e088a54..000000000000 --- a/share/examples/diskless/ME +++ /dev/null @@ -1,37 +0,0 @@ - -When templating, /conf/ME is typically a softlink to -/conf/<appropriate-machine>. When doing a diskless boot, /conf/ME is -retargeted by /etc/rc.diskless1 from pointing to the server to pointing -to the client's directory, /conf/<ip-address-of-client>. The retargeting -is accomplished through an MFS -o union mount. - -When templating, this softlink should be different for each machine. -When doing a diskless boot, this softlink is typically part of the / NFS -mount from the server and points to the server's conf directory, but gets -retargeted during the /etc/rc.diskless1 phase. - -System-wide configuration files must generally be targeted through /conf/ME. -For example, your /etc/rc.conf.local should become a softlink to -/conf/ME/rc.conf.local and your real rc.conf.local should go into the -appropriate /conf/<appropriate-machine> directory. This is also true of -/etc/rc.local, /etc/fstab, /etc/syslog.conf, /etc/ccd.conf, /etc/ipfw.conf, -/etc/motd, /etc/resolv.conf, and possibly even /etc/ttys ( if you want -to start an X session up on boot on certain of your machines ). - -When templating, you duplicate your / and /usr partitions on each machine's -local disk from a single master ( assuming /var and /home reside elsewhere ), -EXCEPT for the /conf/ME softlink. The /conf/ME softlink is the only thing -on / that should be different for each machine. - -There are often categories of configuration files. For example, all of your -shell machines may use one resolv.conf while all of your mail proxies may -use another. Configuration files can be categorized fairly easily through -/conf/HT.<category> directories. You put the actual configuration file in -/conf/HT.<category> and make a softlink from -/conf/ME/<appropriate-machines>/config-file to "../HT.<category/config-file". -This means that access to these files tends to run through more then one -softlink. The advantage is that for all the complexity of your /conf -directory hierarchy, most of your common config files exist in only one place -in reality. - - diff --git a/share/examples/diskless/README.BOOTP b/share/examples/diskless/README.BOOTP deleted file mode 100644 index 0032e80230e7..000000000000 --- a/share/examples/diskless/README.BOOTP +++ /dev/null @@ -1,157 +0,0 @@ - - BOOTP configuration mechanism - - Matthew Dillon - dillon@backplane.com - - BOOTP kernels automatically configure the machine's IP address, netmask, - optional NFS based swap, and NFS based root mount. The NFS server will - typically export a shared read-only /, /usr, and /var to any number of - workstations. The shared read-only root is typically either the server's - own root or, if you are more security concious, a contrived root. - - The key issue with starting up a BOOTP kernel is that you typically want - to export read-only NFS partitions from the server, yet still be able to - customize each workstation ( or not ). - - /etc/rc.diskless1 is responsible for doing core mounts and for retargeting - /conf/ME ( part of the read-only root NFS mount ) to /conf/$IP_OF_CLIENT. - /etc/rc.conf.local and /etc/rc.local, along with other machine-specific - configuration files, are typically softlinks to /conf/ME/<filename>. - - In the BOOTP workstation /conf/$IP/rc.conf.local, you must typically - turn *OFF* most of the system option defaults in /etc/rc.conf as well - as do additional custom configuration of your environment - - The /usr/src/share/examples/diskless directory contains a typical - X session / sshd based workstation configuration. The directories - involved are HT.DISKLESS/ and 192.157.86.12/. - - Essentially, the $IP/ directory ( which rc.diskless looks for in - /conf/$IP/ ) contains all the junk. The HT.DISKLESS directory exists - to hold common elements of your custom configuration so you do not have - to repeat those elements for each workstation. The example /conf - structure included here shows how to create a working sshd setup ( so - you can sshd into the diskless workstation ), retarget xdm's pid and error - files to R+W directories if /usr is mounted read-only, and retarget - syslogd and other programs. This example is not designed to run out of - the box and some modifications are required. - - >> NOTE << HT.DISKLESS/ttys contains the typical configuration required - to bring X up at boot time. Essentially, it runs xdm in the foreground - with the appropriate arguments rather then a getty on ttyv0. You must - run xdm on ttyv0 in order to prevent xdm racing with getty on a virtual - terminal. Such a race can cause your keyboard to be directed away from - the X session, essentially making the session unusable. - - Typically you should start with a clean slate by tar-copying this example - directory to /conf and then hack on it in /conf rather then in - /usr/share/examples/diskless. - - BOOTP CLIENT SETUP - - Here is a typical kernel configuration. If you have only one ethernet - interface you do not need to wire BOOTP to a specific interface name. - BOOTP requires NFS and NFS_ROOT, and our boot scripts require MFS. If - your /tmp is *not* a softlink to /var/tmp, the scripts also require NULLFS - -# BootP -# -options BOOTP # Use BOOTP to obtain IP address/hostname -options BOOTP_NFSROOT # NFS mount root filesystem using BOOTP info -options "BOOTP_NFSV3" # Use NFS v3 to NFS mount rootoptions -options BOOTP_COMPAT # Workaround for broken bootp daemons. -#options "BOOTP_WIRED_TO=de0" - -options MFS # Memory File System -options NFS # Network Filesystem -options NFS_ROOT # Nfs can be root -options NULLFS # nullfs to map /var/tmp to /tmp - - BOOTP SERVER SETUP - - The BOOTP server must be running on the same logical LAN as the the - BOOTP client(s). You need to setup two things: - - (1) You need to NFS-export /, /usr, and /var. - - (2) You need to run a BOOTP server. DHCPD can do this. - - - NFS Export: - - Here is an example "/etc/exports" file. - -/ -ro -maproot=root: -network 192.157.86.0 -mask 255.255.255.192 -/usr -ro -maproot=root: -network 192.157.86.0 -mask 255.255.255.192 -/var -ro -maproot=root: -network 192.157.86.0 -mask 255.255.255.192 - - In order to be an NFS server, the server must run portmap, mountd, - nfsd, and rpc.statd. The standard NFS server options in /etc/rc.conf - will work ( you should put your overrides in /etc/rc.conf.local on the - server and not edit the distribution /etc/rc.conf, though ). - - BOOTP Server: - - This configuration file "/etc/dhcpd.conf" example is for - the '/usr/ports/net/isc-dhcp' dhcpd port. - - subnet 192.157.86.0 netmask 255.255.255.192 { - # range if you want to run the core dhcpd service of - # dynamic IP assignment, but it is not used with BOOTP - # workstations - range 192.157.86.32 192.157.86.62; - - # misc configuration. - # - option routers 192.157.86.2; - option domain-name-servers 192.157.86.2; - - server-name "apollo.fubar.com"; - option subnet-mask 255.255.255.192; - option domain-name-servers 192.157.86.2; - option domain-name "fubar.com"; - option broadcast-address 192.157.86.63; - option routers 192.157.86.2; - } - - host test1 { - hardware ethernet 00:a0:c9:d3:38:25; - fixed-address 192.157.86.11; - option root-path "192.157.86.2:/"; - option option-128 "192.157.86.2:/images/swap"; - } - - host test2 { - # hardware ethernet 00:e0:29:1d:16:09; - hardware ethernet 00:10:5a:a8:94:0e; - fixed-address 192.157.86.12; - option root-path "192.157.86.2:/"; - option option-128 "192.157.86.2:/images/swap"; - } - - SWAP. This example includes options to automatically BOOTP configure - NFS swap on each workstation. In order to use this capabilities you - need to NFS-export a swap directory READ+WRITE to the workstations. - - You must then create a swap directory for each workstation you wish to - assign swap to. In this example I created a dummy user 'lander' and - did an NFS export of /images/swap enforcing a UID of 'lander' for - all accesses. - - apollo:/usr/ports/net# ls -la /images/swap - total 491786 - drwxr-xr-x 2 root wheel 512 Dec 28 07:00 . - drwxr-xr-x 8 root wheel 512 Jan 20 10:54 .. - -rw-r--r-- 1 lander wheel 33554432 Dec 23 14:35 swap.192.157.86.11 - -rw-r--r-- 1 lander wheel 335544320 Jan 24 16:55 swap.192.157.86.12 - -rw-r--r-- 1 lander wheel 134217728 Jan 21 17:19 swap.192.157.86.6 - - A swap file is best created with dd: - - # create a 32MB swap file for a BOOTP workstation - dd if=/dev/zero of=swap.IPADDRESS bs=1m count=32 - - It is generally a good idea to give your workstations some swap space, - but not a requirement if they have a lot of memory. - diff --git a/share/examples/diskless/README.TEMPLATING b/share/examples/diskless/README.TEMPLATING deleted file mode 100644 index babf670c1eee..000000000000 --- a/share/examples/diskless/README.TEMPLATING +++ /dev/null @@ -1,286 +0,0 @@ - - TEMPLATING machine configurations - - Matthew Dillon - dillon@backplane.com - - This document describes a general mechanism by which you can template - / and /usr. That is, to keep a 'master template' of / and /usr on a - separate machine which is then used to update the rest of your machines. - - Generally speaking, you can't simply mirror /. You might be able to - get away with mirroring /usr. There are two main problems involved with - templating: - - (1) Avoiding overwriting run-time generated files - - By default, the system maintains a number of files in the root - partition. For example, sendmail will dbm /etc/aliases into - /etc/aliases.db. vipw or chpass or other password related routines - will regenerate the password dbm's /etc/spwd.db, /etc/pwd.db, and - passwd. /etc/namedb/s might contain generated secondaries. And - so forth. - - The templating mechanism must avoid copying over such files. - - (2) Customizing machines. - - Customizing machines is actually considerably simpler. You create - a configuration hierarchy and convert the configuration files that - have to be customized into softlinks that run through a special - softlink in the configuration directory. This will work for every - configuration file except possibly /etc/master.passwd - - For example, /etc/resolv.conf would be turned into a softlink to - /conf/ME/resolv.conf, and /conf/ME itself would be a softlink to - /conf/<HOSTNAME>. The actual resolv.conf configuration file - would reside in /conf/<HOSTNAME>. - - If you have a lot of hosts, some configuration files may be commonly - classified. For example, all your shell machines might have the - same /etc/resolv.conf. The solution is to make - /conf/<HOSTNAME>/resolv.conf a softlink to a common directory, say - /conf/HT.SHELL/resolv.conf. It may sound a little messy, but this - sort of categorization actually makes the sysadmins job much, much - easier. - - The /conf/ directory hierarchy is stored on the template and - distributed to all the machines along with the rest of the root - partition. - - This type of customization is taken from my direct experience - instituting such a system at BEST. At the time, BEST had over 45 - machines managed from a single template. - - RUN-TIME GENERATED OR MODIFIED FILES IN / or /USR - - /etc/aliases.db - /etc/master.passwd - /etc/spwd.db - /etc/pwd.db - /etc/passwd - /etc/namedb/s - /root/.history - /root/.ssh/identity - /root/.ssh/identity.pub - /root/.ssh/random_seed - /root/.ssh/known_hosts - /conf/ME - /kernel* ( note 2 ) - /dev ( note 3 ) - /var ( note 4 ) - /home ( note 4 ) - /lost+found - - /usr/lost+found - /usr/home ( note 4 ) - /usr/crash ( note 5 ) - /usr/obj ( note 5 ) - /usr/ports ( note 5 ) - /usr/src ( note 5 ) - /usr/local/crack ( note 5 ) - /usr/X11R6/lib/X11/xdm/xdm-errors ( note 6 ) - /usr/X11R6/lib/X11/xdm/xdm-pid ( note 6 ) - /usr/local/etc/ssh_host_key ( note 6 ) - /usr/local/etc/ssh_host_key.pub ( note 6 ) - /usr/local/etc/ssh_random_seed ( note 6 ) - - /conf/ME ( note 7 ) - - note 2: You typically want to update kernels manually and *NOT* - template them as a safety measure. This also allows you to run - different kernels on different machines or. - - note 3: /dev must be updated manually. Some devices, such as tty's and - pty's, use the access and/or modify time and/or user/group - operationally and regenerating the devices on the fly would be - bad. - - note 4: /var and /home are usually separately mounted partitions and - thus would not fall under the template, but as a safety measure - the template copier refuse to copy directories named 'home'. - - note 5: These are directories that are as often created directly on - /usr as they are separately-mounted partitions. You typically - do not want to template such directories. - - note 6: Note that you can solve the problem of xdm and sshd creating - files in /usr. With xdm, edit /usr/X11R6/lib/xdm/xdm-config - and change the errorLogFile and pidFile config lines. - - With sshd, add 'HostKey' and 'RandomSeed' directives to specify - /var/db for the location of the host key and run-time sshd - random seed: - - HostKey /var/db/ssh_host_key - RandomSeed /var/db/ssh_random_seed - - note 7: In this example, /conf/ME is the machine customizer and must - be pointed to the /conf/<full-host-name>/ directory, which is - different for each machine. Thus, the /conf/ME softlink - should never be overwritten by the templating copy. - - - TYPICAL CUSTOMIZED CONFIGRATION SOFTLINKS - - The following files typically need to be turned into softlinks - to /conf/ME/<filename>: - - /etc/ccd.conf -> /conf/ME/ccd.conf - /etc/ipfw.conf ... - /etc/fstab - /etc/motd - /etc/resolv.conf - /etc/aliases - /etc/sendmail.cw - /etc/organization - /etc/named.conf - /etc/rc.conf.local - /etc/printcap - /etc/inetd.conf - /etc/login.conf - /etc/gettytab - /etc/ntp.conf - /etc/exports - /root/.k5login -> /conf/ME/root/.k5login - - And, of course, /conf/ME is usually a softlink to the appropriate - /conf/<full-host-name>/. Depending on your system configuration, - there may be other files not listed above that you have to worry about. - - In many cases, /conf/ME/filename is itself a softlink to - "../HT.xxxx/filename", where HT.xxxx is something like HT.STD ... this - added complexity actually makes it easier to manage multiple - classifications of machines. - - DELETION OF FILES - - Any file found on the template destination that does not exist in the - source and is not listed as an exception by the source should be deleted. - However, deletion can be dangerous and cpdup will ask for confirmation - by default. Once you know you aren't going to blow things up, you can - turn this feature off and update your systems automatically from cron. - - By formalizing the delete operation, you can be 100% sure that it is - possible to recreate / and /usr on any machine with only the original - template and a backup of the ( relatively few ) explicitly-excepted - files. The most common mistake a sysop makes is to make a change to a - file in / or /usr on a target machine instead of the template machine. - If the target machine is updated once a night from cron, the sysop - quickly learns not to do this ( because his changes get overwritten - overnight ). With a manual update, these sorts of mistakes can propogate - for weeks or months before they are caught. - - TEMPLATE COPYING AND SAFETY - THE CPDUP PROGRAM - - The 'cpdup' program is a program which efficiently duplicates a directory - tree. The program copies source to destination, duplicating devices, - softlinks, hardlinks, files, modification times, uid, gid, flags, perms, - and so forth. The program incorporates several major features: - - * The program refuses, absolutely, to cross partition boundries. - i.e. if you were copying the template /usr from an NFS mount to - your /usr, and you had a mount point called /usr/home, the - template copying program would *NOT* descend into /usr/home on - the destination. - - This is a safety. - - * The program accesses a file called .cpignore in each directory - it descending into on the source to obtain a list of exceptions - for that directory -- that is, files not to copy or mess with. - - This is a templating function. - - * The program refuses to delete a directory on the destination - being replaced by a softlink or file on the source. - - This is a safety mechanism - - * The program is capable of maintaing MD5 check cache files and - doing an MD5 check between source and destination during the - scan. - - * The program is capable of deleting files/directories on the - destination that do not exist on the source, but asks for - confirmation by default. - - This is a templating and a safety mechanism. - - * The program uses a copy-to-tmp-and-rename methodology allowing - it to be used to update live filesystems. - - This is a templating mechanism. - - * The program, by default, tries to determine if a copy is required - by checking modify times, file size, perms, and other stat - elements. If the elements match, it does not bother to copy - ( unless an MD5 check is being made, in which case it must read - the destination file ). - - You typically run cpdup on the target machine. The target machine - temporarily mounts the template machine's / and /usr via NFS, read-only, - and runs cpdup to update / and /usr. If you use this methodology note - that THERE ARE SECURITY CONSIDERATIONS! See 'SECURITY CONSIDERATIONS WITH - NFS' below. - - Whatever script you use that does the NFS mounts should ensure that the - mount succeeded before continuing with the cpdup. - - You should create .cpignore files in the appropriate directories on the - template machine's / and /usr partitions so as not to overwrite active - files on the target. The most critical .cpignore files should be - protected with 'chflags schg .cpignore'. Specifically, the ones in / - and /etc, but possibly others as well. For example, the .cpignore - hierarchy for protect /root is: - - # /root/.cpignore contains - .history - - # /root/.ssh/.cpignore contains - random_seed - known_hosts - authorized_keys - identity - identity.pub - - WHEN INITIALLY CONVERTING A TARGET MACHINE TO USE TEMPLATING, ALWAYS - MAKE A FULL BACKUP OF THE TARGET MACHINE FIRST! You may accidently delete - files on the target during the conversion due to forgetting to enter - items into appropriate .cpignore files on the source. - - SECURITY CONSIDERATIONS WITH NFS ROOT EXPORT FROM TEMPLATE MACHINE - SECURITY CONSIDERATIONS WITH NFS USR EXPORT FROM TEMPLATE MACHINE - - There are some serious security considerations that must be taken into - account when exporting / and /usr on the template machine. - - * only export read-only - - * the password file ( aka vipw ) may not contain any crypted passwords - at all. You MUST use ssh or kerberos to access the template machine. - - You can get away with giving only root a crypted password, but only - if you disallow network root logins and only allow direct root - logins on the console. - - * The machine's private ssh_host_key usually resides in /usr/local/etc. - You must move this key to /var/db. You can softlink link so no - modification of sshd_config is required. - - * The machine's private ~root/.ssh/identity file is also exposed by - the NFS export, you should move this file to /var/db as well and - put a softlink in ~root/.ssh. - - * DON'T EXPORT /var ! Either that, or don't put the private keys - in /var/db ... put them somewhere else. - - * You may want to redirect the location of the random_seed file, which - can be done by editing ~root/.ssh/sshd_config and - /usr/local/etc/sshd_config so it is not exposed either. - - -Matt - Matthew Dillon - dillon@backplane.com - diff --git a/share/man/man4/intpm.4 b/share/man/man4/intpm.4 deleted file mode 100644 index 0b973b7b34b9..000000000000 --- a/share/man/man4/intpm.4 +++ /dev/null @@ -1,64 +0,0 @@ -.\" Copyright (c) 1999 Takanori Watanabe -.\" All rights reserved. -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in the -.\" documentation and/or other materials provided with the distribution. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND -.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE -.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -.\" SUCH DAMAGE. -.\" -.\" $FreeBSD$ -.\" -.\" Note: The date here should be updated whenever a non-trivial -.\" change is made to the manual page. -.Dd January 8, 1999 -.Dt INTPM 4 i386 -.\" Note: Only specify the operating system when the command -.\" is FreeBSD specific, otherwise use the .Os macro with no -.\" arguments. -.Os FreeBSD 3.0 -.Sh NAME -.Nm intpm -.Nd Intel PIIX4 Power management controller driver. -.Sh SYNOPSIS -.Cd controller smbus0 -.Cd controller intpm0 - -.Sh DESCRIPTION -This driver provides access to -.Tn Intel PIIX4 PCI Controller function 3 , -Power management controller. Currently, only smbus controller -function is implemented. But it also have bus idle monitoring function. It -will display mapped I/O address for bus monitoring function when attaching. - -.Sh SEE ALSO -.Xr smb 4 , -.Xr smbus 4 -.Sh HISTORY -The -.Nm -manual page example first appeared in -.Fx 3.0 . -.Sh AUTHORS -This -manual page was written by -.An Takanori Watanabe Aq takawata@shidahara1.planet.sci.kobe-u.ac.jp . -.Sh BUGS -This device requires IRQ 9 exclusively. To use this, you should enable -ACPI function in BIOS configuration, or PnP mechanism assigns conflicted -IRQ for PnP ISA card. And don't use IRQ 9 for Non-PnP ISA cards. diff --git a/share/man/man4/man4.i386/sis.4 b/share/man/man4/man4.i386/sis.4 deleted file mode 100644 index 47a257920ceb..000000000000 --- a/share/man/man4/man4.i386/sis.4 +++ /dev/null @@ -1,149 +0,0 @@ -.\" Copyright (c) 1997, 1998, 1999 -.\" Bill Paul <wpaul@ee.columbia.edu>. All rights reserved. -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in the -.\" documentation and/or other materials provided with the distribution. -.\" 3. All advertising materials mentioning features or use of this software -.\" must display the following acknowledgement: -.\" This product includes software developed by Bill Paul. -.\" 4. Neither the name of the author nor the names of any co-contributors -.\" may be used to endorse or promote products derived from this software -.\" without specific prior written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY Bill Paul AND CONTRIBUTORS ``AS IS'' AND -.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL Bill Paul OR THE VOICES IN HIS HEAD -.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF -.\" THE POSSIBILITY OF SUCH DAMAGE. -.\" -.\" $FreeBSD$ -.\" -.Dd September 4, 1999 -.Dt SIS 4 i386 -.Os FreeBSD -.Sh NAME -.Nm sis -.Nd -Silicon Integrated Systems fast ethernet device driver -.Sh SYNOPSIS -.Cd "controller miibus0" -.Cd "device sis0" -.Sh DESCRIPTION -The -.Nm -driver provides support for PCI ethernet adapters and embedded -controllers based on the Silicon Integrated Systems SiS 900 -and SiS 7016 fast ethernet controller chips. -.Pp -The SiS 900 is a 100Mbps ethernet MAC and MII-compliant transceiver -in a single package. It uses a bus master DMA and a scatter/gather -descriptor scheme. The SiS 7016 is similar to the SiS 900 except -that it has no internal PHY, requiring instead an external transceiver -to be attached to its MII interface. -The SiS 900 and SiS 7016 both have a 128-bit multicast hash filter -and a single perfect filter entry for the station address. -.Pp -The -.Nm -driver supports the following media types: -.Pp -.Bl -tag -width xxxxxxxxxxxxxxxxxxxx -.It autoselect -Enable autoselection of the media type and options. -The user can manually override -the autoselected mode by adding media options to the -.Pa /etc/rc.conf -fine. -.It 10baseT/UTP -Set 10Mbps operation. The -.Ar mediaopt -option can also be used to select either -.Ar full-duplex -or -.Ar half-duplex modes. -.It 100baseTX -Set 100Mbps (fast ethernet) operation. The -.Ar mediaopt -option can also be used to select either -.Ar full-duplex -or -.Ar half-duplex -modes. -.El -.Pp -The -.Nm -driver supports the following media options: -.Pp -.Bl -tag -width xxxxxxxxxxxxxxxxxxxx -.It full-duplex -Force full duplex operation -.It half-duplex -Force half duplex operation. -.El -.Pp -For more information on configuring this device, see -.Xr ifconfig 8 . -.Sh DIAGNOSTICS -.Bl -diag -.It "sis%d: couldn't map ports/memory" -A fatal initialization error has occurred. -.It "sis%d: couldn't map interrupt" -A fatal initialization error has occurred. -.It "sis%d: watchdog timeout" -The device has stopped responding to the network, or there is a problem with -the network connection (cable). -.It "sis%d: no memory for rx list" -The driver failed to allocate an mbuf for the receiver ring. -.It "sis%d: no memory for tx list" -The driver failed to allocate an mbuf for the transmitter ring when -allocating a pad buffer or collapsing an mbuf chain into a clusisr. -.It "sis%d: chip is in D3 power state -- setting to D0" -This message applies only to adapters which support power -management. Some operating sysisms place the controller in low power -mode when shutting down, and some PCI BIOSes fail to bring the chip -out of this state before configuring it. The controller loses all of -its PCI configuration in the D3 state, so if the BIOS does not set -it back to full power mode in time, it won't be able to configure it -correctly. The driver tries to detect this condition and bring -the adapter back to the D0 (full power) state, but this may not be -enough to return the driver to a fully operational condition. If -you see this message at boot time and the driver fails to attach -the device as a network interface, you will have to perform second -warm boot to have the device properly configured. -.Pp -Note that this condition only occurs when warm booting from another -operating sysism. If you power down your sysism prior to booting -.Fx , -the card should be configured correctly. -.El -.Sh SEE ALSO -.Xr arp 4 , -.Xr netintro 4 , -.Xr ifconfig 8 -.Rs -.%T SiS 900 and SiS 7016 datasheets -.%O http://www.sis.com.tw -.Re -.Sh HISTORY -The -.Nm -device driver first appeared in -.Fx 3.0 . -.Sh AUTHORS -The -.Nm -driver was written by -.An Bill Paul Aq wpaul@ee.columbia.edu . diff --git a/share/man/man4/man4.i386/ste.4 b/share/man/man4/man4.i386/ste.4 deleted file mode 100644 index 3da3895c54a4..000000000000 --- a/share/man/man4/man4.i386/ste.4 +++ /dev/null @@ -1,149 +0,0 @@ -.\" Copyright (c) 1997, 1998, 1999 -.\" Bill Paul <wpaul@ctr.columbia.edu>. All rights reserved. -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in the -.\" documentation and/or other materials provided with the distribution. -.\" 3. All advertising materials mentioning features or use of this software -.\" must display the following acknowledgement: -.\" This product includes software developed by Bill Paul. -.\" 4. Neither the name of the author nor the names of any co-contributors -.\" may be used to endorse or promote products derived from this software -.\" without specific prior written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY Bill Paul AND CONTRIBUTORS ``AS IS'' AND -.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL Bill Paul OR THE VOICES IN HIS HEAD -.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF -.\" THE POSSIBILITY OF SUCH DAMAGE. -.\" -.\" $FreeBSD$ -.\" -.Dd August 21, 1999 -.Dt STE 4 i386 -.Os FreeBSD -.Sh NAME -.Nm ste -.Nd -Sundance Technologies ST201 fast ethernet device driver -.Sh SYNOPSIS -.Cd "controller miibus0" -.Cd "device ste0" -.Sh DESCRIPTION -The -.Nm -driver provides support for PCI ethernet adapters and embedded -controllers based on the Sundance Technologies ST201 PCI fast -ethernet controller chip. This includes the D-Link DFE-550TX. -.Pp -The Sundance ST201 uses bus master DMA and is designed to be a -3Com Etherlink XL workalike. It uses the same DMA descriptor -structure and is very similar in operation, however its register -layout is different. The ST201 has a 64-bit multicast hash filter -and a single perfect filter entry for the station address. IT -supports both 10 and 100Mbps speeds in either full or half duplex -using an MII transceiver. -.Pp -The -.Nm -driver supports the following media types: -.Pp -.Bl -tag -width xxxxxxxxxxxxxxxxxxxx -.It autoselect -Enable autoselection of the media type and options. -The user can manually override -the autoselected mode by adding media options to the -.Pa /etc/rc.conf -fine. -.It 10baseT/UTP -Set 10Mbps operation. The -.Ar mediaopt -option can also be used to select either -.Ar full-duplex -or -.Ar half-duplex modes. -.It 100baseTX -Set 100Mbps (fast ethernet) operation. The -.Ar mediaopt -option can also be used to select either -.Ar full-duplex -or -.Ar half-duplex -modes. -.El -.Pp -The -.Nm -driver supports the following media options: -.Pp -.Bl -tag -width xxxxxxxxxxxxxxxxxxxx -.It full-duplex -Force full duplex operation -.It half-duplex -Force half duplex operation. -.El -.Pp -For more information on configuring this device, see -.Xr ifconfig 8 . -.Sh DIAGNOSTICS -.Bl -diag -.It "ste%d: couldn't map ports/memory" -A fatal initialization error has occurred. -.It "ste%d: couldn't map interrupt" -A fatal initialization error has occurred. -.It "ste%d: watchdog timeout" -The device has stopped responding to the network, or there is a problem with -the network connection (cable). -.It "ste%d: no memory for rx list" -The driver failed to allocate an mbuf for the receiver ring. -.It "ste%d: no memory for tx list" -The driver failed to allocate an mbuf for the transmitter ring when -allocating a pad buffer or collapsing an mbuf chain into a cluster. -.It "ste%d: chip is in D3 power state -- setting to D0" -This message applies only to adapters which support power -management. Some operating systems place the controller in low power -mode when shutting down, and some PCI BIOSes fail to bring the chip -out of this state before configuring it. The controller loses all of -its PCI configuration in the D3 state, so if the BIOS does not set -it back to full power mode in time, it won't be able to configure it -correctly. The driver tries to detect this condition and bring -the adapter back to the D0 (full power) state, but this may not be -enough to return the driver to a fully operational condition. If -you see this message at boot time and the driver fails to attach -the device as a network interface, you will have to perform second -warm boot to have the device properly configured. -.Pp -Note that this condition only occurs when warm booting from another -operating system. If you power down your system prior to booting -.Fx , -the card should be configured correctly. -.El -.Sh SEE ALSO -.Xr arp 4 , -.Xr netintro 4 , -.Xr ifconfig 8 -.Rs -.%T Sundance ST201 data sheet -.%O http://www.sundanceti.com -.Re -.Sh HISTORY -The -.Nm -device driver first appeared in -.Fx 3.0 . -.Sh AUTHORS -The -.Nm -driver was written by -.An Bill Paul Aq wpaul@ee.columbia.edu . |