diff options
author | Theo de Raadt <deraadt@cvs.openbsd.org> | 1995-10-18 08:53:40 +0000 |
---|---|---|
committer | Theo de Raadt <deraadt@cvs.openbsd.org> | 1995-10-18 08:53:40 +0000 |
commit | d6583bb2a13f329cf0332ef2570eb8bb8fc0e39c (patch) | |
tree | ece253b876159b39c620e62b6c9b1174642e070e /distrib |
initial import of NetBSD tree
Diffstat (limited to 'distrib')
361 files changed, 26201 insertions, 0 deletions
diff --git a/distrib/alpha/rz25dist/Makefile b/distrib/alpha/rz25dist/Makefile new file mode 100644 index 00000000000..844b1c87fc0 --- /dev/null +++ b/distrib/alpha/rz25dist/Makefile @@ -0,0 +1,77 @@ +# $NetBSD: Makefile,v 1.7 1995/10/10 01:19:16 cgd Exp $ + +# Make a distribution for the alpha, on a spare disk. +# This creates a large, gzipped disk image in ${.OBJDIR} + +.if !defined(DESTDIR) || !defined(DESTDISK) +all: + @echo both 'DESTDIR' and 'DESTDISK' must be defined. + @false +.else + +SECPERCYL= 558 +CYLS= 1476 + +all: bin.tar.gz etc.tar.gz rz25-image.gz + +mount-fs: + disklabel -W ${DESTDISK} + -dd if=/dev/zero of=/dev/r${DESTDISK}c bs=`expr ${SECPERCYL} \* 512` \ + count=${CYLS} + disklabel -w -r -B -b /usr/mdec/sdboot -s /usr/mdec/bootsd \ + ${DESTDISK} rz25 + disklabel -W ${DESTDISK} + newfs -O /dev/r${DESTDISK}a + newfs -O /dev/r${DESTDISK}d + mount /dev/${DESTDISK}a ${DESTDIR} + mkdir ${DESTDIR}/usr + mount /dev/${DESTDISK}d ${DESTDIR}/usr + +build-fs: + cd ${.CURDIR}/../../../etc && make distribution + cd ${.CURDIR}/../../../cygnus && \ + make prefix=${DESTDIR}/usr/local install + cp ${.CURDIR}/../../../sys/arch/alpha/compile/GENERIC/netbsd ${DESTDIR} + ln -s gcc ${DESTDIR}/usr/local/bin/cc + ln -s \ + ../local/lib/gcc-lib/alpha-unknown-netbsd1.0A/2.7-95q4/cpp \ + ${DESTDIR}/usr/libexec + ln -s ../local/bin/ar ${DESTDIR}/usr/bin + ln -s ../local/bin/as ${DESTDIR}/usr/bin + ln -s ../local/bin/cc ${DESTDIR}/usr/bin + ln -s ../local/bin/gcc ${DESTDIR}/usr/bin + ln -s ../local/bin/ld ${DESTDIR}/usr/bin + ln -s ../local/bin/nm ${DESTDIR}/usr/bin + ln -s ../local/bin/ranlib ${DESTDIR}/usr/bin + ln -s ../local/bin/size ${DESTDIR}/usr/bin + ln -s ../local/bin/strip ${DESTDIR}/usr/bin + cp -p ${DESTDIR}/usr/mdec/boot ${DESTDIR}/ + +unmount-fs: + umount ${DESTDIR}/usr ${DESTDIR} + fsck /dev/r${DESTDISK}a /dev/r${DESTDISK}d + +rz25-image.gz: mount-fs build-fs unmount-fs + /bin/rm -f $@ + dd if=/dev/r${DESTDISK}c bs=`expr ${SECPERCYL} \* 512` \ + count=${CYLS} | gzip -9 > $@ + +bin.tar.gz: mount-fs build-fs + /bin/rm -f $@ + (cd ${DESTDIR} ; find . | grep -v '^./etc' | pax -w -d | gzip -9) > $@ + +etc.tar.gz: mount-fs build-fs + /bin/rm -f $@ + (cd ${DESTDIR} ; find ./etc | pax -w -d | gzip -9) > $@ + +.endif + +_SUBDIRUSE: + +# clean dependencies in case somebody decides to shortcut the build. +clean: + /bin/rm -f bin.tar.gz etc.tar.gz rz25-image.gz + /bin/rm -f mount-fs build-fs unmount-fs + +.include <bsd.own.mk> +.include <bsd.obj.mk> diff --git a/distrib/amiga/floppies/Makefile b/distrib/amiga/floppies/Makefile new file mode 100644 index 00000000000..ecbc7cc99e3 --- /dev/null +++ b/distrib/amiga/floppies/Makefile @@ -0,0 +1,5 @@ +# $Id + +SUBDIR= inst upgr + +.include <bsd.subdir.mk> diff --git a/distrib/amiga/floppies/Makefile.inc b/distrib/amiga/floppies/Makefile.inc new file mode 100644 index 00000000000..f39164f80cc --- /dev/null +++ b/distrib/amiga/floppies/Makefile.inc @@ -0,0 +1,4 @@ +# $Id: Makefile.inc,v 1.1 1995/10/18 08:37:27 deraadt Exp $ + +# Revision is 1.1 +REV= 11 diff --git a/distrib/amiga/floppies/inst-common/Makefile.inc b/distrib/amiga/floppies/inst-common/Makefile.inc new file mode 100644 index 00000000000..b84e5a2356d --- /dev/null +++ b/distrib/amiga/floppies/inst-common/Makefile.inc @@ -0,0 +1,48 @@ +# $Id: Makefile.inc,v 1.1 1995/10/18 08:37:28 deraadt Exp $ + +# TOP is assumed to be defined by Makefile including this one. + +CBIN= instbin +COMMONDIR= ${TOP}/inst-common + +MOUNT_POINT?= /mnt +VND?= vnd0 +VND_DEV= /dev/${VND}c +VND_RDEV= /dev/r${VND}c +IMAGE?= xxx-${REV}.fs +MDEC= ${DESTDIR}/usr/mdec + +LISTS= ${COMMONDIR}/list ${.CURDIR}/list +CRUNCHCONF= ${COMMONDIR}/${CBIN}.conf +MTREE= ${COMMONDIR}/mtree.conf + +all: ${CBIN} + dd if=/dev/zero of=${IMAGE} bs=80k count=22 + vnconfig -v -c ${VND_DEV} ${IMAGE} + newfs -O -m 0 -o space ${VND_RDEV} floppyhd + mount ${VND_DEV} ${MOUNT_POINT} + mtree -def ${MTREE} -p ${MOUNT_POINT}/ -u + TOPDIR=${TOP} CURDIR=${.CURDIR} OBJDIR=${.OBJDIR} \ + TARGDIR=${MOUNT_POINT} sh ${TOP}/runlist.sh ${LISTS} + @echo "" + @df -i ${MOUNT_POINT} + @echo "" + umount ${MOUNT_POINT} + vnconfig -u ${VND_DEV} + +unconfig: + -umount -f ${MOUNT_POINT} + -vnconfig -u ${VND_DEV} + -/bin/rm -f ${IMAGE} + +${CBIN}.mk ${CBIN}.cache ${CBIN}.c: ${CRUNCHCONF} + crunchgen -D ${TOP}/../../.. -L ${DESTDIR}/usr/lib ${CRUNCHCONF} + +${CBIN}: ${CBIN}.mk ${CBIN}.cache ${CBIN}.c + make -f ${CBIN}.mk all + +clean cleandir: + /bin/rm -f core ${IMAGE} ${CBIN} ${CBIN}.mk ${CBIN}.cache *.o *.lo *.c + +.include <bsd.obj.mk> +.include <bsd.subdir.mk> diff --git a/distrib/amiga/floppies/inst-common/dot.commonutils b/distrib/amiga/floppies/inst-common/dot.commonutils new file mode 100644 index 00000000000..d5a87c3a2b9 --- /dev/null +++ b/distrib/amiga/floppies/inst-common/dot.commonutils @@ -0,0 +1,123 @@ +# +# Copyright (c) 1994 Christopher G. Demetriou +# 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 Christopher G. Demetriou. +# 4. The name of the author may not be used to endorse or promote products +# derived from this software without specific prior written permission +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 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. +# +# $Id: dot.commonutils,v 1.1 1995/10/18 08:37:28 deraadt Exp $ + +# Installation utilites (functions), to get NetBSD installed on +# the hard disk. These are meant to be invoked from the shell prompt, +# by people installing NetBSD. + +# we know that /etc/fstab is only generated on the hard drive +dest_dir=/ +if [ ! -f /etc/fstab ]; then + dest_dir=/mnt/ +fi + +# counter for possible shared library confusion +TAR=/usr/bin/tar +GUNZIP=/usr/bin/gunzip + +Set_tmp_dir() +{ + def_tmp_dir=`pwd` + if [ "$def_tmp_dir" = "/" -o "$def_tmp_dir" = "/mnt" ]; then + def_tmp_dir="$dest_dir"usr/distrib + fi + + echo -n "What directory should be used to find and/or store " + echo "installation" + echo -n "files? [$def_tmp_dir] " + read tmp_dir + if [ "$tmp_dir" = "" ]; then + tmp_dir=$def_tmp_dir + fi + if [ ! -d "$tmp_dir" ]; then + /bin/rm -rf $tmp_dir + mkdir -p $tmp_dir + fi +} + +Tmp_dir() +{ + if [ "$tmp_dir" = "" ]; then + Set_tmp_dir + fi + cd $tmp_dir +} + +Load_fd() +{ + Tmp_dir + which= + while [ "$which" != "a" -a "$which" != "b" ]; do + echo -n "Read from which floppy drive ('a' or 'b')? [a] " + read which + if [ "X$which" = "X" ]; then + which=a + fi + done + while echo -n "Insert floppy (hit ^C to terminate, enter to load): " + do + mount -t msdos /dev/fd0$which /mnt2 + cp -rp /mnt2/* . + umount /mnt2 + done +} + +Load_tape() +{ + Tmp_dir + echo -n "Which tape drive will you be using? [rst0] " + read which + if [ "X$which" = "X" ]; then + which=rst0 + fi + echo -n "Insert the tape into the tape drive and hit return to " + echo -n "continue..." + read foo + echo "Extracting files from the tape..." + $TAR xvpf --unlink /dev/$which + echo "Done." +} + +Extract() +{ + Tmp_dir + echo -n "Would you like to list the files as they're extracted? [n] " + read verbose + case $verbose in + y*|Y*) + tarverbose=v + ;; + *) + tarverbose= + ;; + esac + cat "$1".?? | $GUNZIP | (cd $dest_dir ; $TAR --unlink -xp"$tarverbose"f -) +} diff --git a/distrib/amiga/floppies/inst-common/instbin.conf b/distrib/amiga/floppies/inst-common/instbin.conf new file mode 100644 index 00000000000..38214376467 --- /dev/null +++ b/distrib/amiga/floppies/inst-common/instbin.conf @@ -0,0 +1,24 @@ +# +# kcbin.conf - unified binary for the kc floppy +# $Id: instbin.conf,v 1.1 1995/10/18 08:37:28 deraadt Exp $ +# + +srcdirs bin sbin usr.bin usr.sbin gnu/usr.bin + +progs cat chmod chown chroot cp dd df disklabel ed expr fsck ftp +progs gzip ifconfig init ln ls mkdir mknod more mount mount_cd9660 +progs mount_ados mount_ffs mount_nfs mv newfs printf pppd pwd reboot rm +progs route sed sh shutdown slattach strings stty sync tar test tip +progs umount update + +ln chown chgrp +ln gzip gzcat gunzip +ln mount_ados ados +ln mount_cd9660 cd9660 +ln mount_ffs ffs +ln mount_nfs nfs +ln reboot halt +ln sh -sh # init invokes the shell this way +ln test [ + +libs -ledit -lutil -ltermcap -lcrypt -ll -lm diff --git a/distrib/amiga/floppies/inst-common/list b/distrib/amiga/floppies/inst-common/list new file mode 100644 index 00000000000..0feda25a64d --- /dev/null +++ b/distrib/amiga/floppies/inst-common/list @@ -0,0 +1,76 @@ +# $Id: list,v 1.1 1995/10/18 08:37:28 deraadt Exp $ + +# copy the crunched binary, link to it, and kill it +COPY ${OBJDIR}/instbin instbin +LINK instbin bin/cat +LINK instbin bin/chmod +LINK instbin bin/cp +LINK instbin bin/df +LINK instbin bin/dd +LINK instbin bin/ed +LINK instbin bin/expr +LINK instbin bin/ln +LINK instbin bin/ls +LINK instbin bin/mkdir +LINK instbin bin/mv +LINK instbin bin/pwd +LINK instbin bin/rm +LINK instbin bin/sh +LINK instbin bin/-sh +LINK instbin bin/stty +LINK instbin bin/sync +LINK instbin bin/test +LINK instbin bin/[ +LINK instbin sbin/disklabel +LINK instbin sbin/fsck +LINK instbin sbin/ifconfig +LINK instbin sbin/init +LINK instbin sbin/mknod +LINK instbin sbin/mount +LINK instbin sbin/mount_cd9660 +LINK instbin sbin/mount_ados +LINK instbin sbin/mount_ffs +LINK instbin sbin/mount_nfs +LINK instbin sbin/newfs +LINK instbin sbin/reboot +LINK instbin sbin/route +LINK instbin sbin/shutdown +LINK instbin sbin/slattach +LINK instbin sbin/umount +LINK instbin usr/bin/chgrp +LINK instbin usr/bin/ftp +LINK instbin usr/bin/gunzip +LINK instbin usr/bin/gzcat +LINK instbin usr/bin/gzip +LINK instbin usr/bin/more +LINK instbin usr/bin/printf +LINK instbin usr/bin/sed +LINK instbin usr/bin/strings +LINK instbin usr/bin/tar +LINK instbin usr/bin/tip +LINK instbin usr/sbin/chown +LINK instbin usr/sbin/chroot +LINK instbin usr/sbin/pppd +LINK instbin usr/sbin/update +SPECIAL /bin/rm instbin + +# copy the MAKEDEV script and make some devices +COPY ${DESTDIR}/dev/MAKEDEV dev/MAKEDEV +SPECIAL cd dev; sh MAKEDEV floppy +SPECIAL /bin/rm dev/MAKEDEV + +# we need the contents of /usr/mdec (XXX) +# COPY ${DESTDIR}/usr/mdec/* usr/mdec + +# various files that we need in /etc for the install +COPY ${DESTDIR}/etc/group etc +COPY ${DESTDIR}/etc/master.passwd etc +COPY ${DESTDIR}/etc/passwd etc +COPY ${DESTDIR}/etc/protocols etc +COPY ${DESTDIR}/etc/pwd.db etc +COPY ${DESTDIR}/etc/services etc +COPY ${DESTDIR}/etc/spwd.db etc + +# and the common installation tools +COPY ${TOPDIR}/inst-common/dot.commonutils .commonutils +COPY ${TOPDIR}/inst-common/termcap.vt usr/share/misc/termcap diff --git a/distrib/amiga/floppies/inst-common/mtree.conf b/distrib/amiga/floppies/inst-common/mtree.conf new file mode 100644 index 00000000000..c0395984ec0 --- /dev/null +++ b/distrib/amiga/floppies/inst-common/mtree.conf @@ -0,0 +1,72 @@ +# $Id: mtree.conf,v 1.1 1995/10/18 08:37:28 deraadt Exp $ + +/set type=dir uname=root gname=wheel mode=0755 +# . +. + +# ./bin +bin +# ./bin +.. + +# ./dev +dev +# ./dev +.. + +# ./etc +etc +# ./etc +.. + +# ./mnt +mnt +# ./mnt +.. + +# ./mnt2 +mnt2 +# ./mnt2 +.. + +# ./sbin +sbin +# ./sbin +.. + +# ./tmp +tmp +# ./tmp +.. + +# ./usr +usr + +# ./usr/bin +bin +# ./usr/bin +.. + +# ./usr/mdec +mdec +# ./usr/mdec +.. + +# ./usr/sbin +sbin +# ./usr/sbin +.. + +# ./usr/share +share + +# ./usr/share/misc +misc +# ./usr/share/misc +.. + +# ./usr/share +.. + +# ./usr +.. diff --git a/distrib/amiga/floppies/inst-common/termcap.vt b/distrib/amiga/floppies/inst-common/termcap.vt new file mode 100644 index 00000000000..b885de9d0a6 --- /dev/null +++ b/distrib/amiga/floppies/inst-common/termcap.vt @@ -0,0 +1,64 @@ +# Copyright (c) 1980, 1985, 1989 The Regents of the University of California. +# 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 the University of +# California, Berkeley and its contributors. +# 4. Neither the name of the University nor the names of its contributors +# may be used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE REGENTS 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 REGENTS 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. +# +# @(#)termcap.src 5.109 (Berkeley) 3/8/93 +# +vt200|vt220|dec-vt220|vt200-js|vt220-js|dec vt200 series with jump scroll:\ + :AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:IC=\E[%d@:LE=\E[%dD:\ + :RI=\E[%dC:UP=\E[%dA:ae=^O:al=\E[L:as=^N:ct=\E[3g:dc=\E[P:dl=\E[M:\ + :ei=\E[4l:im=\E[4h:k1=\E[17~:k2=\E[18~:k3=\E[19~:k4=\E[20~:\ + :k5=\E[21~:k6=\E[23~:k7=\E[24~:k8=\E[25~:kD=\E[3~:kH=\E[4~:\ + :kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=\177:kh=\E[1~:km:mi:ms:\ + :if=/usr/share/tabset/vt100:se=\E[27m:st=\EH:ue=\E[24m:\ + :tc=vt100: +vt100|dec-vt100|vt100-am|vt100am|dec vt100:\ + :bl=^G:cr=^M:it#8:\ + :do=^J:co#80:li#24:cl=50\E[;H\E[2J:sf=2*\ED:\ + :le=^H:bs:am:cm=5\E[%i%d;%dH:nd=2\E[C:up=2\E[A:cb=3\E[1K:\ + :ce=3\E[K:cd=50\E[J:so=2\E[7m:se=2\E[m:us=2\E[4m:ue=2\E[m:\ + :md=2\E[1m:mr=2\E[7m:mb=2\E[5m:me=2\E[m:is=\E[1;24r\E[24;1H:\ + :if=/usr/share/tabset/vt100:\ + :rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:ks=\E[?1h\E=:ke=\E[?1l\E>:\ + :ku=\EOA:kd=\EOB:kr=\EOC:kl=\EOD:kb=^H:\ + :ho=\E[H:k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:pt:sr=2*\EM:vt#3:xn:\ + :sc=\E7:rc=\E8:cs=\E[%i%d;%dr: +vt300|vt320|vt300-80|VT 300 with 80 columns, on VMS:\ + :AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:IC=\E[%d@:\ + :LE=\E[%dD:RI=\E[%dC:SR=1*\E[%dM:UP=\E[%dA:al=\E[L:\ + :am:bl=^G:bs:cd=2*\E[J:ce=2*\E[K:cl=45\E[H\E[2J:\ + :cm=%i\E[%d;%dH:co#80:cr=\r:cs=\E[%i%d;%dr:ct=\E[3g:\ + :dc=\E[P:dl=\E[M:dm=:do=\ED:ec=\E[%dX:ed=:ei=\E[4l:\ + :ho=\E[H:ic:im=\E[4h:it#8:k1=\EOP:k2=\EOQ:k3=\EOR:\ + :k4=\EOS:kd=\E[B:ke=\E[?1l\E>:kl=\E[D:kn#4:kr=\E[C:ks=\E[?1h\E=:\ + :ku=\E[A:le=^H:li#24:mb=\E[5m:md=\E[1m:me=\E[0m:mi:\ + :mr=\E[7m:ms:nd=\E[C:nl=\ED:nw=\EE:pf=\E[?4i:po=\E[?5i:\ + :ps=\E[i:rc=\E8:sc=\E7:se=\E[27m:sf=1*\ED:so=\E[7m:\ + :sr=1*\EM:st=\EH:ue=\E[24m:up=\EM:us=\E[4m:xn: diff --git a/distrib/amiga/floppies/inst/Makefile b/distrib/amiga/floppies/inst/Makefile new file mode 100644 index 00000000000..47d65f599e2 --- /dev/null +++ b/distrib/amiga/floppies/inst/Makefile @@ -0,0 +1,8 @@ +# $Id: Makefile,v 1.1 1995/10/18 08:37:28 deraadt Exp $ + +TOP= ${.CURDIR}/.. + +.include "${TOP}/Makefile.inc" +IMAGE= inst-${REV}.fs + +.include "${TOP}/inst-common/Makefile.inc" diff --git a/distrib/amiga/floppies/inst/disktab.preinstall b/distrib/amiga/floppies/inst/disktab.preinstall new file mode 100644 index 00000000000..5fe26a7d81c --- /dev/null +++ b/distrib/amiga/floppies/inst/disktab.preinstall @@ -0,0 +1,29 @@ +# Disk geometry and partition layout tables. +# Key: +# dt controller type +# ty type of disk (fixed, removeable, simulated) +# d[0-4] drive-type-dependent parameters +# ns #sectors/track +# nt #tracks/cylinder +# nc #cylinders/disk +# sc #sectors/cylinder, nc*nt default +# su #sectors/unit, sc*nc default +# se sector size, DEV_BSIZE default +# rm rpm, 3600 default +# sf supports bad144-style bad sector forwarding +# sk sector skew per track, default 0 +# cs sector skew per cylinder, default 0 +# hs headswitch time, default 0 +# ts one-cylinder seek time, default 0 +# il sector interleave (n:1), 1 default +# bs boot block size, default BBSIZE +# sb superblock size, default SBSIZE +# o[a-h] partition offsets in sectors +# p[a-h] partition sizes in sectors +# b[a-h] partition block sizes in bytes +# f[a-h] partition fragment sizes in bytes +# t[a-h] partition types (filesystem, swap, etc) +# +# All partition sizes reserve space for bad sector tables. +# (5 cylinders needed for maintenance + replacement sectors) +# diff --git a/distrib/amiga/floppies/inst/dot.instutils b/distrib/amiga/floppies/inst/dot.instutils new file mode 100644 index 00000000000..8673f302988 --- /dev/null +++ b/distrib/amiga/floppies/inst/dot.instutils @@ -0,0 +1,152 @@ +# +# Copyright (c) 1994 Christopher G. Demetriou +# 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 Christopher G. Demetriou. +# 4. The name of the author may not be used to endorse or promote products +# derived from this software without specific prior written permission +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 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. +# +# $Id: dot.instutils,v 1.1 1995/10/18 08:37:28 deraadt Exp $ + +# Installation configuration utilites (functions), to get NetBSD configured +# reasonably once it is installed on the hard disk. These are meant to be +# invoked from the shell prompt, by people installing NetBSD. + +Configure() +{ + DEV=/mnt/dev + ETC=/mnt/etc + + echo "You will now be prompted for information about this" + echo "machine. If you hit return, the default answer (in" + echo "brackets) will be used." + + echo "" + echo -n "What is this machine's hostname? [unknown.host.domain] " + read hname + if [ "$hname" = "" ]; then + hname=unknown.host.domain + fi + echo $hname > ${ETC}/myname + proto_domain=`echo $hname | sed -e 's/[^.]*\.//'` + + echo "" + echo "What domain is this machine in (this is NOT its YP" + echo -n "domain name)? [$proto_domain] " + read dname + if [ "$dname" = "" ]; then + dname=$proto_domain + fi + + echo "" + if [ -e /mnt/etc/sendmail.cf ]; then + echo "WARNING: A default sendmail.cf exists, and probably" + echo "needs to be tuned and/or replaced, to work properly at" + echo "your site!" + else + echo "WARNING: No default sendmail.cf installed. Did you" + echo "forget to install the 'etc' distribution?" + fi + + echo "127.0.0.1 localhost localhost.$dname" > ${ETC}/hosts + + echo "" + echo -n "Does this machine have an ethernet interface? [y] " + read resp + case "$resp" in + n*) + ;; + *) + intf= + while [ "$intf" = "" ]; do + echo -n "What is the primary interface name " + echo -n "(e.g. ae0, ed0, le0, or es0)? " + read intf + done + echo -n "What is the hostname for this interface? [$hname] " + read ifname + if [ "$ifname" = "" ]; then + ifname=$hname + fi + ifaddr= + while [ "$ifaddr" = "" ]; do + echo -n "What is the IP address associated with " + echo -n "interface ${intf}? " + read ifaddr + done + echo "$ifaddr $ifname `echo $ifname | sed -e s/\.$dname//`" \ + >> ${ETC}/hosts + + echo -n "Does this interface have a special netmask? [n] " + read resp + case "$resp" in + y*) + echo -n "What is the netmask? [0xffffff00] " + read ifnetmask + if [ "$ifnetmask" = "" ]; then + ifnetmask=0xffffff00 + fi + ;; + *) + ifnetmask= + ;; + esac + + echo -n "Does this interface need additional flags? [n] " + read resp + case "$resp" in + y*) + echo -n "What flags? [link0] " + read ifflags + if [ "$ifflags" = "" ]; then + ifflags=link0 + fi + ;; + *) + ifflags= + ;; + esac + echo "inet $ifname $ifnetmask $ifflags" > ${ETC}/hostname.$intf + + echo "" + echo -n "WARNING: if you have any more ethernet interfaces, " + echo "you will have to configure" + echo -n "them by hand. Read the comments in /etc/netstart to " + echo "learn how to do this." + ;; + esac + + echo "" + echo -n "Making device nodes (may take a while)..." + cd ${DEV} + sh MAKEDEV all + echo " done." + + sync + + echo "" + echo "All that's left to do now is to install the NetBSD kernel on" + echo "your hard disk. You should now halt your machine using the" + echo "'halt' command. Once the machine is halted, reboot it" +} diff --git a/distrib/amiga/floppies/inst/dot.profile b/distrib/amiga/floppies/inst/dot.profile new file mode 100644 index 00000000000..bd4403e004c --- /dev/null +++ b/distrib/amiga/floppies/inst/dot.profile @@ -0,0 +1,56 @@ +# +# Copyright (c) 1994 Christopher G. Demetriou +# 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 Christopher G. Demetriou. +# 4. The name of the author may not be used to endorse or promote products +# derived from this software without specific prior written permission +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 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. +# +# $Id: dot.profile,v 1.1 1995/10/18 08:37:28 deraadt Exp $ + +PATH=/sbin:/bin:/usr/bin:/usr/sbin:/ +export PATH +TERM=vt100 +export TERM + +umask 022 + +if [ "X${DONEPROFILE}" = "X" ]; then + DONEPROFILE=YES + + # set up some sane defaults + echo 'erase ^?, werase ^W, kill ^U, intr ^C' + stty newcrt werase ^W intr ^C kill ^U erase ^? 9600 + echo '' + + # run update, so that installed software is written as it goes. + update + + # pull in the functions that people will use from the shell prompt. + . /.commonutils + . /.instutils + + # run the installation script. + install +fi diff --git a/distrib/amiga/floppies/inst/install.sh b/distrib/amiga/floppies/inst/install.sh new file mode 100644 index 00000000000..4ff607482d8 --- /dev/null +++ b/distrib/amiga/floppies/inst/install.sh @@ -0,0 +1,291 @@ +#!/bin/sh +# +# Copyright (c) 1994 Christopher G. Demetriou +# 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 Christopher G. Demetriou. +# 4. The name of the author may not be used to endorse or promote products +# derived from this software without specific prior written permission +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 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. +# +# $Id: install.sh,v 1.1 1995/10/18 08:37:28 deraadt Exp $ + +# NetBSD installation script. +# In a perfect world, this would be a nice C program, with a reasonable +# user interface. + +FSTABDIR=/mnt/etc # /mnt/etc +#DONTDOIT==echo + +VERSION=1.1 +FSTAB=${FSTABDIR}/fstab + +getresp() { + read resp + if [ "X$resp" = "X" ]; then + resp=$1 + fi +} + +getvar() { + echo $(eval $(echo "echo \$$1")) +} + +shiftvar() { + local - var + var="$1" + list="$(getvar $var)" + set -- $list + shift + setvar $var "$*" +} + +getparts() { + disklabel $1 2>/dev/null | sed -e '/^[ ][ ][ad-p]/!d' | + sed -e 's,^[ ]*\([a-p]\):[ ]*[0-9]*[ ]*[0-9]*[ ][ ]*\([a-zA-Z0-9.]*\).*,\1 \2,' | + sed -e ':a + N;${s/\n/ /g;p;d;} + ba' +} + +getdrives() { + local du thispart + for du in /dev/r${drivetype}?a; do + dd if=$du of=/dev/null bs=1b count=1 >/dev/null 2>&1 + if [ $? -eq 0 ]; then + thisunit=`echo $du | sed -e 's,/dev/r\(...\)a,\1,g'` + driveunits="$driveunits $thisunit" + else + continue; + fi + setvar $thisunit "$(getparts $thisunit)" + export $thisunit + done + export drivenunits +} + +prepdrive() { + echo "which drive would you like to prepare next?" + echo "choices are: ${driveunits}" + echo "" + getresp + case $resp in + *) ;; + esac +} + +echo "Welcome to the NetBSD ${VERSION} installation program." +echo "" +echo "This program is designed to help you put NetBSD on your hard disk," +echo "in a simple and rational way. Its main objective is to format," +echo "mount and create an fstab for your root (/) and user (/usr)" +echo "partitions." +echo "" +echo "As with anything which modifies your hard drive's contents, this" +echo "program can cause SIGNIFICANT data loss, and you are advised" +echo "to make sure your hard drive is backed up before beginning the" +echo "installation process." +echo "" +echo "Default answers are displayed in brackets after the questions." +echo "You can hit Control-C at any time to quit, but if you do so at a" +echo "prompt, you may have to hit return. Also, quitting in the middle of" +echo "installation may leave your system in an inconsistent state." +echo "" +echo -n "Proceed with installation? [n] " +getresp "n" +case "$resp" in + y*|Y*) + echo "scanning for the root device" + ;; + *) + echo "" + echo "OK, then. Enter 'halt' at the prompt to halt the" + echo "machine. Once the machine has halted, remove the" + echo "floppy and press any key to reboot." + exit + ;; +esac + +drivetype=sd +sect_fwd="" + +# find out what units are possible for that disk, and query the user. +getdrives +for du in $driveunits; do + set -- $(getvar $du) + if [ $# -ge 2 -a "$1" = "a" -a "`echo $2 | sed -e 's,.*BSD.*,BSD,'`" = "BSD" ]; then + rdev=$du + fi +done + +echo "" +echo "The following root devices are available on your machine:" +echo " "${driveunits} +echo "" +prefdev=${rdev} +rdev="" +while [ "X${rdev}" = "X" ]; do + echo -n "Which device would you like to install on ? [${prefdev}] " + getresp ${prefdev} + otherdrives=`echo "${driveunits}" | sed -e s,${resp},,` + if [ "X${driveunits}" = "X${otherdrives}" ]; then + echo "" + echo "\"${resp}\" is an invalid drive name. Valid choices" + echo "are: "${driveunits} + else + rdev=${resp} + fi +done + +echo "" +echo "The root device you have chosen is on: ${rdev}" +echo "" +# driveunits=`ls /dev/${drivetype}?a | sed -e 's,/dev/\(...\)a,\1,g'` +if [ "X${driveunits}" = "X" ]; then + echo "FATAL ERROR:" + echo "No devices for disks of type '${drivetype}'." + echo "This is probably a bug in the install disks." + echo "Exiting install program." + exit +fi + +echo "" +echo "THIS IS YOUR LAST CHANCE!!!" +echo "" +echo "(answering yes will format your root partition on $rdev)" +echo -n "Are you SURE you want NetBSD installed on your hard drive? (yes/no) " +answer="" +while [ "$answer" = "" ]; do + getresp + case $resp in + yes|YES) + echo "" + answer=yes + ;; + no|NO) + echo "" + echo -n "OK, then. enter 'halt' to halt the machine. " + echo "Once the machine has halted," + echo -n "remove the floppy, and press any key to " + echo "reboot." + exit + ;; + *) + echo -n "I want a yes or no answer... well? " + ;; + esac +done +echo "Initializing / (root) filesystem, and mounting..." +$DONTDOIT newfs /dev/r${rdev}a $name +$DONTDOIT mount -v /dev/${rdev}a /mnt +echo "" +echo -n "Creating a fstab..." +mkdir -p $FSTABDIR +echo "/dev/${rdev}a / ffs rw 1 1" > $FSTAB + +# get rid of this partition +shiftvar $rdev +shiftvar $rdev + +echo "" +echo "Now lets setup your /usr file system" +echo "(Once a valid input for drive and partition is seen" +echo "it will be FORMATTED and inserted in the fstab.)" +while [ "X$usrpart" = "X" ]; do + resp="" + drivename="" + while [ "X$resp" = "X" ]; do + echo "choices: $driveunits" + echo "which drive do you want /usr on?" + getresp + set -- $driveunits + while [ $# -gt 0 ]; do + if [ "X$resp" = "X$1" ]; then + drivename=$1 + break; + else + shift + fi + done + if [ "X$drivename" != "X" ]; then + break + fi + done + + usrpart="" + echo "You have selected $drivename" + echo "here is a list of partitions on $drivename" + disklabel $drivename 2>/dev/null | sed -e '/^[ ][ ][ad-p]:/p;/^#[ \t]*size/p;d' + echo "which partition would you like to format and have" + echo -n "mounted as /usr? (supply the letter): " + getresp + if [ "X$resp" = "X" ]; then + continue; + fi + + list=$(getvar $drivename) + set -- $list + while [ $# -gt 0 ]; do + if [ "$resp" = "$1" ]; then + if [ "`echo $2 | sed -e 's,.*BSD.*,BSD,'`" != "BSD" ]; then + echo "" + echo -n "$drivename$resp is of type $2 which is not" + echo " a BSD filesystem type" + break + fi + usrpart=$drivename$resp + break + else + shift + shift + fi + done + if [ "X$usrpart" = "X" ]; then + echo "$resp is not a valid input." + echo "" + fi +done + +echo "" +echo "Initializing /usr filesystem, and mounting..." +$DONTDOIT newfs /dev/r${usrpart} $name +$DONTDOIT mkdir -p /mnt/usr +$DONTDOIT mount -v /dev/${usrpart} /mnt/usr +echo "" +echo -n "Adding to fstab..." +echo "/dev/${usrpart} /usr ffs rw 1 2" >> $FSTAB +sync +echo " done." + +echo "" +echo "" +echo "OK! The preliminary work of setting up your disk is now complete," +echo "and you can install the actual NetBSD software." +echo "" +echo "Right now, your root is mounted on /mnt and your usr on /mnt/usr." +echo "You should consult the installation notes to determine how to load" +echo "and install the NetBSD distribution sets, and how to configure your" +echo "system when you are done." +echo "" +echo "GOOD LUCK!" +echo "" diff --git a/distrib/amiga/floppies/inst/list b/distrib/amiga/floppies/inst/list new file mode 100644 index 00000000000..79a711eea49 --- /dev/null +++ b/distrib/amiga/floppies/inst/list @@ -0,0 +1,10 @@ +# $Id: list,v 1.1 1995/10/18 08:37:28 deraadt Exp $ + +# the disktab explanation file +COPY disktab.preinstall etc + +# and the installation tools +COPY dot.profile .profile +COPY dot.instutils .instutils +COPY install.sh install +SPECIAL chmod 755 install diff --git a/distrib/amiga/floppies/list2sh.awk b/distrib/amiga/floppies/list2sh.awk new file mode 100644 index 00000000000..11f260acd47 --- /dev/null +++ b/distrib/amiga/floppies/list2sh.awk @@ -0,0 +1,39 @@ +# $Id: list2sh.awk,v 1.1 1995/10/18 08:37:27 deraadt Exp $ + +BEGIN { + printf("cd ${CURDIR}\n"); + printf("\n"); +} +/^$/ || /^#/ { + print $0; + next; +} +$1 == "COPY" { + printf("echo '%s'\n", $0); + printf("cp %s ${TARGDIR}/%s\n", $2, $3); + next; +} +$1 == "LINK" { + printf("echo '%s'\n", $0); + printf("(cd ${TARGDIR}; ln %s %s)\n", $2, $3); + next; +} +$1 == "SPECIAL" { + printf("echo '%s'\n", $0); + printf("(cd ${TARGDIR};"); + for (i = 2; i <= NF; i++) + printf(" %s", $i); + printf(")\n"); + next; +} +{ + printf("echo '%s'\n", $0); + printf("echo 'Unknown keyword \"%s\" at line %d of input.'\n", $1, NR); + printf("exit 1\n"); + exit 1; +} +END { + printf("\n"); + printf("exit 0\n"); + exit 0; +} diff --git a/distrib/amiga/floppies/runlist.sh b/distrib/amiga/floppies/runlist.sh new file mode 100644 index 00000000000..91c7b2f0582 --- /dev/null +++ b/distrib/amiga/floppies/runlist.sh @@ -0,0 +1,13 @@ +# $Id: runlist.sh,v 1.1 1995/10/18 08:37:27 deraadt Exp $ + +if [ "X$1" = "X-d" ]; then + SHELLCMD=cat + shift +else + SHELLCMD="sh -e" +fi + +( while [ "X$1" != "X" ]; do + cat $1 + shift +done ) | awk -f ${TOPDIR}/list2sh.awk | ${SHELLCMD} diff --git a/distrib/amiga/floppies/upgr/Makefile b/distrib/amiga/floppies/upgr/Makefile new file mode 100644 index 00000000000..fffd67f16ac --- /dev/null +++ b/distrib/amiga/floppies/upgr/Makefile @@ -0,0 +1,8 @@ +# $Id: Makefile,v 1.1 1995/10/18 08:37:29 deraadt Exp $ + +TOP= ${.CURDIR}/.. + +.include "${TOP}/Makefile.inc" +IMAGE= upgr-${REV}.fs + +.include "${TOP}/inst-common/Makefile.inc" diff --git a/distrib/amiga/floppies/upgr/dot.hdprofile b/distrib/amiga/floppies/upgr/dot.hdprofile new file mode 100644 index 00000000000..587f91a7eb6 --- /dev/null +++ b/distrib/amiga/floppies/upgr/dot.hdprofile @@ -0,0 +1,62 @@ +# +# Copyright (c) 1994 Christopher G. Demetriou +# 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 Christopher G. Demetriou. +# 4. The name of the author may not be used to endorse or promote products +# derived from this software without specific prior written permission +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 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. +# +# $Id: dot.hdprofile,v 1.1 1995/10/18 08:37:29 deraadt Exp $ + +PATH=/sbin:/bin:/usr/bin:/usr/sbin:/ +export PATH +TERM=vt100 +export TERM + +umask 022 + +if [ "X${DONEPROFILE}" = "X" ]; then + DONEPROFILE=YES + + echo "Checking filesystems..." + fsck -y + + echo "Mounting filesystems..." + mount -a + + # set up some sane defaults + echo 'erase ^?, werase ^W, kill ^U, intr ^C' + stty newcrt werase ^W intr ^C kill ^U erase ^? 9600 + echo '' + + # run update, so that installed software is written as it goes. + update + + # pull in the functions that people will use from the shell prompt. + . /.commonutils + . /.upgrutils + + echo "Follow the installation directions to install the NetBSD" + echo "distribution sets." +fi diff --git a/distrib/amiga/floppies/upgr/dot.profile b/distrib/amiga/floppies/upgr/dot.profile new file mode 100644 index 00000000000..afc90fa2c1c --- /dev/null +++ b/distrib/amiga/floppies/upgr/dot.profile @@ -0,0 +1,56 @@ +# +# Copyright (c) 1994 Christopher G. Demetriou +# 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 Christopher G. Demetriou. +# 4. The name of the author may not be used to endorse or promote products +# derived from this software without specific prior written permission +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 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. +# +# $Id: dot.profile,v 1.1 1995/10/18 08:37:29 deraadt Exp $ + +PATH=/sbin:/bin:/usr/bin:/usr/sbin:/ +export PATH +TERM=vt100 +export TERM + +umask 022 + +if [ "X${DONEPROFILE}" = "X" ]; then + DONEPROFILE=YES + + # set up some sane defaults + echo 'erase ^?, werase ^W, kill ^U, intr ^C' + stty newcrt werase ^W intr ^C kill ^U erase ^? 9600 + echo '' + + # run update, so that installed software is written as it goes. + update + + # pull in the functions that people will use from the shell prompt. + . /.commonutils + . /.upgrutils + + # run the upgrade script. + upgrade +fi diff --git a/distrib/amiga/floppies/upgr/dot.upgrutils b/distrib/amiga/floppies/upgr/dot.upgrutils new file mode 100644 index 00000000000..12f820e7c75 --- /dev/null +++ b/distrib/amiga/floppies/upgr/dot.upgrutils @@ -0,0 +1,54 @@ +# +# Copyright (c) 1994 Christopher G. Demetriou +# 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 Christopher G. Demetriou. +# 4. The name of the author may not be used to endorse or promote products +# derived from this software without specific prior written permission +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 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. +# +# $Id: dot.upgrutils,v 1.1 1995/10/18 08:37:29 deraadt Exp $ + +# Upgrade cleanup utilites (functions), to make sure a recently-upgraded +# system is safely runnable. These are meant to be invoked from the shell +# prompt, by people installing NetBSD. + +Cleanup() +{ + upgrade_dir=/ + + if [ ! -f /etc/fstab ]; then + upgrade_dir=/mnt + fi + + echo "Cleaning up miscellaneous files in /etc..." + chroot $upgrade_dir /usr/sbin/pwd_mkdb -p /etc/master.passwd + chroot $upgrade_dir /bin/rm /etc/sendmail.fc > /dev/null 2>&1 + sync + echo "Done." + + echo "" + echo "All that's left to do now is to install a new NetBSD kernel" + echo "on your hard disk. You should now halt your machine using" + echo "the 'halt' command." +} diff --git a/distrib/amiga/floppies/upgr/list b/distrib/amiga/floppies/upgr/list new file mode 100644 index 00000000000..e4a277b4c2a --- /dev/null +++ b/distrib/amiga/floppies/upgr/list @@ -0,0 +1,7 @@ +# $Id: list,v 1.1 1995/10/18 08:37:29 deraadt Exp $ + +# and the upgrade tools +COPY dot.profile .profile +COPY dot.upgrutils .upgrutils +COPY upgrade.sh upgrade +SPECIAL chmod 755 upgrade diff --git a/distrib/amiga/floppies/upgr/upgrade.sh b/distrib/amiga/floppies/upgr/upgrade.sh new file mode 100644 index 00000000000..238c0fc0cef --- /dev/null +++ b/distrib/amiga/floppies/upgr/upgrade.sh @@ -0,0 +1,283 @@ +#!/bin/sh +# +# Copyright (c) 1994 Christopher G. Demetriou +# 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 Christopher G. Demetriou. +# 4. The name of the author may not be used to endorse or promote products +# derived from this software without specific prior written permission +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 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. +# +# $Id: upgrade.sh,v 1.1 1995/10/18 08:37:29 deraadt Exp $ + +# NetBSD upgrade script. +# In a perfect world, this would be a nice C program, with a reasonable +# user interface. + +#DONTDOIT=echo + +VERSION=1.1 + +getresp() { + read resp + if [ "X$resp" = "X" ]; then + resp=$1 + fi +} + +getvar() { + echo $(eval $(echo "echo \$$1")) +} + +shiftvar() { + local - var + var="$1" + list="$(getvar $var)" + set -- $list + shift + setvar $var "$*" +} + +getparts() { + disklabel $1 2>/dev/null | sed -e '/^[ ][ ][ad-p]/!d' | + sed -e 's,^[ ]*\([a-p]\):[ ]*[0-9]*[ ]*[0-9]*[ ][ ]*\([a-zA-Z0-9.]*\).*,\1 \2,' | + sed -e ':a + N;${s/\n/ /g;p;d;} + ba' +} + +getdrives() { + local du thispart + for du in /dev/rsd?a; do + dd if=$du of=/dev/null bs=1b count=1 >/dev/null 2>&1 + if [ $? -eq 0 ]; then + thisunit=`echo $du | sed -e 's,/dev/r\(...\)a,\1,g'` + driveunits="$driveunits $thisunit" + else + continue; + fi + setvar $thisunit "$(getparts $thisunit)" + export $thisunit + done + export drivenunits +} + +Convert_fstab() { + if [ ! -e /mnt/etc/fstab.ufs ]; then + mv /mnt/etc/fstab /mnt/etc/fstab.ufs + fi + sed "s/ufs/ffs/" /mnt/etc/fstab.ufs >/mnt/etc/fstab +} + +echo "Welcome to the NetBSD ${VERSION} upgrade program." +echo "" +echo "This program is designed to help you put the new version of NetBSD" +echo "on your hard disk, in a simple and rational way. To upgrade, you" +echo "must have plenty of free space on all partitions which will be" +echo "upgraded. If you have at least 1MB free on your root partition," +echo "and several free on your /usr patition, you should be fine." +echo "" +echo "As with anything which modifies your hard drive's contents, this" +echo "program can cause SIGNIFICANT data loss, and you are advised" +echo "to make sure your hard drive is backed up before beginning the" +echo "upgrade process." +echo "" +echo "Default answers are displayed in brackets after the questions." +echo "You can hit Control-C at any time to quit, but if you do so at a" +echo "prompt, you may have to hit return. Also, quitting in the middle of" +echo "the upgrade may leave your system in an inconsistent (and unusable)" +echo "state." +echo "" +echo -n "Proceed with upgrade? [n] " +getresp "n" +case "$resp" in + y*|Y*) + echo "Cool! Let's get to it..." + ;; + *) + echo "" + echo "OK, then. Enter 'halt' at the prompt to halt the" + echo "machine. Once the machine has halted, remove the" + echo "floppy and press any key to reboot." + exit + ;; +esac + +# find out what units are possible, and query the user. + +getdrives + +if [ "X${driveunits}" = "X" ]; then + echo "FATAL ERROR:" + echo "No disk devices." + echo "This is probably a bug in the install disks." + echo "Exiting install program." + exit +fi + +echo "" +echo "The following disks are supported by this upgrade procedure:" +echo " "${driveunits} +echo "" +echo "If your system was previously completely contained within the" +echo "disks listed above (i.e. if your system didn't occupy any space" +echo "on disks NOT listed above), this upgrade disk can upgrade your" +echo "system. If it cannot, hit Control-C at the prompt." +echo "" +while [ "X${drivename}" = "X" ]; do + echo -n "Which disk contains your root partion? " + getresp + otherdrives=`echo "${driveunits}" | sed -e s,${resp},,` + if [ "X${driveunits}" = "X${otherdrives}" ]; then + echo "" + echo "\"${resp}\" is an invalid drive name. Valid choices" + echo "are: "${driveunits} + echo "" + else + drivename=${resp} + fi +done + +echo "" +echo "Root partition is on ${drivename}a." + +echo "" +echo "Would you like to upgrade your file systems to the new file system" +echo -n "format? [y] " +getresp "y" +case "$resp" in + n*|N*) + echo "" + echo "You should upgrade your file systems with 'fsck -c 2'" + echo "as soon as is feasible, because the new file system" + echo "code is better-tested and more performant." + upgradefs=NO + ;; + *) + upgradefs=YES + ;; +esac + +if [ $upgradefs = YES ]; then + echo "" + echo "Upgrading the file system on ${drivename}a..." + + $DONTDOIT fsck -p -c 2 /dev/r${drivename}a + if [ $? != 0 ]; then + echo "FATAL ERROR: FILE SYSTEM UPGRADE FAILED." + echo "You should probably reboot the machine, fsck your" + echo "disk(s), and try the upgrade procedure again." + exit 1 + fi + echo "Done." +fi + +echo "" +echo "Mounting root partition on /mnt..." +$DONTDOIT mount /dev/${drivename}a /mnt +if [ $? != 0 ]; then + echo "FATAL ERROR: MOUNT FAILED." + echo "You should verify that your system is set up as you" + echo "described, and re-attempt the upgrade procedure." + exit 1 +fi +echo "Done." + +#<<<<<<<<<<<<<<<<<<<<<<<< update etc/fstab to ffs? >>>>>>>>>>>>>>>>>>>>>>>> +echo "" +echo -n "Converting ufs entries in fstab to ffs..." +$DONTDOIT Convert_fstab +echo "Done." + +if [ $upgradefs = YES ]; then + echo "" + echo -n "Copying new fsck binary to your hard disk..." + if [ ! -d /mnt/sbin ]; then + $DONTDOIT mkdir /mnt/sbin + fi + $DONTDOIT cp /sbin/fsck /mnt/sbin/fsck + if [ $? != 0 ]; then + echo "FATAL ERROR: COPY FAILED." + echo "It in unclear why this error would occur. It looks" + echo "like you may end up having to upgrade by hand." + exit 1 + fi + $DONTDOIT sync + echo " Done." + + echo "" + echo "Re-mounting root partition read-only..." + $DONTDOIT mount -u -o ro /dev/${drivename}a /mnt + if [ $? != 0 ]; then + echo "FATAL ERROR: RE-MOUNT FAILED." + echo "It in unclear why this error would occur. It looks" + echo "like you may end up having to upgrade by hand." + exit 1 + fi + echo "Done." + + echo "" + echo "Upgrading the rest of your file systems..." + $DONTDOIT chroot /mnt fsck -p -c 2 + if [ $? != 0 ]; then + echo "FATAL ERROR: FILE SYSTEM UPGRADE(S) FAILED." + echo "You should probably reboot the machine, fsck your" + echo "file system(s), and try the upgrade procedure" + echo "again." + exit 1 + fi + echo "Done." + + echo "" + echo "Re-mounting root partition read-write..." + $DONTDOIT mount -u -o rw /dev/${drivename}a /mnt + if [ $? != 0 ]; then + echo "FATAL ERROR: RE-MOUNT FAILED." + echo "It in unclear why this error would occur. It looks" + echo "like you may end up having to upgrade by hand." + exit 1 + fi + echo "Done." +fi + +echo "" +echo "Copying bootstrapping binaries and config files to the hard drive..." +$DONTDOIT tar -cf - sbin/mount_ffs | (cd /mnt ; tar --unlink -xpf - ) + +echo "" +echo "Mounting remaining partitions..." +$DONTDOIT chroot /mnt mount -at ffs > /dev/null 2>&1 +echo "Done." + +echo "" +echo "" +echo "OK! The preliminary work of setting up your disk is now complete," +echo "and you can now upgrade the actual NetBSD software." +echo "" +echo "Right now, your hard disk is mounted on /mnt. You should consult" +echo "the installation notes to determine how to load and install the new" +echo "NetBSD distribution sets, and how to clean up after the upgrade" +echo "software, when you are done." +echo "" +echo "GOOD LUCK!" +echo "" diff --git a/distrib/atari/Makefile b/distrib/atari/Makefile new file mode 100644 index 00000000000..1cfd6e9f3c4 --- /dev/null +++ b/distrib/atari/Makefile @@ -0,0 +1,5 @@ +# $NetBSD: Makefile,v 1.1.1.1 1995/04/17 19:08:47 leo Exp $ + +SUBDIR= inst + +.include <bsd.subdir.mk> diff --git a/distrib/atari/Makefile.inc b/distrib/atari/Makefile.inc new file mode 100644 index 00000000000..a5213083891 --- /dev/null +++ b/distrib/atari/Makefile.inc @@ -0,0 +1,4 @@ +# $NetBSD: Makefile.inc,v 1.1.1.1.2.1 1995/10/13 21:06:42 leo Exp $ + +# Revision is 1.1 +REV= 11 diff --git a/distrib/atari/inst-common/Makefile.inc b/distrib/atari/inst-common/Makefile.inc new file mode 100644 index 00000000000..05b5554cad4 --- /dev/null +++ b/distrib/atari/inst-common/Makefile.inc @@ -0,0 +1,50 @@ +# +# $NetBSD: Makefile.inc,v 1.1.1.1 1995/04/17 19:08:50 leo Exp $ +# + +# TOP is assumed to be defined by Makefile including this one. + +CBIN= instbin +COMMONDIR= ${TOP}/inst-common + +MOUNT_POINT?= /mnt +VND?= vnd0 +VND_DEV= /dev/${VND}c +VND_RDEV= /dev/r${VND}c +IMAGE?= xxx-${REV}.fs +MDEC= ${DESTDIR}/usr/mdec + +LISTS= ${COMMONDIR}/list ${.CURDIR}/list +CRUNCHCONF= ${COMMONDIR}/${CBIN}.conf +MTREE= ${COMMONDIR}/mtree.conf + +all: ${CBIN} + dd if=/dev/zero of=${IMAGE} bs=18k count=60 + vnconfig -v -c ${VND_DEV} ${IMAGE} + newfs -O -m 0 -o space -i 3052 -c 60 ${VND_RDEV} floppybt + mount ${VND_DEV} ${MOUNT_POINT} + mtree -def ${MTREE} -p ${MOUNT_POINT}/ -u + TOPDIR=${TOP} CURDIR=${.CURDIR} OBJDIR=${.OBJDIR} \ + TARGDIR=${MOUNT_POINT} sh ${TOP}/runlist.sh ${LISTS} + @echo "" + @df -i ${MOUNT_POINT} + @echo "" + umount ${MOUNT_POINT} + vnconfig -u ${VND_DEV} + +unconfig: + -umount -f ${MOUNT_POINT} + -vnconfig -u ${VND_DEV} + -/bin/rm -f ${IMAGE} + +${CBIN}.mk ${CBIN}.cache ${CBIN}.c: ${CRUNCHCONF} + crunchgen ${CRUNCHCONF} + +${CBIN}: ${CBIN}.mk ${CBIN}.cache ${CBIN}.c + make -f ${CBIN}.mk all + +clean cleandir: + /bin/rm -f core ${IMAGE} ${CBIN} ${CBIN}.mk ${CBIN}.cache *.o *.lo *.c + +.include <bsd.obj.mk> +.include <bsd.subdir.mk> diff --git a/distrib/atari/inst-common/dot.commonutils b/distrib/atari/inst-common/dot.commonutils new file mode 100644 index 00000000000..52edee385dc --- /dev/null +++ b/distrib/atari/inst-common/dot.commonutils @@ -0,0 +1,129 @@ +# +# $NetBSD: dot.commonutils,v 1.2 1995/05/28 10:50:13 leo Exp $ +# +# Copyright (c) 1994 Christopher G. Demetriou +# 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 Christopher G. Demetriou. +# 4. The name of the author may not be used to endorse or promote products +# derived from this software without specific prior written permission +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 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. +# + +# Installation utilites (functions), to get NetBSD installed on +# the hard disk. These are meant to be invoked from the shell prompt, +# by people installing NetBSD. + +Set_tmp_dir() +{ + def_tmp_dir=`pwd` + if [ "$def_tmp_dir" = "/" -o "$def_tmp_dir" = "/mnt" ]; then + def_tmp_dir=/mnt/usr/distrib + fi + + echo -n "What directory should be used to find and/or store " + echo "installtion" + echo -n "files? [$def_tmp_dir] " + read tmp_dir + if [ "$tmp_dir" = "" ]; then + tmp_dir=$def_tmp_dir + fi + if [ ! -d "$tmp_dir" ]; then + /bin/rm -rf $tmp_dir + mkdir -p $tmp_dir + fi +} + +Tmp_dir() +{ + if [ "$tmp_dir" = "" ]; then + Set_tmp_dir + fi + cd $tmp_dir +} + +Load_fd() +{ + Tmp_dir + which= + while [ "$which" != "a" -a "$which" != "b" ]; do + echo -n "Read from which floppy drive ('a' or 'b')? [a] " + read which + if [ "X$which" = "X" ]; then + which=a + fi + done + while echo -n "Insert floppy (hit ^C to terminate, enter to load): " + do + mount -t msdos /dev/fd0$which /mnt2 + cp -rp /mnt2/* . + umount /mnt2 + done +} + +Load_tape() +{ + Tmp_dir + echo -n "Which tape drive will you be using? [rst0] " + read which + if [ "X$which" = "X" ]; then + which=rst0 + fi + echo -n "Insert the tape into the tape drive and hit return to " + echo -n "continue..." + read foo + echo "Extracting files from the tape..." + tar xvfp /dev/$which + echo "Done." +} + +Extract() +{ + Tmp_dir + echo -n "Would you like to list the files as they're extracted? [n] " + read verbose + case $verbose in + y*|Y*) + tarverbose=v + ;; + *) + tarverbose= + ;; + esac + echo -n "Are you installing a '-current' snapshot? [n] " + read snapshot + case $snapshot in + y*|Y*) + snapshot=y + ;; + *) + snapshot=n + ;; + esac + if [ $snapshot = n ] + then + cat "$1".??? | gunzip | (cd / ; tar xfp$tarverbose -) + else + cat "$1".tar.gz | gunzip | (cd /mnt ; tar xfp$tarverbose -) + fi +} diff --git a/distrib/atari/inst-common/instbin.conf b/distrib/atari/inst-common/instbin.conf new file mode 100644 index 00000000000..17c4aaa4ff2 --- /dev/null +++ b/distrib/atari/inst-common/instbin.conf @@ -0,0 +1,25 @@ +# +# $NetBSD: instbin.conf,v 1.5 1995/08/28 20:10:30 leo Exp $ +# +# kcbin.conf - unified binary for the kc floppy +# + +srcdirs /usr/src/bin /usr/src/sbin /usr/src/usr.bin /usr/src/usr.sbin +srcdirs /usr/src/gnu/usr.bin + +progs cat chmod chown chroot cp dd df disklabel ed expr fsck ftp +progs gzip ifconfig init ln ls mkdir mknod more mount mount_cd9660 +progs mount_ffs mount_msdos mount_nfs mv newfs printf pwd reboot rm route sed +progs sh shutdown slattach strings stty sync tar test tip umount update + +ln chown chgrp +ln gzip gzcat gunzip +ln reboot halt +ln sh -sh # init invokes the shell this way +ln test [ +ln mount_ffs ffs +ln mount_msdos msdos +ln mount_nfs nfs +ln mount_cd9660 cd9660 + +libs -ledit -lutil -ltermcap -lcrypt -ll -lm diff --git a/distrib/atari/inst-common/list b/distrib/atari/inst-common/list new file mode 100644 index 00000000000..eacdf29338b --- /dev/null +++ b/distrib/atari/inst-common/list @@ -0,0 +1,78 @@ +# +# $NetBSD: list,v 1.4 1995/08/25 19:17:45 leo Exp $ +# + +# copy the crunched binary, link to it, and kill it +COPY ${OBJDIR}/instbin instbin +LINK instbin bin/cat +LINK instbin bin/chmod +LINK instbin bin/cp +LINK instbin bin/df +LINK instbin bin/dd +LINK instbin bin/ed +LINK instbin bin/expr +LINK instbin bin/ln +LINK instbin bin/ls +LINK instbin bin/mkdir +LINK instbin bin/mv +LINK instbin bin/pwd +LINK instbin bin/rm +LINK instbin bin/sh +LINK instbin bin/-sh +LINK instbin bin/stty +LINK instbin bin/sync +LINK instbin bin/test +LINK instbin bin/[ +LINK instbin sbin/disklabel +LINK instbin sbin/fsck +LINK instbin sbin/halt +LINK instbin sbin/ifconfig +LINK instbin sbin/init +LINK instbin sbin/mknod +LINK instbin sbin/mount +LINK instbin sbin/mount_cd9660 +LINK instbin sbin/mount_msdos +LINK instbin sbin/mount_nfs +LINK instbin sbin/mount_ffs +LINK instbin sbin/newfs +LINK instbin sbin/reboot +LINK instbin sbin/route +LINK instbin sbin/shutdown +LINK instbin sbin/slattach +LINK instbin sbin/umount +LINK instbin usr/bin/chgrp +LINK instbin usr/bin/ftp +LINK instbin usr/bin/gunzip +LINK instbin usr/bin/gzcat +LINK instbin usr/bin/gzip +LINK instbin usr/bin/more +LINK instbin usr/bin/printf +LINK instbin usr/bin/sed +LINK instbin usr/bin/strings +LINK instbin usr/bin/tar +LINK instbin usr/bin/tip +LINK instbin usr/sbin/chown +LINK instbin usr/sbin/chroot +LINK instbin usr/sbin/update +SPECIAL /bin/rm instbin + +# copy the MAKEDEV script and make some devices +COPY ${DESTDIR}/dev/MAKEDEV dev/MAKEDEV +SPECIAL cd dev; sh MAKEDEV floppy +SPECIAL /bin/rm dev/MAKEDEV + +# we need the contents of /usr/mdec (XXX) +# COPY ${DESTDIR}/usr/mdec/* usr/mdec + +# various files that we need in /etc for the install +COPY ${DESTDIR}/etc/group etc +COPY ${DESTDIR}/etc/master.passwd etc +COPY ${DESTDIR}/etc/passwd etc +COPY ${DESTDIR}/etc/protocols etc +COPY ${DESTDIR}/etc/pwd.db etc +COPY ${DESTDIR}/etc/services etc +COPY ${DESTDIR}/etc/spwd.db etc + +# and the common installation tools +COPY ${TOPDIR}/inst-common/dot.commonutils .commonutils +COPY ${TOPDIR}/inst-common/termcap.vt usr/share/misc/termcap diff --git a/distrib/atari/inst-common/mtree.conf b/distrib/atari/inst-common/mtree.conf new file mode 100644 index 00000000000..f3685ce8659 --- /dev/null +++ b/distrib/atari/inst-common/mtree.conf @@ -0,0 +1,74 @@ +# +# $NetBSD: mtree.conf,v 1.1.1.1 1995/04/17 19:08:50 leo Exp $ +# + +/set type=dir uname=root gname=wheel mode=0755 +# . +. + +# ./bin +bin +# ./bin +.. + +# ./dev +dev +# ./dev +.. + +# ./etc +etc +# ./etc +.. + +# ./mnt +mnt +# ./mnt +.. + +# ./mnt2 +mnt2 +# ./mnt2 +.. + +# ./sbin +sbin +# ./sbin +.. + +# ./tmp +tmp +# ./tmp +.. + +# ./usr +usr + +# ./usr/bin +bin +# ./usr/bin +.. + +# ./usr/mdec +mdec +# ./usr/mdec +.. + +# ./usr/sbin +sbin +# ./usr/sbin +.. + +# ./usr/share +share + +# ./usr/share/misc +misc +# ./usr/share/misc +.. + +# ./usr/share +.. + +# ./usr +.. diff --git a/distrib/atari/inst-common/termcap.vt b/distrib/atari/inst-common/termcap.vt new file mode 100644 index 00000000000..fbb4c126fe8 --- /dev/null +++ b/distrib/atari/inst-common/termcap.vt @@ -0,0 +1,67 @@ +# +# $NetBSD: termcap.vt,v 1.1.1.1 1995/04/17 19:08:50 leo Exp $ +# +# Copyright (c) 1980, 1985, 1989 The Regents of the University of California. +# 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 the University of +# California, Berkeley and its contributors. +# 4. Neither the name of the University nor the names of its contributors +# may be used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE REGENTS 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 REGENTS 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. +# +# @(#)termcap.src 5.109 (Berkeley) 3/8/93 +# +vt200|vt220|dec-vt220|vt200-js|vt220-js|dec vt200 series with jump scroll:\ + :AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:IC=\E[%d@:LE=\E[%dD:\ + :RI=\E[%dC:UP=\E[%dA:ae=^O:al=\E[L:as=^N:ct=\E[3g:dc=\E[P:dl=\E[M:\ + :ei=\E[4l:im=\E[4h:k1=\E[17~:k2=\E[18~:k3=\E[19~:k4=\E[20~:\ + :k5=\E[21~:k6=\E[23~:k7=\E[24~:k8=\E[25~:kD=\E[3~:kH=\E[4~:\ + :kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=\177:kh=\E[1~:km:mi:ms:\ + :if=/usr/share/tabset/vt100:se=\E[27m:st=\EH:ue=\E[24m:\ + :tc=vt100: +vt100|dec-vt100|vt100-am|vt100am|dec vt100:\ + :bl=^G:cr=^M:it#8:\ + :do=^J:co#80:li#24:cl=50\E[;H\E[2J:sf=2*\ED:\ + :le=^H:bs:am:cm=5\E[%i%d;%dH:nd=2\E[C:up=2\E[A:cb=3\E[1K:\ + :ce=3\E[K:cd=50\E[J:so=2\E[7m:se=2\E[m:us=2\E[4m:ue=2\E[m:\ + :md=2\E[1m:mr=2\E[7m:mb=2\E[5m:me=2\E[m:is=\E[1;24r\E[24;1H:\ + :if=/usr/share/tabset/vt100:\ + :rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:ks=\E[?1h\E=:ke=\E[?1l\E>:\ + :ku=\EOA:kd=\EOB:kr=\EOC:kl=\EOD:kb=^H:\ + :ho=\E[H:k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:pt:sr=2*\EM:vt#3:xn:\ + :sc=\E7:rc=\E8:cs=\E[%i%d;%dr: +vt300|vt320|vt300-80|VT 300 with 80 columns, on VMS:\ + :AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:IC=\E[%d@:\ + :LE=\E[%dD:RI=\E[%dC:SR=1*\E[%dM:UP=\E[%dA:al=\E[L:\ + :am:bl=^G:bs:cd=2*\E[J:ce=2*\E[K:cl=45\E[H\E[2J:\ + :cm=%i\E[%d;%dH:co#80:cr=\r:cs=\E[%i%d;%dr:ct=\E[3g:\ + :dc=\E[P:dl=\E[M:dm=:do=\ED:ec=\E[%dX:ed=:ei=\E[4l:\ + :ho=\E[H:ic:im=\E[4h:it#8:k1=\EOP:k2=\EOQ:k3=\EOR:\ + :k4=\EOS:kd=\E[B:ke=\E[?1l\E>:kl=\E[D:kn#4:kr=\E[C:ks=\E[?1h\E=:\ + :ku=\E[A:le=^H:li#24:mb=\E[5m:md=\E[1m:me=\E[0m:mi:\ + :mr=\E[7m:ms:nd=\E[C:nl=\ED:nw=\EE:pf=\E[?4i:po=\E[?5i:\ + :ps=\E[i:rc=\E8:sc=\E7:se=\E[27m:sf=1*\ED:so=\E[7m:\ + :sr=1*\EM:st=\EH:ue=\E[24m:up=\EM:us=\E[4m:xn: diff --git a/distrib/atari/inst/Makefile b/distrib/atari/inst/Makefile new file mode 100644 index 00000000000..eef4d47169a --- /dev/null +++ b/distrib/atari/inst/Makefile @@ -0,0 +1,8 @@ +# $NetBSD: Makefile,v 1.1.1.1 1995/04/17 19:08:51 leo Exp $ + +TOP= ${.CURDIR}/.. + +.include "${TOP}/Makefile.inc" +IMAGE= inst-${REV}.fs + +.include "${TOP}/inst-common/Makefile.inc" diff --git a/distrib/atari/inst/disktab.preinstall b/distrib/atari/inst/disktab.preinstall new file mode 100644 index 00000000000..c80b4149751 --- /dev/null +++ b/distrib/atari/inst/disktab.preinstall @@ -0,0 +1,32 @@ +# +# $NetBSD: disktab.preinstall,v 1.1.1.1 1995/04/17 19:08:51 leo Exp $ +# +# Disk geometry and partition layout tables. +# Key: +# dt controller type +# ty type of disk (fixed, removeable, simulated) +# d[0-4] drive-type-dependent parameters +# ns #sectors/track +# nt #tracks/cylinder +# nc #cylinders/disk +# sc #sectors/cylinder, nc*nt default +# su #sectors/unit, sc*nc default +# se sector size, DEV_BSIZE default +# rm rpm, 3600 default +# sf supports bad144-style bad sector forwarding +# sk sector skew per track, default 0 +# cs sector skew per cylinder, default 0 +# hs headswitch time, default 0 +# ts one-cylinder seek time, default 0 +# il sector interleave (n:1), 1 default +# bs boot block size, default BBSIZE +# sb superblock size, default SBSIZE +# o[a-h] partition offsets in sectors +# p[a-h] partition sizes in sectors +# b[a-h] partition block sizes in bytes +# f[a-h] partition fragment sizes in bytes +# t[a-h] partition types (filesystem, swap, etc) +# +# All partition sizes reserve space for bad sector tables. +# (5 cylinders needed for maintenance + replacement sectors) +# diff --git a/distrib/atari/inst/dot.instutils b/distrib/atari/inst/dot.instutils new file mode 100644 index 00000000000..a4d0905ff0d --- /dev/null +++ b/distrib/atari/inst/dot.instutils @@ -0,0 +1,156 @@ +# +# $NetBSD: dot.instutils,v 1.2 1995/05/10 13:41:08 leo Exp $ +# +# Copyright (c) 1994 Christopher G. Demetriou +# 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 Christopher G. Demetriou. +# 4. The name of the author may not be used to endorse or promote products +# derived from this software without specific prior written permission +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 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. +# + +# Installation configuration utilites (functions), to get NetBSD configured +# reasonably once it is installed on the hard disk. These are meant to be +# invoked from the shell prompt, by people installing NetBSD. + +Configure() +{ + DEV=/mnt/dev + ETC=/mnt/etc + + echo "You will now be prompted for information about this" + echo "machine. If you hit return, the default answer (in" + echo "brackets) will be used." + + echo "" + echo -n "What is this machine's hostname? [unknown.host.domain] " + read hname + if [ "$hname" = "" ]; then + hname=unknown.host.domain + fi + echo $hname > ${ETC}/myname + proto_domain=`echo $hname | sed -e 's/[^.]*\.//'` + + echo "" + echo "What domain is this machine in (this is NOT its YP" + echo -n "domain name)? [$proto_domain] " + read dname + if [ "$dname" = "" ]; then + dname=$proto_domain + fi + + echo "" + if [ -e ${ETC}/sendmail.cf ]; then + echo "WARNING: A default sendmail.cf exists, and probably" + echo "needs to be tuned and/or replaced, to work properly at" + echo "your site!" + else + echo "WARNING: No default sendmail.cf installed. Did you" + echo "forget to install the 'etc' distribution?" + fi + + echo "127.0.0.1 localhost localhost.$dname" > ${ETC}/hosts + + echo "" + echo -n "Does this machine have an ethernet interface? [y] " + read resp + case "$resp" in + n*) + ;; + *) + intf= + while [ "$intf" = "" ]; do + echo -n "What is the primary interface name " + echo -n "(e.g. ed0, ep0, etc)? " + read intf + done + echo -n "What is the hostname for this interface? [$hname] " + read ifname + if [ "$ifname" = "" ]; then + ifname=$hname + fi + ifaddr= + while [ "$ifaddr" = "" ]; do + echo -n "What is the IP address associated with " + echo -n "interface ${intf}? " + read ifaddr + done + echo "$ifaddr $ifname `echo $ifname | sed -e s/\.$dname//`" \ + >> ${ETC}/hosts + + echo -n "Does this interface have a special netmask? [n] " + read resp + case "$resp" in + y*) + echo -n "What is the netmask? [0xffffff00] " + read ifnetmask + if [ "$ifnetmask" = "" ]; then + ifnetmask=0xffffff00 + fi + ;; + *) + ifnetmask= + ;; + esac + + echo -n "Does this interface need additional flags? [n] " + read resp + case "$resp" in + y*) + echo -n "What flags? [link0] " + read ifflags + if [ "$ifflags" = "" ]; then + ifflags=link0 + fi + ;; + *) + ifflags= + ;; + esac + echo "inet $ifname $ifnetmask $ifflags" > ${ETC}/hostname.$intf + + echo "" + echo -n "WARNING: if you have any more ethernet interfaces, " + echo "you will have to configure" + echo -n "them by hand. Read the comments in /etc/netstart to" + echo "learn how to do this." + ;; + esac + + echo "" + echo -n "Making device nodes..." + cd ${DEV} + sh MAKEDEV all + echo " done." + + sync + + echo "" + echo "All that's left to do now is to install the NetBSD kernel on" + echo "your hard disk. You should now halt your machine using the" + echo "'halt' command. Once the machine is halted, replace the" + echo "installation floppy with the kernel-copy floppy and hit any" + echo "key to reboot. Use the kernel-copy floppy to copy a kernel" + echo "to your hard disk." +} diff --git a/distrib/atari/inst/dot.profile b/distrib/atari/inst/dot.profile new file mode 100644 index 00000000000..fae70afd0c8 --- /dev/null +++ b/distrib/atari/inst/dot.profile @@ -0,0 +1,52 @@ +# +# $NetBSD: dot.profile,v 1.2 1995/05/10 13:39:28 leo Exp $ +# +# Copyright (c) 1994 Christopher G. Demetriou +# 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 Christopher G. Demetriou. +# 4. The name of the author may not be used to endorse or promote products +# derived from this software without specific prior written permission +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 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. +# + +PATH=/sbin:/bin:/usr/bin:/usr/sbin:/ +export PATH +TERM=vt200 +export TERM + +# set up some sane defaults +echo 'erase ^?, werase ^H, kill ^U, intr ^C' +stty newcrt werase ^H intr ^C kill ^U erase ^? 9600 +echo '' + +# start running update, so that installed software is written as it goes. +update + +# pull in the function definitions that people will use from the shell prompt. +. /.commonutils +. /.instutils + +# run the installation script. +umask 022 +install diff --git a/distrib/atari/inst/install.sh b/distrib/atari/inst/install.sh new file mode 100644 index 00000000000..51802b8f00a --- /dev/null +++ b/distrib/atari/inst/install.sh @@ -0,0 +1,273 @@ +#!/bin/sh +# +# $NetBSD: install.sh,v 1.2 1995/08/25 19:17:28 leo Exp $ +# +# Copyright (c) 1994 Christopher G. Demetriou +# 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 Christopher G. Demetriou. +# 4. The name of the author may not be used to endorse or promote products +# derived from this software without specific prior written permission +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 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. +# + +# NetBSD installation script. +# In a perfect world, this would be a nice C program, with a reasonable +# user interface. + +FSTABDIR=/mnt/etc # /mnt/etc +#DONTDOIT=echo + +VERSION=1.0 +FSTAB=${FSTABDIR}/fstab + +getresp() { + read resp + if [ "X$resp" = "X" ]; then + resp=$1 + fi +} + +getvar() { + echo $(eval $(echo "echo \$$1")) +} + +shiftvar() { + local - var + var="$1" + list="$(getvar $var)" + set -- $list + shift + setvar $var "$*" +} + +getparts() { + disklabel $1 2>/dev/null | sed -e '/^[ ][ ][ad-p]/!d' | + sed -e 's,^[ ]*\([a-p]\):[ ]*[0-9]*[ ]*[0-9]*[ ][ ]*\([a-zA-Z0-9.]*\).*,\1 \2,' | + sed -e ':a + N;${s/\n/ /g;p;d;} + ba' +} + +getdrives() { + local du thispart + for du in /dev/r${drivetype}?a; do + dd if=$du of=/dev/null bs=1b count=1 >/dev/null 2>&1 + if [ $? -eq 0 ]; then + thisunit=`echo $du | sed -e 's,/dev/r\(...\)a,\1,g'` + driveunits="$driveunits $thisunit" + else + continue; + fi + setvar $thisunit "$(getparts $thisunit)" + export $thisunit + done + export drivenunits +} + +prepdrive() { + echo "which drive would you like to prepare next?" + echo "choices are: ${driveunits}" + echo "" + getresp + case $resp in + *) ;; + esac +} + +echo "Welcome to the NetBSD ${VERSION} installation program." +echo "" +echo "This program is designed to help you put NetBSD on your hard disk," +echo "in a simple and rational way. Its main objective is to format," +echo "mount and create an fstab for your root (/) and user (/usr)" +echo "partitions." +echo "" +echo "As with anything which modifies your hard drive's contents, this" +echo "program can cause SIGNIFICANT data loss, and you are advised" +echo "to make sure your hard drive is backed up before beginning the" +echo "installation process." +echo "" +echo "Default answers are displyed in brackets after the questions." +echo "You can hit Control-C at any time to quit, but if you do so at a" +echo "prompt, you may have to hit return. Also, quitting in the middle of" +echo "installation may leave your system in an inconsistent state." +echo "" +echo -n "Proceed with installation? [n] " +getresp "n" +case "$resp" in + y*|Y*) + echo "scanning for the root device" + ;; + *) + echo "" + echo "OK, then. Enter 'halt' at the prompt to halt the" + echo "machine. Once the machine has halted, remove the" + echo "floppy and press any key to reboot." + exit + ;; +esac + +drivetype=sd +sect_fwd="" + +# find out what units are possible for that disk, and query the user. +getdrives +for du in $driveunits; do + set -- $(getvar $du) + if [ $# -ge 2 -a "$1" = "a" -a "`echo $2 | sed -e 's,.*BSD.*,BSD,'`" = "BSD" ]; then + rdev=$du + fi +done + +echo "" +echo "The root device you have chosen is on: ${rdev}" +echo "" +# driveunits=`ls /dev/${drivetype}?a | sed -e 's,/dev/\(...\)a,\1,g'` +if [ "X${driveunits}" = "X" ]; then + echo "FATAL ERROR:" + echo "No devices for disks of type '${drivetype}'." + echo "This is probably a bug in the install disks." + echo "Exiting install program." + exit +fi + +echo "" +echo "THIS IS YOUR LAST CHANCE!!!" +echo "" +echo "(answering yes will format your root partition on $rdev)" +echo -n "Are you SURE you want NetBSD installed on your hard drive? (yes/no) " +answer="" +while [ "$answer" = "" ]; do + getresp + case $resp in + yes|YES) + echo "" + answer=yes + ;; + no|NO) + echo "" + echo -n "OK, then. enter 'halt' to halt the machine. " + echo "Once the machine has halted," + echo -n "remove the floppy, and press any key to " + echo "reboot." + exit + ;; + *) + echo -n "I want a yes or no answer... well? " + ;; + esac +done +echo "Initializing / (root) filesystem, and mounting..." +$DONTDOIT newfs /dev/r${rdev}a $name +$DONTDOIT mount_ffs /dev/${rdev}a /mnt +echo "" +echo -n "Creating a fstab..." +mkdir -p $FSTABDIR +echo "/dev/${rdev}a / ffs rw 1 1" > $FSTAB + +# get rid of this partition +shiftvar $rdev +shiftvar $rdev + +echo "" +echo "Now lets setup your /usr file system" +echo "(Once a valid input for drive and partition is seen" +echo "it will be FORMATTED and inserted in the fstab.)" +while [ "X$usrpart" = "X" ]; do + resp="" + drivename="" + while [ "X$resp" = "X" ]; do + echo "choices: $driveunits" + echo "which drive do you want /usr on?" + getresp + set -- $driveunits + while [ $# -gt 0 ]; do + if [ "X$resp" = "X$1" ]; then + drivename=$1 + break; + else + shift + fi + done + if [ "X$drivename" != "X" ]; then + break + fi + done + + usrpart="" + echo "You have selected $drivename" + echo "here is a list of partitions on $drivename" + disklabel $drivename 2>/dev/null | sed -e '/^[ ][ ][ad-p]:/p;/^#[ \t]*size/p;d' + echo "which partition would you like to format and have" + echo -n "mounted as /usr? (supply the letter): " + getresp + if [ "X$resp" = "X" ]; then + continue; + fi + + list=$(getvar $drivename) + set -- $list + while [ $# -gt 0 ]; do + if [ "$resp" = "$1" ]; then + if [ "`echo $2 | sed -e 's,.*BSD.*,BSD,'`" != "BSD" ]; then + echo "" + echo -n "$drivename$resp is of type $2 which is not" + echo " a BSD filesystem type" + break + fi + usrpart=$drivename$resp + break + else + shift + shift + fi + done + if [ "X$usrpart" = "X" ]; then + echo "$resp is not a valid input." + echo "" + fi +done + +echo "" +echo "Initializing /usr filesystem, and mounting..." +$DONTDOIT newfs /dev/r${usrpart} $name +$DONTDOIT mkdir -p /mnt/usr +$DONTDOIT mount_ffs /dev/${usrpart} /mnt/usr +echo "" +echo -n "Adding to fstab..." +echo "/dev/${usrpart} /usr ffs rw 1 2" >> $FSTAB +sync +echo " done." + +echo "" +echo "" +echo "OK! The preliminary work of setting up your disk is now complete," +echo "and you can install the actual NetBSD software." +echo "" +echo "Right now, your root is mounted on /mnt and your usr on /mnt/usr." +echo "You should consult the installation notes to determine how to load" +echo "and install the NetBSD distribution sets, and how to configure your" +echo "system when you are done." +echo "" +echo "GOOD LUCK!" +echo "" diff --git a/distrib/atari/inst/list b/distrib/atari/inst/list new file mode 100644 index 00000000000..eada7879ad8 --- /dev/null +++ b/distrib/atari/inst/list @@ -0,0 +1,10 @@ +# $NetBSD: list,v 1.1.1.1 1995/04/17 19:08:52 leo Exp $ + +# the disktab explanation file +COPY disktab.preinstall etc + +# and the installation tools +COPY dot.profile .profile +COPY dot.instutils .instutils +COPY install.sh install +SPECIAL chmod 755 install diff --git a/distrib/atari/list2sh.awk b/distrib/atari/list2sh.awk new file mode 100644 index 00000000000..ff3018c5e53 --- /dev/null +++ b/distrib/atari/list2sh.awk @@ -0,0 +1,39 @@ +# $NetBSD: list2sh.awk,v 1.1.1.1 1995/04/17 19:08:49 leo Exp $ + +BEGIN { + printf("cd ${CURDIR}\n"); + printf("\n"); +} +/^$/ || /^#/ { + print $0; + next; +} +$1 == "COPY" { + printf("echo '%s'\n", $0); + printf("cp %s ${TARGDIR}/%s\n", $2, $3); + next; +} +$1 == "LINK" { + printf("echo '%s'\n", $0); + printf("(cd ${TARGDIR}; ln %s %s)\n", $2, $3); + next; +} +$1 == "SPECIAL" { + printf("echo '%s'\n", $0); + printf("(cd ${TARGDIR};"); + for (i = 2; i <= NF; i++) + printf(" %s", $i); + printf(")\n"); + next; +} +{ + printf("echo '%s'\n", $0); + printf("echo 'Unknown keyword \"%s\" at line %d of input.'\n", $1, NR); + printf("exit 1\n"); + exit 1; +} +END { + printf("\n"); + printf("exit 0\n"); + exit 0; +} diff --git a/distrib/atari/runlist.sh b/distrib/atari/runlist.sh new file mode 100644 index 00000000000..c5d15f50c5f --- /dev/null +++ b/distrib/atari/runlist.sh @@ -0,0 +1,13 @@ +# $NetBSD: runlist.sh,v 1.1.1.1 1995/04/17 19:08:49 leo Exp $ + +if [ "X$1" = "X-d" ]; then + SHELLCMD=cat + shift +else + SHELLCMD="sh -e" +fi + +( while [ "X$1" != "X" ]; do + cat $1 + shift +done ) | awk -f ${TOPDIR}/list2sh.awk | ${SHELLCMD} diff --git a/distrib/crunch/COPYRIGHT b/distrib/crunch/COPYRIGHT new file mode 100644 index 00000000000..c7b4d2f9ae5 --- /dev/null +++ b/distrib/crunch/COPYRIGHT @@ -0,0 +1,25 @@ +/* + * Copyright (c) 1994 University of Maryland + * All Rights Reserved. + * + * Permission to use, copy, modify, distribute, and sell this software and its + * documentation for any purpose is hereby granted without fee, provided that + * the above copyright notice appear in all copies and that both that + * copyright notice and this permission notice appear in supporting + * documentation, and that the name of U.M. not be used in advertising or + * publicity pertaining to distribution of the software without specific, + * written prior permission. U.M. makes no representations about the + * suitability of this software for any purpose. It is provided "as is" + * without express or implied warranty. + * + * U.M. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL U.M. + * BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION + * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN + * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + * + * Author: James da Silva, Systems Design and Analysis Group + * Computer Science Department + * University of Maryland at College Park + */ diff --git a/distrib/crunch/Makefile b/distrib/crunch/Makefile new file mode 100644 index 00000000000..a38e0b9061d --- /dev/null +++ b/distrib/crunch/Makefile @@ -0,0 +1,4 @@ + +SUBDIR=crunchgen crunchide + +.include <bsd.subdir.mk> diff --git a/distrib/crunch/Makefile.inc b/distrib/crunch/Makefile.inc new file mode 100644 index 00000000000..da421050521 --- /dev/null +++ b/distrib/crunch/Makefile.inc @@ -0,0 +1,2 @@ +# modify to taste +BINDIR?= /usr/bin diff --git a/distrib/crunch/README b/distrib/crunch/README new file mode 100644 index 00000000000..845a8c40a79 --- /dev/null +++ b/distrib/crunch/README @@ -0,0 +1,89 @@ + +CRUNCH 0.3 README 7/23/94 + +Crunch is available via anonymous ftp to ftp.cs.umd.edu in + pub/bsd/crunch-0.3.tar.gz + +WHAT'S NEW IN 0.3 + +* The prototype awk script has been replaced by a more capable and + hopefully more robust C program. +* No fragile template makefiles or dependencies on the details of the + bsd build environment. +* You can build crunched binaries even with no sources on-line, you + just need the .o files. Crunchgen still will try to figure out as + much as possible on its own, but you can override its guessing by + specifying the list of .o files explicitly. +* Crunch itself has been bmake'd and some man pages written, so it + should be ready to install. +* Added patch for FreeBSD from Jordan Hubbard, plus the .conf files used + for the FreeBSD install floppies as examples. + + +INTRODUCTION + +Crunch is a little package that helps create "crunched" binaries for use +on boot, install, and fixit floppies. A crunched binary in this case is +one where many programs have been linked together into one a.out file. +The different programs are run depending on the value of argv[0], so +hard links to the crunched binary suffice to simulate a perfectly normal +system. + +As an example, I have created an 980K crunched "fixit" binary containing +the following programs in their entirety: + + cat chmod cp date dd df echo ed expr hostname kill ln ls mkdir + mt mv pwd rcp rm rmdir sh sleep stty sync test [ badsect chown + clri disklabel dump rdump dmesg fdisk fsck halt ifconfig init + mknod mount newfs ping reboot restore rrestore swapon umount + ftp rsh sed telnet rlogin vi cpio gzip gunzip gzcat + +Note carefully: vi, cpio, gzip, ed, sed, dump/restore, some networking +utilities, and the disk management utilities, all in a binary small +enough to fit on a 1.2 MB root filesystem floppy (albeit with the kernel +on its own boot floppy). A more reasonable subset can be made to fit +easily with a kernel for a decent one-disk fixit filesystem. + +The linking together of different programs by hand is an old +space-saving technique. Crunch automates the process by building the +necessary stub files and makefile for you (via the crunchgen program), +and by doctoring the symbol tables of the component .o files to allow +them to link without "symbol multiply defined" conflicts (via the +crunchide program). + + +BUILDING CRUNCH + +Just type make, then make install. + +Crunch was written and tested under NetBSD/i386, but should work under +other PC BSD systems that use GNU ld. + +The crunchgen(1) and crunchide(1) man pages have more details on using +crunch, and the examples subdirectory contains some working .conf files +and a sample Makefile. + +CREDITS + +Thanks to the NetBSD team for a consistently high quality effort in +bringing together a solid, state of the art development environment. + +Thanks to the FreeBSD guys; Rod Grimes, Nate Williams and Jordan +Hubbard; and to Bruce Evans, for immediate and detailed feedback on +crunch 0.1, and for pressing me to make the prototype more useable. + +Crunch was written for the Maruti Hard Real-Time Operating System +project at the University of Maryland, to help make for better install +and recovery procedures for our NetBSD-based development environment. It +is copyright (c) 1994 by the University of Maryland under a UCB-style +freely- redistributable notice. See the file COPYRIGHT for details. + +Please let me know of any problems or of enhancements you make to this +package. I'm particularly interested in the details of what you found +was good to put on your fixit or install disks. Thanks! + +Share and Enjoy, +Jaime +............................................................................ +: Stand on my shoulders, : jds@cs.umd.edu : James da Silva +: not on my toes. : uunet!mimsy!jds : http://www.cs.umd.edu/users/jds diff --git a/distrib/crunch/crunchgen/Makefile b/distrib/crunch/crunchgen/Makefile new file mode 100644 index 00000000000..98e5fae82ee --- /dev/null +++ b/distrib/crunch/crunchgen/Makefile @@ -0,0 +1,10 @@ + +PROG=crunchgen +SRCS=crunchgen.c crunched_skel.c +CFLAGS+=-g -Wall +CLEANFILES+= crunched_skel.c + +crunched_skel.c: crunched_main.c + sh ${.CURDIR}/mkskel.sh ${.CURDIR}/crunched_main.c > crunched_skel.c + +.include <bsd.prog.mk> diff --git a/distrib/crunch/crunchgen/crunched_main.c b/distrib/crunch/crunchgen/crunched_main.c new file mode 100644 index 00000000000..a07317aa5a6 --- /dev/null +++ b/distrib/crunch/crunchgen/crunched_main.c @@ -0,0 +1,102 @@ +/* + * Copyright (c) 1994 University of Maryland + * All Rights Reserved. + * + * Permission to use, copy, modify, distribute, and sell this software and its + * documentation for any purpose is hereby granted without fee, provided that + * the above copyright notice appear in all copies and that both that + * copyright notice and this permission notice appear in supporting + * documentation, and that the name of U.M. not be used in advertising or + * publicity pertaining to distribution of the software without specific, + * written prior permission. U.M. makes no representations about the + * suitability of this software for any purpose. It is provided "as is" + * without express or implied warranty. + * + * U.M. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL U.M. + * BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION + * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN + * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + * + * Author: James da Silva, Systems Design and Analysis Group + * Computer Science Department + * University of Maryland at College Park + */ +/* + * crunched_main.c - main program for crunched binaries, it branches to a + * particular subprogram based on the value of argv[0]. Also included + * is a little program invoked when the crunched binary is called via + * its EXECNAME. This one prints out the list of compiled-in binaries, + * or calls one of them based on argv[1]. This allows the testing of + * the crunched binary without creating all the links. + */ +#include <stdio.h> +#include <string.h> + +struct stub { + char *name; + int (*f)(); +}; + +extern struct stub entry_points[]; + +int main(int argc, char **argv) +{ + char *slash, *basename; + struct stub *ep; + + if(argv[0] == NULL || *argv[0] == '\0') + crunched_usage(); + + slash = strrchr(argv[0], '/'); + basename = slash? slash+1 : argv[0]; + + for(ep=entry_points; ep->name != NULL; ep++) + if(!strcmp(basename, ep->name)) break; + + if(ep->name) + return ep->f(argc, argv); + else { + fprintf(stderr, "%s: %s not compiled in\n", EXECNAME, basename); + crunched_usage(); + } +} + + +int crunched_main(int argc, char **argv) +{ + struct stub *ep; + int columns, len; + + if(argc <= 1) + crunched_usage(); + + return main(--argc, ++argv); +} + + +int crunched_usage() +{ + int columns, len; + struct stub *ep; + + fprintf(stderr, "Usage: %s <prog> <args> ..., where <prog> is one of:\n", + EXECNAME); + columns = 0; + for(ep=entry_points; ep->name != NULL; ep++) { + len = strlen(ep->name) + 1; + if(columns+len < 80) + columns += len; + else { + fprintf(stderr, "\n"); + columns = len; + } + fprintf(stderr, " %s", ep->name); + } + fprintf(stderr, "\n"); + exit(1); +} + +/* end of crunched_main.c */ + diff --git a/distrib/crunch/crunchgen/crunchgen.1 b/distrib/crunch/crunchgen/crunchgen.1 new file mode 100644 index 00000000000..0e3f4bf4c2f --- /dev/null +++ b/distrib/crunch/crunchgen/crunchgen.1 @@ -0,0 +1,274 @@ +.\" +.\" Copyright (c) 1994 University of Maryland +.\" All Rights Reserved. +.\" +.\" Permission to use, copy, modify, distribute, and sell this software and its +.\" documentation for any purpose is hereby granted without fee, provided that +.\" the above copyright notice appear in all copies and that both that +.\" copyright notice and this permission notice appear in supporting +.\" documentation, and that the name of U.M. not be used in advertising or +.\" publicity pertaining to distribution of the software without specific, +.\" written prior permission. U.M. makes no representations about the +.\" suitability of this software for any purpose. It is provided "as is" +.\" without express or implied warranty. +.\" +.\" U.M. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL U.M. +.\" BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +.\" IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +.\" +.\" Author: James da Silva, Systems Design and Analysis Group +.\" Computer Science Department +.\" University of Maryland at College Park +.\" +.Dd June 14, 1994 +.Dt CRUNCHGEN 1 +.Os BSD 4 +.Sh NAME +.Nm \&crunchgen +.Nd generates build environment for a crunched binary +.Sh SYNOPSIS +.Nm \&crunchgen +.Op Fl fq +.Op Fl m Ar makefile-name +.Op Fl c Ar c-file-name +.Op Fl e Ar exec-file-name +.Op Fl D Ar src-root +.Op Fl L Ar lib-dir +.Op Ar conf-file +.Sh DESCRIPTION + +A crunched binary is a program made up of many other programs linked +together into a single executable. The crunched binary main() +function determines which component program to run by the contents of +argv[0]. The main reason to crunch programs together is for fitting +as many programs as possible onto an installation or system recovery +floppy. + +.Pp +.Nm Crunchgen +reads in the specifications in +.Ar conf-file +for a crunched binary, and generates a Makefile and accompanying +top-level C source file that when built create the crunched executable +file from the component programs. For each component program, +.Nm crunchgen +can optionally attempt to determine the object (.o) files that make up +the program from its source directory Makefile. This information is +cached between runs. +.Nm Crunchgen +uses the companion program +.Nm crunchide +to eliminate link-time conflicts between the component programs by +hiding all unnecessary symbols. + +.Pp +After +.Nm crunchgen +is run, the crunched binary can be built by running ``make -f +<conf-name>.mk''. The component programs' object files must already +be built. A ``objs'' target, included in the output makefile, will +run make in each component program's source dir to build the object +files for the user. This is not done automatically since in release +engineering circumstances it is generally not desireable to be +modifying objects in other directories. + +.Pp +The options are as follows: +.Bl -tag -width indent +.It Fl c Ar c-file-name +Set output C file name to +.Ar c-file-name . +The default name is ``<conf-name>.c''. +.It Fl e Ar exec-file-name +Set crunched binary executable file name to +.Ar exec-file-name . +The default name is ``<conf-name>''. +.It Fl f +Flush cache. Forces the recalculation of cached parameters. +.It Fl m Ar makefile-name +Set output Makefile name to +.Ar makefile-name . +The default name is ``<conf-name>.mk''. +.It Fl q +Quiet operation. Status messages are suppressed. +.It Fl D Ar src-root +Assume that relative source directory specifications begin with +.Ar srt-root . +.It Fl L Ar lib-dir +Try to obtain libraries from +.Ar lib-dir . +.El +.Sh CRUNCHGEN CONFIGURATION FILE COMMANDS + +.Nm Crunchgen +reads specifications from the +.Ar conf-file +that describe the components of the crunched binary. In its simplest +use, the component program names are merely listed along with the +top-level source directories in which their sources can be found. +.Nm Crunchgen +then calculates (via the source makefiles) and caches the +list of object files and their locations. For more specialized +situations, the user can specify by hand all the parameters that +.Nm crunchgen +needs. +.Pp +The +.Ar conf-file +commands are as follows: +.Bl -tag -width indent +.It Nm srcdirs Ar dirname ... +A list of source trees in which the source directories of the +component programs can be found. These dirs are searched using the +BSD ``<source-dir>/<progname>/'' convention. Multiple +.Nm srcdirs +lines can be specified. The directories are searched in the order +they are given. +.It Nm progs Ar progname ... +A list of programs that make up the crunched binary. Multiple +.Nm progs +lines can be specified. +.It Nm libs Ar libspec ... +A list of library specifications to be included in the crunched binary link. +Multiple +.Nm libs +lines can be specified. +.It Nm ln Ar progname linkname +Causes the crunched binary to invoke +.Ar progname +whenever +.Ar linkname +appears in argv[0]. This allows programs that change their behavior when +run under different names to operate correctly. +.El + +To handle specialized situations, such as when the source is not +available or not built via a conventional Makefile, the following +.Nm special +commands can be used to set +.Nm crunchgen +parameters for a component program. +.Bl -tag -width indent +.It Nm special Ar progname Nm srcdir Ar pathname +Set the source directory for +.Ar progname . +This is normally calculated by searching the specified +.Nm srcdirs +for a directory named +.Ar progname . +.It Nm special Ar progname Nm objdir Ar pathname +Set the obj directory for +.Ar progname . +This is normally calculated by looking for a directory named +.Dq Pa obj +under the +.Ar srcdir , +and if that is not found, the +.Ar srcdir +itself becomes the +.Ar objdir . +.It Nm special Ar progname Nm objs Ar object-file-name ... +Set the list of object files for program +.Ar progname . +This is normally calculated by constructing a temporary makefile that includes +.Dq Nm srcdir / Pa Makefile +and outputs the value of $(OBJS). +.It Nm special Ar progname Nm objpaths Ar full-pathname-to-object-file ... +Sets the pathnames of the object files for program +.Ar progname . +This is normally calculated by prepending the +.Nm objdir +pathname to each file in the +.Nm objs +list. +.El + +.Pp +Only the +.Nm objpaths +parameter is actually needed by +.Nm crunchgen , +but it is calculated from +.Nm objdir +and +.Nm objs , +which are in turn calculated from +.Nm srcdir , +so is sometimes convenient to specify the earlier parameters and let +.Nm crunchgen +calculate forward from there if it can. + +.Pp +The makefile produced by +.Nm crunchgen +contains an optional +.Ar objs +target that will build the object files for each component program by +running make inside that program's source directory. For this to work the +.Nm srcdir +and +.Nm objs +parameters must also be valid. If they are not valid for a particular program, that +program is skipped in the +.Ar objs +target. +.Sh EXAMPLE +Here is an example +.Nm crunchgen +input conf file, named +.Dq Pa kcopy.conf : +.Pp +.nf + srcdirs /usr/src/bin /usr/src/sbin + + progs test cp echo sh fsck halt init mount umount myinstall + ln test [ # test can be invoked via [ + ln sh -sh # init invokes the shell with "-sh" in argv[0] + + special myprog objpaths /homes/leroy/src/myinstall.o # no sources + + libs -lutil -lcrypt +.fi +.Pp +This conf file specifies a small crunched binary consisting of some +basic system utilities plus a homegrown install program ``myinstall'', +for which no source directory is specified, but its object file is +specified directly with the +.Nm special +line. +.Pp +The crunched binary ``kcopy'' can be built as follows: +.Pp +.nf + % crunchgen -m Makefile kcopy.conf # gen Makefile and kcopy.c + % make objs # build the component progams' .o files + % make # build the crunched binary kcopy + % kcopy sh # test that this invokes a sh shell + $ # it works! +.fi +.Pp +At this point the binary ``kcopy'' can be copied onto an install floppy +and hard-linked to the names of the component programs. +.Sh SEE ALSO +.Xr crunchide 1 +.Sh CAVEATS +While +.Nm crunch +takes care to eliminate link conflicts between the component programs +of a crunched binary, conflicts are still possible between the +libraries that are linked in. Some shuffling in the order of +libraries may be required, and in some rare cases two libraries may +have an unresolveable conflict and thus cannot be crunched together. +.Pp +Some versions of the BSD build environment do not by default build the +intermediate object file for single-source file programs. The ``make +objs'' target must then be used to get those object files built, or +some other arrangements made. +.Sh AUTHOR +.Nm Crunch +was written by James da Silva <jds@cs.umd.edu>. +.sp 0 +Copyright (c) 1994 University of Maryland. All Rights Reserved. diff --git a/distrib/crunch/crunchgen/crunchgen.c b/distrib/crunch/crunchgen/crunchgen.c new file mode 100644 index 00000000000..277a805ef34 --- /dev/null +++ b/distrib/crunch/crunchgen/crunchgen.c @@ -0,0 +1,879 @@ +/* + * Copyright (c) 1994 University of Maryland + * All Rights Reserved. + * + * Permission to use, copy, modify, distribute, and sell this software and its + * documentation for any purpose is hereby granted without fee, provided that + * the above copyright notice appear in all copies and that both that + * copyright notice and this permission notice appear in supporting + * documentation, and that the name of U.M. not be used in advertising or + * publicity pertaining to distribution of the software without specific, + * written prior permission. U.M. makes no representations about the + * suitability of this software for any purpose. It is provided "as is" + * without express or implied warranty. + * + * U.M. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL U.M. + * BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION + * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN + * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + * + * Author: James da Silva, Systems Design and Analysis Group + * Computer Science Department + * University of Maryland at College Park + */ +/* + * ======================================================================== + * crunchgen.c + * + * Generates a Makefile and main C file for a crunched executable, + * from specs given in a .conf file. + */ +#include <stdlib.h> +#include <unistd.h> +#include <stdio.h> +#include <ctype.h> +#include <string.h> + +#include <sys/types.h> +#include <sys/stat.h> +#include <sys/param.h> + +#define CRUNCH_VERSION "0.2" + +#define MAXLINELEN 16384 +#define MAXFIELDS 2048 + + +/* internal representation of conf file: */ + +/* simple lists of strings suffice for most parms */ + +typedef struct strlst { + struct strlst *next; + char *str; +} strlst_t; + +/* progs have structure, each field can be set with "special" or calculated */ + +typedef struct prog { + struct prog *next; + char *name, *ident; + char *srcdir, *objdir; + strlst_t *objs, *objpaths; + strlst_t *links; + int goterror; +} prog_t; + + +/* global state */ + +strlst_t *srcdirs = NULL; +strlst_t *libs = NULL; +prog_t *progs = NULL; + +char line[MAXLINELEN]; + +char confname[MAXPATHLEN], infilename[MAXPATHLEN]; +char outmkname[MAXPATHLEN], outcfname[MAXPATHLEN], execfname[MAXPATHLEN]; +char tempfname[MAXPATHLEN], cachename[MAXPATHLEN], curfilename[MAXPATHLEN]; +char topdir[MAXPATHLEN]; +char libdir[MAXPATHLEN] = "/usr/lib"; +int linenum = -1; +int goterror = 0; + +char *pname = "crunchgen"; + +int verbose, readcache; /* options */ +int reading_cache; + +/* general library routines */ + +void status(char *str); +void out_of_memory(void); +void add_string(strlst_t **listp, char *str); +int is_dir(char *pathname); +int is_nonempty_file(char *pathname); + +/* helper routines for main() */ + +void usage(void); +void parse_conf_file(void); +void gen_outputs(void); + + +int main(int argc, char **argv) +{ + char *p; + int optc; + extern int optind; + extern char *optarg; + + verbose = 1; + readcache = 1; + *outmkname = *outcfname = *execfname = '\0'; + + if(argc > 0) pname = argv[0]; + + while((optc = getopt(argc, argv, "m:c:e:fqD:L:")) != -1) { + switch(optc) { + case 'f': readcache = 0; break; + case 'q': verbose = 0; break; + + case 'm': strcpy(outmkname, optarg); break; + case 'c': strcpy(outcfname, optarg); break; + case 'e': strcpy(execfname, optarg); break; + + case 'D': strcpy(topdir, optarg); break; + case 'L': strcpy(libdir, optarg); break; + + case '?': + default: usage(); + } + } + + argc -= optind; + argv += optind; + + if(argc != 1) usage(); + + /* + * generate filenames + */ + + strcpy(infilename, argv[0]); + + /* confname = `basename infilename .conf` */ + + if((p=strrchr(infilename, '/')) != NULL) strcpy(confname, p+1); + else strcpy(confname, infilename); + if((p=strrchr(confname, '.')) != NULL && !strcmp(p, ".conf")) *p = '\0'; + + if(!*outmkname) sprintf(outmkname, "%s.mk", confname); + if(!*outcfname) sprintf(outcfname, "%s.c", confname); + if(!*execfname) sprintf(execfname, "%s", confname); + + sprintf(cachename, "%s.cache", confname); + sprintf(tempfname, ".tmp_%sXXXXXX", confname); + if(mktemp(tempfname) == NULL) { + perror(tempfname); + exit(1); + } + + parse_conf_file(); + gen_outputs(); + + exit(goterror); +} + + +void usage(void) +{ + fprintf(stderr, + "%s [-fq] [-m <makefile>] [-c <c file>] [-e <exec file>] <conffile>\n", + pname); + exit(1); +} + + +/* + * ======================================================================== + * parse_conf_file subsystem + * + */ + +/* helper routines for parse_conf_file */ + +void parse_one_file(char *filename); +void parse_line(char *line, int *fc, char **fv, int nf); +void add_srcdirs(int argc, char **argv); +void add_progs(int argc, char **argv); +void add_link(int argc, char **argv); +void add_libs(int argc, char **argv); +void add_special(int argc, char **argv); + +prog_t *find_prog(char *str); +void add_prog(char *progname); + + +void parse_conf_file(void) +{ + if(!is_nonempty_file(infilename)) { + fprintf(stderr, "%s: fatal: input file \"%s\" not found.\n", + pname, infilename); + exit(1); + } + parse_one_file(infilename); + if(readcache && is_nonempty_file(cachename)) { + reading_cache = 1; + parse_one_file(cachename); + } +} + + +void parse_one_file(char *filename) +{ + char *fieldv[MAXFIELDS]; + int fieldc; + void (*f)(int c, char **v); + FILE *cf; + + sprintf(line, "reading %s", filename); + status(line); + strcpy(curfilename, filename); + + if((cf = fopen(curfilename, "r")) == NULL) { + perror(curfilename); + goterror = 1; + return; + } + + linenum = 0; + while(fgets(line, MAXLINELEN, cf) != NULL) { + linenum++; + parse_line(line, &fieldc, fieldv, MAXFIELDS); + if(fieldc < 1) continue; + if(!strcmp(fieldv[0], "srcdirs")) f = add_srcdirs; + else if(!strcmp(fieldv[0], "progs")) f = add_progs; + else if(!strcmp(fieldv[0], "ln")) f = add_link; + else if(!strcmp(fieldv[0], "libs")) f = add_libs; + else if(!strcmp(fieldv[0], "special")) f = add_special; + else { + fprintf(stderr, "%s:%d: skipping unknown command `%s'.\n", + curfilename, linenum, fieldv[0]); + goterror = 1; + continue; + } + if(fieldc < 2) { + fprintf(stderr, + "%s:%d: %s command needs at least 1 argument, skipping.\n", + curfilename, linenum, fieldv[0]); + goterror = 1; + continue; + } + f(fieldc, fieldv); + } + + if(ferror(cf)) { + perror(curfilename); + goterror = 1; + } + fclose(cf); +} + + +void parse_line(char *line, int *fc, char **fv, int nf) +{ + char *p; + + p = line; + *fc = 0; + while(1) { + while(isspace(*p)) p++; + if(*p == '\0' || *p == '#') break; + + if(*fc < nf) fv[(*fc)++] = p; + while(*p && !isspace(*p) && *p != '#') p++; + if(*p == '\0' || *p == '#') break; + *p++ = '\0'; + } + if(*p) *p = '\0'; /* needed for '#' case */ +} + + +void add_srcdirs(int argc, char **argv) +{ + int i; + char tmppath[MAXPATHLEN]; + + for(i=1;i<argc;i++) { + if (argv[i][0] == '/' || topdir[0] == '\0') + strcpy(tmppath, argv[i]); + else { + strcpy(tmppath, topdir); + strcat(tmppath, "/"); + strcat(tmppath, argv[i]); + } + if(is_dir(tmppath)) + add_string(&srcdirs, tmppath); + else { + fprintf(stderr, "%s:%d: `%s' is not a directory, skipping it.\n", + curfilename, linenum, tmppath); + goterror = 1; + } + } +} + + +void add_progs(int argc, char **argv) +{ + int i; + + for(i=1;i<argc;i++) + add_prog(argv[i]); +} + + +void add_prog(char *progname) +{ + prog_t *p1, *p2; + + /* add to end, but be smart about dups */ + + for(p1 = NULL, p2 = progs; p2 != NULL; p1 = p2, p2 = p2->next) + if(!strcmp(p2->name, progname)) return; + + p2 = malloc(sizeof(prog_t)); + if(p2) p2->name = strdup(progname); + if(!p2 || !p2->name) + out_of_memory(); + + p2->next = NULL; + if(p1 == NULL) progs = p2; + else p1->next = p2; + + p2->ident = p2->srcdir = p2->objdir = NULL; + p2->links = p2->objs = NULL; + p2->goterror = 0; +} + + +void add_link(int argc, char **argv) +{ + int i; + prog_t *p = find_prog(argv[1]); + + if(p == NULL) { + fprintf(stderr, + "%s:%d: no prog %s previously declared, skipping link.\n", + curfilename, linenum, argv[1]); + goterror = 1; + return; + } + for(i=2;i<argc;i++) + add_string(&p->links, argv[i]); +} + + +void add_libs(int argc, char **argv) +{ + int i; + + for(i=1;i<argc;i++) + add_string(&libs, argv[i]); +} + + +void add_special(int argc, char **argv) +{ + int i; + prog_t *p = find_prog(argv[1]); + + if(p == NULL) { + if(reading_cache) return; + fprintf(stderr, + "%s:%d: no prog %s previously declared, skipping special.\n", + curfilename, linenum, argv[1]); + goterror = 1; + return; + } + + if(!strcmp(argv[2], "ident")) { + if(argc != 4) goto argcount; + if((p->ident = strdup(argv[3])) == NULL) + out_of_memory(); + } + else if(!strcmp(argv[2], "srcdir")) { + if(argc != 4) goto argcount; + if((p->srcdir = strdup(argv[3])) == NULL) + out_of_memory(); + } + else if(!strcmp(argv[2], "objdir")) { + if(argc != 4) goto argcount; + if((p->objdir = strdup(argv[3])) == NULL) + out_of_memory(); + } + else if(!strcmp(argv[2], "objs")) { + p->objs = NULL; + for(i=3;i<argc;i++) + add_string(&p->objs, argv[i]); + } + else if(!strcmp(argv[2], "objpaths")) { + p->objpaths = NULL; + for(i=3;i<argc;i++) + add_string(&p->objpaths, argv[i]); + } + else { + fprintf(stderr, "%s:%d: bad parameter name `%s', skipping line.\n", + curfilename, linenum, argv[2]); + goterror = 1; + } + return; + + + argcount: + fprintf(stderr, + "%s:%d: too %s arguments, expected \"special %s %s <string>\".\n", + curfilename, linenum, argc < 4? "few" : "many", argv[1], argv[2]); + goterror = 1; +} + + +prog_t *find_prog(char *str) +{ + prog_t *p; + + for(p = progs; p != NULL; p = p->next) + if(!strcmp(p->name, str)) return p; + + return NULL; +} + + +/* + * ======================================================================== + * gen_outputs subsystem + * + */ + +/* helper subroutines */ + +void remove_error_progs(void); +void fillin_program(prog_t *p); +void gen_specials_cache(void); +void gen_output_makefile(void); +void gen_output_cfile(void); + +void fillin_program_objs(prog_t *p, char *path); +void top_makefile_rules(FILE *outmk); +void prog_makefile_rules(FILE *outmk, prog_t *p); +void output_strlst(FILE *outf, strlst_t *lst); +char *genident(char *str); +char *dir_search(char *progname); + + +void gen_outputs(void) +{ + prog_t *p; + + for(p = progs; p != NULL; p = p->next) + fillin_program(p); + + remove_error_progs(); + gen_specials_cache(); + gen_output_cfile(); + gen_output_makefile(); + status(""); + fprintf(stderr, + "Run \"make -f %s objs exe\" to build crunched binary.\n", + outmkname); +} + + +void fillin_program(prog_t *p) +{ + char path[MAXPATHLEN]; + char *srcparent; + strlst_t *s; + + sprintf(line, "filling in parms for %s", p->name); + status(line); + + if(!p->ident) + p->ident = genident(p->name); + if(!p->srcdir) { + srcparent = dir_search(p->name); + if(srcparent) + sprintf(path, "%s/%s", srcparent, p->name); + if(is_dir(path)) + p->srcdir = strdup(path); + } + if(!p->objdir && p->srcdir) { + sprintf(path, "%s/obj", p->srcdir); + if(is_dir(path)) + p->objdir = strdup(path); + else { + sprintf(path, "%s/obj.%s", p->srcdir, MACHINE); + if(is_dir(path)) + p->objdir = strdup(path); + else + p->objdir = p->srcdir; + } + } + + if(p->srcdir) sprintf(path, "%s/Makefile", p->srcdir); + if(!p->objs && p->srcdir && is_nonempty_file(path)) + fillin_program_objs(p, path); + + if(!p->objpaths && p->objdir && p->objs) + for(s = p->objs; s != NULL; s = s->next) { + sprintf(line, "%s/%s", p->objdir, s->str); + add_string(&p->objpaths, line); + } + + if(!p->srcdir && verbose) + fprintf(stderr, "%s: %s: warning: could not find source directory.\n", + infilename, p->name); + if(!p->objs && verbose) + fprintf(stderr, "%s: %s: warning: could not find any .o files.\n", + infilename, p->name); + + if(!p->objpaths) { + fprintf(stderr, + "%s: %s: error: no objpaths specified or calculated.\n", + infilename, p->name); + p->goterror = goterror = 1; + } +} + +void fillin_program_objs(prog_t *p, char *path) +{ + char *obj, *cp; + int rc; + FILE *f; + + /* discover the objs from the srcdir Makefile */ + + if((f = fopen(tempfname, "w")) == NULL) { + perror(tempfname); + goterror = 1; + return; + } + + fprintf(f, ".include \"%s\"\n", path); + fprintf(f, ".if defined(PROG) && !defined(OBJS)\n"); + fprintf(f, "OBJS=${PROG}.o\n"); + fprintf(f, ".endif\n"); + fprintf(f, "crunchgen_objs:\n\t@echo 'OBJS= '${OBJS}\n"); + fclose(f); + + sprintf(line, "make -f %s crunchgen_objs 2>&1", tempfname); + if((f = popen(line, "r")) == NULL) { + perror("submake pipe"); + goterror = 1; + return; + } + + while(fgets(line, MAXLINELEN, f)) { + if(strncmp(line, "OBJS= ", 6)) { + if (strcmp(line, + "sh: warning: running as root with dot in PATH\n") == 0) + continue; + fprintf(stderr, "make error: %s", line); + goterror = 1; + continue; + } + cp = line + 6; + while(isspace(*cp)) cp++; + while(*cp) { + obj = cp; + while(*cp && !isspace(*cp)) cp++; + if(*cp) *cp++ = '\0'; + add_string(&p->objs, obj); + while(isspace(*cp)) cp++; + } + } + if((rc=pclose(f)) != 0) { + fprintf(stderr, "make error: make returned %d\n", rc); + goterror = 1; + } + unlink(tempfname); +} + +void remove_error_progs(void) +{ + prog_t *p1, *p2; + + p1 = NULL; p2 = progs; + while(p2 != NULL) { + if(!p2->goterror) + p1 = p2, p2 = p2->next; + else { + /* delete it from linked list */ + fprintf(stderr, "%s: %s: ignoring program because of errors.\n", + infilename, p2->name); + if(p1) p1->next = p2->next; + else progs = p2->next; + p2 = p2->next; + } + } +} + +void gen_specials_cache(void) +{ + FILE *cachef; + prog_t *p; + + sprintf(line, "generating %s", cachename); + status(line); + + if((cachef = fopen(cachename, "w")) == NULL) { + perror(cachename); + goterror = 1; + return; + } + + fprintf(cachef, "# %s - parm cache generated from %s by crunchgen %s\n\n", + cachename, infilename, CRUNCH_VERSION); + + for(p = progs; p != NULL; p = p->next) { + fprintf(cachef, "\n"); + if(p->srcdir) + fprintf(cachef, "special %s srcdir %s\n", p->name, p->srcdir); + if(p->objdir) + fprintf(cachef, "special %s objdir %s\n", p->name, p->objdir); + if(p->objs) { + fprintf(cachef, "special %s objs", p->name); + output_strlst(cachef, p->objs); + } + fprintf(cachef, "special %s objpaths", p->name); + output_strlst(cachef, p->objpaths); + } + fclose(cachef); +} + + +void gen_output_makefile(void) +{ + prog_t *p; + FILE *outmk; + + sprintf(line, "generating %s", outmkname); + status(line); + + if((outmk = fopen(outmkname, "w")) == NULL) { + perror(outmkname); + goterror = 1; + return; + } + + fprintf(outmk, "# %s - generated from %s by crunchgen %s\n\n", + outmkname, infilename, CRUNCH_VERSION); + + top_makefile_rules(outmk); + + for(p = progs; p != NULL; p = p->next) + prog_makefile_rules(outmk, p); + + fprintf(outmk, "\n# ========\n"); + fclose(outmk); +} + + +void gen_output_cfile(void) +{ + extern char *crunched_skel[]; + char **cp; + FILE *outcf; + prog_t *p; + strlst_t *s; + + sprintf(line, "generating %s", outcfname); + status(line); + + if((outcf = fopen(outcfname, "w")) == NULL) { + perror(outcfname); + goterror = 1; + return; + } + + fprintf(outcf, + "/* %s - generated from %s by crunchgen %s */\n", + outcfname, infilename, CRUNCH_VERSION); + + fprintf(outcf, "#define EXECNAME \"%s\"\n", execfname); + for(cp = crunched_skel; *cp != NULL; cp++) + fprintf(outcf, "%s\n", *cp); + + for(p = progs; p != NULL; p = p->next) + fprintf(outcf, "extern int _crunched_%s_stub();\n", p->ident); + + fprintf(outcf, "\nstruct stub entry_points[] = {\n"); + for(p = progs; p != NULL; p = p->next) { + fprintf(outcf, "\t{ \"%s\", _crunched_%s_stub },\n", + p->name, p->ident); + for(s = p->links; s != NULL; s = s->next) + fprintf(outcf, "\t{ \"%s\", _crunched_%s_stub },\n", + s->str, p->ident); + } + + fprintf(outcf, "\t{ EXECNAME, crunched_main },\n"); + fprintf(outcf, "\t{ NULL, NULL }\n};\n"); + fclose(outcf); +} + + +char *genident(char *str) +{ + char *n,*s,*d; + + /* + * generates a Makefile/C identifier from a program name, mapping '-' to + * '_' and ignoring all other non-identifier characters. This leads to + * programs named "foo.bar" and "foobar" to map to the same identifier. + */ + + if((n = strdup(str)) == NULL) + return NULL; + for(d = s = n; *s != '\0'; s++) { + if(*s == '-') *d++ = '_'; + else if(*s == '_' || isalnum(*s)) *d++ = *s; + } + *d = '\0'; + return n; +} + + +char *dir_search(char *progname) +{ + char path[MAXPATHLEN]; + strlst_t *dir; + + for(dir=srcdirs; dir != NULL; dir=dir->next) { + sprintf(path, "%s/%s", dir->str, progname); + if(is_dir(path)) return dir->str; + } + return NULL; +} + + +void top_makefile_rules(FILE *outmk) +{ + prog_t *p; + + fprintf(outmk, "STRIP=strip\n"); + fprintf(outmk, "LIBS="); + fprintf(outmk, "-L%s ", libdir); + output_strlst(outmk, libs); + + fprintf(outmk, "CRUNCHED_OBJS="); + for(p = progs; p != NULL; p = p->next) + fprintf(outmk, " %s.lo", p->name); + fprintf(outmk, "\n"); + + fprintf(outmk, "SUBMAKE_TARGETS="); + for(p = progs; p != NULL; p = p->next) + fprintf(outmk, " %s_make", p->ident); + fprintf(outmk, "\n\n"); + + fprintf(outmk, "%s: %s.o $(CRUNCHED_OBJS)\n", + execfname, execfname); + fprintf(outmk, "\t$(CC) -static -o %s %s.o $(CRUNCHED_OBJS) $(LIBS)\n", + execfname, execfname); + fprintf(outmk, "\t$(STRIP) %s\n", execfname); + fprintf(outmk, "all: objs exe\nobjs: $(SUBMAKE_TARGETS)\n"); + fprintf(outmk, "exe: %s\n", execfname); + fprintf(outmk, "clean:\n\trm -f %s *.lo *.o *_stub.c\n", + execfname); +} + + +void prog_makefile_rules(FILE *outmk, prog_t *p) +{ + fprintf(outmk, "\n# -------- %s\n\n", p->name); + + if(p->srcdir && p->objs) { + fprintf(outmk, "%s_SRCDIR=%s\n", p->ident, p->srcdir); + fprintf(outmk, "%s_OBJS=", p->ident); + output_strlst(outmk, p->objs); + fprintf(outmk, "%s_make:\n", p->ident); + fprintf(outmk, "\t(cd $(%s_SRCDIR); make $(%s_OBJS))\n\n", + p->ident, p->ident); + } + else + fprintf(outmk, "%s_make:\n\t@echo \"** cannot make objs for %s\"\n\n", + p->ident, p->name); + + fprintf(outmk, "%s_OBJPATHS=", p->ident); + output_strlst(outmk, p->objpaths); + + fprintf(outmk, "%s_stub.c:\n", p->name); + fprintf(outmk, "\techo \"" + "int _crunched_%s_stub(int argc, char **argv, char **envp)" + "{return main(argc,argv,envp);}\" >%s_stub.c\n", + p->ident, p->name); + fprintf(outmk, "%s.lo: %s_stub.o $(%s_OBJPATHS)\n", + p->name, p->name, p->ident); + fprintf(outmk, "\tld -dc -r -o %s.lo %s_stub.o $(%s_OBJPATHS)\n", + p->name, p->name, p->ident); + fprintf(outmk, "\tcrunchide -k __crunched_%s_stub %s.lo\n", + p->ident, p->name); +} + +void output_strlst(FILE *outf, strlst_t *lst) +{ + for(; lst != NULL; lst = lst->next) + fprintf(outf, " %s", lst->str); + fprintf(outf, "\n"); +} + + +/* + * ======================================================================== + * general library routines + * + */ + +void status(char *str) +{ + static int lastlen = 0; + int len, spaces; + + if(!verbose) return; + + len = strlen(str); + spaces = lastlen - len; + if(spaces < 1) spaces = 1; + + fprintf(stderr, " [%s]%*.*s\r", str, spaces, spaces, " "); + fflush(stderr); + lastlen = len; +} + + +void out_of_memory(void) +{ + fprintf(stderr, "%s: %d: out of memory, stopping.\n", infilename, linenum); + exit(1); +} + + +void add_string(strlst_t **listp, char *str) +{ + strlst_t *p1, *p2; + + /* add to end, but be smart about dups */ + + for(p1 = NULL, p2 = *listp; p2 != NULL; p1 = p2, p2 = p2->next) + if(!strcmp(p2->str, str)) return; + + p2 = malloc(sizeof(strlst_t)); + if(p2) p2->str = strdup(str); + if(!p2 || !p2->str) + out_of_memory(); + + p2->next = NULL; + if(p1 == NULL) *listp = p2; + else p1->next = p2; +} + + +int is_dir(char *pathname) +{ + struct stat buf; + + if(stat(pathname, &buf) == -1) + return 0; + return S_ISDIR(buf.st_mode); +} + +int is_nonempty_file(char *pathname) +{ + struct stat buf; + + if(stat(pathname, &buf) == -1) + return 0; + + return S_ISREG(buf.st_mode) && buf.st_size > 0; +} diff --git a/distrib/crunch/crunchgen/mkskel.sh b/distrib/crunch/crunchgen/mkskel.sh new file mode 100644 index 00000000000..fd53d78bbba --- /dev/null +++ b/distrib/crunch/crunchgen/mkskel.sh @@ -0,0 +1,15 @@ +#! /bin/sh +# idea and sed lines taken straight from flex + +cat <<!EOF +/* File created via mkskel.sh */ + +char *crunched_skel[] = { +!EOF + +sed 's/\\/&&/g' $* | sed 's/"/\\"/g' | sed 's/.*/ "&",/' + +cat <<!EOF + 0 +}; +!EOF diff --git a/distrib/crunch/crunchide/Makefile b/distrib/crunch/crunchide/Makefile new file mode 100644 index 00000000000..f6e1a8a4526 --- /dev/null +++ b/distrib/crunch/crunchide/Makefile @@ -0,0 +1,4 @@ + +PROG= crunchide + +.include <bsd.prog.mk> diff --git a/distrib/crunch/crunchide/crunchide.1 b/distrib/crunch/crunchide/crunchide.1 new file mode 100644 index 00000000000..38a04cf6b93 --- /dev/null +++ b/distrib/crunch/crunchide/crunchide.1 @@ -0,0 +1,68 @@ +.\" +.\" Copyright (c) 1994 University of Maryland +.\" All Rights Reserved. +.\" +.\" Permission to use, copy, modify, distribute, and sell this software and its +.\" documentation for any purpose is hereby granted without fee, provided that +.\" the above copyright notice appear in all copies and that both that +.\" copyright notice and this permission notice appear in supporting +.\" documentation, and that the name of U.M. not be used in advertising or +.\" publicity pertaining to distribution of the software without specific, +.\" written prior permission. U.M. makes no representations about the +.\" suitability of this software for any purpose. It is provided "as is" +.\" without express or implied warranty. +.\" +.\" U.M. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL U.M. +.\" BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +.\" IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +.\" +.\" Author: James da Silva, Systems Design and Analysis Group +.\" Computer Science Department +.\" University of Maryland at College Park +.\" +.Dd June 14, 1994 +.Dt CRUNCHIDE 1 +.Os BSD 4 +.Sh NAME +.Nm crunchide +.Nd hides symbol names from ld, for crunching programs together +.Sh SYNOPSIS +.Nm crunchide +.Op Fl f Ar keep-list-file +.Op Fl k Ar keep-symbol +.Op Ar object-file ... +.Sh DESCRIPTION + +.Nm Crunchide +hides the global symbols of +.Ar object-file +such that they are ignored by subsequent runs of the linker, +.Xr ld 1 . +Some symbols may be left visible via the +.Fl k Ar keep-symbol +and +.Fl f Ar keep-list-file +options. The +.Ar keep-list-file +must contain a list of symbols to keep visible, one symbol per line. +Note that the C compiler prepends an underscore in front of +symbols, so to keep the C function ``foo'' visible, the option +\&``-k _foo'' must be used. + +.Pp +.Nm Crunchide +is designed as a companion program for +.Xr crunchgen 1 , +which automates the process of creating crunched binaries from +multiple component programs. +.Sh SEE ALSO +.Xr crunchgen 1 , +.Xr ld 1 +.Sh AUTHOR +.Nm Crunch +was written by James da Silva <jds@cs.umd.edu>. +.sp 0 +Copyright (c) 1994 University of Maryland. All Rights Reserved. diff --git a/distrib/crunch/crunchide/crunchide.c b/distrib/crunch/crunchide/crunchide.c new file mode 100644 index 00000000000..ae54da08cf5 --- /dev/null +++ b/distrib/crunch/crunchide/crunchide.c @@ -0,0 +1,321 @@ +/* + * Copyright (c) 1994 University of Maryland + * All Rights Reserved. + * + * Permission to use, copy, modify, distribute, and sell this software and its + * documentation for any purpose is hereby granted without fee, provided that + * the above copyright notice appear in all copies and that both that + * copyright notice and this permission notice appear in supporting + * documentation, and that the name of U.M. not be used in advertising or + * publicity pertaining to distribution of the software without specific, + * written prior permission. U.M. makes no representations about the + * suitability of this software for any purpose. It is provided "as is" + * without express or implied warranty. + * + * U.M. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL U.M. + * BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION + * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN + * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + * + * Author: James da Silva, Systems Design and Analysis Group + * Computer Science Department + * University of Maryland at College Park + */ +/* + * crunchide.c - tiptoes through an a.out symbol table, hiding all defined + * global symbols. Allows the user to supply a "keep list" of symbols + * that are not to be hidden. This program relies on the use of the + * linker's -dc flag to actually put global bss data into the file's + * bss segment (rather than leaving it as undefined "common" data). + * + * The point of all this is to allow multiple programs to be linked + * together without getting multiple-defined errors. + * + * For example, consider a program "foo.c". It can be linked with a + * small stub routine, called "foostub.c", eg: + * int foo_main(int argc, char **argv){ return main(argc, argv); } + * like so: + * cc -c foo.c foostub.c + * ld -dc -r foo.o foostub.o -o foo.combined.o + * crunchide -k _foo_main foo.combined.o + * at this point, foo.combined.o can be linked with another program + * and invoked with "foo_main(argc, argv)". foo's main() and any + * other globals are hidden and will not conflict with other symbols. + * + * TODO: + * - resolve the theoretical hanging reloc problem (see check_reloc() + * below). I have yet to see this problem actually occur in any real + * program. In what cases will gcc/gas generate code that needs a + * relative reloc from a global symbol, other than PIC? The + * solution is to not hide the symbol from the linker in this case, + * but to generate some random name for it so that it doesn't link + * with anything but holds the place for the reloc. + * - arrange that all the BSS segments start at the same address, so + * that the final crunched binary BSS size is the max of all the + * component programs' BSS sizes, rather than their sum. + */ +#include <unistd.h> +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#include <fcntl.h> +#include <a.out.h> +#include <sys/types.h> +#include <sys/stat.h> +#include <sys/errno.h> + +char *pname = "crunchide"; + +void usage(void); + +void add_to_keep_list(char *symbol); +void add_file_to_keep_list(char *filename); + +void hide_syms(char *filename); + + +int main(argc, argv) +int argc; +char **argv; +{ + int ch; + + if(argc > 0) pname = argv[0]; + + while ((ch = getopt(argc, argv, "k:f:")) != EOF) + switch(ch) { + case 'k': + add_to_keep_list(optarg); + break; + case 'f': + add_file_to_keep_list(optarg); + break; + default: + usage(); + } + + argc -= optind; + argv += optind; + + if(argc == 0) usage(); + + while(argc) { + hide_syms(*argv); + argc--, argv++; + } + + return 0; +} + +void usage(void) +{ + fprintf(stderr, + "Usage: %s [-k <symbol-name>] [-f <keep-list-file>] <files> ...\n", + pname); + exit(1); +} + +/* ---------------------------- */ + +struct keep { + struct keep *next; + char *sym; +} *keep_list; + +void add_to_keep_list(char *symbol) +{ + struct keep *newp, *prevp, *curp; + int cmp; + + for(curp = keep_list, prevp = NULL; curp; prevp = curp, curp = curp->next) + if((cmp = strcmp(symbol, curp->sym)) <= 0) break; + + if(curp && cmp == 0) + return; /* already in table */ + + newp = (struct keep *) malloc(sizeof(struct keep)); + if(newp) newp->sym = strdup(symbol); + if(newp == NULL || newp->sym == NULL) { + fprintf(stderr, "%s: out of memory for keep list\n", pname); + exit(1); + } + + newp->next = curp; + if(prevp) prevp->next = newp; + else keep_list = newp; +} + +int in_keep_list(char *symbol) +{ + struct keep *curp; + int cmp; + + for(curp = keep_list; curp; curp = curp->next) + if((cmp = strcmp(symbol, curp->sym)) <= 0) break; + + return curp && cmp == 0; +} + +void add_file_to_keep_list(char *filename) +{ + FILE *keepf; + char symbol[1024]; + int len; + + if((keepf = fopen(filename, "r")) == NULL) { + perror(filename); + usage(); + } + + while(fgets(symbol, 1024, keepf)) { + len = strlen(symbol); + if(len && symbol[len-1] == '\n') + symbol[len-1] = '\0'; + + add_to_keep_list(symbol); + } + fclose(keepf); +} + +/* ---------------------- */ + +int nsyms, ntextrel, ndatarel; +struct exec *hdrp; +char *aoutdata, *strbase; +struct relocation_info *textrel, *datarel; +struct nlist *symbase; + + +#define SYMSTR(sp) &strbase[(sp)->n_un.n_strx] + +/* is the symbol a global symbol defined in the current file? */ +#define IS_GLOBAL_DEFINED(sp) \ + (((sp)->n_type & N_EXT) && ((sp)->n_type & N_TYPE) != N_UNDF) + +/* is the relocation entry dependent on a symbol? */ +#define IS_SYMBOL_RELOC(rp) \ + ((rp)->r_extern||(rp)->r_baserel||(rp)->r_jmptable) + +void check_reloc(char *filename, struct relocation_info *relp); + +void hide_syms(char *filename) +{ + int inf, outf, rc; + struct stat infstat; + struct relocation_info *relp; + struct nlist *symp; + + /* + * Open the file and do some error checking. + */ + + if((inf = open(filename, O_RDWR)) == -1) { + perror(filename); + return; + } + + if(fstat(inf, &infstat) == -1) { + perror(filename); + close(inf); + return; + } + + if(infstat.st_size < sizeof(struct exec)) { + fprintf(stderr, "%s: short file\n", filename); + close(inf); + return; + } + + /* + * Read the entire file into memory. XXX - Really, we only need to + * read the header and from TRELOFF to the end of the file. + */ + + if((aoutdata = (char *) malloc(infstat.st_size)) == NULL) { + fprintf(stderr, "%s: too big to read into memory\n", filename); + close(inf); + return; + } + + if((rc = read(inf, aoutdata, infstat.st_size)) < infstat.st_size) { + fprintf(stderr, "%s: read error: %s\n", filename, + rc == -1? strerror(errno) : "short read"); + close(inf); + return; + } + + /* + * Check the header and calculate offsets and sizes from it. + */ + + hdrp = (struct exec *) aoutdata; + + if(N_BADMAG(*hdrp)) { + fprintf(stderr, "%s: bad magic: not an a.out file\n", filename); + close(inf); + return; + } + +#ifdef __FreeBSD__ + textrel = (struct relocation_info *) (aoutdata + N_RELOFF(*hdrp)); + datarel = (struct relocation_info *) (aoutdata + N_RELOFF(*hdrp) + + hdrp->a_trsize); +#else + textrel = (struct relocation_info *) (aoutdata + N_TRELOFF(*hdrp)); + datarel = (struct relocation_info *) (aoutdata + N_DRELOFF(*hdrp)); +#endif + symbase = (struct nlist *) (aoutdata + N_SYMOFF(*hdrp)); + strbase = (char *) (aoutdata + N_STROFF(*hdrp)); + + ntextrel = hdrp->a_trsize / sizeof(struct relocation_info); + ndatarel = hdrp->a_drsize / sizeof(struct relocation_info); + nsyms = hdrp->a_syms / sizeof(struct nlist); + + /* + * Zap the type field of all globally-defined symbols. The linker will + * subsequently ignore these entries. Don't zap any symbols in the + * keep list. + */ + + for(symp = symbase; symp < symbase + nsyms; symp++) + if(IS_GLOBAL_DEFINED(symp) && !in_keep_list(SYMSTR(symp))) + symp->n_type = 0; + + /* + * Check whether the relocation entries reference any symbols that we + * just zapped. I don't know whether ld can handle this case, but I + * haven't encountered it yet. These checks are here so that the program + * doesn't fail silently should such symbols be encountered. + */ + + for(relp = textrel; relp < textrel + ntextrel; relp++) + check_reloc(filename, relp); + for(relp = datarel; relp < datarel + ndatarel; relp++) + check_reloc(filename, relp); + + /* + * Write the .o file back out to disk. XXX - Really, we only need to + * write the symbol table entries back out. + */ + lseek(inf, 0, SEEK_SET); + if((rc = write(inf, aoutdata, infstat.st_size)) < infstat.st_size) { + fprintf(stderr, "%s: write error: %s\n", filename, + rc == -1? strerror(errno) : "short write"); + } + + close(inf); +} + + +void check_reloc(char *filename, struct relocation_info *relp) +{ + /* bail out if we zapped a symbol that is needed */ + if(IS_SYMBOL_RELOC(relp) && symbase[relp->r_symbolnum].n_type == 0) { + fprintf(stderr, + "%s: oops, have hanging relocation for %s: bailing out!\n", + filename, SYMSTR(&symbase[relp->r_symbolnum])); + exit(1); + } +} diff --git a/distrib/crunch/examples/Makefile b/distrib/crunch/examples/Makefile new file mode 100644 index 00000000000..da8860bd7bc --- /dev/null +++ b/distrib/crunch/examples/Makefile @@ -0,0 +1,29 @@ + +CRUNCHED= fixit + +# below is boiler-plate to make $(CRUNCHED) from $(CRUNCHED).conf +# I'd use PROG instead of CRUNCHED, but the system makefiles REALLY want +# to build things in the normal way if you use PROG. + +CONF= $(CRUNCHED).conf + +OUTMK= $(CRUNCHED).mk +OUTPUTS= $(OUTMK) $(CRUNCHED).c $(CRUNCHED).cache + +NOMAN= +CLEANFILES+=$(CRUNCHED) $(OUTPUTS) *.o *.lo *_stub.c + +all: $(CRUNCHED) +exe: $(CRUNCHED) + +$(OUTPUTS): $(CONF) + crunchgen ${.CURDIR}/$(CONF) + +$(CRUNCHED): $(OUTPUTS) submake + +submake: + make -f $(OUTMK) +objs: + make -f $(OUTMK) objs + +.include <bsd.prog.mk> diff --git a/distrib/crunch/examples/fixit.conf b/distrib/crunch/examples/fixit.conf new file mode 100644 index 00000000000..14c16946381 --- /dev/null +++ b/distrib/crunch/examples/fixit.conf @@ -0,0 +1,44 @@ +# fixit.conf - put in anything we think we might want on a fixit floppy + +# first, we list the source dirs that our programs reside in. These are +# searched in order listed to find the dir containing each program. + +srcdirs /usr/src/bin /usr/src/sbin /usr/src/usr.bin /usr/src/usr.sbin +srcdirs /usr/src/gnu/usr.bin + +# second, we list all the programs we want to include in our crunched binary. +# The order doesn't matter. Any program that needs hard links to it gets an +# `ln' directive. + +# /bin stuff + +progs cat chmod cp date dd df echo ed expr hostname kill ln ls mkdir +progs mt mv pwd rcp rm rmdir sh sleep stty sync test + +ln test [ +ln sh -sh # init invokes the shell this way +ln sh - + +# /sbin stuff + +progs badsect chown clri disklabel dump dmesg fdisk fsck halt ifconfig init +progs mknod mount newfs ping reboot restore swapon umount +ln dump rdump +ln restore rrestore + +# /usr/bin stuff + +progs ftp rsh sed telnet rlogin vi + +# gnu stuff + +progs cpio gzip +ln gzip gunzip +ln gzip gzcat + +# finally, we specify the libraries to link in with our binary + +libs -ledit # NetBSDism +libs -lcrypt # but don't include this when exporting :-( +libs -lcurses -ltermcap +libs -lkvm -ltelnet -lutil -ll diff --git a/distrib/crunch/examples/freebsd-filesystem.conf b/distrib/crunch/examples/freebsd-filesystem.conf new file mode 100644 index 00000000000..746553a9ac9 --- /dev/null +++ b/distrib/crunch/examples/freebsd-filesystem.conf @@ -0,0 +1,26 @@ +# $Id: freebsd-filesystem.conf,v 1.1 1995/10/18 08:37:31 deraadt Exp $ + +srcdirs /usr/src/bin /usr/src/sbin /usr/src/gnu/usr.bin /usr/src/usr.sbin + +# /bin +progs sh expr ls mkdir rm sync test +ln test [ + +# These are needed because of UN*X's idiotic way of indicating that something +# is a login shell. +ln sh - +ln sh -sh + +# /sbin +progs disklabel fdisk halt init mount mount_pcfs newfs umount + +# /usr/bin +progs cpio gzip +ln gzip gunzip +ln gzip gzcat +ln gzip zcat + +# /usr/sbin +progs bad144 + +libs -lutil diff --git a/distrib/crunch/examples/freebsd-kcopy.conf b/distrib/crunch/examples/freebsd-kcopy.conf new file mode 100644 index 00000000000..47f7f17bc9e --- /dev/null +++ b/distrib/crunch/examples/freebsd-kcopy.conf @@ -0,0 +1,18 @@ +# $Id: freebsd-kcopy.conf,v 1.1 1995/10/18 08:37:31 deraadt Exp $ + +srcdirs /usr/src/bin /usr/src/sbin + +# Programs from bin/ +progs sh cp echo test +ln test [ + +# These are needed because of UN*X's idiotic way of indicating that something +# is a login shell. +ln sh - +ln sh -sh + +# +# Programs from sbin/ +progs mount mount_isofs mount_pcfs fsck halt init umount + +libs -lutil diff --git a/distrib/crunch/examples/really-big.conf b/distrib/crunch/examples/really-big.conf new file mode 100644 index 00000000000..ce5083f7051 --- /dev/null +++ b/distrib/crunch/examples/really-big.conf @@ -0,0 +1,146 @@ +# really-big.conf - just about everything, just for testing. +# This ends up having some good examples of the use of specials for +# those hard-to-reach programs. I stopped when I got tired, but we +# could probably get even more stuff (like libexec stuff) in here. +# +# This produces a 4608000 byte binary. Pretty sick and twisted, eh? + +# ========================================================================= + +srcdirs /usr/src/bin + +progs cat chmod cp csh date dd df domainname echo ed expr hostname kill +progs ln ls mkdir mt mv ps pwd rcp rm rmail rmdir sh sleep stty sync test + +ln test [ +ln sh -sh + + +# ========================================================================= + +srcdirs /usr/src/sbin + +progs badsect bim clri disklabel dmesg dump dumpfs fdisk fsck halt +progs ifconfig init mknod modload modunload mount mount_fdesc mount_isofs +progs mount_kernfs mount_lofs mount_msdos mount_portal mount_procfs mountd +progs newfs nfsd nfsiod ping quotacheck reboot restore route routed savecore +progs shutdown slattach swapon ttyflags tunefs umount +# shell scripts: fastboot + +ln dump rdump +ln restore rrestore + + +# ========================================================================= + +srcdirs /usr/src/usr.bin + +progs apropos ar asa at basename biff cal calendar cap_mkdb checknr chpass +progs cksum cmp col colcrt colrm column comm compress crontab ctags cut +progs dirname du env error expand false file find finger fmt fold fpr from +progs fsplit fstat ftp getconf getopt gprof head hexdump id indent ipcrm +progs ipcs join kdump ktrace last lastcomm leave lex lock logger locate +progs login logname look m4 machine mail make man mesg mkfifo +progs mkstr modstat more msgs netstat newsyslog nfsstat nice nm nohup +progs pagesize passwd paste patch pr printenv printf quota ranlib +progs renice rev rlogin rpcgen rpcinfo rsh rup ruptime rusers rwall rwho +progs script sed showmount size soelim split strings strip su tail talk +progs tcopy tee telnet tftp time tip tn3270 touch tput tr true tset tsort +progs tty ul uname unexpand unifdef uniq units unvis users uudecode uuencode +progs vacation vgrind vi vis vmstat w wall wc what whatis whereis who +progs whois window write xargs xinstall xstr yacc yes ypcat ypmatch ypwhich + +# shell scripts: lorder mkdep shar which +# problems: rdist uses libcompat.a(regex.o), which conflicts with +# libedit(readline.o) over regerror(). + +# special requirements + +special locate srcdir /usr/src/usr.bin/locate/locate +special tn3270 srcdir /usr/src/usr.bin/tn3270/tn3270 + + +# ========================================================================= + +srcdirs /usr/src/usr.sbin + +progs ac accton amd arp bad144 catman chown chroot config config.new cron +progs dev_mkdb diskpart edquota flcopy gettable grfinfo hilinfo htable inetd +progs iostat iteconfig kvm_mkdb mrouted mtree named portmap pppd +progs pstat pwd_mkdb quot quotaon rarpd rbootd repquota rmt rpc.bootparamd +progs rwhod sa sliplogin slstats spray sysctl syslogd tcpdump +progs traceroute trpt trsp update vipw vnconfig ypbind yppoll ypset + +special amd srcdir /usr/src/usr.sbin/amd/amd +special amd objs vers.amd.o afs_ops.o am_ops.o clock.o util.o xutil.o efs_ops.o mapc.o info_file.o info_hes.o info_ndbm.o info_passwd.o info_nis.o info_union.o map.o srvr_afs.o srvr_nfs.o mntfs.o misc_rpc.o mount_fs.o mtab.o mtab_bsd.o nfs_ops.o nfs_prot_svc.o nfs_start.o nfs_subr.o opts.o pfs_ops.o rpc_fwd.o sched.o sfs_ops.o amq_svc.o amq_subr.o umount_fs.o host_ops.o nfsx_ops.o ufs_ops.o ifs_ops.o amd.o get_args.o restart.o wire.o + + +srcdirs /usr/src/usr.sbin/lpr # lpr subsystem +progs lpr lpc lpq lprm pac lptest +special lpr srcdir /usr/src/usr.sbin/lpr/lpr + +srcdirs /usr/src/usr.sbin/sendmail # sendmail subsystem +progs mailstats makemap praliases sendmail +special sendmail srcdir /usr/src/usr.sbin/sendmail/src +ln sendmail newaliases +ln sendmail mailq + +srcdirs /usr/src/usr.sbin/timed # timed & timedc +progs timed timedc +special timed srcdir /usr/src/usr.sbin/timed/timed + +srcdirs /usr/src/usr.sbin/yp # yp subsystem +progs ypbind ypwhich ypcat ypmatch ypset yppoll + + +# ========================================================================= + +srcdirs /usr/src/gnu/usr.bin + +progs bc cpio diff diff3 gas gawk grep gzip sdiff sort tar +# shell scripts: send-pr + +srcdirs /usr/src/gnu/usr.bin/ld # ldd and ldconfig +progs ld ldd ldconfig + +# rcs stuff loses because there are cross dependencies between librcs.a and +# the individual programs. The solution would be to specify the objpaths +# directly for each one, and include the full path to librcs.a each the +# objpaths. + +# srcdirs /usr/src/gnu/usr.bin/rcs # rcs subsystem +# progs ci co ident merge rcs rcsclean rcsdiff rcsmerge rlog +# # shell script: rcsfreeze +# special rcs srcdir /usr/src/gnu/usr.bin/rcs/rcs +# libs /usr/src/gnu/usr.bin/rcs/lib/obj/librcs.a + +# gdb loses too +# progs gdb +# special gdb srcdir /usr/src/gnu/usr.bin/gdb/gdb +# libs /usr/src/gnu/usr.bin/gdb/bfd/obj/libbfd.a +# libs /usr/src/gnu/usr.bin/gdb/readline/obj/libreadline.a +# libs /usr/src/gnu/usr.bin/gdb/libiberty/obj/libiberty.a + +# groff has the same problem as rcs +# srcdirs /usr/src/gnu/usr.bin/groff # groff subsystem +# progs groff troff tbl pic eqn grops grotty grodvi refer lookbib +# progs indxbib lkbib tfmtodit addftinfo pfbtops psbb +# shell script: nroff +# special groff srcdir /usr/src/gnu/usr.bin/groff/groff +# libs /usr/src/gnu/usr.bin/groff/libgroff/obj/libgroff.a +# libs /usr/src/gnu/usr.bin/groff/libbib/obj/libbib.a +# libs /usr/src/gnu/usr.bin/groff/libdriver/obj/libdriver.a + +srcdirs /usr/src/gnu/usr.bin/gcc2 # gcc & friends +progs cc cpp cc1 + +# cc1 has the same problem as rcs and groff, but since there's only one program +# I'll go ahead and solve it as an example. + +special cc1 objpaths /usr/src/gnu/usr.bin/gcc2/cc1/obj/c-parse.o /usr/src/gnu/usr.bin/gcc2/cc1/obj/c-lang.o /usr/src/gnu/usr.bin/gcc2/cc1/obj/c-lex.o /usr/src/gnu/usr.bin/gcc2/cc1/obj/c-pragma.o /usr/src/gnu/usr.bin/gcc2/cc1/obj/c-decl.o /usr/src/gnu/usr.bin/gcc2/cc1/obj/c-typeck.o /usr/src/gnu/usr.bin/gcc2/cc1/obj/c-convert.o /usr/src/gnu/usr.bin/gcc2/cc1/obj/c-aux-info.o /usr/src/gnu/usr.bin/gcc2/cc1/obj/c-iterate.o /usr/src/gnu/usr.bin/gcc2/common/obj/libcc1.a + +ln gzip gunzip +ln gzip gzcat + +libs -ledit -lgnumalloc -lc -lcrypt -ltermcap -lcurses -ltelnet -lutil -lkvm +libs -ll -ly -lm -lresolv -lrpcsvc -lcompat diff --git a/distrib/hp300/Makefile b/distrib/hp300/Makefile new file mode 100644 index 00000000000..4ebaa58c105 --- /dev/null +++ b/distrib/hp300/Makefile @@ -0,0 +1,5 @@ +# $NetBSD: Makefile,v 1.1 1995/10/03 22:47:50 thorpej Exp $ + +SUBDIR= miniroot + +.include <bsd.subdir.mk> diff --git a/distrib/hp300/miniroot/Makefile b/distrib/hp300/miniroot/Makefile new file mode 100644 index 00000000000..a37f1d50bc5 --- /dev/null +++ b/distrib/hp300/miniroot/Makefile @@ -0,0 +1,5 @@ +# $NetBSD: Makefile,v 1.1 1995/10/03 22:47:53 thorpej Exp $ + +SUBDIR= inst + +.include <bsd.subdir.mk> diff --git a/distrib/hp300/miniroot/Makefile.inc b/distrib/hp300/miniroot/Makefile.inc new file mode 100644 index 00000000000..e5d8ce7abe4 --- /dev/null +++ b/distrib/hp300/miniroot/Makefile.inc @@ -0,0 +1,4 @@ +# $NetBSD: Makefile.inc,v 1.1 1995/10/03 22:47:55 thorpej Exp $ + +# Revision is 1.0A +REV= 10A diff --git a/distrib/hp300/miniroot/inst-common/Makefile.inc b/distrib/hp300/miniroot/inst-common/Makefile.inc new file mode 100644 index 00000000000..ac46658a7ee --- /dev/null +++ b/distrib/hp300/miniroot/inst-common/Makefile.inc @@ -0,0 +1,49 @@ +# $NetBSD: Makefile.inc,v 1.1 1995/10/03 22:48:02 thorpej Exp $ + +# TOP is assumed to be defined by Makefile including this one. + +CBIN= instbin +COMMONDIR= ${TOP}/inst-common + +MOUNT_POINT?= /mnt +VND?= vnd0 +VND_DEV= /dev/${VND}a +VND_RDEV= /dev/r${VND}a +IMAGE?= xxx-${REV}.fs +MDEC= ${DESTDIR}/usr/mdec + +LISTS= ${COMMONDIR}/list ${.CURDIR}/list +CRUNCHCONF= ${COMMONDIR}/${CBIN}.conf +MTREE= ${COMMONDIR}/mtree.conf + +all: ${CBIN} + dd if=/dev/zero of=${IMAGE} bs=512k count=10 + vnconfig -v -c ${VND_DEV} ${IMAGE} + newfs -m 0 -o space ${VND_RDEV} miniroot + mount ${VND_DEV} ${MOUNT_POINT} + mtree -def ${MTREE} -p ${MOUNT_POINT}/ -u + TOPDIR=${TOP} CURDIR=${.CURDIR} OBJDIR=${.OBJDIR} \ + TARGDIR=${MOUNT_POINT} sh ${TOP}/runlist.sh ${LISTS} + @echo "" + @df -i ${MOUNT_POINT} + @echo "" + umount ${MOUNT_POINT} + vnconfig -u ${VND_DEV} + cat /*bin/* > /dev/null + +unconfig: + -umount -f ${MOUNT_POINT} + -vnconfig -u ${VND_DEV} + -/bin/rm -f ${IMAGE} + +${CBIN}.mk ${CBIN}.cache ${CBIN}.c: ${CRUNCHCONF} + crunchgen -D ${TOP}/../../.. -L ${DESTDIR}/usr/lib ${CRUNCHCONF} + +${CBIN}: ${CBIN}.mk ${CBIN}.cache ${CBIN}.c + make -f ${CBIN}.mk all + +clean cleandir: + /bin/rm -f core ${IMAGE} ${CBIN} ${CBIN}.mk ${CBIN}.cache *.o *.lo *.c + +.include <bsd.obj.mk> +.include <bsd.subdir.mk> diff --git a/distrib/hp300/miniroot/inst-common/instbin.conf b/distrib/hp300/miniroot/inst-common/instbin.conf new file mode 100644 index 00000000000..c3a608e8fc6 --- /dev/null +++ b/distrib/hp300/miniroot/inst-common/instbin.conf @@ -0,0 +1,27 @@ +# $NetBSD: instbin.conf,v 1.1 1995/10/03 22:48:03 thorpej Exp $ +# +# instbin.conf - configuration for hp300 miniroot + +srcdirs bin sbin usr.bin usr.sbin gnu/usr.bin usr.bin/vi + +progs bad144 basename cat cut chflags chmod chown chroot cp dd df disklabel +progs dmesg ed expr fsck ftp gawk grep gzip hostname ifconfig init ln ls +progs mkdir mknod more mount mount_cd9660 mount_ffs mount_nfs mt mv newfs ping +progs pwd reboot rm route sed sh shutdown slattach sleep strings stty sync tar +progs test tip tset umount update + +# XXX catch vi; see above +progs common + +ln chown chgrp +ln gawk awk +ln gzip gzcat gunzip +ln sh -sh # init invokes the shell this way +ln test [ +ln mount_cd9660 cd9660 +ln mount_ffs ffs +ln mount_nfs nfs +ln reboot halt +ln common vi # XXX catch vi; see above + +libs -ledit -lutil -lcurses -ltermcap -lcrypt -ll -lm -lkvm diff --git a/distrib/hp300/miniroot/inst-common/list b/distrib/hp300/miniroot/inst-common/list new file mode 100644 index 00000000000..d184032b24e --- /dev/null +++ b/distrib/hp300/miniroot/inst-common/list @@ -0,0 +1,96 @@ +# $NetBSD: list,v 1.1 1995/10/03 22:48:04 thorpej Exp $ + +# copy the crunched binary, link to it, and kill it +COPY ${OBJDIR}/instbin instbin +LINK instbin bin/cat +LINK instbin bin/chmod +LINK instbin bin/cp +LINK instbin bin/dd +LINK instbin bin/df +LINK instbin bin/ed +LINK instbin bin/expr +LINK instbin bin/hostname +LINK instbin bin/ln +LINK instbin bin/ls +LINK instbin bin/mkdir +LINK instbin bin/mt +LINK instbin bin/mv +LINK instbin bin/pwd +LINK instbin bin/rm +LINK instbin bin/sh +LINK instbin bin/stty +LINK instbin bin/sleep +LINK instbin bin/sync +LINK instbin bin/test +LINK instbin bin/[ +LINK instbin sbin/disklabel +LINK instbin sbin/dmesg +LINK instbin sbin/fsck +LINK instbin sbin/halt +LINK instbin sbin/ifconfig +LINK instbin sbin/init +LINK instbin sbin/mknod +LINK instbin sbin/mount +LINK instbin sbin/mount_cd9660 +LINK instbin sbin/mount_ffs +LINK instbin sbin/mount_nfs +LINK instbin sbin/newfs +LINK instbin sbin/ping +LINK instbin sbin/reboot +LINK instbin sbin/route +LINK instbin sbin/shutdown +LINK instbin sbin/slattach +LINK instbin sbin/umount +SYMLINK /instbin usr/bin/awk +SYMLINK /instbin usr/bin/basename +SYMLINK /instbin usr/bin/chflags +SYMLINK /instbin usr/bin/chgrp +SYMLINK /instbin usr/bin/cut +SYMLINK /instbin usr/bin/ftp +SYMLINK /instbin usr/bin/grep +SYMLINK /instbin usr/bin/gunzip +SYMLINK /instbin usr/bin/gzcat +SYMLINK /instbin usr/bin/gzip +SYMLINK /instbin usr/bin/more +SYMLINK /instbin usr/bin/sed +SYMLINK /instbin usr/bin/strings +SYMLINK /instbin usr/bin/tar +SYMLINK /instbin usr/bin/tip +SYMLINK /instbin usr/bin/tset +SYMLINK /instbin usr/bin/vi +SYMLINK /instbin usr/sbin/bad144 +SYMLINK /instbin usr/sbin/chown +SYMLINK /instbin usr/sbin/chroot +SYMLINK /instbin usr/sbin/update + +# We can only get this program this way. +COPY ${DESTDIR}/sbin/mount_mfs sbin/mount_mfs +SPECIAL chmod 555 sbin/mount_mfs + +# Minimize use of MFS +SYMLINK /tmp var/tmp + +# copy the MAKEDEV script and make some devices +COPY ${DESTDIR}/dev/MAKEDEV dev/MAKEDEV +COPY ${DESTDIR}/dev/MAKEDEV.local dev/MAKEDEV.local +SPECIAL cd dev; sh MAKEDEV all +SPECIAL /bin/rm dev/MAKEDEV + +# we need the contents of /usr/mdec +COPYDIR ${DESTDIR}/usr/mdec usr/mdec + +# various files that we need in /etc for the install +COPY ${DESTDIR}/etc/group etc/group +COPY ${DESTDIR}/etc/master.passwd etc/master.passwd +COPY ${DESTDIR}/etc/passwd etc/passwd +COPY ${DESTDIR}/etc/protocols etc/protocols +COPY ${DESTDIR}/etc/pwd.db etc/pwd.db +COPY ${DESTDIR}/etc/services etc/services +COPY ${DESTDIR}/etc/spwd.db etc/spwd.db +COPY ${DESTDIR}/etc/disktab etc/disktab.shadow +SYMLINK /tmp/disktab.shadow etc/disktab +SYMLINK /tmp/fstab.shadow etc/fstab +SYMLINK /tmp/hosts etc/hosts + +# and the termcap file +COPY ${TOPDIR}/../../../share/termcap/termcap.src usr/share/misc/termcap diff --git a/distrib/hp300/miniroot/inst-common/mtree.conf b/distrib/hp300/miniroot/inst-common/mtree.conf new file mode 100644 index 00000000000..3b90b20cbec --- /dev/null +++ b/distrib/hp300/miniroot/inst-common/mtree.conf @@ -0,0 +1,78 @@ +# $NetBSD: mtree.conf,v 1.1 1995/10/03 22:48:05 thorpej Exp $ + +/set type=dir uname=root gname=wheel mode=0755 +# . +. + +# ./bin +bin +# ./bin +.. + +# ./dev +dev +# ./dev +.. + +# ./etc +etc +# ./etc +.. + +# ./mnt +mnt +# ./mnt +.. + +# ./mnt2 +mnt2 +# ./mnt2 +.. + +# ./sbin +sbin +# ./sbin +.. + +# ./tmp +tmp mode=01777 +# ./tmp +.. + +# ./usr +usr + +# ./usr/bin +bin +# ./usr/bin +.. + +# ./usr/mdec +mdec +# ./usr/mdec +.. + +# ./usr/sbin +sbin +# ./usr/sbin +.. + +# ./usr/share +share + +# ./usr/share/misc +misc +# ./usr/share/misc +.. + +# ./usr/share +.. + +# ./usr +.. + +# ./var +var + +# ./ +.. diff --git a/distrib/hp300/miniroot/inst/Makefile b/distrib/hp300/miniroot/inst/Makefile new file mode 100644 index 00000000000..a56484a0496 --- /dev/null +++ b/distrib/hp300/miniroot/inst/Makefile @@ -0,0 +1,8 @@ +# $NetBSD: Makefile,v 1.1 1995/10/03 22:47:58 thorpej Exp $ + +TOP= ${.CURDIR}/.. + +.include "${TOP}/Makefile.inc" +IMAGE= inst-${REV}.fs + +.include "${TOP}/inst-common/Makefile.inc" diff --git a/distrib/hp300/miniroot/inst/dot.profile b/distrib/hp300/miniroot/inst/dot.profile new file mode 100644 index 00000000000..34ca6d39592 --- /dev/null +++ b/distrib/hp300/miniroot/inst/dot.profile @@ -0,0 +1,61 @@ +# $NetBSD: dot.profile,v 1.1 1995/10/03 22:47:59 thorpej Exp $ +# +# Copyright (c) 1995 Jason R. Thorpe +# Copyright (c) 1994 Christopher G. Demetriou +# 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 Christopher G. Demetriou. +# 4. The name of the author may not be used to endorse or promote products +# derived from this software without specific prior written permission +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 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. +# + +PATH=/sbin:/bin:/usr/bin:/usr/sbin:/ +export PATH +TERM=hp300h +export TERM + +umask 022 + +if [ "X${DONEPROFILE}" = "X" ]; then + DONEPROFILE=YES + + # set up some sane defaults + echo 'erase ^H, werase ^W, kill ^U, intr ^C' + stty newcrt werase ^W intr ^C kill ^U erase ^H 9600 + + # run update, so that installed software is written as it goes. + update + + # get the terminal type + _forceloop="" + while [ "X${_forceloop}" = X"" ]; do + eval `tset -s -m ":?$TERM"` + if [ "X${TERM}" != X"unknown" ]; then + _forceloop="done" + fi + done + + # run the installation script. + /install +fi diff --git a/distrib/hp300/miniroot/inst/install.sh b/distrib/hp300/miniroot/inst/install.sh new file mode 100644 index 00000000000..b4dc105adb8 --- /dev/null +++ b/distrib/hp300/miniroot/inst/install.sh @@ -0,0 +1,1026 @@ +#!/bin/sh +# $NetBSD: install.sh,v 1.1 1995/10/03 22:48:00 thorpej Exp $ +# +# Copyright (c) 1995 Jason R. Thorpe. +# 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 for the NetBSD Project +# by Jason R. Thorpe. +# 4. The name of the author may not be used to endorse or promote products +# derived from this software without specific prior written permission +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 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. +# + +# NetBSD installation script. +# In a perfect world, this would be a nice C program, with a reasonable +# user interface. + +VERSION=1.0A +ROOTDISK="" # filled in below +FILESYSTEMS="/tmp/filesystems" # used thoughout +FQDN="" # domain name + +trap "umount /tmp > /dev/null 2>&1" 0 + +getresp() { + read resp + if [ "X$resp" = "X" ]; then + resp=$1 + fi +} + +do_mfs_mount() { + umount $1 > /dev/null 2>&1 + if ! mount_mfs -s 2048 swap $1 ; then + cat << \__mfs_failed_1 + +FATAL ERROR: Can't mount the memory filesystem. + +__mfs_failed_1 + exit + fi + + # Bleh. Give mount_mfs a chance to DTRT. + sleep 2 +} + +getrootdisk() { + cat << \__getrootdisk_1 + +The installation program needs to know which disk to consider +the root disk. Note the unit number may be different than +the unit number you used in the standalone installation +program. + +Available disks are: + +__getrootdisk_1 + dmesg | grep "^rd" | grep "slave" + dmesg | grep "^sd" | grep "slave" + echo "" + echo -n "Which disk is the root disk? " + getresp "" + if dmesg | grep "^$resp " | grep "slave" > /dev/null ; then + ROOTDISK="$resp" + else + echo "" + echo "The disk $resp does not exist." + ROOTDISK="" + fi +} + +checkfordisklabel() { + disklabel -r $1 > /dev/null 2> /tmp/checkfordisklabel + if grep "no disk label" /tmp/checkfordisklabel; then + rval="1" + elif grep "disk label corrupted" /tmp/checkfordisklabel; then + rval="2" + else + rval="0" + fi + + rm -f /tmp/checkfordisklabel +} + +labelmoredisks() { + cat << \__labelmoredisks_1 + +You may label the following disks: + +__labelmoredisks_1 + dmesg | grep "^rd" | grep "slave" | grep -v "${ROOTDISK} " + dmesg | grep "^sd" | grep "slave" | grep -v "${ROOTDISK} " + echo "" + echo -n "Label which disk? [done] " + getresp "done" + case "$resp" in + done) + ;; + + *) + if dmesg | grep "^$resp " | grep "slave" \ + > /dev/null ; then + # XXX CODE ME + echo "Yup, it exists." + else + echo "" + echo "The disk $resp does not exist." + fi + ;; + esac +} + +addhostent() { + # $1 - IP address + # $2 - symbolic name + + # Create an entry in the hosts table. If no host table + # exists, create one. If the IP address already exists, + # replace it's entry. + if [ ! -f /tmp/hosts ]; then + echo "127.0.0.1 localhost" > /tmp/hosts + fi + + if grep "^$1 " /tmp/hosts > /dev/null; then + grep -v "^$1 " /tmp/hosts > /tmp/hosts.new + mv /tmp/hosts.new /tmp/hosts + fi + + echo "$1 $2 $2.$FQDN" >> /tmp/hosts +} + +addifconfig() { + # $1 - interface name + # $2 - interface symbolic name + # $3 - interface IP address + # $4 - interface netmask + + # Create a hostname.* file for the interface. + echo "inet $2 $4" > /tmp/hostname.$1 + + addhostent $3 $2 +} + +configurenetwork() { + cat << \__configurenetwork_1 + +You may configure the following network interfaces: + +__configurenetwork_1 + + dmesg | grep "^le" | grep "ipl" + echo "" + echo -n "Configure which interface? [done] " + getresp "done" + case "$resp" in + done) + ;; + + *) + if dmesg | grep "^$resp " | grep "^le" | grep "ipl" \ + > /dev/null ; then + _interface_name=$resp + + # Get IP address + resp="" # force one iteration + while [ "X${resp}" = X"" ]; do + echo -n "IP address? " + getresp "" + _interface_ip=$resp + done + + # Get symbolic name + resp="" # force one iteration + while [ "X${resp}" = X"" ]; do + echo -n "Symbolic name? " + getresp "" + _interface_symname=$resp + done + + # Get netmask + resp="" # force one iteration + while [ "X${resp}" = X"" ]; do + echo -n "Netmask? " + getresp "" + _interface_mask=$resp + done + + # Configure the interface. If it + # succeeds, add it to the permanent + # network configuration info. + ifconfig ${_interface_name} down + if ifconfig ${_interface_name} inet \ + ${_interface_ip} \ + netmask ${_interface_mask} up ; then + addifconfig \ + ${_interface_name} \ + ${_interface_symname} \ + ${_interface_ip} \ + ${_interface_mask} + fi + else + echo "" + echo "The interface $resp does not exist." + fi + ;; + esac +} + +install_ftp() { + # Get several parameters from the user, and create + # a shell script that directs the appropriate + # commands into ftp. + cat << \__install_ftp_1 + +This is an automated ftp-based installation process. You will be asked +several questions. The correct set of commands will be placed in a script +that will be fed to ftp(1). + +__install_ftp_1 + # Get server IP address + resp="" # force one iteration + while [ "X${resp}" = X"" ]; do + echo -n "Server IP? [${_ftp_server_ip}] " + getresp "${_ftp_server_ip}" + _ftp_server_ip=$resp + done + + # Get server directory + resp="" # force one iteration + while [ "X${resp}" = X"" ]; do + echo -n "Server directory? [${_ftp_server_dir}] " + getresp "${_ftp_server_dir}" + _ftp_server_dir=$resp + done + + # Get login name + resp="" # force one iteration + while [ "X${resp}" = X"" ]; do + echo -n "Login? [${_ftp_server_login}] " + getresp "${_ftp_server_login}" + _ftp_server_login=$resp + done + + # Get password + resp="" # force one iteration + while [ "X${resp}" = X"" ]; do + echo -n "Password? [${_ftp_server_password}] " + getresp "${_ftp_server_password}" + _ftp_server_password=$resp + done + + # Get list of files for mget. + cat << \__install_ftp_2 + +You will now be asked for files to extract. Enter one file at a time. +When you are done entering files, enter 'done'. + +__install_ftp_2 + echo "#!/bin/sh" > /tmp/ftp-script.sh + echo "cd /mnt" >> /tmp/ftp-script.sh + echo "ftp -i -n $_ftp_server_ip << \__end_commands" >> \ + /tmp/ftp-script.sh + echo "user $_ftp_server_login $_ftp_server_password" >> \ + /tmp/ftp-script.sh + echo "bin" >> /tmp/ftp-script.sh + echo "cd $_ftp_server_dir" >> /tmp/ftp-script.sh + + resp="" # force one interation + while [ "X${resp}" != X"done" ]; do + echo -n "File? [done] " + getresp "done" + if [ "X${resp}" = X"done" ]; then + break + fi + + _ftp_file=`echo ${resp} | awk '{print $1}'` + echo "get ${_ftp_file} |\"tar -zxvpf -\"" >> \ + /tmp/ftp-script.sh + done + + echo "quit" >> /tmp/ftp-script.sh + echo "__end_commands" >> /tmp/ftp-script.sh + + sh /tmp/ftp-script.sh + rm -f /tmp/ftp-script.sh + echo "Extraction complete." +} + +install_common_nfs_cdrom() { + # $1 - directory containing file + + # Get the name of the file. + resp="" # force one iteration + while [ "X${resp}" = X"" ]; do + echo -n "File name? " + getresp "" + done + _common_filename="/mnt2/$1/$resp" + + # Ensure file exists + if [ ! -f $_common_filename ]; then + echo "File $_common_filename does not exist. Check to make" + echo "sure you entered the information properly." + return + fi + + # Extract file + cat $_common_filename | (cd /mnt; tar -zxvpf -) + echo "Extraction complete." +} + +install_cdrom() { + # Get the cdrom device info + cat << \__install_cdrom_1 + +The following SCSI disk or disk-like devices are installed on your system; +please select the CD-ROM device containing the installation media: + +__install_cdrom_1 + dmesg | grep "^sd" | grep "rev" + echo "" + echo -n "Which is the CD-ROM with the installation media? [abort] " + getresp "abort" + case "$resp" in + abort) + echo "Aborting." + return + ;; + + *) + if dmesg | grep "^$resp " | grep "slave" \ + > /dev/null ; then + _cdrom_drive=$resp + else + echo "" + echo "The CD-ROM $resp does not exist." + echo "Aborting." + return + fi + ;; + esac + + # Get partition + resp="" # force one iteration + while [ "X${resp}" = X"" ]; do + echo -n "Partition? [c] " + getresp "c" + case "$resp" in + [a-h]) + _cdrom_partition=$resp + ;; + + *) + echo "Invalid response: $resp" + resp="" # force loop to repeat + ;; + esac + done + + # Ask for filesystem type + cat << \__install_cdrom_2 + +There are two CD-ROM filesystem types currently supported by this program: + 1) ISO-9660 (cd9660) + 2) Berkeley Fast Filesystem (ffs) + +__install_cdrom_2 + resp="" # force one iteration + while [ "X${resp}" = X"" ]; do + echo -n "Which filesystem type? [cd9660] " + getresp "cd9660" + case "$resp" in + cd9660|ffs) + _cdrom_filesystem=$resp + ;; + + *) + echo "Invalid response: $resp" + resp="" # force loop to repeat + ;; + esac + done + + # Mount the CD-ROM + if ! mount -t ${_cdrom_filesystem} -o ro \ + /dev/${_cdrom_drive}${_cdrom_partition} /mnt2 ; then + echo "Cannot mount CD-ROM drive. Aborting." + return + fi + + # Get the directory where the file lives + resp="" # force one iteration + while [ "X${resp}" = X"" ]; do + echo "Enter the directory relative to the mount point that" + echo -n "contains the file. [${_cdrom_directory}] " + getresp "${_cdrom_directory}" + done + _cdrom_directory=$resp + + install_common_nfs_cdrom ${_cdrom_directory} + umount -f /mnt2 > /dev/null 2>&1 +} + +install_nfs() { + # Get the IP address of the server + resp="" # force one iteration + while [ "X${resp}" = X"" ]; do + echo -n "Server IP address? [${_nfs_server_ip}] " + getresp "${_nfs_server_ip}" + done + _nfs_server_ip=$resp + + # Get server path to mount + resp="" # force one iteration + while [ "X${resp}" = X"" ]; do + echo -n "Filesystem on server to mount? [${_nfs_server_path}] " + getresp "${_nfs_server_path}" + done + _nfs_server_path=$resp + + # Determine use of TCP + echo -n "Use TCP transport (only works with capable NFS server)? [n] " + getresp "n" + case "$resp" in + y*|Y*) + _nfs_tcp="-T" + ;; + + *) + _nfs_tcp="" + ;; + esac + + # Mount the server + if ! mount_nfs $_nfs_tcp ${_nfs_server_ip}:${_nfs_server_path} \ + /mnt2 ; then + echo "Cannot mount NFS server. Aborting." + return + fi + + # Get the directory where the file lives + resp="" # force one iteration + while [ "X${resp}" = X"" ]; do + echo "Enter the directory relative to the mount point that" + echo -n "contains the file. [${_nfs_directory}] " + getresp "${_nfs_directory}" + done + _nfs_directory=$resp + + install_common_nfs_cdrom ${_nfs_directory} + umount -f /mnt2 > /dev/null 2>&1 +} + +install_tape() { + # Get the name of the tape from the user. + cat << \__install_tape_1 + +The installation program needs to know which tape device to use. Make +sure you use a "no rewind on close" device. + +__install_tape_1 + _tape=`basename $TAPE` + resp="" # force one iteration + while [ "X${resp}" = X"" ]; do + echo -n "Name of tape device? [${_tape}]" + getresp "${_tape}" + done + _tape=`basename $resp` + TAPE="/dev/${_tape}" + if [ ! -c $TAPE ]; then + echo "$TAPE does not exist or is not a character special file." + echo "Aborting." + return + fi + export TAPE + + # Rewind the tape device + echo -n "Rewinding tape..." + if ! mt rewind ; then + echo "$TAPE may not be attached to the system or may not be" + echo "a tape device. Aborting." + return + fi + echo "done." + + # Get the file number + resp="" # force one iteration + while [ "X${resp}" = X"" ]; do + echo -n "File number? " + getresp "" + case "$resp" in + [1-9]*) + _nskip=`expr $resp - 1` + ;; + + *) + echo "Invalid file number ${resp}." + resp="" # fore loop to repeat + ;; + esac + done + + # Skip to correct file. + echo -n "Skipping to source file..." + if [ "X${_nskip}" != X"0" ]; then + if ! mt fsf $_nskip ; then + echo "Could not skip $_nskip files. Aborting." + return + fi + fi + echo "done." + + cat << \__install_tape_2 + +There are 2 different ways the file can be stored on tape: + + 1) an image of a gzipped tar file + 2) a standard tar image + +__install_tape_2 + resp="" # force one iteration + while [ "X${resp}" = X"" ]; do + getresp "1" + case "$resp" in + 1) + ( + cd /mnt + dd if=$TAPE | tar -zxvpf - + ) + ;; + + 2) + ( + cd /mnt + tar -zxvpf $TAPE + ) + ;; + + *) + echo "Invalid response: $resp." + resp="" # force loop to repeat + ;; + esac + done + echo "Extraction complete." +} + +echo "" +echo "Welcome to the NetBSD ${VERSION} installation program." +cat << \__welcome_banner_1 + +This program is designed to help you put NetBSD on your hard disk, +in a simple and rational way. You'll be asked several questions, +and it would probably be useful to have your disk's hardware +manual, the installation notes, and a calculator handy. + +In particular, you will need to know some reasonably detailed +information about your disk's geometry. This program can determine +some limited information about certain specific types of HP-IB disks. +If you have SCSI disks, however, prior knowledge of disk geometry +is absolutely essential. + +As with anything which modifies your hard disk's contents, this +program can cause SIGNIFICANT data loss, and you are advised +to make sure your hard drive is backed up before beginning the +installation process. + +Default answers are displyed in brackets after the questions. +You can hit Control-C at any time to quit, but if you do so at a +prompt, you may have to hit return. Also, quitting in the middle of +installation may leave your system in an inconsistent state. + +__welcome_banner_1 +echo -n "Proceed with installation? [n] " +getresp "n" +case "$resp" in + y*|Y*) + echo "Cool! Let's get to it..." + ;; + *) + cat << \__welcome_banner_2 + +OK, then. Enter 'halt' at the prompt to halt the machine. Once the +machine has halted, power-cycle the system to load new boot code. + +__welcome_banner_2 + exit + ;; +esac + +# We don't like it, but it sure makes a few things a lot easier. +do_mfs_mount "/tmp" + +# Install the shadowed disktab file; lets us write to it for temporary +# purposes without mounting the miniroot read-write. +cp /etc/disktab.shadow /tmp/disktab.shadow + +while [ "X${ROOTDISK}" = "X" ]; do + getrootdisk +done + +# Make sure there's a disklabel there. If there isn't, puke after +# disklabel prints the error message. +checkfordisklabel ${ROOTDISK} +case $rval in + 1) + cat << \__disklabel_not_present_1 + +FATAL ERROR: There is no disklabel present on the root disk! You must +label the disk with SYS_INST before continuing. + +__disklabel_not_present_1 + exit + ;; + + 2) + cat << \__disklabel_corrupted_1 + +FATAL ERROR: The disklabel on the root disk is corrupted! You must +re-label the disk with SYS_INST before continuing. + +__disklabel_corrupted_1 + exit + ;; + + *) + ;; +esac + +# Give the user the opportinuty to edit the root disklabel. +cat << \__disklabel_notice_1 + +You have already placed a disklabel onto the target root disk. +However, due to the limitations of the standalone program used +you may want to edit that label to change partition type information. +You will be given the opporunity to do that now. Note that you may +not change the size or location of any presently open partition. + +__disklabel_notice_1 +echo -n "Do you wish to edit the root disklabel? [y] " +getresp "y" +case "$resp" in + y*|Y*) + disklabel -W ${ROOTDISK} + disklabel -e ${ROOTDISK} + ;; + + *) + ;; +esac + +cat << \__disklabel_notice_2 + +You will now be given the opportunity to place disklabels on any additional +disks on your system. +__disklabel_notice_2 + +resp="X" # force at least one iteration +while [ "X$resp" != X"done" ]; do + labelmoredisks +done + +# Assume partition 'a' of $ROOTDISK is for the root filesystem. Loop and +# get the rest. +# XXX ASSUMES THAT THE USER DOESN'T PROVIDE BOGUS INPUT. +cat << \__get_filesystems_1 + +You will now have the opportunity to enter filesystem information. +You will be prompted for device name and mount point (full path, +including the prepending '/' character). + +Note that these do not have to be in any particular order. You will +be given the opportunity to edit the resulting 'fstab' file before +any of the filesystems are mounted. At that time you will be able +to resolve any filesystem order dependencies. + +__get_filesystems_1 + +echo "The following will be used for the root filesystem:" +echo " ${ROOTDISK}a /" + +echo "${ROOTDISK}a /" > ${FILESYSTEMS} + +resp="X" # force at least one iteration +while [ "X$resp" != X"done" ]; do + echo "" + echo -n "Device name? [done] " + getresp "done" + case "$resp" in + done) + ;; + + *) + _device_name=`basename $resp` + + # force at least one iteration + _first_char="X" + while [ "X${_first_char}" != X"/" ]; do + echo -n "Mount point? " + getresp "" + _mount_point=$resp + if [ "X${_mount_point}" = X"/" ]; then + # Invalid response; no multiple roots + _first_char="X" + else + _first_char=`echo ${_mount_point} | \ + cut -c 1` + fi + done + echo "${_device_name} ${_mount_point}" >> \ + ${FILESYSTEMS} + resp="X" # force loop to repeat + ;; + esac +done + +echo "" +echo "You have configured the following devices and mount points:" +echo "" +cat ${FILESYSTEMS} +echo "" +echo "Filesystems will now be created on these devices. If you made any" +echo -n "mistakes, you may edit this now. Edit? [n] " +getresp "n" +case "$resp" in + y*|Y*) + vi ${FILESYSTEMS} + ;; + *) + ;; +esac + +# Loop though the file, place filesystems on each device. +echo "Creating filesystems..." +( + while read line; do + _device_name=`echo $line | awk '{print $1}'` + newfs /dev/r${_device_name} + echo "" + done +) < ${FILESYSTEMS} + +# Get network configuration information, and store it for placement in the +# root filesystem later. +cat << \__network_config_1 +You will now be given the opportunity to configure the network. This will +be useful if you need to transfer the installation sets via FTP or NFS. +Even if you choose not to transfer installation sets that way, this +information will be preserved and copied into the new root filesystem. + +Note, enter all symbolic host names WITHOUT the domain name appended. +I.e. use 'hostname' NOT 'hostname.domain.name'. + +__network_config_1 +echo -n "Configure the network? [y] " +getresp "y" +case "$resp" in + y*|Y*) + echo -n "Enter system hostname: " + resp="" # force at least one iteration + while [ "X${resp}" = X"" ]; do + getresp "" + done + hostname $resp + echo $resp > /tmp/myname + + echo -n "Enter DNS domain name: " + resp="" # force at least one iteration + while [ "X${resp}" = X"" ]; do + getresp "" + done + FQDN=$resp + + resp="" # force at least one iteration + while [ "X${resp}" != X"done" ]; do + configurenetwork + done + + echo -n "Enter IP address of default route: [none] " + getresp "none" + if [ "X${resp}" != X"none" ]; then + route delete default > /dev/null 2>&1 + if route add default $resp > /dev/null ; then + echo $resp > /tmp/mygate + fi + fi + + echo "" + echo "The host table is as follows:" + echo "" + cat /tmp/hosts + echo "" + echo "You may want to edit the host table in the event that" + echo "you need to mount an NFS server." + echo -n "Would you like to edit the host table? [n] " + getresp "n" + case "$resp" in + y*|Y*) + vi /tmp/hosts + ;; + + *) + ;; + esac + + cat << \__network_config_2 + +You will now be given the opportunity to escape to the command shell to +do any additional network configuration you may need. This may include +adding additional routes, if needed. In addition, you might take this +opportunity to redo the default route in the event that it failed above. +If you do change the default route, and wish for that change to carry over +to the installed system, execute the following command at the shell +prompt: + + echo <ip_address_of_gateway> > /tmp/mygate + +where <ip_address_of_gateway> is the IP address of the default router. + +__network_config_2 + echo -n "Escape to shell? [n] " + getresp "n" + case "$resp" in + y*|Y*) + echo "Type 'exit' to return to install." + sh + ;; + + *) + ;; + esac + ;; + *) + ;; +esac + +# Now that the network has been configured, it is safe to configure the +# fstab. +awk '{ + if ($2 == "/") + printf("/dev/%s %s ffs rw 1 1\n", $1, $2) + else + printf("/dev/%s %s ffs rw 1 2\n", $1, $2) +}' < ${FILESYSTEMS} > /tmp/fstab + +echo "The fstab is configured as follows:" +echo "" +cat /tmp/fstab +cat << \__fstab_config_1 + +You may wish to edit the fstab. For example, you may need to resolve +dependencies in the order which the filesystems are mounted. You may +also wish to take this opportunity to place NFS mounts in the fstab. +This would be especially useful if you plan to keep '/usr' on an NFS +server. + +__fstab_config_1 +echo -n "Edit the fstab? [n] " +getresp "n" +case "$resp" in + y*|Y*) + vi /tmp/fstab + ;; + + *) + ;; +esac + +# Now that the 'real' fstab is configured, we munge it into a 'shadow' +# fstab which we'll use for mounting and unmounting all of the target +# filesystems relative to /mnt. Mount all filesystems. +awk '{ + if ($2 == "/") + printf("%s /mnt %s %s %s %s\n", $1, $3, $4, $5, $6) + else + printf("%s /mnt%s %s %s %s %s\n", $1, $2, $3, $4, $5, $6) +}' < /tmp/fstab > /tmp/fstab.shadow + +echo "" + +# Must mount filesystems manually, one at a time, so we can make sure the +# mount points exist. +( + while read line; do + _dev=`echo $line | awk '{print $1}'` + _mp=`echo $line | awk '{print $2}'` + _fstype=`echo $line | awk '{print $3}'` + _opt=`echo $line | awk '{print $4}'` + + # If not the root filesystem, make sure the mount + # point is present. + if [ "X{$_mp}" != X"/mnt" ]; then + mkdir -p $_mp + fi + + # Mount the filesystem. If the mount fails, exit + # with an error condition to tell the outer + # later to bail. + if ! mount -v -t $_fstype -o $_opt $_dev $_mp ; then + # error message displated by mount + exit 1 + fi + done +) < /etc/fstab + +if [ "X${?}" != X"0" ]; then + cat << \__mount_filesystems_1 + +FATAL ERROR: Cannot mount filesystems. Double-check your configuration +and restart the installation process. + +__mount_filesystems_1 + exit +fi + +# Ask the user which media to load the distribution from. +cat << \__install_sets_1 + +It is now time to extract the installation sets onto the hard disk. +Make sure The sets are either on a local device (i.e. tape, CD-ROM) or on a +network server. + +__install_sets_1 +resp="" # force at least one iteration +while [ "X${resp}" = X"" ]; do + echo -n "Install from (f)tp, (t)ape, (C)D-ROM, or (N)FS? [f] " + getresp "f" + case "$resp" in + f*|F*) + install_ftp + ;; + + t*|T*) + install_tape + ;; + + c*|C*) + install_cdrom + ;; + + n*|N*) + install_nfs + ;; + + *) + echo "Invalid response: $resp" + resp="" + ;; + esac + + # Give the user the opportunity to extract more sets. They don't + # necessarily have to come from the same media. + echo "" + echo -n "Extract more sets? [n] " + getresp "n" + case "$resp" in + y*|Y*) + # Force loop to repeat + resp="" + ;; + + *) + ;; + esac +done + +# Copy in configuration information and make devices in target root. +( + cd /tmp + for file in fstab hostname.* hosts myname mygate; do + if [ -f $file ]; then + echo "Copying $file..." + cp $file /mnt/etc/$file + fi + done + + echo -n "Making devices..." + cd /mnt/dev + sh MAKEDEV all + echo "done." + + echo "Copying kernel..." + cp /netbsd /mnt/netbsd +) + +# Unmount all filesystems and check their integrity. +umount -a +echo "Checking filesystem integrity..." +fsck -pf + +# Install boot code on target disk. +echo "Installing boot block..." +disklabel -W ${ROOTDISK} +disklabel -B ${ROOTDISK} + +cat << \__congratulations_1 + +CONGRATULATIONS! You have successfully installed NetBSD on your hard disk! +To boot the installed system, enter halt at the command prompt. Once the +system has halted, power-cycle the machine in order to load new boot code. +Make sure you boot from the disk. + +__congratulations_1 + +# ALL DONE! +exit diff --git a/distrib/hp300/miniroot/inst/list b/distrib/hp300/miniroot/inst/list new file mode 100644 index 00000000000..64c1df1c037 --- /dev/null +++ b/distrib/hp300/miniroot/inst/list @@ -0,0 +1,9 @@ +# $NetBSD: list,v 1.1 1995/10/03 22:48:01 thorpej Exp $ + +# copy the kernel +COPY ${CURDIR}/../../../../sys/arch/hp300/compile/GENERIC/netbsd netbsd + +# and the installation tools +COPY dot.profile .profile +COPY install.sh install +SPECIAL chmod 755 install diff --git a/distrib/hp300/miniroot/list2sh.awk b/distrib/hp300/miniroot/list2sh.awk new file mode 100644 index 00000000000..ba43187059d --- /dev/null +++ b/distrib/hp300/miniroot/list2sh.awk @@ -0,0 +1,55 @@ +# $NetBSD: list2sh.awk,v 1.1 1995/10/03 22:47:56 thorpej Exp $ + +BEGIN { + printf("cd ${CURDIR}\n"); + printf("\n"); +} +/^$/ || /^#/ { + print $0; + next; +} +$1 == "COPY" { + printf("echo '%s'\n", $0); + printf("rm -f ${TARGDIR}/%s\n", $3); + printf("cp %s ${TARGDIR}/%s\n", $2, $3); + next; +} +$1 == "LINK" { + printf("echo '%s'\n", $0); + printf("rm -f ${TARGDIR}/%s\n", $3); + printf("(cd ${TARGDIR}; ln %s %s)\n", $2, $3); + next; +} +$1 == "SYMLINK" { + printf("echo '%s'\n", $0); + printf("rm -f ${TARGDIR}/%s\n", $3); + printf("(cd ${TARGDIR}; ln -s %s %s)\n", $2, $3); + next; +} +$1 == "COPYDIR" { + printf("echo '%s'\n", $0); + printf("(cd ${TARGDIR}/%s && find . ! -name . | xargs /bin/rm -rf)\n", + $3); + printf("(cd %s && find . ! -name . | cpio -pdamu ${TARGDIR}/%s)\n", $2, + $3); + next; +} +$1 == "SPECIAL" { + printf("echo '%s'\n", $0); + printf("(cd ${TARGDIR};"); + for (i = 2; i <= NF; i++) + printf(" %s", $i); + printf(")\n"); + next; +} +{ + printf("echo '%s'\n", $0); + printf("echo 'Unknown keyword \"%s\" at line %d of input.'\n", $1, NR); + printf("exit 1\n"); + exit 1; +} +END { + printf("\n"); + printf("exit 0\n"); + exit 0; +} diff --git a/distrib/hp300/miniroot/runlist.sh b/distrib/hp300/miniroot/runlist.sh new file mode 100644 index 00000000000..96abe1f2e23 --- /dev/null +++ b/distrib/hp300/miniroot/runlist.sh @@ -0,0 +1,13 @@ +# $NetBSD: runlist.sh,v 1.1 1995/10/03 22:47:57 thorpej Exp $ + +if [ "X$1" = "X-d" ]; then + SHELLCMD=cat + shift +else + SHELLCMD="sh -e" +fi + +( while [ "X$1" != "X" ]; do + cat $1 + shift +done ) | awk -f ${TOPDIR}/list2sh.awk | ${SHELLCMD} diff --git a/distrib/i386/floppies/Makefile b/distrib/i386/floppies/Makefile new file mode 100644 index 00000000000..6519049412f --- /dev/null +++ b/distrib/i386/floppies/Makefile @@ -0,0 +1,5 @@ +# $Id + +SUBDIR= inst kc upgr + +.include <bsd.subdir.mk> diff --git a/distrib/i386/floppies/Makefile.inc b/distrib/i386/floppies/Makefile.inc new file mode 100644 index 00000000000..f4a454d4196 --- /dev/null +++ b/distrib/i386/floppies/Makefile.inc @@ -0,0 +1,4 @@ +# $Id: Makefile.inc,v 1.1 1995/10/18 08:37:33 deraadt Exp $ + +# Revision is 1.0A +REV= 10A diff --git a/distrib/i386/floppies/inst-common/Makefile.inc b/distrib/i386/floppies/inst-common/Makefile.inc new file mode 100644 index 00000000000..f8385ffb657 --- /dev/null +++ b/distrib/i386/floppies/inst-common/Makefile.inc @@ -0,0 +1,49 @@ +# $Id: Makefile.inc,v 1.1 1995/10/18 08:37:33 deraadt Exp $ + +# TOP is assumed to be defined by Makefile including this one. + +CBIN= instbin +COMMONDIR= ${TOP}/inst-common + +MOUNT_POINT?= /mnt +VND?= vnd0 +VND_DEV= /dev/${VND}a +VND_RDEV= /dev/r${VND}a +IMAGE?= xxx-${REV}.fs +MDEC= ${DESTDIR}/usr/mdec + +LISTS= ${COMMONDIR}/list ${.CURDIR}/list +CRUNCHCONF= ${COMMONDIR}/${CBIN}.conf +MTREE= ${COMMONDIR}/mtree.conf + +all: ${CBIN} + dd if=/dev/zero of=${IMAGE} bs=100k count=12 + vnconfig -v -c ${VND_DEV} ${IMAGE} + newfs -O -m 0 -o space -i 5120 -c 80 ${VND_RDEV} floppy5 + mount ${VND_DEV} ${MOUNT_POINT} + mtree -def ${MTREE} -p ${MOUNT_POINT}/ -u + TOPDIR=${TOP} CURDIR=${.CURDIR} OBJDIR=${.OBJDIR} \ + TARGDIR=${MOUNT_POINT} sh ${TOP}/runlist.sh ${LISTS} + @echo "" + @df -i ${MOUNT_POINT} + @echo "" + umount ${MOUNT_POINT} + vnconfig -u ${VND_DEV} + cat /*bin/* > /dev/null + +unconfig: + -umount -f ${MOUNT_POINT} + -vnconfig -u ${VND_DEV} + -/bin/rm -f ${IMAGE} + +${CBIN}.mk ${CBIN}.cache ${CBIN}.c: ${CRUNCHCONF} + crunchgen -D ${TOP}/../../.. -L ${DESTDIR}/usr/lib ${CRUNCHCONF} + +${CBIN}: ${CBIN}.mk ${CBIN}.cache ${CBIN}.c + make -f ${CBIN}.mk all + +clean cleandir: + /bin/rm -f core ${IMAGE} ${CBIN} ${CBIN}.mk ${CBIN}.cache *.o *.lo *.c + +.include <bsd.obj.mk> +.include <bsd.subdir.mk> diff --git a/distrib/i386/floppies/inst-common/dot.commonutils b/distrib/i386/floppies/inst-common/dot.commonutils new file mode 100644 index 00000000000..e53cef68855 --- /dev/null +++ b/distrib/i386/floppies/inst-common/dot.commonutils @@ -0,0 +1,132 @@ +# +# Copyright (c) 1994 Christopher G. Demetriou +# 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 Christopher G. Demetriou. +# 4. The name of the author may not be used to endorse or promote products +# derived from this software without specific prior written permission +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 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. +# +# $Id: dot.commonutils,v 1.1 1995/10/18 08:37:33 deraadt Exp $ + +# Installation utilites (functions), to get NetBSD installed on +# the hard disk. These are meant to be invoked from the shell prompt, +# by people installing NetBSD. + +# we know that /etc/fstab is only generated on the hard drive +dest_dir=/ +if [ ! -f /etc/fstab ]; then + dest_dir=/mnt/ +fi + +# counter for possible shared library confusion +TAR=/usr/bin/tar +GUNZIP=/usr/bin/gunzip + +Set_tmp_dir() +{ + def_tmp_dir=`pwd` + if [ "$def_tmp_dir" = "/" -o "$def_tmp_dir" = "/mnt" ]; then + def_tmp_dir="$dest_dir"usr/distrib + fi + + echo -n "What directory should be used to find and/or store " + echo "installtion" + echo -n "files? [$def_tmp_dir] " + read tmp_dir + if [ "$tmp_dir" = "" ]; then + tmp_dir=$def_tmp_dir + fi + if [ ! -d "$tmp_dir" ]; then + /bin/rm -rf $tmp_dir + mkdir -p $tmp_dir + fi +} + +Tmp_dir() +{ + if [ "$tmp_dir" = "" ]; then + Set_tmp_dir + fi + cd $tmp_dir +} + +Load_fd() +{ + Tmp_dir + which= + echo "Don't forget that you can't load from the drive you booted from." + echo "" + + while [ "$which" != "0" -a "$which" != "1" ]; do + echo -n "Read from which floppy drive ('0' or '1')? [1] " + read which + if [ "X$which" = "X" ]; then + which=1 + fi + done + echo "" + echo "WARNING: during the floppy loading process, you should only" + echo "use Control-C at the prompt." + echo "" + while echo -n \ + "Insert floppy (hit Control-C to terminate, enter to load): " + do + read foo + mount -t msdos /dev/fd${which}a /mnt2 + cp -rp /mnt2/* . + umount /mnt2 + done +} + +Load_tape() +{ + Tmp_dir + echo -n "Which tape drive will you be using? [rst0] " + read which + if [ "X$which" = "X" ]; then + which=rst0 + fi + echo -n "Insert the tape into the tape drive and hit return to " + echo -n "continue..." + read foo + echo "Extracting files from the tape..." + $TAR xvpf --unlink /dev/$which + echo "Done." +} + +Extract() +{ + Tmp_dir + echo -n "Would you like to list the files as they're extracted? [n] " + read verbose + case $verbose in + y*|Y*) + tarverbose=v + ;; + *) + tarverbose= + ;; + esac + cat "$1"* | $GUNZIP | (cd $dest_dir ; $TAR --unlink -xp"$tarverbose"f - ) +} diff --git a/distrib/i386/floppies/inst-common/instbin.conf b/distrib/i386/floppies/inst-common/instbin.conf new file mode 100644 index 00000000000..cbf54595c0a --- /dev/null +++ b/distrib/i386/floppies/inst-common/instbin.conf @@ -0,0 +1,25 @@ +# +# kcbin.conf - unified binary for the kc floppy +# $Id: instbin.conf,v 1.1 1995/10/18 08:37:34 deraadt Exp $ +# + +srcdirs bin sbin usr.bin usr.sbin gnu/usr.bin + +progs bad144 cat chmod chown chroot cp dd df disklabel ed expr fsck ftp gawk +progs gzip ifconfig init ln ls mkdir mknod more mount mount_cd9660 +progs mount_ffs mount_msdos mount_nfs mv newfs ping pwd reboot rm route +progs sed sh shutdown slattach strings stty sync tar test tip umount +progs update + +ln chown chgrp +ln gawk awk +ln gzip gzcat gunzip +ln sh -sh # init invokes the shell this way +ln test [ +ln mount_cd9660 cd9660 +ln mount_ffs ffs +ln mount_msdos msdos +ln mount_nfs nfs +ln reboot halt + +libs -ledit -lutil -ltermcap -lcrypt -ll -lm diff --git a/distrib/i386/floppies/inst-common/list b/distrib/i386/floppies/inst-common/list new file mode 100644 index 00000000000..9c4c36d3036 --- /dev/null +++ b/distrib/i386/floppies/inst-common/list @@ -0,0 +1,77 @@ +# $Id: list,v 1.1 1995/10/18 08:37:34 deraadt Exp $ + +# copy the crunched binary, link to it, and kill it +COPY ${OBJDIR}/instbin instbin +LINK instbin bin/cat +LINK instbin bin/chmod +LINK instbin bin/cp +LINK instbin bin/dd +LINK instbin bin/df +LINK instbin bin/ed +LINK instbin bin/expr +LINK instbin bin/ln +LINK instbin bin/ls +LINK instbin bin/mkdir +LINK instbin bin/mv +LINK instbin bin/pwd +LINK instbin bin/rm +LINK instbin bin/sh +LINK instbin bin/stty +LINK instbin bin/sync +LINK instbin bin/test +LINK instbin bin/[ +LINK instbin sbin/disklabel +LINK instbin sbin/fsck +LINK instbin sbin/halt +LINK instbin sbin/ifconfig +LINK instbin sbin/init +LINK instbin sbin/mknod +LINK instbin sbin/mount +LINK instbin sbin/mount_cd9660 +LINK instbin sbin/mount_ffs +LINK instbin sbin/mount_msdos +LINK instbin sbin/mount_nfs +LINK instbin sbin/newfs +LINK instbin sbin/ping +LINK instbin sbin/reboot +LINK instbin sbin/route +LINK instbin sbin/shutdown +LINK instbin sbin/slattach +LINK instbin sbin/umount +SYMLINK /bin/cat usr/bin/awk +SYMLINK /bin/cat usr/bin/chgrp +SYMLINK /bin/cat usr/bin/ftp +SYMLINK /bin/cat usr/bin/gunzip +SYMLINK /bin/cat usr/bin/gzcat +SYMLINK /bin/cat usr/bin/gzip +SYMLINK /bin/cat usr/bin/more +SYMLINK /bin/cat usr/bin/sed +SYMLINK /bin/cat usr/bin/strings +SYMLINK /bin/cat usr/bin/tar +SYMLINK /bin/cat usr/bin/tip +SYMLINK /bin/cat usr/sbin/bad144 +SYMLINK /bin/cat usr/sbin/chown +SYMLINK /bin/cat usr/sbin/chroot +SYMLINK /bin/cat usr/sbin/update +SPECIAL /bin/rm instbin + +# copy the MAKEDEV script and make some devices +COPY ${DESTDIR}/dev/MAKEDEV dev/MAKEDEV +SPECIAL cd dev; sh MAKEDEV floppy +SPECIAL /bin/rm dev/MAKEDEV + +# we need the contents of /usr/mdec +COPYDIR ${DESTDIR}/usr/mdec usr/mdec + +# various files that we need in /etc for the install +COPY ${DESTDIR}/etc/group etc/group +COPY ${DESTDIR}/etc/master.passwd etc/master.passwd +COPY ${DESTDIR}/etc/passwd etc/passwd +COPY ${DESTDIR}/etc/protocols etc/protocols +COPY ${DESTDIR}/etc/pwd.db etc/pwd.db +COPY ${DESTDIR}/etc/services etc/services +COPY ${DESTDIR}/etc/spwd.db etc/spwd.db + +# and the common installation tools +COPY ${TOPDIR}/inst-common/dot.commonutils .commonutils +COPY ${TOPDIR}/inst-common/termcap.pc3 usr/share/misc/termcap diff --git a/distrib/i386/floppies/inst-common/mtree.conf b/distrib/i386/floppies/inst-common/mtree.conf new file mode 100644 index 00000000000..fa0159e1867 --- /dev/null +++ b/distrib/i386/floppies/inst-common/mtree.conf @@ -0,0 +1,72 @@ +# $Id: mtree.conf,v 1.1 1995/10/18 08:37:34 deraadt Exp $ + +/set type=dir uname=root gname=wheel mode=0755 +# . +. + +# ./bin +bin +# ./bin +.. + +# ./dev +dev +# ./dev +.. + +# ./etc +etc +# ./etc +.. + +# ./mnt +mnt +# ./mnt +.. + +# ./mnt2 +mnt2 +# ./mnt2 +.. + +# ./sbin +sbin +# ./sbin +.. + +# ./tmp +tmp +# ./tmp +.. + +# ./usr +usr + +# ./usr/bin +bin +# ./usr/bin +.. + +# ./usr/mdec +mdec +# ./usr/mdec +.. + +# ./usr/sbin +sbin +# ./usr/sbin +.. + +# ./usr/share +share + +# ./usr/share/misc +misc +# ./usr/share/misc +.. + +# ./usr/share +.. + +# ./usr +.. diff --git a/distrib/i386/floppies/inst-common/termcap.pc3 b/distrib/i386/floppies/inst-common/termcap.pc3 new file mode 100644 index 00000000000..feba9cc941d --- /dev/null +++ b/distrib/i386/floppies/inst-common/termcap.pc3 @@ -0,0 +1,42 @@ +# Copyright (c) 1980, 1985, 1989 The Regents of the University of California. +# 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 the University of +# California, Berkeley and its contributors. +# 4. Neither the name of the University nor the names of its contributors +# may be used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE REGENTS 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 REGENTS 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. +# +# @(#)termcap.src 5.109 (Berkeley) 3/8/93 +# +pc3|ibmpc3|IBM PC 386BSD Console:\ + :DO=\E[%dB:K1=\E[H:K2=\E[E:K3=\E[I:K4=\E[F:K5=\E[G:LE=\E[%dD:\ + :RI=\E[%dC:UP=\E[%dA:am:bl=^G:bs:cb=\E[1K:cd=\E[J:ce=\E[K:cl=\E[H\E[J:\ + :cm=\E[%i%d;%dH:co#80:cr=^M:do=^J:ho=\E[H:is=\E[m:k0=\E[V:k1=\E[M:\ + :k2=\E[N:k3=\E[O:k4=\E[P:k5=\E[Q:k6=\E[R:k7=\E[S:k8=\E[T:k9=\E[U:\ + :kD=\177:kH=\E[F:kN=\E[G:kP=\E[I:kb=\177:kd=\E[B:kh=\E[H:kl=\E[D:\ + :kr=\E[C:ku=\E[A:le=^H:li#25:ms:nd=\E[C:rs=\E[m\E[x\E[14r:se=\E[m:\ + :sf=\E[S:so=\E[7m:sr=\E[T:ta=^I:te=\E[m:ti=\E[m:up=\E[A:km:pt:\ + :AL=\E[%dL:DL=\E[%dM:SF=\E[%dS:SR=\E[%dT:al=\E[L:dl=\E[M: diff --git a/distrib/i386/floppies/inst/Makefile b/distrib/i386/floppies/inst/Makefile new file mode 100644 index 00000000000..490fdc6f21c --- /dev/null +++ b/distrib/i386/floppies/inst/Makefile @@ -0,0 +1,8 @@ +# $Id: Makefile,v 1.1 1995/10/18 08:37:34 deraadt Exp $ + +TOP= ${.CURDIR}/.. + +.include "${TOP}/Makefile.inc" +IMAGE= inst-${REV}.fs + +.include "${TOP}/inst-common/Makefile.inc" diff --git a/distrib/i386/floppies/inst/disktab.preinstall b/distrib/i386/floppies/inst/disktab.preinstall new file mode 100644 index 00000000000..5fe26a7d81c --- /dev/null +++ b/distrib/i386/floppies/inst/disktab.preinstall @@ -0,0 +1,29 @@ +# Disk geometry and partition layout tables. +# Key: +# dt controller type +# ty type of disk (fixed, removeable, simulated) +# d[0-4] drive-type-dependent parameters +# ns #sectors/track +# nt #tracks/cylinder +# nc #cylinders/disk +# sc #sectors/cylinder, nc*nt default +# su #sectors/unit, sc*nc default +# se sector size, DEV_BSIZE default +# rm rpm, 3600 default +# sf supports bad144-style bad sector forwarding +# sk sector skew per track, default 0 +# cs sector skew per cylinder, default 0 +# hs headswitch time, default 0 +# ts one-cylinder seek time, default 0 +# il sector interleave (n:1), 1 default +# bs boot block size, default BBSIZE +# sb superblock size, default SBSIZE +# o[a-h] partition offsets in sectors +# p[a-h] partition sizes in sectors +# b[a-h] partition block sizes in bytes +# f[a-h] partition fragment sizes in bytes +# t[a-h] partition types (filesystem, swap, etc) +# +# All partition sizes reserve space for bad sector tables. +# (5 cylinders needed for maintenance + replacement sectors) +# diff --git a/distrib/i386/floppies/inst/dot.hdprofile b/distrib/i386/floppies/inst/dot.hdprofile new file mode 100644 index 00000000000..9dd28c2316d --- /dev/null +++ b/distrib/i386/floppies/inst/dot.hdprofile @@ -0,0 +1,62 @@ +# +# Copyright (c) 1994 Christopher G. Demetriou +# 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 Christopher G. Demetriou. +# 4. The name of the author may not be used to endorse or promote products +# derived from this software without specific prior written permission +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 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. +# +# $Id: dot.hdprofile,v 1.1 1995/10/18 08:37:34 deraadt Exp $ + +PATH=/sbin:/bin:/usr/bin:/usr/sbin:/ +export PATH +TERM=pc3 +export TERM + +umask 022 + +if [ "X${DONEPROFILE}" = "X" ]; then + DONEPROFILE=YES + + echo "Checking filesystems..." + fsck -y + + echo "Mounting filesystems..." + mount -a + + # set up some sane defaults + echo 'erase ^?, werase ^W, kill ^U, intr ^C' + stty newcrt werase ^W intr ^C kill ^U erase ^? 9600 + echo '' + + # run update, so that installed software is written as it goes. + update + + # pull in the functions that people will use from the shell prompt. + . /.commonutils + . /.instutils + + echo "Follow the installation directions to install the NetBSD" + echo "distribution sets." +fi diff --git a/distrib/i386/floppies/inst/dot.instutils b/distrib/i386/floppies/inst/dot.instutils new file mode 100644 index 00000000000..3ccf26a7455 --- /dev/null +++ b/distrib/i386/floppies/inst/dot.instutils @@ -0,0 +1,157 @@ +# +# Copyright (c) 1994 Christopher G. Demetriou +# 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 Christopher G. Demetriou. +# 4. The name of the author may not be used to endorse or promote products +# derived from this software without specific prior written permission +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 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. +# +# $Id: dot.instutils,v 1.1 1995/10/18 08:37:34 deraadt Exp $ + +# Installation configuration utilites (functions), to get NetBSD configured +# reasonably once it is installed on the hard disk. These are meant to be +# invoked from the shell prompt, by people installing NetBSD. + +Configure() +{ + DEV=/dev + ETC=/etc + if [ ! -f /etc/fstab ]; then + DEV=/mnt/dev + ETC=/mnt/etc + fi + + echo "You will now be prompted for information about this" + echo "machine. If you hit return, the default answer (in" + echo "brackets) will be used." + + echo "" + echo -n "What is this machine's hostname? [unknown.host.domain] " + read hname + if [ "$hname" = "" ]; then + hname=unknown.host.domain + fi + echo $hname > ${ETC}/myname + proto_domain=`echo $hname | sed -e 's/[^.]*\.//'` + + echo "" + echo "What domain is this machine in (this is NOT its YP" + echo -n "domain name)? [$proto_domain] " + read dname + if [ "$dname" = "" ]; then + dname=$proto_domain + fi + + echo "" + if [ -e $ETC/sendmail.cf ]; then + echo "WARNING: A default sendmail.cf exists, and probably" + echo "needs to be tuned and/or replaced, to work properly at" + echo "your site!" + else + echo "WARNING: No default sendmail.cf installed. Did you" + echo "forget to install the 'etc' distribution?" + fi + + echo "127.0.0.1 localhost localhost.$dname" > ${ETC}/hosts + + echo "" + echo -n "Does this machine have an ethernet interface? [y] " + read resp + case "$resp" in + n*) + ;; + *) + intf= + while [ "$intf" = "" ]; do + echo -n "What is the primary interface name " + echo -n "(e.g. ed0, ep0, etc)? " + read intf + done + echo -n "What is the hostname for this interface? [$hname] " + read ifname + if [ "$ifname" = "" ]; then + ifname=$hname + fi + ifaddr= + while [ "$ifaddr" = "" ]; do + echo -n "What is the IP address associated with " + echo -n "interface ${intf}? " + read ifaddr + done + echo "$ifaddr $ifname `echo $ifname | sed -e s/\.$dname//`" \ + >> ${ETC}/hosts + + echo -n "Does this interface have a special netmask? [n] " + read resp + case "$resp" in + y*) + echo -n "What is the netmask? [0xffffff00] " + read ifnetmask + if [ "$ifnetmask" = "" ]; then + ifnetmask=0xffffff00 + fi + ;; + *) + ifnetmask= + ;; + esac + + echo -n "Does this interface need additional flags? [n] " + read resp + case "$resp" in + y*) + echo -n "What flags? [link0] " + read ifflags + if [ "$ifflags" = "" ]; then + ifflags=link0 + fi + ;; + *) + ifflags= + ;; + esac + echo "inet $ifname $ifnetmask $ifflags" > ${ETC}/hostname.$intf + + echo "" + echo -n "WARNING: if you have any more ethernet interfaces, " + echo "you will have to configure" + echo -n "them by hand. Read the comments in /etc/netstart to " + echo "learn how to do this." + ;; + esac + + echo "" + echo -n "Making device nodes (may take a while)..." + cd ${DEV} + sh MAKEDEV all + echo " done." + + sync + + echo "" + echo "If you haven't already installed a kernel on the hard drive" + echo "using your kernel-copy floppy, do so now. Kernel" + echo "installation instructions can be found in the" + echo "installation notes." +} diff --git a/distrib/i386/floppies/inst/dot.profile b/distrib/i386/floppies/inst/dot.profile new file mode 100644 index 00000000000..d7df5e5dfbf --- /dev/null +++ b/distrib/i386/floppies/inst/dot.profile @@ -0,0 +1,56 @@ +# +# Copyright (c) 1994 Christopher G. Demetriou +# 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 Christopher G. Demetriou. +# 4. The name of the author may not be used to endorse or promote products +# derived from this software without specific prior written permission +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 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. +# +# $Id: dot.profile,v 1.1 1995/10/18 08:37:34 deraadt Exp $ + +PATH=/sbin:/bin:/usr/bin:/usr/sbin:/ +export PATH +TERM=pc3 +export TERM + +umask 022 + +if [ "X${DONEPROFILE}" = "X" ]; then + DONEPROFILE=YES + + # set up some sane defaults + echo 'erase ^?, werase ^W, kill ^U, intr ^C' + stty newcrt werase ^W intr ^C kill ^U erase ^? 9600 + echo '' + + # run update, so that installed software is written as it goes. + update + + # pull in the functions that people will use from the shell prompt. + . /.commonutils + . /.instutils + + # run the installation script. + install +fi diff --git a/distrib/i386/floppies/inst/install.sh b/distrib/i386/floppies/inst/install.sh new file mode 100644 index 00000000000..3e984c2d42e --- /dev/null +++ b/distrib/i386/floppies/inst/install.sh @@ -0,0 +1,483 @@ +#!/bin/sh +# +# Copyright (c) 1994 Christopher G. Demetriou +# 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 Christopher G. Demetriou. +# 4. The name of the author may not be used to endorse or promote products +# derived from this software without specific prior written permission +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 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. +# +# $Id: install.sh,v 1.1 1995/10/18 08:37:34 deraadt Exp $ + +# NetBSD installation script. +# In a perfect world, this would be a nice C program, with a reasonable +# user interface. + +DT=/etc/disktab # /etc/disktab +FSTABDIR=/mnt/etc # /mnt/etc +#DONTDOIT=echo + +VERSION=1.1 +FSTAB=${FSTABDIR}/fstab + +getresp() { + read resp + if [ "X$resp" = "X" ]; then + resp=$1 + fi +} + +echo "Welcome to the NetBSD ${VERSION} installation program." +echo "" +echo "This program is designed to help you put NetBSD on your hard disk," +echo "in a simple and rational way. You'll be asked several questions," +echo "and it would probably be useful to have your disk's hardware" +echo "manual, the installation notes, and a calculator handy." +echo "" +echo "In particular, you will need to know some reasonably detailed" +echo "information about your disk's geometry, because there is currently" +echo "no way this this program can figure that information out." +echo "" +echo "As with anything which modifies your hard drive's contents, this" +echo "program can cause SIGNIFICANT data loss, and you are advised" +echo "to make sure your hard drive is backed up before beginning the" +echo "installation process." +echo "" +echo "Default answers are displyed in brackets after the questions." +echo "You can hit Control-C at any time to quit, but if you do so at a" +echo "prompt, you may have to hit return. Also, quitting in the middle of" +echo "installation may leave your system in an inconsistent state." +echo "" +echo -n "Proceed with installation? [n] " +getresp "n" +case "$resp" in + y*|Y*) + echo "Cool! Let's get to it..." + ;; + *) + echo "" + echo "OK, then. Enter 'halt' at the prompt to halt the" + echo "machine. Once the machine has halted, remove the" + echo "floppy and press any key to reboot." + exit + ;; +esac + +echo "" +echo "To do the installation, you'll need to provide some information about" +echo "your disk." +echo "" +echo "NetBSD can be installed on ST506, ESDI, IDE, or SCSI disks." +echo -n "What kind of disk will you be installing on? [SCSI] " +getresp "SCSI" +case "$resp" in + esdi|ESDI|st506|ST506) + drivetype=wd + echo -n "Does it support _automatic_ sector remapping? [y] " + getresp "y" + case "$resp" in + n*|N*) + sect_fwd="sf:" + ;; + *) + sect_fwd="" + ;; + esac + ;; + ide|IDE) + drivetype=wd + sect_fwd="" + type=ST506 + ;; + scsi|SCSI) + drivetype=sd + sect_fwd="" + type=SCSI + ;; +esac + +# find out what units are possible for that disk, and query the user. +driveunits=`ls /dev/${drivetype}?a | sed -e 's,/dev/\(...\)a,\1,g'` +if [ "X${driveunits}" = "X" ]; then + echo "FATAL ERROR:" + echo "No devices for disks of type '${drivetype}'." + echo "This is probably a bug in the install disks." + echo "Exiting install program." + exit +fi +prefdrive=${drivetype}0 + +echo "" +echo "The following ${drivetype}-type disks are supported by this" +echo "installation procedure:" +echo " "${driveunits} +echo "Note that they may not exist in _your_ machine; the list of" +echo "disks in your machine was printed when the system was booting." +echo "" +while [ "X${drivename}" = "X" ]; do + echo -n "Which disk would like to install on? [${prefdrive}] " + getresp ${prefdrive} + otherdrives=`echo "${driveunits}" | sed -e s,${resp},,` + if [ "X${driveunits}" = "X${otherdrives}" ]; then + echo "" + echo "\"${resp}\" is an invalid drive name. Valid choices" + echo "are: "${driveunits} + echo "" + else + drivename=${resp} + fi +done + +echo "" +echo "Using disk ${drivename}." +echo "" +echo -n "What kind of disk is it? (one word please) [my${drivetype}] " +getresp "my${drivetype}" +labelname=$resp + +echo "" +echo "You will now need to provide some information about your disk's" +echo "geometry. This should either be in the User's Manual for your disk," +echo "or you should have written down what NetBSD printed when booting." +echo "(Note that he geometry that's printed at boot time is preferred.)" +echo "" +echo -n "Number of bytes per disk sector? [512] " +getresp 512 +bytes_per_sect="$resp" + +echo -n "Number of disk cylinders? " +getresp +cyls_per_disk="$resp" + +echo -n "Number of disk tracks (heads) per disk cylinder? " +getresp +tracks_per_cyl="$resp" + +echo -n "Number of disk sectors per disk track? " +getresp +sects_per_track="$resp" + +cylindersize=`expr $sects_per_track \* $tracks_per_cyl` +cylbytes=`expr $cylindersize \* $bytes_per_sect` +disksize=`expr $cylindersize \* $cyls_per_disk` + +echo "" +echo "Your disk has a total of $disksize $bytes_per_sect byte sectors," +echo "arranged as $cyls_per_disk cylinders which contain $cylindersize " +echo "sectors ($cylbytes bytes) each." +echo "" +echo "You can specify partition sizes in cylinders ('c') or sectors ('s')." +while [ "X${sizemult}" = "X" ]; do + echo -n "What units would you like to use? [cylinders] " + getresp cylinders + case "$resp" in + c*|C*) + sizemult=$cylindersize + sizeunit="cylinders" + ;; + s*|S*) + sizemult=1 + sizeunit="sectors" + ;; + *) + echo "" + echo "Enter cylinders ('c') or sectors ('s')." + ;; + esac +done + +if [ $sizeunit = "sectors" ]; then + echo "" + echo "For best disk performance, partitions should begin and end on" + echo "cylinder boundaries. Wherever possible, pick sizes that are" + echo "multiples of the cylinder size ($cylindersize sectors)." +fi + +echo -n "" +echo -n "Size of NetBSD portion of disk (in $sizeunit)? " +getresp +partition=$resp +partition_sects=`expr $resp \* $sizemult` +part_offset=0 +if [ $partition_sects -lt $disksize ]; then + echo -n "Offset of NetBSD portion of disk (in $sizeunit)? " + getresp + part_offset=$resp +fi +badspacesec=0 +if [ "$sect_fwd" = "sf:" ]; then + badspacecyl=`expr $sects_per_track + 126` + badspacecyl=`expr $badspacecyl + $cylindersize - 1` + badspacecyl=`expr $badspacecyl / $cylindersize` + badspacesec=`expr $badspacecyl \* $cylindersize` + echo "" + echo -n "Using $badspacesec sectors ($badspacecyl cylinders) for the " + echo "bad144 bad block table" +fi + +sects_left=`expr $partition_sects - $badspacesec` +units_left=`expr $sects_left / $sizemult` +echo "" +echo "There are $units_left $sizeunit left to allocate." +echo "" +root=0 +while [ $root -eq 0 ]; do + echo -n "Root partition size (in $sizeunit)? " + getresp + case $resp in + [1-9]*) + total=$resp + if [ $total -gt $units_left ]; then + echo -n "Root size is greater than remaining " + echo "free space on disk." + else + root=$resp + fi + ;; + esac +done +root_offset=$part_offset +part_used=`expr $root + $badspacesec / $sizemult` +units_left=`expr $partition - $part_used` +echo "" + +swap=0 +while [ $swap -eq 0 ]; do + echo "$units_left $sizeunit remaining in NetBSD portion of disk." + echo -n "Swap partition size (in $sizeunit)? " + getresp + case $resp in + [1-9]*) + if [ $swap -gt $units_left ]; then + echo -n "Swap size is greater than remaining " + echo "free space on disk." + else + swap=$resp + fi + ;; + esac +done +swap_offset=`expr $root_offset + $root` +part_used=`expr $part_used + $swap` +echo "" + +fragsize=1024 +blocksize=8192 +$DONTDOIT mount -u /dev/fd0a / +cat /etc/disktab.preinstall > $DT +echo "" >> $DT +echo "$labelname|NetBSD installation generated:\\" >> $DT +echo " :dt=${type}:ty=winchester:\\" >> $DT +echo -n " :nc#${cyls_per_disk}:ns#${sects_per_track}" >> $DT +echo ":nt#${tracks_per_cyl}:\\" >> $DT +echo " :se#${bytes_per_sect}:${sect_fwd}\\" >> $DT +_size=`expr $root \* $sizemult` +_offset=`expr $root_offset \* $sizemult` +echo -n " :pa#${_size}:oa#${_offset}" >> $DT +echo ":ta=4.2BSD:ba#${blocksize}:fa#${fragsize}:\\" >> $DT +_size=`expr $swap \* $sizemult` +_offset=`expr $swap_offset \* $sizemult` +echo " :pb#${_size}:ob#${_offset}:tb=swap:\\" >> $DT +_size=`expr $partition \* $sizemult` +_offset=`expr $part_offset \* $sizemult` +echo " :pc#${_size}:oc#${_offset}:\\" >> $DT + +echo "You will now have to enter information about any other partitions" +echo "to be created in the NetBSD portion of the disk. This process will" +echo "be complete when you've filled up all remaining space in the NetBSD" +echo "portion of the disk." + +while [ $part_used -lt $partition ]; do + part_size=0 + units_left=`expr $partition - $part_used` + while [ $part_size -eq 0 ]; do + echo "" + echo -n "$units_left $sizeunit remaining in NetBSD portion of " + echo "the disk" + echo -n "Next partition size (in $sizeunit)? " + getresp + case $resp in + [1-9]*) + total=`expr $part_used + $resp` + if [ $total -gt $partition ]; then + echo -n "That would make the parition" + echo "too large to fit!" + else + part_size=$resp + part_used=$total + part_name="" + while [ "$part_name" = "" ]; do + echo -n "Mount point? " + getresp + part_name=$resp + done + fi + ;; + esac + done + if [ "$ename" = "" ]; then + ename=$part_name + offset=`expr $part_offset + $root + $swap` + _size=`expr $part_size \* $sizemult` + _offset=`expr $offset \* $sizemult` + echo -n " :pe#${_size}:oe#${_offset}" >> $DT + echo ":te=4.2BSD:be#${blocksize}:fe#${fragsize}:\\" >> $DT + offset=`expr $offset + $part_size` + elif [ "$fname" = "" ]; then + fname=$part_name + _size=`expr $part_size \* $sizemult` + _offset=`expr $offset \* $sizemult` + echo -n " :pf#${_size}:of#${_offset}" >> $DT + echo ":tf=4.2BSD:bf#${blocksize}:ff#${fragsize}:\\" >> $DT + offset=`expr $offset + $part_size` + elif [ "$gname" = "" ]; then + gname=$part_name + _size=`expr $part_size \* $sizemult` + _offset=`expr $offset \* $sizemult` + echo -n " :pg#${_size}:og#${_offset}" >> $DT + echo ":tg=4.2BSD:bg#${blocksize}:fg#${fragsize}:\\" >> $DT + offset=`expr $offset + $part_size` + elif [ "$hname" = "" ]; then + hname=$part_name + _size=`expr $part_size \* $sizemult` + _offset=`expr $offset \* $sizemult` + echo -n " :ph#${_size}:oh#${_offset}" >> $DT + echo ":th=4.2BSD:bh#${blocksize}:fh#${fragsize}:\\" >> $DT + part_used=$partition + fi +done +echo " :pd#${disksize}:od#0:" >> $DT +sync + +echo "" +echo "THIS IS YOUR LAST CHANCE!!!" +echo "" +echo -n "Are you SURE you want NetBSD installed on your hard drive? (yes/no) " +answer="" +while [ "$answer" = "" ]; do + getresp + case $resp in + yes|YES) + echo "" + echo "Here we go..." + answer=yes + ;; + no|NO) + echo "" + echo -n "OK, then. enter 'halt' to halt the machine. " + echo "Once the machine has halted," + echo -n "remove the floppy, and press any key to " + echo "reboot." + exit + ;; + *) + echo -n "I want a yes or no answer... well? " + ;; + esac +done + +echo "" +echo -n "Labeling disk $drivename..." +$DONTDOIT disklabel -w -B $drivename $labelname +echo " done." + +if [ "$sect_fwd" = "sf:" ]; then + echo -n "Initializing bad144 badblock table..." + $DONTDOIT bad144 $drivename 0 + echo " done." +fi + +echo "Initializing root filesystem, and mounting..." +$DONTDOIT newfs /dev/r${drivename}a $name +$DONTDOIT mount -v /dev/${drivename}a /mnt +if [ "$ename" != "" ]; then + echo "" + echo "Initializing $ename filesystem, and mounting..." + $DONTDOIT newfs /dev/r${drivename}e $name + $DONTDOIT mkdir -p /mnt/$ename + $DONTDOIT mount -v /dev/${drivename}e /mnt/$ename +fi +if [ "$fname" != "" ]; then + echo "" + echo "Initializing $fname filesystem, and mounting..." + $DONTDOIT newfs /dev/r${drivename}f $name + $DONTDOIT mkdir -p /mnt/$fname + $DONTDOIT mount -v /dev/${drivename}f /mnt/$fname +fi +if [ "$gname" != "" ]; then + echo "" + echo "Initializing $gname filesystem, and mounting..." + $DONTDOIT newfs /dev/r${drivename}g $name + $DONTDOIT mkdir -p /mnt/$gname + $DONTDOIT mount -v /dev/${drivename}g /mnt/$gname +fi +if [ "$hname" != "" ]; then + echo "" + echo "Initializing $hname filesystem, and mounting..." + $DONTDOIT newfs /dev/r${drivename}h $name + $DONTDOIT mkdir -p /mnt/$hname + $DONTDOIT mount -v /dev/${drivename}h /mnt/$hname +fi + +echo "" +echo "Populating filesystems with bootstrapping binaries and config files" +$DONTDOIT tar --one-file-system -cf - . | (cd /mnt ; tar --unlink -xpf - ) +$DONTDOIT cp /tmp/.hdprofile /mnt/.profile + +echo "" +echo -n "Creating an fstab..." +echo /dev/${drivename}a / ffs rw 1 1 | sed -e s,//,/, > $FSTAB +if [ "$ename" != "" ]; then + echo /dev/${drivename}e /$ename ffs rw 1 2 | sed -e s,//,/, >> $FSTAB +fi +if [ "$fname" != "" ]; then + echo /dev/${drivename}f /$fname ffs rw 1 3 | sed -e s,//,/, >> $FSTAB +fi +if [ "$gname" != "" ]; then + echo /dev/${drivename}g /$gname ffs rw 1 4 | sed -e s,//,/, >> $FSTAB +fi +if [ "$hname" != "" ]; then + echo /dev/${drivename}h /$hname ffs rw 1 5 | sed -e s,//,/, >> $FSTAB +fi +sync +echo " done." + +echo "" +echo "" +echo "OK! The preliminary work of setting up your disk is now complete." +echo "" +echo "The remaining tasks are:" +echo "" +echo "To copy a NetBSD kernel to the hard drive's root filesystem." +echo "Once accomplished, you can boot off the hard drive." +echo "" +echo "To load and install the NetBSD distribution sets." +echo "Currently the hard drive's root filesystem is mounted on /mnt" +echo "" +echo "Consult the installation notes which will describe how to" +echo "install the distribution sets and kernel. Post-installation" +echo "configuration is also discussed therein." +echo "" +echo "GOOD LUCK!" +echo "" diff --git a/distrib/i386/floppies/inst/list b/distrib/i386/floppies/inst/list new file mode 100644 index 00000000000..29b8a3d646e --- /dev/null +++ b/distrib/i386/floppies/inst/list @@ -0,0 +1,11 @@ +# $Id: list,v 1.1 1995/10/18 08:37:34 deraadt Exp $ + +# the disktab explanation file +COPY disktab.preinstall etc/disktab.preinstall + +# and the installation tools +COPY dot.profile .profile +COPY dot.instutils .instutils +COPY install.sh install +COPY dot.hdprofile tmp/.hdprofile +SPECIAL chmod 755 install diff --git a/distrib/i386/floppies/kc-common/Makefile.inc b/distrib/i386/floppies/kc-common/Makefile.inc new file mode 100644 index 00000000000..f4424c85db9 --- /dev/null +++ b/distrib/i386/floppies/kc-common/Makefile.inc @@ -0,0 +1,50 @@ +# $Id: Makefile.inc,v 1.1 1995/10/18 08:37:34 deraadt Exp $ + +# TOP is assumed to be defined by Makefile including this one. + +CBIN= kcbin +COMMONDIR= ${TOP}/kc-common + +MOUNT_POINT?= /mnt +VND?= vnd0 +VND_DEV= /dev/${VND}a +VND_RDEV= /dev/r${VND}a +IMAGE?= xxx-${REV}.fs +MDEC= ${DESTDIR}/usr/mdec + +LISTS= ${COMMONDIR}/list ${.CURDIR}/list +CRUNCHCONF= ${COMMONDIR}/${CBIN}.conf +MTREE= ${COMMONDIR}/mtree.conf + +all: ${CBIN} + dd if=/dev/zero of=${IMAGE} bs=100k count=12 + vnconfig -v -c ${VND_DEV} ${IMAGE} + disklabel -w -B -b ${MDEC}/fdboot -s ${MDEC}/bootfd ${VND} floppy5 + newfs -O -m 0 -o space -i 6144 -c 80 ${VND_RDEV} floppy5 + mount ${VND_DEV} ${MOUNT_POINT} + mtree -def ${MTREE} -p ${MOUNT_POINT}/ -u + TOPDIR=${TOP} CURDIR=${.CURDIR} OBJDIR=${.OBJDIR} \ + TARGDIR=${MOUNT_POINT} sh ${TOP}/runlist.sh ${LISTS} + @echo "" + @df -i ${MOUNT_POINT} + @echo "" + umount ${MOUNT_POINT} + vnconfig -u ${VND_DEV} + cat /*bin/* > /dev/null + +unconfig: + -umount -f ${MOUNT_POINT} + -vnconfig -u ${VND_DEV} + -/bin/rm -f ${IMAGE} + +${CBIN}.mk ${CBIN}.cache ${CBIN}.c: ${CRUNCHCONF} + crunchgen -D ${TOP}/../../.. -L ${DESTDIR}/usr/lib ${CRUNCHCONF} + +${CBIN}: ${CBIN}.mk ${CBIN}.cache ${CBIN}.c + make -f ${CBIN}.mk all + +clean cleandir: + /bin/rm -f core ${IMAGE} ${CBIN} ${CBIN}.mk ${CBIN}.cache *.o *.lo *.c + +.include <bsd.obj.mk> +.include <bsd.subdir.mk> diff --git a/distrib/i386/floppies/kc-common/copy_kernel.sh b/distrib/i386/floppies/kc-common/copy_kernel.sh new file mode 100644 index 00000000000..1999d300c91 --- /dev/null +++ b/distrib/i386/floppies/kc-common/copy_kernel.sh @@ -0,0 +1,113 @@ +# $Id: copy_kernel.sh,v 1.1 1995/10/18 08:37:35 deraadt Exp $ +# +# Kernel copy script + +DEFAULT_PARTITON=sd0a +MOUNT_POINT=/mnt +KERNEL_NAME=/netbsd +#TEST=testfn + +testfn() { + echo $* + sleep 5 +} + +cancel() { + echo "" + echo "Copy cancelled." + exit 1 +} + +umountfs() { + echo "Unmounting filesystem; please wait." + trap 2 3 + ${TEST} umount ${MOUNT_POINT} + case $? in + 0) + ;; + *) + echo "Warning: Unmount of ${MOUNT_POINT} failed." + ;; + esac +} + +warning() { + echo "" + echo "Copy failed or was interrupted." + echo "Warning: Copied kernel my be corrupted!" +} + +trap "cancel;" 2 3 +echo "NetBSD kernel copy program" +echo "" +echo "Default answers are displayed in brackets. You may hit Control-C" +echo "at any time to cancel this operation (though if you hit Control-C at" +echo "a prompt, you need to hit return for it to be noticed)." + +echo "" +echo "What disk partition should the kernel be installed on?" +echo "(For example, \"sd0a\", \"wd0a\", etc.)" +echo "" +echo -n "Partition? [${DEFAULT_PARTITON}] " +read diskpart +if [ "X${diskpart}" = "X" ]; then + diskpart=${DEFAULT_PARTITON} +fi +rawdiskpart="r${diskpart}" + +echo "" +echo -n "Are you sure you want to copy a new kernel to ${diskpart}? [n] " +read reply +case ${reply} in +y*|Y*) + ;; +*) + cancel + ;; +esac + +echo "" +echo "Checking ${diskpart} partition; please wait." +${TEST} fsck -p "/dev/${rawdiskpart}" +case $? in +0) + ;; +*) + echo "File system check failed or aborted!" + cancel + ;; +esac + +echo "Mounting /dev/${diskpart} on ${MOUNT_POINT}." +trap "echo ''; umountfs; cancel;" 2 3 +${TEST} mount "/dev/${diskpart}" ${MOUNT_POINT} +case $? in +0) + ;; +*) + echo "Mount failed!" + cancel + ;; +esac + +echo "Copying kernel to ${MOUNT_POINT}." +trap "warning; umountfs; cancel;" 2 3 +${TEST} cp ${KERNEL_NAME} ${MOUNT_POINT} +case $? in +0) + ;; +*) + warning + umountfs + cancel + ;; +esac + +umountfs + +echo "" +echo "Copy completed." +echo "" +echo "Use \"halt\" to halt the system, then (when the system is halted)" +echo "eject the floppy disk and hit any key to reboot from the hard disk." +exit 0 diff --git a/distrib/i386/floppies/kc-common/dot.profile b/distrib/i386/floppies/kc-common/dot.profile new file mode 100644 index 00000000000..cb488010091 --- /dev/null +++ b/distrib/i386/floppies/kc-common/dot.profile @@ -0,0 +1,13 @@ +# $Id: dot.profile,v 1.1 1995/10/18 08:37:35 deraadt Exp $ + +PATH=/sbin:/bin:/ +export PATH + +if [ "X${DONEPROFILE}" = "X" ]; then + DONEPROFILE=YES + + echo -n "Enter 'copy_kernel' at the prompt to copy a kernel to your " + echo "hard disk," + echo "'reboot' to reboot the system, or 'halt' to halt the system." + echo "" +fi diff --git a/distrib/i386/floppies/kc-common/kcbin.conf b/distrib/i386/floppies/kc-common/kcbin.conf new file mode 100644 index 00000000000..0a001e2e7cd --- /dev/null +++ b/distrib/i386/floppies/kc-common/kcbin.conf @@ -0,0 +1,15 @@ +# +# kcbin.conf - unified binary for the kc floppy +# $Id: kcbin.conf,v 1.1 1995/10/18 08:37:35 deraadt Exp $ +# + +srcdirs bin sbin + +progs cp dd disklabel fsck init mount mount_ffs reboot sh test umount + +ln test [ +ln mount_ffs ffs +ln reboot halt +ln sh -sh # init invokes the shell this way + +libs -ledit -lutil -ltermcap -lcrypt -ll diff --git a/distrib/i386/floppies/kc-common/list b/distrib/i386/floppies/kc-common/list new file mode 100644 index 00000000000..2caf7cd544b --- /dev/null +++ b/distrib/i386/floppies/kc-common/list @@ -0,0 +1,31 @@ +# $Id: list,v 1.1 1995/10/18 08:37:35 deraadt Exp $ + +# copy the crunched binary, link to it, and kill it +COPY ${OBJDIR}/kcbin kcbin +LINK kcbin bin/cp +LINK kcbin bin/dd +LINK kcbin bin/sh +LINK kcbin bin/test +LINK kcbin bin/[ +LINK kcbin sbin/disklabel +LINK kcbin sbin/fsck +LINK kcbin sbin/halt +LINK kcbin sbin/init +LINK kcbin sbin/mount +LINK kcbin sbin/mount_ffs +LINK kcbin sbin/reboot +LINK kcbin sbin/umount +SPECIAL /bin/rm kcbin + +# copy the MAKEDEV script and make some devices +COPY ${CURDIR}/../../../../etc/etc.i386/MAKEDEV dev/MAKEDEV +SPECIAL cd dev; sh MAKEDEV floppy +SPECIAL /bin/rm dev/MAKEDEV + +# we need the contents of /usr/mdec +COPYDIR ${DESTDIR}/usr/mdec usr/mdec + +# copy the common kc-floppy tools +COPY ${TOPDIR}/kc-common/dot.profile .profile +COPY ${TOPDIR}/kc-common/copy_kernel.sh copy_kernel +SPECIAL chmod 755 copy_kernel diff --git a/distrib/i386/floppies/kc-common/mtree.conf b/distrib/i386/floppies/kc-common/mtree.conf new file mode 100644 index 00000000000..513f5b98ed4 --- /dev/null +++ b/distrib/i386/floppies/kc-common/mtree.conf @@ -0,0 +1,36 @@ +# $Id: mtree.conf,v 1.1 1995/10/18 08:37:35 deraadt Exp $ + +/set type=dir uname=root gname=wheel mode=0755 +# . +. + +# ./bin +bin +# ./bin +.. + +# ./dev +dev +# ./dev +.. + +#./mnt +mnt +# ./mnt +.. + +# ./sbin +sbin +# ./sbin +.. + +# ./usr +usr + +# ./usr/mdec +mdec +# ./usr/mdec +.. + +# ./usr +.. diff --git a/distrib/i386/floppies/kc/Makefile b/distrib/i386/floppies/kc/Makefile new file mode 100644 index 00000000000..4b28f0c565a --- /dev/null +++ b/distrib/i386/floppies/kc/Makefile @@ -0,0 +1,8 @@ +# $Id: Makefile,v 1.1 1995/10/18 08:37:35 deraadt Exp $ + +TOP= ${.CURDIR}/.. + +.include "${TOP}/Makefile.inc" +IMAGE= kc-${REV}.fs + +.include "${TOP}/kc-common/Makefile.inc" diff --git a/distrib/i386/floppies/kc/list b/distrib/i386/floppies/kc/list new file mode 100644 index 00000000000..811e95ccd03 --- /dev/null +++ b/distrib/i386/floppies/kc/list @@ -0,0 +1,4 @@ +# $Id: list,v 1.1 1995/10/18 08:37:35 deraadt Exp $ + +# copy the kernel +COPY ${CURDIR}/../../../../sys/arch/i386/compile/INSTALL/netbsd netbsd diff --git a/distrib/i386/floppies/list2sh.awk b/distrib/i386/floppies/list2sh.awk new file mode 100644 index 00000000000..6d7898148ec --- /dev/null +++ b/distrib/i386/floppies/list2sh.awk @@ -0,0 +1,55 @@ +# $Id: list2sh.awk,v 1.1 1995/10/18 08:37:33 deraadt Exp $ + +BEGIN { + printf("cd ${CURDIR}\n"); + printf("\n"); +} +/^$/ || /^#/ { + print $0; + next; +} +$1 == "COPY" { + printf("echo '%s'\n", $0); + printf("rm -f ${TARGDIR}/%s\n", $3); + printf("cp %s ${TARGDIR}/%s\n", $2, $3); + next; +} +$1 == "LINK" { + printf("echo '%s'\n", $0); + printf("rm -f ${TARGDIR}/%s\n", $3); + printf("(cd ${TARGDIR}; ln %s %s)\n", $2, $3); + next; +} +$1 == "SYMLINK" { + printf("echo '%s'\n", $0); + printf("rm -f ${TARGDIR}/%s\n", $3); + printf("(cd ${TARGDIR}; ln -s %s %s)\n", $2, $3); + next; +} +$1 == "COPYDIR" { + printf("echo '%s'\n", $0); + printf("(cd ${TARGDIR}/%s && find . ! -name . | xargs /bin/rm -rf)\n", + $3); + printf("(cd %s && find . ! -name . | cpio -pdamu ${TARGDIR}/%s)\n", $2, + $3); + next; +} +$1 == "SPECIAL" { + printf("echo '%s'\n", $0); + printf("(cd ${TARGDIR};"); + for (i = 2; i <= NF; i++) + printf(" %s", $i); + printf(")\n"); + next; +} +{ + printf("echo '%s'\n", $0); + printf("echo 'Unknown keyword \"%s\" at line %d of input.'\n", $1, NR); + printf("exit 1\n"); + exit 1; +} +END { + printf("\n"); + printf("exit 0\n"); + exit 0; +} diff --git a/distrib/i386/floppies/runlist.sh b/distrib/i386/floppies/runlist.sh new file mode 100644 index 00000000000..72d01961287 --- /dev/null +++ b/distrib/i386/floppies/runlist.sh @@ -0,0 +1,13 @@ +# $Id: runlist.sh,v 1.1 1995/10/18 08:37:33 deraadt Exp $ + +if [ "X$1" = "X-d" ]; then + SHELLCMD=cat + shift +else + SHELLCMD="sh -e" +fi + +( while [ "X$1" != "X" ]; do + cat $1 + shift +done ) | awk -f ${TOPDIR}/list2sh.awk | ${SHELLCMD} diff --git a/distrib/i386/floppies/upgr/Makefile b/distrib/i386/floppies/upgr/Makefile new file mode 100644 index 00000000000..0ba5f863164 --- /dev/null +++ b/distrib/i386/floppies/upgr/Makefile @@ -0,0 +1,8 @@ +# $Id: Makefile,v 1.1 1995/10/18 08:37:35 deraadt Exp $ + +TOP= ${.CURDIR}/.. + +.include "${TOP}/Makefile.inc" +IMAGE= upgr-${REV}.fs + +.include "${TOP}/inst-common/Makefile.inc" diff --git a/distrib/i386/floppies/upgr/dot.hdprofile b/distrib/i386/floppies/upgr/dot.hdprofile new file mode 100644 index 00000000000..f1fa65b4a9d --- /dev/null +++ b/distrib/i386/floppies/upgr/dot.hdprofile @@ -0,0 +1,62 @@ +# +# Copyright (c) 1994 Christopher G. Demetriou +# 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 Christopher G. Demetriou. +# 4. The name of the author may not be used to endorse or promote products +# derived from this software without specific prior written permission +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 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. +# +# $Id: dot.hdprofile,v 1.1 1995/10/18 08:37:35 deraadt Exp $ + +PATH=/sbin:/bin:/usr/bin:/usr/sbin:/ +export PATH +TERM=pc3 +export TERM + +umask 022 + +if [ "X${DONEPROFILE}" = "X" ]; then + DONEPROFILE=YES + + echo "Checking filesystems..." + fsck -y + + echo "Mounting filesystems..." + mount -a + + # set up some sane defaults + echo 'erase ^?, werase ^W, kill ^U, intr ^C' + stty newcrt werase ^W intr ^C kill ^U erase ^? 9600 + echo '' + + # run update, so that installed software is written as it goes. + update + + # pull in the functions that people will use from the shell prompt. + . /.commonutils + . /.upgrutils + + echo "Follow the installation directions to install the NetBSD" + echo "distribution sets." +fi diff --git a/distrib/i386/floppies/upgr/dot.profile b/distrib/i386/floppies/upgr/dot.profile new file mode 100644 index 00000000000..6c7d5adc48b --- /dev/null +++ b/distrib/i386/floppies/upgr/dot.profile @@ -0,0 +1,56 @@ +# +# Copyright (c) 1994 Christopher G. Demetriou +# 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 Christopher G. Demetriou. +# 4. The name of the author may not be used to endorse or promote products +# derived from this software without specific prior written permission +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 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. +# +# $Id: dot.profile,v 1.1 1995/10/18 08:37:35 deraadt Exp $ + +PATH=/sbin:/bin:/usr/bin:/usr/sbin:/ +export PATH +TERM=pc3 +export TERM + +umask 022 + +if [ "X${DONEPROFILE}" = "X" ]; then + DONEPROFILE=YES + + # set up some sane defaults + echo 'erase ^?, werase ^W, kill ^U, intr ^C' + stty newcrt werase ^W intr ^C kill ^U erase ^? 9600 + echo '' + + # run update, so that installed software is written as it goes. + update + + # pull in the functions that people will use from the shell prompt. + . /.commonutils + . /.upgrutils + + # run the upgrade script. + upgrade +fi diff --git a/distrib/i386/floppies/upgr/dot.upgrutils b/distrib/i386/floppies/upgr/dot.upgrutils new file mode 100644 index 00000000000..afc8f3df2cd --- /dev/null +++ b/distrib/i386/floppies/upgr/dot.upgrutils @@ -0,0 +1,58 @@ +# +# Copyright (c) 1994 Christopher G. Demetriou +# 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 Christopher G. Demetriou. +# 4. The name of the author may not be used to endorse or promote products +# derived from this software without specific prior written permission +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 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. +# +# $Id: dot.upgrutils,v 1.1 1995/10/18 08:37:35 deraadt Exp $ + +# Upgrade cleanup utilites (functions), to make sure a recently-upgraded +# system is safely runnable. These are meant to be invoked from the shell +# prompt, by people installing NetBSD. + +Cleanup() +{ + upgrade_dir=/ + + if [ ! -f /etc/fstab ]; then + upgrade_dir=/mnt + fi + + echo "Cleaning up miscellaneous files in /etc..." + mv $upgrade_dir/etc/rc.bak $upgrade_dir/etc/rc + chroot $upgrade_dir /usr/sbin/pwd_mkdb -p /etc/master.passwd + chroot $upgrade_dir /bin/rm /etc/sendmail.fc > /dev/null 2>&1 + sync + echo "Done." + + echo "" + echo "All that's left to do now is to install a new NetBSD kernel" + echo "on your hard disk. You should now halt your machine using" + echo "the 'halt' command. Once the machine is halted, replace the" + echo "installation floppy with the kernel-copy floppy and hit any" + echo "key to reboot. Use the kernel-copy floppy to copy a kernel" + echo "to your hard disk." +} diff --git a/distrib/i386/floppies/upgr/list b/distrib/i386/floppies/upgr/list new file mode 100644 index 00000000000..eb3850b4daa --- /dev/null +++ b/distrib/i386/floppies/upgr/list @@ -0,0 +1,8 @@ +# $Id: list,v 1.1 1995/10/18 08:37:35 deraadt Exp $ + +# and the upgrade tools +COPY dot.profile .profile +COPY dot.upgrutils .upgrutils +COPY upgrade.sh upgrade +COPY dot.hdprofile tmp/.hdprofile +SPECIAL chmod 755 upgrade diff --git a/distrib/i386/floppies/upgr/upgrade.sh b/distrib/i386/floppies/upgr/upgrade.sh new file mode 100644 index 00000000000..8ac8eb5bbdf --- /dev/null +++ b/distrib/i386/floppies/upgr/upgrade.sh @@ -0,0 +1,253 @@ +#!/bin/sh +# +# Copyright (c) 1994 Christopher G. Demetriou +# 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 Christopher G. Demetriou. +# 4. The name of the author may not be used to endorse or promote products +# derived from this software without specific prior written permission +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 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. +# +# $Id: upgrade.sh,v 1.1 1995/10/18 08:37:35 deraadt Exp $ + +# NetBSD upgrade script. +# In a perfect world, this would be a nice C program, with a reasonable +# user interface. + +DT=/etc/disktab # /etc/disktab +FSTABDIR=/mnt/etc # /mnt/etc +#DONTDOIT=echo + +VERSION=1.0 +FSTAB=${FSTABDIR}/fstab + +getresp() { + read resp + if [ "X$resp" = "X" ]; then + resp=$1 + fi +} + +echo "Welcome to the NetBSD ${VERSION} upgrade program." +echo "" +echo "This program is designed to help you put the new version of NetBSD" +echo "on your hard disk, in a simple and rational way. To upgrade, you" +echo "must have plenty of free space on all partitions which will be" +echo "upgraded. If you have at least 1MB free on your root partition," +echo "and several free on your /usr patition, you should be fine." +echo "" +echo "As with anything which modifies your hard drive's contents, this" +echo "program can cause SIGNIFICANT data loss, and you are advised" +echo "to make sure your hard drive is backed up before beginning the" +echo "upgrade process." +echo "" +echo "Default answers are displyed in brackets after the questions." +echo "You can hit Control-C at any time to quit, but if you do so at a" +echo "prompt, you may have to hit return. Also, quitting in the middle of" +echo "the upgrade may leave your system in an inconsistent (and unusable)" +echo "state." +echo "" +echo -n "Proceed with upgrade? [n] " +getresp "n" +case "$resp" in + y*|Y*) + echo "Cool! Let's get to it..." + ;; + *) + echo "" + echo "OK, then. Enter 'halt' at the prompt to halt the" + echo "machine. Once the machine has halted, remove the" + echo "floppy and press any key to reboot." + exit + ;; +esac + +# find out what units are possible, and query the user. +driveunits=`ls /dev/[sw]d?a | sed -e 's,/dev/\(...\)a,\1,g'` +if [ "X${driveunits}" = "X" ]; then + echo "FATAL ERROR:" + echo "No disk devices." + echo "This is probably a bug in the install disks." + echo "Exiting install program." + exit +fi + +echo "" +echo "The following disks are supported by this upgrade procedure:" +echo " "${driveunits} +echo "If your system was previously completely contained within the" +echo "disks listed above (i.e. if your system didn't occupy any space" +echo "on disks NOT listed above), this upgrade disk can upgrade your" +echo "system. If it cannot, hit Control-C at the prompt." +echo "" +while [ "X${drivename}" = "X" ]; do + echo -n "Which disk contains your root partion? " + getresp + otherdrives=`echo "${driveunits}" | sed -e s,${resp},,` + if [ "X${driveunits}" = "X${otherdrives}" ]; then + echo "" + echo "\"${resp}\" is an invalid drive name. Valid choices" + echo "are: "${driveunits} + echo "" + else + drivename=${resp} + fi +done + +echo "" +echo "Root partition is on ${drivename}a." + +echo "" +echo "Would you like to upgrade your file systems to the new file system" +echo -n "format? [y] " +getresp "y" +case "$resp" in + n*|N*) + echo "" + echo "You should upgrade your file systems with 'fsck -c 2'" + echo "as soon as is feasible, because the new file system" + echo "code is better-tested and more performant." + upgradefs=NO + ;; + *) + upgradefs=YES + ;; +esac + +if [ $upgradefs = YES ]; then + echo "" + echo "Upgrading the file system on ${drivename}a..." + + fsck -p -c 2 /dev/r${drivename}a + if [ $? != 0 ]; then + echo "FATAL ERROR: FILE SYSTEM UPGRADE FAILED." + echo "You should probably reboot the machine, fsck your" + echo "disk(s), and try the upgrade procedure again." + exit 1 + fi + echo "Done." +fi + +echo "" +echo "Mounting root partition on /mnt..." +mount /dev/${drivename}a /mnt +if [ $? != 0 ]; then + echo "FATAL ERROR: MOUNT FAILED." + echo "You should verify that your system is set up as you" + echo "described, and re-attempt the upgrade procedure." + exit 1 +fi +echo "Done." + +if [ $upgradefs = YES ]; then + echo "" + echo -n "Copying new fsck binary to your hard disk..." + if [ ! -d /mnt/sbin ]; then + mkdir /mnt/sbin + fi + cp /sbin/fsck /mnt/sbin/fsck + if [ $? != 0 ]; then + echo "FATAL ERROR: COPY FAILED." + echo "It in unclear why this error would occur. It looks" + echo "like you may end up having to upgrade by hand." + exit 1 + fi + echo " Done." + + echo "" + echo "Re-mounting root partition read-only..." + mount -u -o ro /dev/${drivename}a /mnt + if [ $? != 0 ]; then + echo "FATAL ERROR: RE-MOUNT FAILED." + echo "It in unclear why this error would occur. It looks" + echo "like you may end up having to upgrade by hand." + exit 1 + fi + echo "Done." + + echo "" + echo "Upgrading the rest of your file systems..." + chroot /mnt fsck -p -c 2 + if [ $? != 0 ]; then + echo "FATAL ERROR: FILE SYSTEM UPGRADE(S) FAILED." + echo "You should probably reboot the machine, fsck your" + echo "file system(s), and try the upgrade procedure" + echo "again." + exit 1 + fi + echo "Done." + + echo "" + echo "Re-mounting root partition read-write..." + mount -u -o rw /dev/${drivename}a /mnt + if [ $? != 0 ]; then + echo "FATAL ERROR: RE-MOUNT FAILED." + echo "It in unclear why this error would occur. It looks" + echo "like you may end up having to upgrade by hand." + exit 1 + fi + echo "Done." +fi + +echo "" +echo "Updating boot blocks on ${drivename}..." +disklabel -r $drivename > /mnt/tmp/${drivename}.label +if [ $? != 0 ]; then + echo "FATAL ERROR: READ OF DISK LABEL FAILED." + echo "It in unclear why this error would occur. It looks" + echo "like you may end up having to upgrade by hand." + exit 1 +fi +disklabel -R -B $drivename /mnt/tmp/${drivename}.label +if [ $? != 0 ]; then + echo "FATAL ERROR: UPDATE OF DISK LABEL FAILED." + echo "It in unclear why this error would occur. It looks" + echo "like you may end up having to upgrade by hand." + exit 1 +fi +echo "Done." + +echo "" +echo "Copying bootstrapping binaries and config files to the hard drive..." +$DONTDOIT cp /mnt/.profile /mnt/.profile.bak +$DONTDOIT tar --exclude etc --one-file-system -cf - . | (cd /mnt ; tar --unlink -xpf - ) +$DONTDOIT mv /mnt/etc/rc /mnt/etc/rc.bak +$DONTDOIT cp /tmp/.hdprofile /mnt/.profile + +echo "" +echo "Mounting remaining partitions..." +chroot /mnt mount -at ufs > /dev/null 2>&1 +echo "Done." + +echo "" +echo "" +echo "OK! The preliminary work of setting up your disk is now complete," +echo "and you can now upgrade the actual NetBSD software." +echo "" +echo "Right now, your hard disk is mounted on /mnt. You should consult" +echo "the installation notes to determine how to load and install the new" +echo "NetBSD distribution sets, and how to clean up after the upgrade" +echo "software, when you are done." +echo "" +echo "GOOD LUCK!" +echo "" diff --git a/distrib/mac68k/Makefile b/distrib/mac68k/Makefile new file mode 100644 index 00000000000..b0ce0865ae0 --- /dev/null +++ b/distrib/mac68k/Makefile @@ -0,0 +1,5 @@ +# $NetBSD: Makefile,v 1.1 1995/07/18 04:12:51 briggs Exp $ + +SUBDIR= inst + +.include <bsd.subdir.mk> diff --git a/distrib/mac68k/Makefile.inc b/distrib/mac68k/Makefile.inc new file mode 100644 index 00000000000..3afe8f45c8b --- /dev/null +++ b/distrib/mac68k/Makefile.inc @@ -0,0 +1,4 @@ +# $NetBSD: Makefile.inc,v 1.1 1995/07/18 04:12:57 briggs Exp $ + +# Revision is 1.0 +REV= 10 diff --git a/distrib/mac68k/inst-common/Makefile.inc b/distrib/mac68k/inst-common/Makefile.inc new file mode 100644 index 00000000000..c245b49f300 --- /dev/null +++ b/distrib/mac68k/inst-common/Makefile.inc @@ -0,0 +1,50 @@ +# +# $NetBSD: Makefile.inc,v 1.1 1995/07/18 04:13:14 briggs Exp $ +# + +# TOP is assumed to be defined by Makefile including this one. + +CBIN= raminst +COMMONDIR= ${TOP}/inst-common + +MOUNT_POINT?= /mnt +VND?= vnd0 +VND_DEV= /dev/${VND}c +VND_RDEV= /dev/r${VND}c +IMAGE?= xxx-${REV}.fs +MDEC= ${DESTDIR}/usr/mdec + +LISTS= ${COMMONDIR}/list ${.CURDIR}/list +CRUNCHCONF= ${COMMONDIR}/${CBIN}.conf +MTREE= ${COMMONDIR}/mtree.conf + +all: ${CBIN} + dd if=/dev/zero of=${IMAGE} bs=1k count=1024 + vnconfig -v -c ${VND_DEV} ${IMAGE} + newfs -m 0 -o space -i 16384 ${VND_RDEV} ram + mount ${VND_DEV} ${MOUNT_POINT} + mtree -def ${MTREE} -p ${MOUNT_POINT}/ -u + TOPDIR=${TOP} CURDIR=${.CURDIR} OBJDIR=${.OBJDIR} \ + TARGDIR=${MOUNT_POINT} sh ${TOP}/runlist.sh ${LISTS} + @echo "" + @df -i ${MOUNT_POINT} + @echo "" + umount ${MOUNT_POINT} + vnconfig -u ${VND_DEV} + +unconfig: + -umount -f ${MOUNT_POINT} + -vnconfig -u ${VND_DEV} + -/bin/rm -f ${IMAGE} + +${CBIN}.mk ${CBIN}.cache ${CBIN}.c: ${CRUNCHCONF} + crunchgen ${CRUNCHCONF} + +${CBIN}: ${CBIN}.mk ${CBIN}.cache ${CBIN}.c + make -f ${CBIN}.mk all + +clean cleandir: + /bin/rm -f core ${IMAGE} ${CBIN} ${CBIN}.mk ${CBIN}.cache *.o *.lo *.c + +.include <bsd.obj.mk> +.include <bsd.subdir.mk> diff --git a/distrib/mac68k/inst-common/dot.commonutils b/distrib/mac68k/inst-common/dot.commonutils new file mode 100644 index 00000000000..64f840321c8 --- /dev/null +++ b/distrib/mac68k/inst-common/dot.commonutils @@ -0,0 +1,129 @@ +# +# $NetBSD: dot.commonutils,v 1.1 1995/07/18 04:13:18 briggs Exp $ +# +# Copyright (c) 1994 Christopher G. Demetriou +# 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 Christopher G. Demetriou. +# 4. The name of the author may not be used to endorse or promote products +# derived from this software without specific prior written permission +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 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. +# + +# Installation utilites (functions), to get NetBSD installed on +# the hard disk. These are meant to be invoked from the shell prompt, +# by people installing NetBSD. + +Set_tmp_dir() +{ + def_tmp_dir=`pwd` + if [ "$def_tmp_dir" = "/" -o "$def_tmp_dir" = "/mnt" ]; then + def_tmp_dir=/mnt/usr/distrib + fi + + echo -n "What directory should be used to find and/or store " + echo "installtion" + echo -n "files? [$def_tmp_dir] " + read tmp_dir + if [ "$tmp_dir" = "" ]; then + tmp_dir=$def_tmp_dir + fi + if [ ! -d "$tmp_dir" ]; then + /bin/rm -rf $tmp_dir + mkdir -p $tmp_dir + fi +} + +Tmp_dir() +{ + if [ "$tmp_dir" = "" ]; then + Set_tmp_dir + fi + cd $tmp_dir +} + +Load_fd() +{ + Tmp_dir + which= + while [ "$which" != "a" -a "$which" != "b" ]; do + echo -n "Read from which floppy drive ('a' or 'b')? [a] " + read which + if [ "X$which" = "X" ]; then + which=a + fi + done + while echo -n "Insert floppy (hit ^C to terminate, enter to load): " + do + mount -t msdos /dev/fd0$which /mnt2 + cp -rp /mnt2/* . + umount /mnt2 + done +} + +Load_tape() +{ + Tmp_dir + echo -n "Which tape drive will you be using? [rst0] " + read which + if [ "X$which" = "X" ]; then + which=rst0 + fi + echo -n "Insert the tape into the tape drive and hit return to " + echo -n "continue..." + read foo + echo "Extracting files from the tape..." + tar xvfp /dev/$which + echo "Done." +} + +Extract() +{ + Tmp_dir + echo -n "Would you like to list the files as they're extracted? [n] " + read verbose + case $verbose in + y*|Y*) + tarverbose=v + ;; + *) + tarverbose= + ;; + esac + echo -n "Are you installing a '-current' snapshot? [n] " + read snapshot + case $snapshot in + y*|Y*) + snapshot=y + ;; + *) + snapshot=n + ;; + esac + if [ $snapshot = n ] + then + cat "$1".??? | gunzip | (cd / ; tar xfp$tarverbose -) + else + cat "$1".tar.gz | gunzip | (cd /mnt ; tar xfp$tarverbose -) + fi +} diff --git a/distrib/mac68k/inst-common/list b/distrib/mac68k/inst-common/list new file mode 100644 index 00000000000..fa18961bb4f --- /dev/null +++ b/distrib/mac68k/inst-common/list @@ -0,0 +1,77 @@ +# +# $NetBSD: list,v 1.2 1995/08/13 13:21:07 briggs Exp $ +# + +# copy the crunched binary, link to it, and kill it +COPY ${OBJDIR}/raminst raminst +LINK raminst bin/cat +LINK raminst bin/chmod +LINK raminst bin/cp +LINK raminst bin/df +LINK raminst bin/dd +LINK raminst bin/ed +LINK raminst bin/expr +LINK raminst bin/ln +LINK raminst bin/ls +LINK raminst bin/mkdir +LINK raminst bin/mv +LINK raminst bin/pwd +LINK raminst bin/rm +LINK raminst bin/sh +LINK raminst bin/-sh +LINK raminst bin/stty +LINK raminst bin/sync +LINK raminst bin/test +LINK raminst bin/[ +LINK raminst sbin/disklabel +LINK raminst sbin/fsck +LINK raminst sbin/halt +LINK raminst sbin/ifconfig +LINK raminst sbin/init +LINK raminst sbin/mknod +LINK raminst sbin/mount +LINK raminst sbin/mount_cd9660 +LINK raminst sbin/mount_ffs +LINK raminst sbin/mount_nfs +LINK raminst sbin/newfs +LINK raminst sbin/reboot +LINK raminst sbin/route +LINK raminst sbin/shutdown +LINK raminst sbin/slattach +LINK raminst sbin/umount +LINK raminst usr/bin/chgrp +LINK raminst usr/bin/ftp +LINK raminst usr/bin/gunzip +LINK raminst usr/bin/gzcat +LINK raminst usr/bin/gzip +LINK raminst usr/bin/more +LINK raminst usr/bin/printf +LINK raminst usr/bin/sed +LINK raminst usr/bin/strings +LINK raminst usr/bin/tar +LINK raminst usr/bin/tip +LINK raminst usr/sbin/chown +LINK raminst usr/sbin/chroot +LINK raminst usr/sbin/update +SPECIAL /bin/rm raminst + +# copy the MAKEDEV script and make some devices +COPY ${DESTDIR}/dev/MAKEDEV dev/MAKEDEV +SPECIAL cd dev; sh MAKEDEV raminst +SPECIAL /bin/rm dev/MAKEDEV + +# we need the contents of /usr/mdec (XXX) +# COPY ${DESTDIR}/usr/mdec/* usr/mdec + +# various files that we need in /etc for the install +COPY ${DESTDIR}/etc/group etc +COPY ${DESTDIR}/etc/master.passwd etc +COPY ${DESTDIR}/etc/passwd etc +COPY ${DESTDIR}/etc/protocols etc +COPY ${DESTDIR}/etc/pwd.db etc +COPY ${DESTDIR}/etc/services etc +COPY ${DESTDIR}/etc/spwd.db etc + +# and the common installation tools +COPY ${TOPDIR}/inst-common/dot.commonutils .commonutils +COPY ${TOPDIR}/inst-common/termcap.vt usr/share/misc/termcap diff --git a/distrib/mac68k/inst-common/mtree.conf b/distrib/mac68k/inst-common/mtree.conf new file mode 100644 index 00000000000..b348b9773a3 --- /dev/null +++ b/distrib/mac68k/inst-common/mtree.conf @@ -0,0 +1,74 @@ +# +# $NetBSD: mtree.conf,v 1.1 1995/07/18 04:13:24 briggs Exp $ +# + +/set type=dir uname=root gname=wheel mode=0755 +# . +. + +# ./bin +bin +# ./bin +.. + +# ./dev +dev +# ./dev +.. + +# ./etc +etc +# ./etc +.. + +# ./mnt +mnt +# ./mnt +.. + +# ./mnt2 +mnt2 +# ./mnt2 +.. + +# ./sbin +sbin +# ./sbin +.. + +# ./tmp +tmp +# ./tmp +.. + +# ./usr +usr + +# ./usr/bin +bin +# ./usr/bin +.. + +# ./usr/mdec +mdec +# ./usr/mdec +.. + +# ./usr/sbin +sbin +# ./usr/sbin +.. + +# ./usr/share +share + +# ./usr/share/misc +misc +# ./usr/share/misc +.. + +# ./usr/share +.. + +# ./usr +.. diff --git a/distrib/mac68k/inst-common/raminst.conf b/distrib/mac68k/inst-common/raminst.conf new file mode 100644 index 00000000000..55c01cc0543 --- /dev/null +++ b/distrib/mac68k/inst-common/raminst.conf @@ -0,0 +1,21 @@ +# +# $NetBSD: raminst.conf,v 1.3 1995/09/30 20:00:47 briggs Exp $ +# +# ram.conf - unified binary for the RAM disk +# + +srcdirs /usr/src/bin /usr/src/sbin /usr/src/usr.bin /usr/src/usr.sbin +srcdirs /usr/src/gnu/usr.bin + +progs cat chmod chown chroot cp dd df disklabel ed expr fsck ftp +progs gzip ifconfig init halt ln ls mkdir mknod more mount mount_cd9660 +progs mount_ffs mount_msdos mount_nfs mv newfs printf pwd reboot rm route +progs sed sh shutdown slattach strings stty sync tar test tip umount update + +ln chown chgrp +ln gzip gzcat gunzip +ln sh -sh # init invokes the shell this way +ln test [ +ln mount_ffs ffs + +libs -ledit -lutil -ltermcap -lcrypt -ll -lm diff --git a/distrib/mac68k/inst-common/termcap.vt b/distrib/mac68k/inst-common/termcap.vt new file mode 100644 index 00000000000..d0c58f1022b --- /dev/null +++ b/distrib/mac68k/inst-common/termcap.vt @@ -0,0 +1,67 @@ +# +# $NetBSD: termcap.vt,v 1.1 1995/07/18 04:13:31 briggs Exp $ +# +# Copyright (c) 1980, 1985, 1989 The Regents of the University of California. +# 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 the University of +# California, Berkeley and its contributors. +# 4. Neither the name of the University nor the names of its contributors +# may be used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE REGENTS 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 REGENTS 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. +# +# @(#)termcap.src 5.109 (Berkeley) 3/8/93 +# +vt200|vt220|dec-vt220|vt200-js|vt220-js|dec vt200 series with jump scroll:\ + :AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:IC=\E[%d@:LE=\E[%dD:\ + :RI=\E[%dC:UP=\E[%dA:ae=^O:al=\E[L:as=^N:ct=\E[3g:dc=\E[P:dl=\E[M:\ + :ei=\E[4l:im=\E[4h:k1=\E[17~:k2=\E[18~:k3=\E[19~:k4=\E[20~:\ + :k5=\E[21~:k6=\E[23~:k7=\E[24~:k8=\E[25~:kD=\E[3~:kH=\E[4~:\ + :kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=\177:kh=\E[1~:km:mi:ms:\ + :if=/usr/share/tabset/vt100:se=\E[27m:st=\EH:ue=\E[24m:\ + :tc=vt100: +vt100|dec-vt100|vt100-am|vt100am|dec vt100:\ + :bl=^G:cr=^M:it#8:\ + :do=^J:co#80:li#24:cl=50\E[;H\E[2J:sf=2*\ED:\ + :le=^H:bs:am:cm=5\E[%i%d;%dH:nd=2\E[C:up=2\E[A:cb=3\E[1K:\ + :ce=3\E[K:cd=50\E[J:so=2\E[7m:se=2\E[m:us=2\E[4m:ue=2\E[m:\ + :md=2\E[1m:mr=2\E[7m:mb=2\E[5m:me=2\E[m:is=\E[1;24r\E[24;1H:\ + :if=/usr/share/tabset/vt100:\ + :rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:ks=\E[?1h\E=:ke=\E[?1l\E>:\ + :ku=\EOA:kd=\EOB:kr=\EOC:kl=\EOD:kb=^H:\ + :ho=\E[H:k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:pt:sr=2*\EM:vt#3:xn:\ + :sc=\E7:rc=\E8:cs=\E[%i%d;%dr: +vt300|vt320|vt300-80|VT 300 with 80 columns, on VMS:\ + :AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:IC=\E[%d@:\ + :LE=\E[%dD:RI=\E[%dC:SR=1*\E[%dM:UP=\E[%dA:al=\E[L:\ + :am:bl=^G:bs:cd=2*\E[J:ce=2*\E[K:cl=45\E[H\E[2J:\ + :cm=%i\E[%d;%dH:co#80:cr=\r:cs=\E[%i%d;%dr:ct=\E[3g:\ + :dc=\E[P:dl=\E[M:dm=:do=\ED:ec=\E[%dX:ed=:ei=\E[4l:\ + :ho=\E[H:ic:im=\E[4h:it#8:k1=\EOP:k2=\EOQ:k3=\EOR:\ + :k4=\EOS:kd=\E[B:ke=\E[?1l\E>:kl=\E[D:kn#4:kr=\E[C:ks=\E[?1h\E=:\ + :ku=\E[A:le=^H:li#24:mb=\E[5m:md=\E[1m:me=\E[0m:mi:\ + :mr=\E[7m:ms:nd=\E[C:nl=\ED:nw=\EE:pf=\E[?4i:po=\E[?5i:\ + :ps=\E[i:rc=\E8:sc=\E7:se=\E[27m:sf=1*\ED:so=\E[7m:\ + :sr=1*\EM:st=\EH:ue=\E[24m:up=\EM:us=\E[4m:xn: diff --git a/distrib/mac68k/inst/Makefile b/distrib/mac68k/inst/Makefile new file mode 100644 index 00000000000..2e19d860c8a --- /dev/null +++ b/distrib/mac68k/inst/Makefile @@ -0,0 +1,8 @@ +# $NetBSD: Makefile,v 1.1 1995/07/18 04:13:06 briggs Exp $ + +TOP= ${.CURDIR}/.. + +.include "${TOP}/Makefile.inc" +IMAGE= inst-${REV}.fs + +.include "${TOP}/inst-common/Makefile.inc" diff --git a/distrib/mac68k/inst/disktab.preinstall b/distrib/mac68k/inst/disktab.preinstall new file mode 100644 index 00000000000..81a0bb0a052 --- /dev/null +++ b/distrib/mac68k/inst/disktab.preinstall @@ -0,0 +1,32 @@ +# +# $NetBSD: disktab.preinstall,v 1.1 1995/07/18 04:13:07 briggs Exp $ +# +# Disk geometry and partition layout tables. +# Key: +# dt controller type +# ty type of disk (fixed, removeable, simulated) +# d[0-4] drive-type-dependent parameters +# ns #sectors/track +# nt #tracks/cylinder +# nc #cylinders/disk +# sc #sectors/cylinder, nc*nt default +# su #sectors/unit, sc*nc default +# se sector size, DEV_BSIZE default +# rm rpm, 3600 default +# sf supports bad144-style bad sector forwarding +# sk sector skew per track, default 0 +# cs sector skew per cylinder, default 0 +# hs headswitch time, default 0 +# ts one-cylinder seek time, default 0 +# il sector interleave (n:1), 1 default +# bs boot block size, default BBSIZE +# sb superblock size, default SBSIZE +# o[a-h] partition offsets in sectors +# p[a-h] partition sizes in sectors +# b[a-h] partition block sizes in bytes +# f[a-h] partition fragment sizes in bytes +# t[a-h] partition types (filesystem, swap, etc) +# +# All partition sizes reserve space for bad sector tables. +# (5 cylinders needed for maintenance + replacement sectors) +# diff --git a/distrib/mac68k/inst/dot.instutils b/distrib/mac68k/inst/dot.instutils new file mode 100644 index 00000000000..94a55659fe5 --- /dev/null +++ b/distrib/mac68k/inst/dot.instutils @@ -0,0 +1,156 @@ +# +# $NetBSD: dot.instutils,v 1.1 1995/07/18 04:13:08 briggs Exp $ +# +# Copyright (c) 1994 Christopher G. Demetriou +# 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 Christopher G. Demetriou. +# 4. The name of the author may not be used to endorse or promote products +# derived from this software without specific prior written permission +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 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. +# + +# Installation configuration utilites (functions), to get NetBSD configured +# reasonably once it is installed on the hard disk. These are meant to be +# invoked from the shell prompt, by people installing NetBSD. + +Configure() +{ + DEV=/mnt/dev + ETC=/mnt/etc + + echo "You will now be prompted for information about this" + echo "machine. If you hit return, the default answer (in" + echo "brackets) will be used." + + echo "" + echo -n "What is this machine's hostname? [unknown.host.domain] " + read hname + if [ "$hname" = "" ]; then + hname=unknown.host.domain + fi + echo $hname > ${ETC}/myname + proto_domain=`echo $hname | sed -e 's/[^.]*\.//'` + + echo "" + echo "What domain is this machine in (this is NOT its YP" + echo -n "domain name)? [$proto_domain] " + read dname + if [ "$dname" = "" ]; then + dname=$proto_domain + fi + + echo "" + if [ -e ${ETC}/sendmail.cf ]; then + echo "WARNING: A default sendmail.cf exists, and probably" + echo "needs to be tuned and/or replaced, to work properly at" + echo "your site!" + else + echo "WARNING: No default sendmail.cf installed. Did you" + echo "forget to install the 'etc' distribution?" + fi + + echo "127.0.0.1 localhost localhost.$dname" > ${ETC}/hosts + + echo "" + echo -n "Does this machine have an ethernet interface? [y] " + read resp + case "$resp" in + n*) + ;; + *) + intf= + while [ "$intf" = "" ]; do + echo -n "What is the primary interface name " + echo -n "(e.g. ae0, etc)? " + read intf + done + echo -n "What is the hostname for this interface? [$hname] " + read ifname + if [ "$ifname" = "" ]; then + ifname=$hname + fi + ifaddr= + while [ "$ifaddr" = "" ]; do + echo -n "What is the IP address associated with " + echo -n "interface ${intf}? " + read ifaddr + done + echo "$ifaddr $ifname `echo $ifname | sed -e s/\.$dname//`" \ + >> ${ETC}/hosts + + echo -n "Does this interface have a special netmask? [n] " + read resp + case "$resp" in + y*) + echo -n "What is the netmask? [0xffffff00] " + read ifnetmask + if [ "$ifnetmask" = "" ]; then + ifnetmask=0xffffff00 + fi + ;; + *) + ifnetmask= + ;; + esac + + echo -n "Does this interface need additional flags? [n] " + read resp + case "$resp" in + y*) + echo -n "What flags? [link0] " + read ifflags + if [ "$ifflags" = "" ]; then + ifflags=link0 + fi + ;; + *) + ifflags= + ;; + esac + echo "inet $ifname $ifnetmask $ifflags" > ${ETC}/hostname.$intf + + echo "" + echo -n "WARNING: if you have any more ethernet interfaces, " + echo "you will have to configure" + echo -n "them by hand. Read the comments in /etc/netstart to" + echo "learn how to do this." + ;; + esac + + echo "" + echo -n "Making device nodes..." + cd ${DEV} + sh MAKEDEV all + echo " done." + + sync + + echo "You may now reboot your machine with the shutdown command." + echo " shutdown -r now" + echo "to reboot or" + echo " shutdown -h now" + echo "to halt." + echo "Remember to erase the miniroot name from the booter's" + echo "booting preferences dialog box before booting again." +} diff --git a/distrib/mac68k/inst/dot.profile b/distrib/mac68k/inst/dot.profile new file mode 100644 index 00000000000..ae680ce4b40 --- /dev/null +++ b/distrib/mac68k/inst/dot.profile @@ -0,0 +1,52 @@ +# +# $NetBSD: dot.profile,v 1.1 1995/07/18 04:13:09 briggs Exp $ +# +# Copyright (c) 1994 Christopher G. Demetriou +# 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 Christopher G. Demetriou. +# 4. The name of the author may not be used to endorse or promote products +# derived from this software without specific prior written permission +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 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. +# + +PATH=/sbin:/bin:/usr/bin:/usr/sbin:/ +export PATH +TERM=vt200 +export TERM + +# set up some sane defaults +echo 'erase ^?, werase ^H, kill ^U, intr ^C' +stty newcrt werase ^H intr ^C kill ^U erase ^? 9600 +echo '' + +# start running update, so that installed software is written as it goes. +update + +# pull in the function definitions that people will use from the shell prompt. +. /.commonutils +. /.instutils + +# run the installation script. +umask 022 +install diff --git a/distrib/mac68k/inst/install.sh b/distrib/mac68k/inst/install.sh new file mode 100644 index 00000000000..1eec1d88717 --- /dev/null +++ b/distrib/mac68k/inst/install.sh @@ -0,0 +1,269 @@ +#!/bin/sh +# +# $NetBSD: install.sh,v 1.1 1995/07/18 04:13:10 briggs Exp $ +# +# Copyright (c) 1994 Christopher G. Demetriou +# 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 Christopher G. Demetriou. +# 4. The name of the author may not be used to endorse or promote products +# derived from this software without specific prior written permission +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 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. +# + +# NetBSD installation script. +# In a perfect world, this would be a nice C program, with a reasonable +# user interface. + +FSTABDIR=/mnt/etc # /mnt/etc +#DONTDOIT=echo + +VERSION=1.0 +FSTAB=${FSTABDIR}/fstab + +getresp() { + read resp + if [ "X$resp" = "X" ]; then + resp=$1 + fi +} + +getvar() { + echo $(eval $(echo "echo \$$1")) +} + +shiftvar() { + local - var + var="$1" + list="$(getvar $var)" + set -- $list + shift + setvar $var "$*" +} + +getparts() { + disklabel $1 2>/dev/null | sed -e '/^[ ][ ][ad-p]/!d' | + sed -e 's,^[ ]*\([a-p]\):[ ]*[0-9]*[ ]*[0-9]*[ ][ ]*\([a-zA-Z0-9.]*\).*,\1 \2,' | + sed -e ':a + N;${s/\n/ /g;p;d;} + ba' +} + +getdrives() { + local du thispart + for du in /dev/r${drivetype}?a; do + dd if=$du of=/dev/null bs=1b count=1 >/dev/null 2>&1 + if [ $? -eq 0 ]; then + thisunit=`echo $du | sed -e 's,/dev/r\(...\)a,\1,g'` + driveunits="$driveunits $thisunit" + else + continue; + fi + setvar $thisunit "$(getparts $thisunit)" + export $thisunit + done + export drivenunits +} + +prepdrive() { + echo "which drive would you like to prepare next?" + echo "choices are: ${driveunits}" + echo "" + getresp + case $resp in + *) ;; + esac +} + +echo "Welcome to the NetBSD ${VERSION} installation program." +echo "" +echo "This program is designed to help you put NetBSD on your hard disk," +echo "in a simple and rational way. Its main objective is to format," +echo "mount and create an fstab for your root (/) and user (/usr)" +echo "partitions." +echo "" +echo "As with anything which modifies your hard drive's contents, this" +echo "program can cause SIGNIFICANT data loss, and you are advised" +echo "to make sure your hard drive is backed up before beginning the" +echo "installation process." +echo "" +echo "Default answers are displyed in brackets after the questions." +echo "You can hit Control-C at any time to quit, but if you do so at a" +echo "prompt, you may have to hit return. Also, quitting in the middle of" +echo "installation may leave your system in an inconsistent state." +echo "" +echo -n "Proceed with installation? [n] " +getresp "n" +case "$resp" in + y*|Y*) + echo "scanning for the root device" + ;; + *) + echo "" + echo "OK, then. Enter 'halt' at the prompt to halt the" + echo "machine or 'reboot' to reboot it." + exit + ;; +esac + +drivetype=sd +sect_fwd="" + +# find out what units are possible for that disk, and query the user. +getdrives +for du in $driveunits; do + set -- $(getvar $du) + if [ $# -ge 2 -a "$1" = "a" -a "`echo $2 | sed -e 's,.*BSD.*,BSD,'`" = "BSD" ]; then + rdev=$du + fi +done + +echo "" +echo "The root device you have chosen is on: ${rdev}" +echo "" +# driveunits=`ls /dev/${drivetype}?a | sed -e 's,/dev/\(...\)a,\1,g'` +if [ "X${driveunits}" = "X" ]; then + echo "FATAL ERROR:" + echo "No devices for disks of type '${drivetype}'." + echo "This is probably a bug in the install disks." + echo "Exiting install program." + exit +fi + +echo "" +echo "THIS IS YOUR LAST CHANCE!!!" +echo "" +echo "(answering yes will format your root partition on $rdev)" +echo -n "Are you SURE you want NetBSD installed on your hard drive? (yes/no) " +answer="" +while [ "$answer" = "" ]; do + getresp + case $resp in + yes|YES) + echo "" + answer=yes + ;; + no|NO) + echo "" + echo -n "OK, then. enter 'halt' to halt the machine. " + exit + ;; + *) + echo -n "Please answer 'yes' or 'no'." + ;; + esac +done +echo "Initializing / (root) filesystem, and mounting..." +$DONTDOIT newfs /dev/r${rdev}a $name +$DONTDOIT mount -v /dev/${rdev}a /mnt +echo "" +echo -n "Creating a fstab..." +mkdir -p $FSTABDIR +echo "/dev/${rdev}a / ufs rw 1 1" > $FSTAB + +# get rid of this partition +shiftvar $rdev +shiftvar $rdev + +echo "" +echo "Now lets setup your /usr file system" +echo "(Once a valid input for drive and partition is seen" +echo "it will be FORMATTED and inserted in the fstab.)" +while [ "X$usrpart" = "X" ]; do + resp="" + drivename="" + while [ "X$resp" = "X" ]; do + echo "choices: $driveunits" + echo "which drive do you want /usr on?" + getresp + set -- $driveunits + while [ $# -gt 0 ]; do + if [ "X$resp" = "X$1" ]; then + drivename=$1 + break; + else + shift + fi + done + if [ "X$drivename" != "X" ]; then + break + fi + done + + usrpart="" + echo "You have selected $drivename" + echo "here is a list of partitions on $drivename" + disklabel $drivename 2>/dev/null | sed -e '/^[ ][ ][ad-p]:/p;/^#[ \t]*size/p;d' + echo "which partition would you like to format and have" + echo -n "mounted as /usr? (supply the letter): " + getresp + if [ "X$resp" = "X" ]; then + continue; + fi + + list=$(getvar $drivename) + set -- $list + while [ $# -gt 0 ]; do + if [ "$resp" = "$1" ]; then + if [ "`echo $2 | sed -e 's,.*BSD.*,BSD,'`" != "BSD" ]; then + echo "" + echo -n "$drivename$resp is of type $2 which is not" + echo " a BSD filesystem type" + break + fi + usrpart=$drivename$resp + break + else + shift + shift + fi + done + if [ "X$usrpart" = "X" ]; then + echo "$resp is not a valid input." + echo "" + fi +done + +echo "" +echo "Initializing /usr filesystem, and mounting..." +$DONTDOIT newfs /dev/r${usrpart} $name +$DONTDOIT mkdir -p /mnt/usr +$DONTDOIT mount -v /dev/${usrpart} /mnt/usr +echo "" +echo -n "Adding to fstab..." +echo "/dev/${usrpart} /usr ufs rw 1 2" >> $FSTAB +sync +echo " done." + +echo "" +echo "" +echo "OK! The preliminary work of setting up your disk is now complete," +echo "and you can install the actual NetBSD software." +echo "" +echo "Right now, your root is mounted on /mnt and your usr on /mnt/usr." +echo "You should consult the installation notes to determine how to load" +echo "and install the NetBSD distribution sets, and how to configure your" +echo "system when you are done." +echo "" +echo "GOOD LUCK!" +echo "" diff --git a/distrib/mac68k/inst/list b/distrib/mac68k/inst/list new file mode 100644 index 00000000000..c5cf8207ae7 --- /dev/null +++ b/distrib/mac68k/inst/list @@ -0,0 +1,10 @@ +# $NetBSD: list,v 1.1 1995/07/18 04:13:12 briggs Exp $ + +# the disktab explanation file +COPY disktab.preinstall etc + +# and the installation tools +COPY dot.profile .profile +COPY dot.instutils .instutils +COPY install.sh install +SPECIAL chmod 755 install diff --git a/distrib/mac68k/list2sh.awk b/distrib/mac68k/list2sh.awk new file mode 100644 index 00000000000..43008da5be9 --- /dev/null +++ b/distrib/mac68k/list2sh.awk @@ -0,0 +1,39 @@ +# $NetBSD: list2sh.awk,v 1.1 1995/07/18 04:12:59 briggs Exp $ + +BEGIN { + printf("cd ${CURDIR}\n"); + printf("\n"); +} +/^$/ || /^#/ { + print $0; + next; +} +$1 == "COPY" { + printf("echo '%s'\n", $0); + printf("cp %s ${TARGDIR}/%s\n", $2, $3); + next; +} +$1 == "LINK" { + printf("echo '%s'\n", $0); + printf("(cd ${TARGDIR}; ln %s %s)\n", $2, $3); + next; +} +$1 == "SPECIAL" { + printf("echo '%s'\n", $0); + printf("(cd ${TARGDIR};"); + for (i = 2; i <= NF; i++) + printf(" %s", $i); + printf(")\n"); + next; +} +{ + printf("echo '%s'\n", $0); + printf("echo 'Unknown keyword \"%s\" at line %d of input.'\n", $1, NR); + printf("exit 1\n"); + exit 1; +} +END { + printf("\n"); + printf("exit 0\n"); + exit 0; +} diff --git a/distrib/mac68k/runlist.sh b/distrib/mac68k/runlist.sh new file mode 100644 index 00000000000..172a536138c --- /dev/null +++ b/distrib/mac68k/runlist.sh @@ -0,0 +1,13 @@ +# $NetBSD: runlist.sh,v 1.1 1995/07/18 04:13:01 briggs Exp $ + +if [ "X$1" = "X-d" ]; then + SHELLCMD=cat + shift +else + SHELLCMD="sh -e" +fi + +( while [ "X$1" != "X" ]; do + cat $1 + shift +done ) | awk -f ${TOPDIR}/list2sh.awk | ${SHELLCMD} diff --git a/distrib/notes/INSTALL b/distrib/notes/INSTALL new file mode 100644 index 00000000000..5aede836e3d --- /dev/null +++ b/distrib/notes/INSTALL @@ -0,0 +1,338 @@ +INSTALLATION NOTES for NetBSD/MACHINE 1.0 + + + +Be sure to read _ALL_ of this document before you try to install +NetBSD/MACHINE. + + + +What is NetBSD? +---- -- ------ + +NetBSD is a Berkeley Networking Release 2 (Net/2) and 4.4BSD-Lite +-derived system. It is a fully functional UN*X-like system which runs +on several architectures and is being ported to more. NetBSD, as the +name implies, is a creation of the members of the network community +and without the net it's likely that this release wouldn't have come +about. + +NetBSD 1.0 is a milestone release. The hardest part of the 4.4BSD-Lite +integration, the kernel, has been completed and has been running in +"production use" for quite some time. Also, NetBSD 1.0 is the first +true multi-architecture release of NetBSD. At the time of NetBSD 0.9, +the i386 port was considered 'production quality' and the hp300 port was +barely working. The NetBSD 1.0 source supports nine architectures, and +complete binary releases for most of them will be made available. + +NetBSD 1.0 supports many new and improved features, the most important +relating to file systems. New and improved versions of both the +Berkeley Fast File System and the free implementation of the NFS +protocol were provided, as part of the 4.4-Lite release. The new +versions include such improvements as support for 64-bit file sizes, +for local files, and "lease" support for NFS, to improve performance. +In addition to the file system improvements, many other parts of the +system have been improved considerably. For instance, the virtual +memory code has substantially improved performance, and many of the +kernel's interfaces have been cleaned up. + +Many new user programs have been added in NetBSD 1.0, as well, +bringing it closer to our goal of supplying a complete UN*X-like +environment. Additionally, support for shared libraries has been +added, for most architectures, allowing a significant savings in both +RAM consumption and disk space. + +#include "whatis" + + +The Future of NetBSD: +--- ------ -- ------ + +We hope to have regular releases of the full binary and source trees, +but these are difficult to coordinate, especially with all of the +architectures which we now support! We hope to support even _more_ +hardware in the future, and have a rather large number of other ideas +about what can be done to improve NetBSD. We intend to continue our +current practice of making the NetBSD-current development source +available on a daily or nearly-daily basis. + +We intend to integrate free, positive changes from whatever sources +will provide them, providing that they are well thought-out and increase +the usability of the system. This includes integrating the remainder of +the 4.4BSD-Lite tape, as quickly as we can ensure that everything works +properly. + +Above all, we hope to create a stable and accessible system, and to be +responsive to the needs and desires of NetBSD users, because it is for +and because of them that NetBSD exists. + + +Sources of NetBSD: +------- -- ------ + +#include "mirrors" + +NetBSD 1.0 Release Contents: +------ --- ------- -------- + +The NetBSD 1.0 release is organized in the following way: + +.../NetBSD-1.0/ + BUGS Known bugs list (incomplete + and out of date). + + CHANGES Changes since NetBSD's last + release (and before). + + LAST_MINUTE Last minute changes. + + MIRRORS A list of sites that mirror + the NetBSD 1.0 distribution. + + README.files README describing the + distribution's contents. + + TODO NetBSD's todo list (incomplete + and out of date). + + patches/ Post-release source code + patches. + + source/ Source distribution sets; see + below. + +In addition to the files and directories listed above, there is one +directory per architecture, for each of the architectures that NetBSD +1.0 has a binary distribution for. There are also +'README.export-control' files sprinkled liberally throughout the +distribution tree, which point out that there are some portions of the +distribution (e.g. those containing crypt(3)) that should not be +exported from the United States, and that if you do export them, it's +your fault, not ours. + +The source distribution sets can be found in subdirectories of the +"source" subdirectory of the distribution tree. They contain the +complete sources to the system, excluding those portions which should +not be exported from the U.S. (Those are contained in each +architecture's "security" binary distribution set.) The source +distribution sets are as follows: + + gsrc10 This set contains the "gnu" sources, including + the source for the compiler, assembler, groff, + and the other GNU utilities in the binary distribution + sets. + [ 7.7M gzipped, 32.0M uncompressed ] + + ksrc10 This set contains the sources to the NetBSD 1.0 + kernel, config(8), config.new(8) and dbsym(8). + [ 4.5M gzipped, 20.8M uncompressed ] + + ssrc10 This set contains the "share" sources, which include + the sources for the man pages not associated with + any particular program, the sources for the + typesettable document set, the dictionaries, and more. + [ 2.3M gzipped, 8.5M uncompressed ] + + src10 This set contains all of the NetBSD 1.0 sources which + are not mentioned above. + [ 7.1M gzipped, 33.4M uncompressed ] + +It is worth noting that unless all of the source distribution sets +are installed, you can't rebuild and install the system from scratch, +straight out of the box. However, all that is required to rebuild the +system in that case is a trivial modification to one Makefile. + +The source distribution sets are distributed as groups of files named +"set_name.xx" where "set_name" is the distribution set name, and "xx" +is the sequence number of the file, starting with "aa" for the first +file in the distribution set, then "ab" for the next, and so on. All +of these files except the last one of each set should be exactly +240,640 bytes long. (The last file is just long enough to contain the +remainder of the data for that distribution set.) + +Catted together, the files belonging to a source distribution set +comprise a gzipped tar file. If you want to look at list of the files +contained in the set, you could use the command: + + cat set_name.?? | gunzip | tar tvf - + +or to actually extract the files contained in the set: + + cat set_name.?? | gunzip | tar xfp - + +In each of the source distribution set directories, there is a file +named "CKSUMS" which contains the checksums of the files in that +directory, as generated by the cksum(1) command. You can use cksum to +check the integrity of the archives, if you suspect that one of the +files is corrupt and have access to a cksum binary. + +#include "contents" + + +NetBSD System Requirements and Supported Devices: +------ ------ ------------ --- --------- ------- + +#include "hardware" + + +Getting the NetBSD System on to Useful Media: +------- --- ------ ------ -- -- ------ ----- + +#include "xfer" + + +Preparing your System for NetBSD Installation: +--------- ---- ------ --- ------ ------------ + +#include "prep" + + +Installing the NetBSD System: +---------- --- ------ ------ + +#include "install" + + +Upgrading a previously-installed NetBSD System: +--------- - ---------- --------- ------ ------ + +#include "upgrade" + + +Administrivia: +------------- + +Registration? What's that? + +If you've got something to say, do so! We'd like your input. +There are various mailing lists available via the mailing list +server at <majordomo@NetBSD.ORG>. To get help on using the mailing +list server, send mail to that address with an empty body, and it will +reply with instructions. + +There are various mailing lists set up to deal with comments and +questions about this release. Please send comments to: + + netbsd-comments@NetBSD.ORG + +To report bugs, use the 'send-pr' command shipped with NetBSD, +and fill in as much information about the problem as you can. Good +bug reports include lots of details. Additionally, bug reports can +be sent by mail to: + + netbsd-bugs@NetBSD.ORG + +Use of 'send-pr' is encouraged, however, because bugs reported with it +are entered into the NetBSD bugs database, and thus can't slip through +the cracks. + +There are also port-specific mailing lists, to discuss aspects of +each port of NetBSD. Use majordomo to find their addresses. If +you're interested in doing a serious amount of work on a specific +port, you probably should contact the "owner" of that port (listed +below). + +If you'd like to help with this effort, and have an idea as to how +you could be useful, send mail and/or subscribe to: + + netbsd-help@NetBSD.ORG + +As a favor, please avoid mailing huge documents or files to these +mailing lists. Instead, put the material you would have sent up +for FTP somewhere, then mail the appropriate list about it, or, if +you'd rather not do that, mail the list saying you'll send the data +to those who want it. + + +Thanks go to: +------ -- -- + +Members and former members of UCB's Computer Systems Research Group, +including (but not limited to): + Keith Bostic + Ralph Campbell + Mike Karels + Marshall Kirk McKusick +for their ongoing work on BSD systems, support, and encouragement. + +Also, our thanks go to: + Mike Hibler + Rick Macklem + Jan-Simon Pendry + Chris Torek +for answering lots of questions, fixing bugs, and doing the various work +they've done. + +UC Berkeley's Experimental Computing Facility has provided a home for +sun-lamp, people to look after it, and a sense of humor. Rob +Robertson, too, has added his unique sense of humor to things, and for +a long time provided the primary FTP site for NetBSD. + +Without CVS, this project would be impossible to manage, so our hats +go off to Brian Berliner, Jeff Polk, and the various other people +who've had a hand in making CVS a useful tool. + +The following people (in alphabetical order) have made donations or +loans of hardware and/or money, to support NetBSD development, and +deserve credit for it: +#include "donations" +(If you're not on that list and should be, tell us! We probably were +not able to get in touch with you, to verify that you wanted to be +listed.) + +Dave Burgess <burgess@cynjut.infonet.net> has been maintaining the +386BSD/NetBSD/FreeBSD FAQ for quite some time, and deserves to be +recognized for it. + +Finally, we thank all of the people who've put sweat and tears into +developing NetBSD since its inception in January, 1993. (Obviously, +there are a lot more people who deserve thanks here. If you're one of +them, and would like to mentioned, tell us!) + + +We are: +-- --- +(in alphabetical order) + +The NetBSD core team: +Chris G. Demetriou <cgd@sun-lamp.cs.berkeley.edu> +Theo de Raadt <deraadt@sun-lamp.cs.berkeley.edu> +Adam Glass <glass@sun-lamp.cs.berkeley.edu> +Charles Hannum <mycroft@sun-lamp.cs.berkeley.edu> + +The port-masters (and their ports): +Allen Briggs <briggs@mail.vt.edu> (mac68k) + (and the rest of the 'Alice' group) +Theo de Raadt <deraadt@sun-lamp.cs.berkeley.edu> (sparc) +Charles Hannum <mycroft@sun-lamp.cs.berkeley.edu> (i386, hp300) +Chris Hopps <chopps@sun-lamp.cs.berkeley.edu> (amiga) +Adam Glass <glass@sun-lamp.cs.berkeley.edu> (pmax) +Paul Mackerras <paulus@sun-lamp.cs.berkeley.edu> (da30) +Anders Magnusson <ragge@sun-lamp.cs.berkeley.edu> (vax) +Phil Nelson <phil@sun-lamp.cs.berkeley.edu> (pc532) +Gordon Ross <gwr@sun-lamp.cs.berkeley.edu> (sun3) + +Supporting cast: +Steve Allen <wormey@eskimo.com> +John Brezak <brezak@sun-lamp.cs.berkeley.edu> +Dave Burgess <burgess@cynjut.infonet.net> +J.T. Conklin <jtc@sun-lamp.cs.berkeley.edu> +Hubert Feyrer <hubert.feyrer@rz.uni-regensburg.de> +Brad Grantham <grantham@tenon.com> +Lawrence Kesteloot <kesteloo@cs.unc.edu> +Paul Kranenburg <pk@sun-lamp.cs.berkeley.edu> +Herb Peyerl <hpeyerl@beer.org> +Matthias Pfaller <leo@marco.de> +Chris Provenzano <proven@sun-lamp.cs.berkeley.edu> +Wolfgang Solfrank <ws@tools.de> + + +Legal Mumbo-jumbo: +----- ----- ----- + +The following notices are required to satisfy the license terms of +the software that we have mentioned in this document: + +#include "legal.common" + +#include "legal" diff --git a/distrib/notes/Makefile b/distrib/notes/Makefile new file mode 100644 index 00000000000..ff40afe09e9 --- /dev/null +++ b/distrib/notes/Makefile @@ -0,0 +1,16 @@ +# $NetBSD: Makefile,v 1.3 1994/10/31 05:01:45 cgd Exp $ + +M?= ${MACHINE} + +TARG= INSTALL.$M +SRC= ${.CURDIR}/INSTALL +DEP= ${SRC} ${.CURDIR}/mirrors ${.CURDIR}/$M/whatis ${.CURDIR}/$M/contents \ + ${.CURDIR}/$M/hardware ${.CURDIR}/$M/xfer ${.CURDIR}/$M/prep \ + ${.CURDIR}/$M/install ${.CURDIR}/$M/upgrade ${.CURDIR}/donations \ + ${.CURDIR}/legal.common ${.CURDIR}/$M/legal + +${TARG}: ${DEP} + cpp -I${.CURDIR}/$M -DMACHINE=$M -Uunix -U$M -C -P ${SRC} > $@ + +clean cleandir: + /bin/rm INSTALL.* diff --git a/distrib/notes/amiga/contents b/distrib/notes/amiga/contents new file mode 100644 index 00000000000..2c728e54e55 --- /dev/null +++ b/distrib/notes/amiga/contents @@ -0,0 +1,141 @@ +The amiga-specific portion of the NetBSD 1.1 release is found in the +"amiga" subdirectory of the distribution. That subdirectory is layed +out as follows: + +.../NetBSD-1.1/amiga/ + binary/ amiga binary distribution sets; + see below. + + floppies/ amiga installation and upgrade +>>> ^^^^^^^^ should this be miniroot/? + file system images; see below. + + security/ amiga security distribution; + see below; + + utils/ Miscellaneous amiga + installation utilities; see + installation section, below. + +There are two amiga file system images to be found in the "amiga/floppy" +>>> ^^^^^^ +subdirectory of the NetBSD 1.1 distribution. One of them is a upgrade +image and one is an installation image. They are described in more +detail below. There are gzipped versions of each available, for easier +downloading. (The gzipped version have the ".gz" extension added to +their names.) + +Installation file system: + + This file contains a BSD root file system setup to help + you install the rest of NetBSD. This includes formatting + and mounting your root and /usr partitions and getting + ready to extract (and possibly first fetching) the distribution + sets. There is enough on this file system to allow you to + make a slip or ppp connection, configure an ethernet, mount an + NFS file system or ftp. You can also load distribution sets from + a SCSI tape or from one of your existing AmigaDOS partitions. + + This file is named "inst-11.fs". + + +Upgrade file system: + + This file contains a BSD root file system setup to help + you upgrade a previous version of NetBSD. This includes + converting existing partitions + and mounting your root and /usr partitions and getting + ready to extract (and possibly first fetching) the distribution + sets. There is enough on this file system to allow you to + make a slip or ppp connection, configure an ethernet, mount an + NFS file system or ftp. You can also load distribution sets from + a SCSI tape, from one of your existing AmigaDOS partitions, or + from an existing NetBSD partition. + + This file is named "inst-11.fs". + +The NetBSD/amiga binary distribution sets contain the binaries which +comprise the NetBSD 1.1 release for the amiga. There are seven binary +distribution sets, and the "security" distribution set. The binary +distribution sets can be found in subdirectories of the "amiga/binary" +subdirectory of the NetBSD 1.1 distribution tree, and are as follows: + + base11 The NetBSD/amiga 1.1 base binary distribution. You + MUST install this distribution set. It contains the + base NetBSD utilities that are necessary for the + system to run and be minimally functional. It + includes shared library support, and excludes + everything described below. + [ 7M gzipped, 19M uncompressed ] +>>> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + + comp11 The NetBSD/amiga Compiler tools. All of the tools + relating to C, C++, and FORTRAN (yes, there are two!). + This set includes the system include files + (/usr/include), the linker, the compiler tool chain, + and the various system libraries (except the shared + libraries, which are included as part of the base + set). This set also includes the manual pages for all + of the utilities it contains, as well as the system + call and library manual pages. + [ 4M gzipped, 12M uncompressed ] +>>> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + + etc11 This distribution set contains the system + configuration files that reside in /etc and in several + other places. This set MUST be installed if you are + installing the system from scratch, but should NOT be + used if you are upgrading. (If you are upgrading, + it's recommended that you get a copy of this set and + CAREFULLY upgrade your configuration files by hand.) + [ 50K gzipped, 280K uncompressed ] +>>> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + + games11 This set includes the games and their manual pages. + [ 1M gzipped, 3M uncompressed ] +>>> ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + + man11 This set includes all of the manual pages for the + binaries and other software contained in the base set. + Note that it does not include any of the manual pages + that are included in the other sets. + [ 730K gzipped, 3M uncompressed ] +>>> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + + misc11 This set includes the system dictionaries (which are + rather large), the typesettable document set, and + man pages for other architectures which happen to be + installed from the source tree by default. + [ 2M gzipped, 6M uncompressed ] +>>> ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + + text11 This set includes NetBSD's text processing tools, + including groff, all related programs, and their + manual pages. + [ 784K gzipped, 3M uncompressed ] +>>> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +The amiga security distribution set is named "secr11" and can be found +in the "amiga/security" subdirectory of the NetBSD 1.1 distribution +tree. It contains crypt.c (the source file for the DES encryption +algorithm) and the binaries which depend on it. It can only be found +on those sites which carry the complete NetBSD distribution and that +can legally obtain it. (Remember, because of United States law, this +distribution set may not be exported to locations outside of the +United States and Canada.) [ 119K gzipped, 300K uncompressed ] +>>> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +The amiga binary distribution sets are distributed in the same form as +the source distribution sets; catted together, the members of a set +form a gzipped tar file. Each amiga binary distribution set also has +its own "CKSUMS" file, just as the source distribution sets do. + +The instructions given for extracting the source sets work equally +well for the binary sets, but it is worth noting that if you use that +method, the files are extracted "below" the current directory. That +is, if you want to extract the binaries "into" your system, i.e. +replace the system binaries with them, you have to run the "tar xvfp" +from /. Also note that if you upgrade or install this way, those +programs that you are using at the time will NOT be replaced. If you +follow the normal installation or upgrade procedures, this will be +taken care of for you. diff --git a/distrib/notes/amiga/hardware b/distrib/notes/amiga/hardware new file mode 100644 index 00000000000..513236ac7cd --- /dev/null +++ b/distrib/notes/amiga/hardware @@ -0,0 +1,58 @@ +NetBSD/amiga 1.1 runs on any amiga that has a 68020 or better CPU +with some form of FPU and MMU. The minimal configuration requires +4M of RAM and about 65M of disk space. To install the entire system +>>> ^^^ +requires much more disk space, and to run X or compile the system, +more RAM is recommended. (4M of RAM will actually allow you to +compile, however it won't be speedy. X really isn't usable on a +4M system) + +Here is a table of recommended HD partition sizes for a full install: + partition: advise, with X, needed, with X + root (/) 15M 15M 10M 10M + user (/usr) 65M 100M 45M 80M + swap ----- 2M for every M ram ----- + local (/local) up to you +>>> adjust sizes? + +As you may note the recommended size of /usr is 20M greater than +needed. This is to leave room for a kernel source and compile tree +as you will probably want to compile your own kernel. (GENERIC is +large and bulky to accommodate all people). + +Supported devices include: + A4000/A1200 IDE controller. + SCSI host adapters: + 33c93 based boards: A2091, A3000 and GVP series II. + 53c80 based boards: 12 Gauge, IVS and Wordsync/Bytesync. + 53c710 based boards: A4091, Magnum, Warp Engine and Zeus. + FAS216 based boards: FastLane Z3, Blizzard. + Video controllers: + ECS, AGA and A2024 built in on various amigas. + Retina Z2 and Retina Z3. + Picasso II. + GVP Spectrum. + Piccalo. + A2410. + Ethernet controllers: + A2065 Ethernet + Hydra Ethernet + ASDG Ethernet + A4066 Ethernet + Ariadne Ethernet + Arcnet controllers: + A2060 Arcnet + Tape drives: + Most SCSI tape drives, including + Archive Viper, Cipher SCSI-2 ST150. + CD-ROM drives: + Most SCSI CD-ROM drives + Serial cards: + MultiFaceCard II and III + A2232 + Amiga floppy drives. + Amiga parallel port. + Amiga serial port. + Amiga mouse. + +If its not on this list, there is no support for it in this release. diff --git a/distrib/notes/amiga/install b/distrib/notes/amiga/install new file mode 100644 index 00000000000..5b73f335e75 --- /dev/null +++ b/distrib/notes/amiga/install @@ -0,0 +1,314 @@ +Installing NetBSD is a relatively complex process, but, if you have +this document in hand and are careful to read and remember the +information which is presented to you by the install program, it +shouldn't be too much trouble. + +Before you begin, you must have already prepared your hard disk as +detailed in the section on preparing your system for install. + +The following is a walk-through of the steps necessary to get NetBSD +installed on your hard disk. If you wish to stop the installation, +you may hit Control-C at any prompt, but if you do, you'll have to +begin again from scratch. + +>>> transfer installation file system to the swap partition. +>>> Does this go here, or in the hard disk prep section? + +>>> Getting loadbsd, ixemul.library, and netbsd onto AmigaDOS +>>> partition. + Next you need to get yourself into NetBSD by loading the + kernel from AmigaDOS with loadbsd like so: + + loadbsd -b netbsd + + You should see the screen clear and some information about + your system as the kernel configures the hardware. Note which + hard disk device(s) are configured (sd0, sd1, etc). Then + you will be prompted for a root device. At this time type + 'sd0*'. +>>> Need to document what device number to actually use. + + The system should continue to boot. For now ignore WARNING: + messages about bad dates in clocks and swap space. Eventually +>>> ^^^^^^^^^^??? + you will be asked to enter the pathname of the shell, just + hit return. After a short while you should see a welcome + message and a prompt, asking if you wish to proceed with the + installation. + + If you wish to proceed, enter "y" and then return. + + If you have configured your hard drive[s] correctly it + should find the drive and partition that you selected to + use as your root. + + YOU ARE NOW AT THE POINT OF NO RETURN. If you confirm that + you want to install NetBSD, your hard drive will be modified, + and perhaps its contents scrambled at the whim of the install + program. + + If you are sure you want to proceed, enter "yes" at the + prompt. + + The install program will now make the root filesystem you + specified. There should be only one error in this section + of the installation. It will look like so: + + newfs: ioctl (WDINFO): Invalid argument + newfs: /dev/rsd0a: can't rewrite disk label + + If there are any others, restart from the the beginning of + the installation process. This error is ok as the Amiga + does not write disklabels currently. You should expect + this error whenever using newfs. + + Next the install program will ask you which drive and + partition you wish to use as /usr. First it will list the + available drives. Choose one. Next it will give you a + list of the partitions on that disk along with their sizes, + types, etc.. Choose the letter that corresponds to the + partition you wish to use for /usr. If you are doing a + full install this should be at the very least 45M-50M large. + If everything is ok the install program will then format + and mount your /usr. If not then it will ask again for a + drive and partition. + + When this completes your root partition will be mounted on + /mnt and your /usr partition on /mnt/usr. An fstab will + have been created and initialized to correctly mount these + two file systems. This fstab will be in /mnt/etc. + + What you do from this point on depends on which media you're + using to install NetBSD. Follow the appropriate instructions, + given below. + + To install from an AmigaDOS partition: + + You first need to mount the AmigaDOS partition + using the mount_ados command. If e.g. your AmigaDOS + partition is the first partition on sd0 you could + type: + + mkdir /mnt/ados + mount_ados /dev/sd0d /mnt/ados + + You can use `disklabel sd0' to find out what types + of partitions are on the disk `sd0'. + + Next goto the directory in which you stored the + distribution sets. If e.g. you stored them in the + root directory of the partition: + + cd /mnt/ados + + When there, run "Set_tmp_dir" and choose the default + temporary directory, by hitting return at the + prompt. + + Run the "Extract" command, giving it as its sole + argument the name of the distribution set you wish + to extract. For example, to extract the base + distribution, use the command: + + Extract base11 + + and to extract the games distribution: + + Extract game11 + + If the distribution sets are in different directories, + you will need to cd to each directory in turn, runing + "Set_tmp_dir" and the appropriate "Extract" command(s). + + Continue this process until you've finished installing + all of the sets which you desire to have on your + hard disk. Once you have extracted all sets and + are at the "#" prompt again, proceed to the section + "Configuring Your System," below. + + To install from tape: + + The first thing you should do is pick a temporary + directory where the distribution files can be stored. + To do this, use the command "Set_tmp_dir" and enter + your choice. The default is /mnt/usr/distrib. + + After you have picked a temporary directory, + you should issue the load command: + + Load_tape + + Next, you will be told to insert the media into + the appropriate drive, and hit return. Continue + to follow instructions until you are returned to + the "#" prompt. + + Go to the directory which contains the first + distribution set you wish to install. This is + either the directory you specified above, or possibly + a subdirectory of that directory. + + When there, run "Set_tmp_dir" again, and choose + the default temporary directory, by hitting + return at the prompt. + + Run the "Extract" command, giving it as its sole + argument the name of the distribution set you + wish to extract. For example, to extract the base + distribution, use the command: + + Extract base11 + + and to extract the games distribution: + + Extract game11 + + After the extraction is complete, go to the location + of the next set you want to extract, "Set_tmp_dir" + again, and once again issue the appropriate + extract command. Continue this process until + you've finished installing all of the sets which you + desire to have on your hard disk. + + After each set is finished, if you know that you + are running low on space you can remove the + distribution files for that set by saying: + + rm set_name.?? + + For example, if you wish to remove the distribution + files for the game09 set, after the "Extract game09" + command has completed, issue the command: + + rm game11.?? + + Once you have extracted all sets and are at the "#" prompt + again, proceed to the section "Configuring Your System," + below. + + To install via FTP or NFS: + + First, use Set_tmp_dir to pick a temporary directory + for the installation files. /mnt/usr/distrib is + suggested. + +>>> Document using ppp or slip? + Configure the appropriate ethernet interface i.e. le0 + if you have a 2065 or ed0 if you have a AMIGNET from + Hydra Systems. + + ifconfig <ifname> <ipaddr> [netmask <netmask>] + + where <ifname> is the interface name (e.g. ed0, etc.), + and <ipaddr> is the numeric IP address of the interface. + If the interface has a special netmask, supply + the word "netmask" and that netmask at the end of the + command line. For instance, without a special netmask: + + ifconfig ed0 129.133.10.10 + + or with a special netmask + + ifconfig ed0 128.32.240.167 netmask 0xffffff00 + + If the NFS server or FTP server is not on a directly- + connected network, you should set up a route to it + with the command: + + route add default <gate_ipaddr> + + where <gate_ipaddr> is your gateway's numeric IP address. + + If you are NFS-mounting the distribution sets, + mount them on the temporary directory with the command: + + mount -t nfs <serv_ipaddr>:<dist_dir> <tmp_dir> + + where <serv_ipaddr> is the server's numeric IP address, + <dist_dir> is the path to the distribution files on + the server, and <tmp_dir> is the name of the local + temporary directory. + + Once this is done, proceed as if you had loaded the + files from tape, "cd"ing to the appropriate directories + and running "Set_tmp_dir" and "Extract" as appropriate. + + If you are retrieving the distribution sets using ftp, + cd into the temp directory, and execute the command: + + ftp <serv_ipaddr> + + where <serv_ipaddr> is once again the server's + numeric IP address. Get the files with FTP, + taking care to use binary mode to transfer + all files. + + Once you have all of the files for the distribution sets + you wish to install, you can proceed using the instructions + above as if you had installed the files from a tape. + + +Configuring Your System: +----------- ---- ------ + +Once you have finished extracting all of the distribution sets that +you want on your hard drive and are back at the "#" prompt, +you are ready to configure your system. + +The configuration utility expects that you have installed the base +system. If you have not, you will not be able to run it successfully +(nor will you have a functional system regardless of configuration). + +To configure the newly installed operating system, run the +command "Configure". + +Configure will ask for the machine's hostname, domain name, and other +network configuration information. + +Once you have supplied `Configure' all that it requests, your machine +will be configured well enough that when you reboot it it will +almost be a completely functional NetBSD system. Note you should +ignore the errors from `chown' they will be corrected shortly. + +Once you are done with `Configure', halt the system with the "halt" +command (wait for "halted" to be displayed) and reboot. Then again +boot NetBSD this time with the command: + + + loadbsd netbsd + +You need to do your final tweeks now. First mount your file systems +like so: + + mount -av + +Next you need to re-make your devices to get the ownership correct: + + cd /dev + MAKEDEV all +>>> Is this step still needed? - check on it! + +Your system is now complete but not completely configured; you +should adjust the /etc/sendmail.cf file as necessary to suit your +site and/or disable sendmail and other network related programs. +These things can be found in /etc/netstart. Use vi, if you installed +the man pages you can type `man vi' or `man ed' for instructions +on how to use these somewhat non-intuitive editors. + +Once you are done with the rest of configuration unmount your file +systems and halt your system, then reboot: + + cd / + umount -av + halt + <reboot> + +Finally you can now boot your system and it will be completely +functional: + + loadbsd -a netbsd + +When it boots off of the hard drive, you will have a complete +NetBSD system! CONGRATULATIONS! (You really deserve them!!!) + +>>> Missing the step to transfer the netbsd kernel to / diff --git a/distrib/notes/amiga/legal b/distrib/notes/amiga/legal new file mode 100644 index 00000000000..2a4b4e547b6 --- /dev/null +++ b/distrib/notes/amiga/legal @@ -0,0 +1,7 @@ + This product includes software developed by Christian E. Hopps. + + This product includes software developed by Timo Rossi + + This product includes software developed by Michael L. Hitch + +>>> any others? diff --git a/distrib/notes/amiga/prep b/distrib/notes/amiga/prep new file mode 100644 index 00000000000..7e7f8c2919d --- /dev/null +++ b/distrib/notes/amiga/prep @@ -0,0 +1,80 @@ +You will need an AmigaDOS hard drive prep tool to prepare you hard +drives for use with NetBSD/amiga. HDToolBox is provided with the +system software and on floppy installation disks since Release 2.0 +of AmigaDOS so we will provide instructions for its use. + +Preparing you hard disk with HDToolBox: + + A full explanation of HDToolBox can be found with your + AmigaDOS manuals and is beyond the scope of this document. + + Note you will be modifying your HD's if you mess something + up here you could lose everything on all the drives that + you configure. It is therefore advised that you: + + Write down your current configurations. Do this + by examining each partition on the drive and the + drives parameters (from Change drive type.) + + Back up the partitions you are keeping. + + What you need to do is partition your drives; creating + at least root, swap and /usr partitions and possibly at least + one more for /local if you have the space. + + This should be done as the HDToolBox manual describes. One thing + to note is that if you are not using a Commodore controller you + will need to specify the device your SCSI controller uses e.g. + if you have a Warp Engine you would: + + from cli, + hdtoolbox warpdrive.device + + from wb set the tooltype, + SCSI_DEVICE_NAME=warpdrive.device + + The important things you need to do above and beyond normal + partitioning includes (from Partition Drive section): + + Marking all NetBSD partitions as non-bootable. + + Changing the file system parameters of the partitions + to NetBSD ones. This must be done from the + partitioning section and `Advanced options' must + be enabled. To Make the needed changes: + + - Click the `Adv. Options' button + - Click the `Change filesystem' button + + - Choose `Custom File System' + - Turn off `Automount' if on. + - Set the dostype to one of these three choices: + + root partition : 0x4e425207 + swap partition : 0x4e425301 + other partitions: 0x4e425507 + + Here `other' refers to other partitions you will + format for reading and writing under NetBSD (e.g. + /usr) + + Make sure you hit the return key to enter this value + as some versions of HDToolBox will forget your entry + if you don't. + + - Turn custom boot code off + - Set Reserved Blocks start and end to 0. + - Click Ok. + + Mask and maxtransfer are not used with NetBSD. + + Until you compile your own kernel your swap partition + must exist on the drive that also holds your root + partition. + + + Once this is done NetBSD/amiga will be able to recognize your + disks and which partitions it should use. + +>>> Should the miniroot transfer to the swap partition instructions +>>> go here? diff --git a/distrib/notes/amiga/upgrade b/distrib/notes/amiga/upgrade new file mode 100644 index 00000000000..d6fc606e39f --- /dev/null +++ b/distrib/notes/amiga/upgrade @@ -0,0 +1,163 @@ +The upgrade to NetBSD 1.1 is a binary upgrade; it would be prohibitive +to make users upgrade by compiling and installing the 1.1 sources, and +it would be very difficult to even compile a set of instructions that +allowed them to do so. Because of the various changes to the system, +the largest being the 64-bit file size support and shared libraries, +>>> just what are the major differences between 1.0 and 1.1?? +it is impractical to upgrade by recompiling from the sources and +installing. + +>>> no kernel-copy! +To do the upgrade, you must have the appropriate kernel-copy floppy +image on a disk, and the upgr-11.fs floppy image on another. You must +>>> +also have at least the "base11" binary distribution set available, +so that you can upgrade with it, using one of the upgrade methods +described above. Finally, you must have sufficient disk space +available to install the new binaries. Since the old binaries are +being overwritten in place, you only need space for the new binaries, +which weren't previously on the system. If you have a few megabytes +free on each of your root and /usr partitions, you should have enough +space. + +Since upgrading involves replacing the kernel, and most of the system +binaries, it has the potential to cause data loss. You are strongly +advised to BACK UP ANY IMPORTANT DATA ON YOUR DISK, whether on the +NetBSD partition or on another operating system's partition, before +beginning the upgrade process. + +To upgrade your system, follow the following instructions: + +>>> transfer upgrade file system image to swap partition +>>> should this be in the hard disk prep section? + + Boot your machine using of the appropriate kernel-copy floppy. + When presented with the boot prompt (the prompt begins with + "Boot" and ends with ":-"), hit return. + + While booting, you will probably see several warnings. You + should be warned that no swap space is present, and that +>>> ^^^^^^^^^^^^^^^^^^^^^ + init(8) cannot find /etc/rc. Do not be alarmed, these are +>>> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + completely normal. When you reach the prompt asking you for a + shell name, just hit return. + + You will be presented with some information about the upgrade + process and a warning message, and will be asked if you wish + to proceed with the upgrade process. If you answer + negatively, the upgrade process will stop, and your disk will + not be modified. If you answer affirmatively, the upgrade + process will begin, and your disk will be modified. You may + hit Control-C to stop the upgrade process at any time. + However, if you hit it at an inopportune moment, your system + may be left in an inconsistent (and possibly unusable) state. + + You will be asked if you wish to upgrade your file systems to + the new file system format. If you do, reply affirmatively. + If you don't have your file systems upgraded now, you should + probably do it manually after the install process is complete, + by using "fsck -c 2". Read the fsck(8) manual page for more + details. +>>> Is this needed for 1.0 to 1.1 upgrade? Or mention that the upgrade +>>> should be done if it wasn't previously done? [It shouldn't hurt +>>> to run through the upgrade steps.] + + The upgrade program will then check your root file system, + and, if you approved, will upgrade it to the new file system + format. It will then mount your root file system on /mnt. + + If your file systems are being upgraded, the upgrade script + will copy the new fsck(8) program to your hard disk and + upgrade your remaining file systems. + + The upgrade program will then mount all of your file systems + under /mnt. (In other words, your root partition will be + mounted on /mnt, your /usr partition on /mnt/usr, etc.) + + If you don't already have the NetBSD distribution sets on your + disk, look in the installation section for information on how + to transfer them to your disk. +>>> NetBSD or AmigaDOS partitions... + + Once the distribution sets are transferred to your disk, + continue here. (Obviously, if the NetBSD distribution sets + are already on your disk, because you've transferred them + before starting the upgrade process, you don't need to + transfer them again now!) + + After the software has been transferred to the machine (or + mounted, in the case of upgrading via NFS), change into the + directory containing the "base11" distribution set. Once you + are there, run the "Set_tmp_dir" command, and hit return at + the prompt to select the default answer for the temporary + directory's path name. (It should be the path name of the + directory that you're in.) + + Run the command "Extract base11" to upgrade the base + distribution. + + Repeat the above two steps for all of the sets you wish to + upgrade. (For each, change into the directory containing the + set, run "Set_tmp_dir" and accept the default path name, then + run the "Extract <setname>" command.) + + If you were previously using the security distribution set, + you MUST upgrade to the new version, or you will not be able + to log in when the upgrade process is complete. Similarly, if + you were not previously using the security set, you must NOT + upgrade to the new version. + + When you are done upgrading all of the distribution sets you + wish to upgrade, issue the command "Cleanup". It will clean + up the installation, by remaking some system databases. When + it is complete, you should use "halt" to halt the system. + +>>> transfer new kernel to / + +Your system has now been upgraded to NetBSD 1.1. + +After a new kernel has been copied to your hard disk, your + machine is a complete NetBSD 1.1 system. However, that + doesn't mean that you're finished with the upgrade process. + There are several things that you should do, or might have to + do, to insure that the system works properly. + + First, if you did not upgrade your file systems to the new + file system format during the upgrade process, you may want to + do so now, with "fsck -c 2". If you are unsure about the + process, it's suggested that you read the fsck(8) manual page. + + Second, you will probably want to get the etc11 distribution, + extract it, and compare its contents with those in your /etc/ + directory. You will probably want to replace some of your + system configuration files, or incorporate some of the changes + in the new versions into yours. + + Third, you will probably want to update the set of device + nodes you have in /dev. If you've changed the contents of + /dev by hand, you will need to be careful about this, but if + not, you can just cd into /dev, and run the command "sh + MAKEDEV all". + + Fourth, you must deal with certain changes in the formats of + some of the configuration files. The most notable change is + that the "options" given to many of the file systems in + /etc/fstab or by hand have changed, and some of the file + systems have changed names. To find out what the new options + are, it's suggested that you read the manual page for the + file systems' mount commands, for example mount_nfs(8) for + NFS. (Note that the information for mounts of type "ufs", + i.e. Fast File Systems, are contained in the mount(8) man + page.) +>>> Is this needed for 1.0 -> 1.1 upgrade? + + Finally, you will want to delete old binaries that were part + of the version of NetBSD that you upgraded from and have since + been removed from the NetBSD distribution. You might also + want to recompile any locally-built binaries, to take + advantage of the shared libraries. (Note that any new + binaries that you build will be dynamically linked, and + therefore take advantage of the shared libraries, by default. + For information on how to make statically linked binaries, + see the cc(1) and ld(1) manual pages.) diff --git a/distrib/notes/amiga/whatis b/distrib/notes/amiga/whatis new file mode 100644 index 00000000000..bff5272d6c1 --- /dev/null +++ b/distrib/notes/amiga/whatis @@ -0,0 +1,4 @@ + +>>> What should go here? +This is the first public release of NetBSD for the Amiga line of +computers. diff --git a/distrib/notes/amiga/xfer b/distrib/notes/amiga/xfer new file mode 100644 index 00000000000..602b2bb18e1 --- /dev/null +++ b/distrib/notes/amiga/xfer @@ -0,0 +1,128 @@ +Installation is supported from several media types, including: + AmigaDOS HD partitions + Tape + NFS partitions + FTP + NetBSD partitions, if doing an upgrade. + +>>> Transfering install/upgrade file system image to swap partition +No matter what you do, however, you'll need to have one disk handy, +on which you will put the install floppy image. + +All the images are available from the directory "amiga/floppies", +>>> ^^^^^^^^ +under the root of the NetBSD tree at your favorite archive site. + +If you are using NetBSD/amiga to make the floppies, you should use +the command dd(1) to write the raw floppy images (.fs files) to +the disk. To write onto fd0 use: + + dd if=inst-11.fs of=/dev/rfd0a bs=11b + +If you are using AmigaDOS to make the floppies, you should +use the rawwrite utility, provided in the directory +"amiga/utilities" in the distribution. To write the image to +the floppy in df0 use (from cli): + + rawwrite 0 inst-11.fs +>>> fix above to document file system transfer to swap paritition +>>> using xstreamtodev + +The steps necessary to prepare the distribution sets +for installation depend on which method of installation +you choose. The various methods are explained below. + +To prepare for installing via an AmigaDOS partition: + + To install NetBSD from an AmigaDOS partition, you need to + get the NetBSD distribution sets you wish to install + on your system on to an AmigaDOS partition. All of the + set_name.xx pieces can be placed in a single directory + instead of separate ones for each distribution set. This + will also simplify the installation work later on. + + Note where you place the files you will need this later. + + Once you have done this, you can proceed to the next + step in the installation process, preparing your hard disk. + +To prepare for installing via a tape: + + To install NetBSD from a tape, you need to somehow + get the NetBSD filesets you wish to install on + your system on to the appropriate kind of tape, + in tar format. + + If you're making the tape on a UN*X system, the easiest + way to do so is: + + tar cvf <tape_device> <files> + + where "<tape_device>" is the name of the tape device + that describes the tape drive you're using (possibly + something like /dev/nrst0, but we make no guarantees 8-). + If you can't figure it out, ask your system administrator. + "<files>" are the names of the "set_name.nnn" files + which you want to be placed on the tape. + + Once you have done this, you can proceed to the next + step in the installation process, preparing your hard disk. + +To prepare for installing via an NFS partition: + + NOTE: this method of installation is recommended + only for those already familiar with using + the BSD network-manipulation commands and + interfaces. If you aren't, this documentation + should help, but is not intended to be + all-encompassing. + + Place the NetBSD software you wish to install into + a directory on an NFS server, and make that directory + mountable by the machine which you will be installing + NetBSD on. This will probably require modifying the + /etc/exports file of the NFS server and resetting + mountd, acts which will require superuser privileges. + Note the numeric IP address of the NFS server and of + the router closest to the the new NetBSD machine, + if the NFS server is not on a network which is + directly attached to the NetBSD machine. + + Once you have done this, you can proceed to the next + step in the installation process, preparing your hard disk. + +To prepare for installing via FTP: + + NOTE: this method of installation is recommended + only for those already familiar with using + the BSD network-manipulation commands and + interfaces. If you aren't, this documentation + should help, but is not intended to be + all-encompassing. + + The preparations for this method of installation + are easy: all you have to do is make sure that + there's some FTP site from which you can retrieve + the NetBSD installation when it's time to do + the install. You should know the numeric IP + address of that site, the numeric IP address of + your nearest router if one is necessary + + Once you have done this, you can proceed to the next + step in the installation process, preparing your hard disk. + +If you are upgrading NetBSD, you also have the option of installing +NetBSD by putting the new distribution sets somewhere in your existing +file system, and using them from there. To do that, you must do the +following: + + Place the distribution sets you wish to upgrade somewhere in + your current file system tree. At a bare minimum, you must + upgrade the "base" binary distribution, and so must put the + "base11" set somewhere in your file system. If you wish, + you can do the other sets, as well, but you should NOT upgrade + the "etc" distribution; the "etc" distribution contains system + configuration files that you should review and update by hand. + + Once you have done this, you can proceed to the next step in + the upgrade process, actually upgrading your system. diff --git a/distrib/notes/atari/contents b/distrib/notes/atari/contents new file mode 100644 index 00000000000..4746977bd42 --- /dev/null +++ b/distrib/notes/atari/contents @@ -0,0 +1,124 @@ +The Atari-specific portion of the NetBSD 1.1 release is found in the +"atari" subdirectory of the distribution. That subdirectory is layed +out as follows: + +.../NetBSD-1.1/atari/ + binary/ atari binary distribution sets; + see below. + + floppies/ atari boot and installation + floppies; see below. + + security/ atari security distribution; + see below; + + utils.netbsd/ + utils.tos/ Miscellaneous atari + installation utilities; see + installation section, below. + +There are three atari floppy images to be found in the "atari/floppies" +subdirectory of the NetBSD 1.1 distribution. One of them is a +bootable TOS kernel floppy and the other two are installation floppy's. +They are described in more detail below. There are gzipped versions +of each available, for easier downloading. (The gzipped version +have the ".gz" extension added to their names.) + +Bootable Kernel floppy: + + This TOS disk contains the loadbsd and chg_part programs + and the GENERIC kernel. It is setup so that you can insert it + int your floppy drive, and start the programs from GEM. + + This floppy is named boot-11.fs + +Installation floppy: + + This disk contains a BSD root file system setup to help + you install the rest of NetBSD. This includes formatting + and mounting your root and /usr partitions and getting + ready to extract (and possibly first fetching) the distribution + sets. There is enough on this file system to allow you to + make a slip connection, configure an ethernet, mount an NFS + file system or ftp. You can also load distribution sets from + a SCSI tape or from one of your existing TOS partitions. + + This floppy's are named "inst-11.fs.1" and "inst-11.fs.2". + +The NetBSD/atari binary distribution sets contain the binaries which +comprise the NetBSD 1.1 release for the atari. There are seven binary +distribution sets, and the "security" distribution set. The binary +distribution sets can be found in subdirectories of the "atari/binary" +subdirectory of the NetBSD 1.1 distribution tree, and are as follows: + + base11 The NetBSD/atari 1.1 base binary distribution. You + MUST install this distribution set. It contains the + base NetBSD utilities that are necessary for the + system to run and be minimally functional. It + includes shared library support, and excludes + everything described below. + [ 7M gzipped, 19M uncompressed ] + + comp11 The NetBSD/atari Compiler tools. All of the tools + relating to C, C++, and FORTRAN (yes, there are two!). + This set includes the system include files + (/usr/include), the linker, the compiler tool chain, + and the various system libraries (except the shared + libraries, which are included as part of the base + set). This set also includes the manual pages for all + of the utilities it contains, as well as the system + call and library manual pages. + [ 4M gzipped, 12M uncompressed ] + + etc11 This distribution set contains the system + configuration files that reside in /etc and in several + other places. This set MUST be installed if you are + installing the system from scratch, but should NOT be + used if you are upgrading. (If you are upgrading, + it's recommended that you get a copy of this set and + CAREFULLY upgrade your configuration files by hand.) + [ 50K gzipped, 280K uncompressed ] + + games11 This set includes the games and their manual pages. + [ 1M gzipped, 3M uncompressed ] + + man11 This set includes all of the manual pages for the + binaries and other software contained in the base set. + Note that it does not include any of the manual pages + that are included in the other sets. + [ 730K gzipped, 3M uncompressed ] + + misc11 This set includes the system dictionaries (which are + rather large), the typesettable document set, and + man pages for other architectures which happen to be + installed from the source tree by default. + [ 2M gzipped, 6M uncompressed ] + + text11 This set includes NetBSD's text processing tools, + including groff, all related programs, and their + manual pages. + [ 784K gzipped, 3M uncompressed ] + +The atari security distribution set is named "secr11" and can be found +in the "atari/security" subdirectory of the NetBSD 1.1 distribution +tree. It contains crypt.c (the source file for the DES encryption +algorithm) and the binaries which depend on it. It can only be found +on those sites which carry the complete NetBSD distribution and that +can legally obtain it. (Remember, because of United States law, this +distribution set may not be exported to locations outside of the +United States and Canada.) [ 119K gzipped, 300K uncompressed ] + +The atari binary distribution sets are distributed in the same form as +the source distribution sets; catted together, the members of a set +form a gzipped tar file. Each atari binary distribution set also has +its own "CKSUMS" file, just as the source distribution sets do. + +The instructions given for extracting the source sets work equally +well for the binary sets, but it is worth noting that if you use that +method, the files are extracted "below" the current directory. That +is, if you want to extract the binaries "into" your system, i.e. +replace the system binaries with them, you have to run the "tar xvfp" +from /. Also note that if you upgrade or install this way, those +programs that you are using at the time will NOT be replaced. If you +follow the normal installation or upgrade procedures, this will be +taken care of for you. diff --git a/distrib/notes/atari/hardware b/distrib/notes/atari/hardware new file mode 100644 index 00000000000..cf708802f19 --- /dev/null +++ b/distrib/notes/atari/hardware @@ -0,0 +1,33 @@ +NetBSD/atari 1.1 runs on a TT030 and a Falcon. Currently an FPU is +required, although this might change in the (near) future. The +minimum amount of RAM required is 4Mb. + +Here is a table of recommended HD partition sizes for a full install: + partition: advise, with X, needed, with X + root (/) 15M 15M 10M 10M + user (/usr) 65M 100M 45M 80M + swap ----- 2M for every M ram ----- + local (/local) up to you + +As you may note the recommended size of /usr is 20M greater than +needed. This is to leave room for a kernel source and compile tree +as you will probably want to compile your own kernel. (GENERIC is +large and bulky to accommodate all people, BOOT is small and might +not have all the features you want). + +Supported devices include: + - The buildin SCSI host adapter + - Should support most SCSI-drives. The drives that are + currently tested are: + MAXTOR 7245S, MAXTOR 7080S, SEAGATE ST157N + - Should support most tape drives. The drives that are + currently tested are: + TANDBERG 3600 + - Should support most CD-ROM drives. + - The buildin video controller + - The building (720Kb/1.44Mb) floppydrive + - The serial2/modem2 ports + - The Falcon FX memory expansion + - The atari mouse + +If its not on this list, there is no support for it in this release. diff --git a/distrib/notes/atari/install b/distrib/notes/atari/install new file mode 100644 index 00000000000..cbc336a5196 --- /dev/null +++ b/distrib/notes/atari/install @@ -0,0 +1,278 @@ +Installing NetBSD is a relatively complex process, but, if you have +this document in hand and are careful to read and remember the +information which is presented to you by the install program, it +shouldn't be too much trouble. + +Before you begin, you must have already prepared your hard disk as +detailed in the section on preparing your system for install. + +The following is a walk-through of the steps necessary to get NetBSD +installed on your hard disk. If you wish to stop the installation, +you may hit Control-C at any prompt, but if you do, you'll have to +begin again from scratch. + + First you need to get yourself into NetBSD. This can be + done in a couple ways, both of which currently require + GEMDOS. + + You can insert the GEMDOS kernel floppy and select + the loadbsd program. It will ask for parameters, + supply: '-b netbsd'. You can, of course, also run it + from the shell command-line in MiNT: + + loadbsd -b a:/netbsd + + You should see the screen clear and some information about + your system as the kernel configures the hardware. Then + you will be prompted for a root device. At this time remove + the GEMDOS kernel boot floppy from the drive if present and + insert the BSD install floppy 1. Now type `rd0' to tell the + kernel to load the install filesystem into RAMdisk. While + While the kernel is loading, it will show a '.' for each + track loaded. After loading 80 tracks, it will ask you + to insert the next floppy. At this time, inser the BSD + install floppy 2 and hit any key. The kernel continous + loading another 40 tracks before it continues to boot. + + The system should continue to boot. For now ignore WARNING: + messages about bad dates in clocks. Eventually you will be + be asked to enter the pathname of the shell, just hit + return. After a short while you should see a welcome + message and a prompt, asking if you wish to proceed with the + installation. + + If you wish to proceed, enter "y" and then return. + + If you have configured your hard drive[s] correctly it + should find the drive and partition that you selected to + use as your root. + + YOU ARE NOW AT THE POINT OF NO RETURN. If you confirm that + you want to install NetBSD, your hard drive will be modified, + and perhaps its contents scrambled at the whim of the install + program. + + If you are sure you want to proceed, enter "yes" at the + prompt. + + The install program will now make the root filesystem you + specified. There should be only one error in this section + of the installation. It will look like so: + + newfs: ioctl (WDINFO): Invalid argument + newfs: /dev/rsd0a: can't rewrite disk label + + If there are any others, restart from the the beginning of + the installation process. This error is ok as the Atari + does not write disklabels currently. You should expect + this error whenever using newfs. + + Next the install program will ask you which drive and + partition you wish to use as /usr. First it will list the + available drives. Choose one. Next it will give you a + list of the partitions on that disk along with their sizes, + types, etc.. Choose the letter that corresponds to the + partition you wish to use for /usr. To be able to make the + proper selection, you need to know, that NetBSD assigns a + special meaning to some of the partition letters: + 'a' : root filesystem + 'b' : swap partition + 'c' : whole disk + You should choose a letter in the range 'd'-'p' for your + /usr filesystem. If you are doing a full install this should + be a partition that is at least 45M-50M large. If everything is + ok the install program will then format and mount your /usr. If + not then it will ask again for a drive and partition. + + When this completes your root partition will be mounted on + /mnt and your /usr partition on /mnt/usr. An fstab will + have been created and initialized to correctly mount these + two file systems. This fstab will be in /mnt/etc. + + What you do from this point on depends on which media you're + using to install NetBSD. Follow the appropriate instructions, + given below. + + To install from an GEMDOS partition: + + You first need to mount the GEMDOS partition + using the mount_msdos command. If e.g. your GEMDOS + partition is the first partition on sd0 you could + type: + + mkdir /mnt/gemdos + mount_msdos /dev/sd0d /mnt/gemdos + + You can use `disklabel sd0' to find out what types + of partitions are on the disk `sd0'. + + Next goto the directory in which you stored the + distribution sets. If e.g. you stored them in the + root directory of the partition: + + cd /mnt/gemdos + + When there, run "Set_tmp_dir" and choose the default + temporary directory, by hitting return at the + prompt. + + Run the "Extract" command, giving it as its sole + argument the name of the distribution set you wish + to extract. For example, to extract the base + distribution, use the command: + + Extract base11 + + and to extract the games distribution: + + Extract game11 + + If the distribution sets are in different directories, + you will need to cd to each directory in turn, runing + "Set_tmp_dir" and the appropriate "Extract" command(s). + + Continue this process until you've finished installing + all of the sets which you desire to have on your + hard disk. Once you have extracted all sets and + are at the "#" prompt again, proceed to the section + "Configuring Your System," below. + + To install from tape: + + The first thing you should do is pick a temporary + directory where the distribution files can be stored. + To do this, use the command "Set_tmp_dir" and enter + your choice. The default is /mnt/usr/distrib. + + After you have picked a temporary directory, + you should issue the load command: + + Load_tape + + Next, you will be told to insert the media into + the appropriate drive, and hit return. Continue + to follow instructions until you are returned to + the "#" prompt. + + Go to the directory which contains the first + distribution set you wish to install. This is + either the directory you specified above, or possibly + a subdirectory of that directory. + + When there, run "Set_tmp_dir" again, and choose + the default temporary directory, by hitting + return at the prompt. + + Run the "Extract" command, giving it as its sole + argument the name of the distribution set you + wish to extract. For example, to extract the base + distribution, use the command: + + Extract base11 + + and to extract the games distribution: + + Extract game11 + + After the extraction is complete, go to the location + of the next set you want to extract, "Set_tmp_dir" + again, and once again issue the appropriate + extract command. Continue this process until + you've finished installing all of the sets which you + desire to have on your hard disk. + + After each set is finished, if you know that you + are running low on space you can remove the + distribution files for that set by saying: + + rm set_name.?? + + For example, if you wish to remove the distribution + files for the game09 set, after the "Extract game09" + command has completed, issue the command: + + rm game11.?? + + Once you have extracted all sets and are at the "#" prompt + again, proceed to the section "Configuring Your System," + below. + +Configuring Your System: +----------- ---- ------ + +Once you have finished extracting all of the distribution sets that +you want on your hard drive and are back at the "#" prompt, +you are ready to configure your system. + +The configuration utility expects that you have installed the base +system. If you have not, you will not be able to run it successfully +(nor will you have a functional system regardless of configuration). + +To configure the newly installed operating system, run the +command "Configure". + +Configure will ask for the machine's hostname, domain name, and other +network configuration information. + +Once you have supplied `Configure' all that it requests, your machine +will be configured well enough that when you reboot it it will +almost be a completely functional NetBSD system. Note you should +ignore the errors from `chown' they will be corrected shortly. + +Once you are done with `Configure', halt the system with the "halt" +command (wait for "halted" to be displayed) and reboot. Then again +boot NetBSD this time with the command: + + loadbsd netbsd + +You need to do your final tweeks now. First mount your file systems +like so: + + mount -av + +Next you need to re-make your devices to get the ownership correct: + + cd /dev + MAKEDEV all + +Your system is now complete but not completely configured; you +should adjust the /etc/sendmail.cf file as necessary to suit your +site and/or disable sendmail and other network related programs. +These things can be found in /etc/netstart. Use vi, if you installed +the man pages you can type `man vi' or `man ed' for instructions +on how to use these somewhat non-intuitive editors. + +As mentioned at the end of the `Configure' run, you should copy the +NetBSD kernel onto the root partition as "/netbsd". There is also +another option to this. As NetBSD/Atari has to be booted from TOS, +you could do the following: + Reserve a small GEMDOS partition of about 4Mb. This is + enough to put in a few kernels. Put the netbsd kernel + into this partition. Also, edit your /etc/fstab to always + mount this partition, say as /kernels. Now make a symlink + from /netbsd to /kernels/netbsd. + This sceme is particulary handy when you want to make your + own kernel. When compilation is finished, you just copy + your kernel to /kernels/netbsd and reboot. It's wise to + make sure there is _always_ a 'know to work' kernel image + present. + +To get the proper timezone settings, link /etc/localtime to the +appropriate file in /usr/share/zoneinfo. The link provided is to +/usr/share/zoneinfo/US/Pacific. + +Once you are done with the rest of configuration unmount your file +systems and halt your system, then reboot: + + cd / + umount -av + halt + <reboot> + +Finally you can now boot your system and it will be completely +functional: + + loadbsd -a netbsd + +When it boots off of the hard drive, you will have a complete +NetBSD system! CONGRATULATIONS! (You really deserve them!!!) diff --git a/distrib/notes/atari/legal b/distrib/notes/atari/legal new file mode 100644 index 00000000000..431e6c06461 --- /dev/null +++ b/distrib/notes/atari/legal @@ -0,0 +1,7 @@ + This product includes software developed by Christian E. Hopps. + + This product includes software developed by Gordon Ross + + This product includes software developed by Leo Weppelman. + + This product includes software developed by Markus Wild. diff --git a/distrib/notes/atari/prep b/distrib/notes/atari/prep new file mode 100644 index 00000000000..dd68c6ce618 --- /dev/null +++ b/distrib/notes/atari/prep @@ -0,0 +1,97 @@ +Note you will be modifying your HD's if you mess something up here you +could lose everything on all the drives that you mess with. It is +therefore advised that you: + + Write down your current configurations. Do this + by writing down all partition info (especially their sizes). + + Back up the partitions you are keeping. + +What you need to do is partition your drives; creating +space for at least root, swap and /usr partitions and possibly at +least one more for /local if you have the space. + +The partitioning can be done in two ways, the first method heavily +relies on the AHDI way of partitioning, the second method nearly +ignores the AHDI partitioning and gives you far more flexibility. +Currently, the second method can only be achieved from a working +NetBSD/atari system. How this should be done is described in +"upgrading to NetBSD-labeling". + +Using AHDI partitioning: + The paritioning can be done with the AHDI-disk that is + provided with your TT or Falcon. Note that the AHDI partioning + function erases all partions on your harddisk even if they are + not changed! + I know this is rather stupid, but don't say I didn't warn you. + + You will need the 'chg_part' program from the bootdisk to + prepare your harddisk a bit more. This program will change the + partition-id so NetBSD knows which partitions it can use. The + synopsis is: + chg_part <driveno> <partno> <new_id> + + The drive number corresponds with the drive's SCSI-id. The new + id can be selected from one of the following acronyms: + NBU - NetBSD User partition + NBR - NetBSD Root partition + NBS - NetBSD Swap partition + Because NetBSD cannot be bootloaded (yet) and thus must be + loaded through GEM, it is unwise to use drive 'C' + (drive 0/partition 1) as a NetBSD partition. When a partition-id + is changed, GEMDOS won't be able to recognize your drive, so be + warned that the drive labels are shifted afterwards. The chg_part + program still recognizes them, take this into account when + re-labeling partitions. Also note that the chg_part process is + reversible. So don't panic if you made a mistake. Just run + chg_part again with the same drive/partition arguments but + supplied the original partition id. + +Upgrading to NetBSD-labeling: + First of all the new disk label functions are fully backwards + compatible with the current (old) behaviour, therefore you don't + have to rename partition identifiers if you don't want to. The only + limitation is that you won't be able to write a disklabel to your + harddisk ("Device not configured."). + + If you'ld like to have the flexibility of the NetBSD disk label, + the procedure is very simple: change the identifier of the AHDI + partition that contains your NetBSD root filesystem from NBR to NBD. + Boot NetBSD; run `disklabel -e sd?'; disklabel will start vi; + quit vi without changing anything; now the disklabel should be + written to the NBD partition. If at this point disklabel tells + you that one or more of your partitions extend past the end of + the unit, then you have an old version of disklabel. Get the + + If you like, you can now change the NBD partition id to RAW + (this would for example be necessary if the partition must be + shared with MiNT), but keep in mind that the partition id must + be either NBD or RAW, otherwise NetBSD won't be able to find the + disklabel. The NBS id (used for a swap partition) is no longer + needed, you can change it to whatever you like (or leave it as + is, if that's what you like :-) ). The same is true for the + NBU id's. + + WARNINGS: + - the NBD partition does not necessarily have to be the + partition that contains the NetBSD root filesystem, but + it *must* be a partition that contains a fast filesystem. + Do *not* try this with a partition that contains a gemdos, + minix or ext2 filesystem; if you do, you'll *loose* a + filesystem. + - Now that you have a real disklabel, you can modify it in + (almost) any way you want. However, if you make a mess of + the disk label, NetBSD may (or may not) make a mess of + your disk! No freedom without responsibility. + NetBSD will try to warn you for a possibly dangerous + partition table, but it's up to you to either take that + warning serious or ignore it (there may be good reasons + to ignore the warning, if you know what you're doing). + + So what do you do if you have a new disk, that will be exclusively + used by NetBSD? Very simple: don't let it get `infected' by the + AHDI `virus'. ,-) Just connect the disk to your TT/Falcon; boot + NetBSD; run `disklabel -e'; you'll see only one large partiton `d' + (there won't be any filesytem on it yet); you can create partitions + in any way you want, as you're no longer limited by an AHDI partition + table. diff --git a/distrib/notes/atari/upgrade b/distrib/notes/atari/upgrade new file mode 100644 index 00000000000..1ddc27fb372 --- /dev/null +++ b/distrib/notes/atari/upgrade @@ -0,0 +1,36 @@ +Before updating, you probably would want to backup your original +filesystems! + +The update procedure will not overwrite or remove any files not present +in the sets you install. If you've replaced programs present in the +distribution, you have to replace them again after you did the update. +The etc-set needs special caution. You generally don't want to install +this one when upgrading. It is recommended that you get a copy of this +set and _carefully_ upgrade your configuration files by hand. +Before starting the actual procedure, make a note of the partitions your +root- and usr-filesystems are on. You'll need to mount them by hand. + +Ok, let's go. Insert the bootfloppy and follow the 'normal' installation +procedure until it asks you if you wish to proceed with the installation. +Now enter 'n' and hit return. You will be left at the shell prompt. Now +mount your root and usr filesystems on /mnt. If your root-filesystem is +on sd1a and your usr-filesystem on sd1d this would require the following +actions: + mount_ffs /dev/sd1a /mnt + mount_ffs /dev/sd1d /mnt/usr + +At this point, you can follow the section "Installing the NetBSD System" +to install the sets. There is one difference: When Extract asks you + "Are you installing a -current snapshot? [n]" +answer 'y'. + +Once you are done installing the upgrade sets, then reboot: + cd / + umount -av + halt + <reboot> + +Now you can boot your upgraded system as usually, but take the +new kernel! To finish up, you should rebuild your /dev-directory: + cd /dev + MAKEDEV all diff --git a/distrib/notes/atari/whatis b/distrib/notes/atari/whatis new file mode 100644 index 00000000000..d9f2b34e087 --- /dev/null +++ b/distrib/notes/atari/whatis @@ -0,0 +1,2 @@ +The Atari release stepped in in March 1995. This means the NetBSD1.1 +is the first official release of NetBSD/Atari. diff --git a/distrib/notes/atari/xfer b/distrib/notes/atari/xfer new file mode 100644 index 00000000000..cb423915057 --- /dev/null +++ b/distrib/notes/atari/xfer @@ -0,0 +1,64 @@ +Installation is supported from several media types, including: + TOS HD partitions + Tape + +No matter what you do, however, you'll need to have three disks handy, +on which you will put the install and boot floppy images. + +All the images are available from the directory "atari/floppies", +under the root of the NetBSD tree at your favorite archive site. + +If you are using NetBSD/atari to make the floppies, you should use +the command dd(1) to write the raw floppy images (.fs files) to +the disk. To write onto fd0 use: + + dd if=inst-10.fs.1 of=/dev/rfd0b bs=9b + +If you are using TOS to make the floppies, grab the 'rawwrite' utility +from the "atari/utils" directory and issue the command: + rawwrite boot-10.fs + +This will create the boot-floppy on the floppy in drive a. The floppies +should be pre-formatted on 720Kb for both the 'dd' and 'rawwrite' commands +to work. Pre-formatting can be best done using the desktop format command. +Some other utilities seem to be giving problems. + +The steps necessary to prepare the distribution sets +for installation depend on which method of installation +you choose. The various methods are explained below. + +To prepare for installing via an GEMDOS partition: + + To install NetBSD from an GEMDOS partition, you need to + get the NetBSD distribution sets you wish to install + on your system on to an GEMDOS partition. All of the + set_name.xx pieces can be placed in a single directory + instead of separate ones for each distribution set. This + will also simplify the installation work later on. + + Note where you place the files you will need this later. + + Once you have done this, you can proceed to the next + step in the installation process, preparing your hard disk. + +To prepare for installing via a tape: + + To install NetBSD from a tape, you need to somehow + get the NetBSD filesets you wish to install on + your system on to the appropriate kind of tape, + in tar format. + + If you're making the tape on a UN*X system, the easiest + way to do so is: + + tar cvf <tape_device> <files> + + where "<tape_device>" is the name of the tape device + that describes the tape drive you're using (possibly + something like /dev/nrst0, but we make no guarantees 8-). + If you can't figure it out, ask your system administrator. + "<files>" are the names of the "set_name.nnn" files + which you want to be placed on the tape. + + Once you have done this, you can proceed to the next + step in the installation process, preparing your hard disk. diff --git a/distrib/notes/donations b/distrib/notes/donations new file mode 100644 index 00000000000..eb5d1b0235c --- /dev/null +++ b/distrib/notes/donations @@ -0,0 +1,8 @@ + Brian Carlstrom + Demon Internet, UK + Michael L. Hitch + Herb Peyerl + Mike Price + Thor Lancelot Simon + Bill Sommerfeld + Steve Wadlow diff --git a/distrib/notes/hp300/contents b/distrib/notes/hp300/contents new file mode 100644 index 00000000000..e49dfb06299 --- /dev/null +++ b/distrib/notes/hp300/contents @@ -0,0 +1,91 @@ +The hp300-specific portion of the NetBSD 1.0 release is found in the +"hp300" subdirectory of the distribution. That subdirectory is layed +out as follows: + +.../NetBSD-1.0/hp300/ + binary/ hp300 binary distribution sets; + see below. + + install/ installation utilities and + bootstrap root filesystem + image; see below. + + security/ hp300 security distribution; + see below; + +The NetBSD/hp300 binary distribution sets contain the binaries which +comprise the NetBSD 1.0 release for the hp300. There are seven binary +distribution sets, and the "security" distribution set. The binary +distribution sets can be found in the "hp300/binary" subdirectory of +the NetBSD 1.0 distribution tree, and are as follows: + + base10 The NetBSD/hp300 1.0 base binary distribution. You + MUST install this distribution set. It contains the + base NetBSD utilities that are necessary for the + system to run and be minimally functional. It + includes shared library support, and excludes + everything described below. + [ 6.1M gzipped, 16.3M uncompressed ] + + comp10 The NetBSD/hp300 Compiler tools. All of the tools + relating to C, C++, and FORTRAN (yes, there are two!). + This set includes the system include files + (/usr/include), the linker, the compiler tool chain, + and the various system libraries (except the shared + libraries, which are included as part of the base + set). This set also includes the manual pages for all + of the utilities it contains, as well as the system + call and library manual pages. + [ 4.1M gzipped, 12.6M uncompressed ] + + etc10 This distribution set contains the system + configuration files that reside in /etc and in several + other places. This set MUST be installed if you are + installing the system from scratch, but should NOT be + used if you are upgrading. (If you are upgrading, + it's recommended that you get a copy of this set and + CAREFULLY upgrade your configuration files by hand.) + [ 51K gzipped, 290K uncompressed ] + + games10 This set includes the games and their manual pages. + [ 1.1M gzipped, 2.7M uncompressed ] + + man10 This set includes all of the manual pages for the + binaries and other software contained in the base set. + Note that it does not include any of the manual pages + that are included in the other sets. + [ 752K gzipped, 2.9M uncompressed ] + + misc10 This set includes the system dictionaries (which are + rather large), the typesettable document set, and + man pages for other architectures which happen to be + installed from the source tree by default. + [ 1.6M gzipped, 5.6M uncompressed ] + + text10 This set includes NetBSD's text processing tools, + including groff, all related programs, and their + manual pages. + [ 782K gzipped, 2.8M uncompressed ] + +The hp300 security distribution set is named "secr10" and can be found +in the "hp300/security" subdirectory of the NetBSD 1.0 distribution +tree. It contains crypt.c (the source file for the DES encryption +algorithm) and the binaries which depend on it. It can only be found +on those sites which carry the complete NetBSD distribution and that +can legally obtain it. (Remember, because of United States law, this +distribution set may not be exported to locations outside of the +United States and Canada.) [ 119K gzipped, 270K uncompressed ] + +The hp300 binary distribution sets are distributed as gzipped tar files. +Each hp300 binary distribution set also has its own "CKSUMS" file, just +as the source distribution sets do. + +The instructions given for extracting the source sets work equally +well for the binary sets, but it is worth noting that if you use that +method, the files are extracted "below" the current directory. That +is, if you want to extract the binaries "into" your system, i.e. +replace the system binaries with them, you have to run the "tar xvfp" +from /. Also note that if you upgrade or install this way, those +programs that you are using at the time will NOT be replaced. If you +follow the normal installation or upgrade procedures, this will be +taken care of for you. diff --git a/distrib/notes/hp300/hardware b/distrib/notes/hp300/hardware new file mode 100644 index 00000000000..48f2ef8085c --- /dev/null +++ b/distrib/notes/hp300/hardware @@ -0,0 +1,66 @@ +NetBSD/hp300 1.0 will run on most HP 9000/300 series machines. +The lowest amount of RAM that has been tested is 7.5M, though it +may run with less. Certainly, if you wish to run X, more RAM is +recommended. Until you reach 16M, more RAM is more important than +a faster CPU. + +Here is a table of recommended HD partition sizes for a full install: + partition: advise needed + root (/) 15M 15M (see note below) + user (/usr) 80M 45M + swap ----- 2M for every 1M of RAM ----- + local (/local) up to you + +NOTE: Because of the nature of the hp300 bootstrap procedure, the root +filesystem is a _fixed_size_! You may want to consider placing /var and +/tmp on their own partitions. This, of course is up to you and your +judgement. Also, note that the recommended size of /usr is 15M greater +than the needed size. This is to allow room for kernel source and +compile areas, as you may want to compile your own kernel. + +The following HP hardware is supported: + + CPUs: + 68020-based: 318, 319, 320, 330, and 350. + 68030-based: 340, 345, 360, 370, 375, and 400. + 68040-based: 380, 425, and 433. + + Disks: + HP-IB/CS80: 7912, 7914, 7933, 7936, 7937, 7945, 7957, + 7958, 7959, 2200, and 2203. + SCSI-I, including magneto-optical and CD-ROM. SCSI-II + drives should work if they can talk SCSI-I. + + Tape drives: + Low-density CS80 cartridge: 7914, 7946, 9144. + High-density CS80 cartridge: 9145. + SCSI: HP DAT and Exabyte. + + RS232 interfaces: + 98644 built-in single port (dca). + 98642 4-port (dcm). + 98638 8-port (dcm). + + Network interfaces: + 98643 built-in and add-on LAN cards. + + Displays: + 98544, 98545, and 98547 color and monochrome Topcat. + 98548, 98549, and 98550 color and monochrome Catseye. + 98700 and 98710 Gatorbox. + 98720 and 98721 Renaissance. + 98730 and 98731 DaVinci. + A1096A monochrome Hyperion. + + Input devices: + General interface supporting all HIL devices: keyboard, + 2 and 3 button mice, and ID module. + + Miscellaneous: + Battery-backed real-time clock. + 98625A and 98625B built-in HP-IB interface. + 98658A built-in SCSI interface. + Printers and plotters on RS232 and HP-IB. + SCSI autochanger. + +If it's not on this list, there is no support for it in this release. diff --git a/distrib/notes/hp300/install b/distrib/notes/hp300/install new file mode 100644 index 00000000000..9f33d0bc7ae --- /dev/null +++ b/distrib/notes/hp300/install @@ -0,0 +1,222 @@ +NOTE: In the following examples you will see references to +disk devices. For those not familiar with NetBSD, the following +prefixes are used to denote drive types: + + sd SCSI disk + rd HP-IB disk + +In the examples that follow, `rd' will be used. The steps are +exactly the same for `sd' disks. Only the names have changed +to protect the innocent. + +Assuming you have read this document thoroughly and kept good notes +about your partitions, the rest should be fairly straight forward. + +Before you begin, you must have already prepared the target disk +as detailed in the section on preparing your system for install. + +The following is a walk-through of the steps necessary to finish +what the preparation process has already begun. You may choose to +stop the process at any time, but if you do, it's recommended that +you start over from scratch. + + First you need to boot off of the target disk which + you have made in the preparation process. To do this, + halt HP-UX, power-cycle your machine, and hit the space + bar during the boot ROM's probing/testing sequence. + You should eventually be presented with a list of systems + from which to boot. You want the one called `SYS_PBOOT'. + + After selecting `SYS_PBOOT', your system should load the + NetBSD boot block and ask you for a kernel to load. + Enter the following to boot NetBSD into single-user mode. + (Note: it will come into single-user anyway, as there is + not yet an fstab, but this makes it happen more gracefully.) + + netbsd -s + + The kernel will now load, and configure your hardware. + Make a note of the device it lists when mounting the + root filesystem. It should look something like this: + + Changing root device to rd0a + + The message above is an example only. Your message may + be different. + + Check the root filesystem. Use the raw flavor of the + device listed during the `Changing root device...' + message. Example: + + fsck -p /dev/rrd0a + + Mount the root filesystem: + + mount /dev/rd0a / + + It's now time to newfs all of the other partitions you + listed in your disk label. So, for example, if rd0e and + rd0f were to have filesystems put on them, you would + do the following: + + newfs /dev/rrd0e + newfs /dev/rrd0f + + Ensure that the mount-points for these filesystems are clean. + If these filesystems are to be /var and /usr, respectively, + just check that there are no files in those directories. + There shouldn't be. Once you've made sure, go ahead and + mount those filesystems. + + It's now time to get the distribution sets onto the root + or other filesystem. There are several programs in /ibin + to help you with this. At your disposal, you have: + + ftp + gzip + tar + extract + + Except for extract, which is just a script to help the + process along, these are statically-linked versions of + themselves, which normally appear in /usr/bin. + + If you placed the distribution sets on tape, go to the + directory where you wish to temporarily place them and + extract them from tape, using /dev/nrstX for SCSI tapes + or /dev/nrctX for HP-IB cartridge tapes, where X is the + unit number of the tape, probably 0. + + tar xvf /dev/nrst0 + + If this extracts the sets directly into your current + directory, terrific. Otherwise, go to the directory in + which they live. Skip on to extracting the sets. + + If you will be grabbing the sets off of the network somehow, + configure your network interface: + + ifconfig le0 inet <ipaddr> <netmask> <broadcast> + route add default <addr-of-default-router> + + If you will be ftp'ing the sets from one of the NetBSD ftp + sites, go to the directory where you wish to temporarily + place them and download them from the ftp site of your choice. + Since you haven't yet created a resolv.conf, you'll need to + use the IP address. + + /ibin/ftp <ftp_ipaddr> + + If you will be getting the sets from an NFS server, mount + the filesystem on the server which has the sets, and go + to the directory that has them. Again, you'll need to use + the IP address of the server. + + mount -t nfs <serv_ipaddr>:<server_dir> <mount_point> + + At this point, you have everything necessary to label any + additional disks that you wish to label. If you created + additional labels in the preparation phase, and have + access to them now, go ahead and label the disks they + correspond to: + + disklabel -W rd1 + disklabel -r -R rd1 rd1.label + where: + rd1 additional disk you wish to label + rd1.label file containing disk label information + + You may check these labels once they are on the disk: + + disklabel -r rd1 + where: + rd1 additional disk you wish to label + + A problem with a partition (such as overlaps or not falling + on a cylinder boundary) will be noted with a `*'. If you see + these, re-edit your label by the method of your choice (on + another machine, perhaps, or with ed(1), for the brave), + transfer it to a place that's usable (if necessary) and + label the disk again. + + Once these disks have been labeled, you may newfs the + partitions that are to contain filesystems and mount them. + + You should now be ready to extract the filesets. The program + /ibin/extract should help you with this. For example: + + /ibin/extract base + -or- /ibin/extract base.tar.gz + + Do this for all of the filesets you wish to extract. As your disk + fills up, you may wish to remove the sets once you have extracted + them. + + You should have everything necessary to use an editor by now. + Set your TERM environment variable: + + setenv TERM hp300h (csh) + -or- export TERM=hp300h (sh) + + hp300h is the terminal type for the HP 9000/300 ITE console. + If you are using a serial console, change the TERM variable + appropriately. Now, initialize the terminal: + + tset + + You should be able to use vi now. + + Create an /etc/fstab. Example fstabs are provided in + /etc/fstab.sd and /etc/fstab.rd. + + Edit your host table, /etc/hosts. In it, place the IP + address of this host and the IP address of your default + router. + + Edit the file /etc/myname. In it, place the symbolic name + of your machine. + + Edit the file /etc/defaultdomain. In it, place the name + of your YP domain. If you will not be using YP, simply + enter the domain name of your site. + + Edit the file /etc/mygate. In it, place the name of + your default router, as your listed it in /etc/hosts. + + Edit the file /etc/hostname.le0. In it, place the following + information: + + inet <myname.my.domain> <netmask> <broadcast> + + where: + <myname.my.domain> is the name corresponsing to + the IP address for that interface, as you listed in + /etc/hosts. + + <netmask> is the netmask for your network. + + <broadcast> is the broadcast address for your network. + + Repeat this step for any additional network interfaces you + may have. + + Edit the file /etc/ttys. Make sure that the entries are + correct for whichever console type you have. /dev/console + is correct for ITE, /dev/tty0 for console on dca, and + /dev/tty00 for console on dcm. You may get more information + about /etc/ttys by doing `man ttys', providing you have + installed the system manual set. + + Ok, cross your fingers and reboot: + + sync; sync; sync; reboot + + Providing you entered all information correctly, your + machine will boot into multi-user mode. Your system + will need a few tweaks here and there (like /etc/sendmail.cf + and /etc/netstart, perhaps), but that's the easy stuff. + + CONGRATULATIONS! You have successfully installed NetBSD + onto your hp300! Pat yourself on the back. This might also + be a good time to remove /ibin, as you will no longer need + it, and it is provided solely for bootstrapping purposes. diff --git a/distrib/notes/hp300/legal b/distrib/notes/hp300/legal new file mode 100644 index 00000000000..9ee96f95125 --- /dev/null +++ b/distrib/notes/hp300/legal @@ -0,0 +1,3 @@ + This product includes software developed by Adam Glass. + + This product includes software developed by Jason R. Thorpe. diff --git a/distrib/notes/hp300/prep b/distrib/notes/hp300/prep new file mode 100644 index 00000000000..5da019a2a6a --- /dev/null +++ b/distrib/notes/hp300/prep @@ -0,0 +1,125 @@ +NOTE: These instructions are explicitly for installing NetBSD +from an HP-UX system, version 7 or later. It has not been +tested with HP-UX versions earlier than 7, and has also not +been tested with HP-UX 8, although it is presumed to work. +For the creative, similar steps may be taken from a system such +as Utah's 4.3BSD release for the hp300, although bootstrapping +from such a system has not been tested. + +Bootstrapping the hp300 is a complicated process, but it's a lot +easier than it used to be. For this process you need the +following items from the install/ directory: + + boot NetBSD/hp300 boot block for + HP-IB and SCSI disks + + rootimage.gz bootstrap root filesystem + image + + label prototype disk label + + makedisk a program for HP-UX that will + write a NetBSD disk label, + boot block, and root filesystem + image to the target disk + (NOTE: This is an HP-UX 7.x binary. + while it will work under HP-UX 9.x, + you may want to compile this yourself. + The source may be found in makedisk.tar.gz) + +VERY IMPORTANT NOTE: This procedure will destroy all data on the +target disk. Because NetBSD uses a different filesystem format than +HP-UX, your old data will be useless. If you wish to save anything, +use tar(1) instead of dump(1M), again because of filesystem differences. + +First of all, you must have a second disk on which to install NetBSD. +If possible, this disk should first be prepared with mediainit(1M). +Once this disk is spotless, you should generate a disk label for it. +Using the prototype label provided, fill in all of the necessary +information. Remember, if you derive geometry information from an +HP-UX disktab, your partition size will be off. This is because HP-UX +uses a 1024-byte sector size, while NetBSD uses a 512-byte sector size. +To avoid the problem, you may simply double the number of cylinders. +(That's what I do...works great. -- JRT) + +IMPORTANT: Partition 'a' must be offset one cylinder. Since +partition information is expressed in sectors, the offset of +partition 'a' must be the value of `sectors/cylinder'. This is +to leave room for the boot block. + +When you create your disklabel, be sure to specify whether or not +the disk is HP-IB or SCSI in the `type:' field. + +Below is an example of what a disk label should look like. This +is an example only! Do not attempt this at home! + + + +# Sample disklabel for example only. This is a comment. +type: HP-IB +disk: +label: INSTALL-1_0 +flags: +bytes/sector: 512 +sectors/track: 36 +tracks/cylinder: 7 +sectors/cylinder: 252 +cylinders: 1013 +rpm: 3600 +interleave: 1 +trackskew: 0 +cylinderskew: 0 +headswitch: 0 # milliseconds +track-to-track seek: 0 # milliseconds +drivedata: 0 + +7 partitions: +# size offset fstype [fsize bsize cpg] + a: 30744 252 4.2BSD 1024 8192 16 # (Cyl. 1 - 122) + b: 32760 30996 swap # (Cyl. 123 - 252) + c: 255276 0 boot # (Cyl. 0 - 1012) + e: 20412 63756 4.2BSD 1024 4096 16 # (Cyl. 253 - 333) + f: 40824 84168 4.2BSD 1024 8192 16 # (Cyl. 334 - 495) + g: 130284 124992 4.2BSD 1024 8192 16 # (Cyl. 496 - 1012) + +NOTE: Due to the nature of the bootstrapping procedure, your 'a' +partition must be at least 30744 sectors long. Increase the size of +your 'a' partition just enough to make it end on a cylinder boundary. +If you make it any larger, you will just be wasting space, as the +filesystem ends after 30744 sectors. + +Remember to write down the names of the partitions and what you +will be using them for (i.e. 'a - root, b - swap, e - /usr, etc.') +as you will need this information later on in the installation +process. + +Once you are satisfied with your disklabel, you can write the +root filesystem image to the target disk. Use the `makedisk' +program for this. So, under HP-UX, do: + + ./makedisk /dev/rdsk/c7d0s0 mylabel boot rootimage.gz + +where: + /dev/rdsk/c7d0s0 raw flavor of target disk device + + mylabel disk label you just wrote + + boot supplied boot block + + rootimage.gz gzipped root filesystem image + NOTE: This requires that gzip be + installed on your HP-UX system. + If it is not, a gzip binary is + provided in the install/ directory. + Source for gzip may be found in the + gsrc10 distribution set. Again, this + gzip is an HP-UX 7.x binary. + +If you wish to label any additional disks, you will have to do this +from NetBSD, although you will not have an editor at your disposal. +To do this, simply generate the labels now, and then grab them at +the same time and by the same method you use to grab the distrubtion +sets. + +Once this is done, you should be ready to boot NetBSD from the target +disk. diff --git a/distrib/notes/hp300/upgrade b/distrib/notes/hp300/upgrade new file mode 100644 index 00000000000..25bcdb9f97c --- /dev/null +++ b/distrib/notes/hp300/upgrade @@ -0,0 +1 @@ +There is no previous release of NetBSD/hp300 to upgrade. diff --git a/distrib/notes/hp300/whatis b/distrib/notes/hp300/whatis new file mode 100644 index 00000000000..7a1b6055ef7 --- /dev/null +++ b/distrib/notes/hp300/whatis @@ -0,0 +1,2 @@ +This is the first public release of NetBSD for the HP 9000/300 series of +computers. diff --git a/distrib/notes/hp300/xfer b/distrib/notes/hp300/xfer new file mode 100644 index 00000000000..a912c45d826 --- /dev/null +++ b/distrib/notes/hp300/xfer @@ -0,0 +1,78 @@ +Installation is supported from several media types, including: + Tape + NFS partitions + FTP + +The steps necessary to prepare the distribution sets +for installation depend on which method of installation +you choose. The various methods are explained below. + +To prepare for installing via a tape: + + To install NetBSD from a tape, you need to somehow + get the NetBSD filesets you wish to install on + your system on to the appropriate kind of tape, + in tar format. + + If you're making the tape on a UN*X system, the easiest + way to do so is: + + tar cvf <tape_device> <files> + + where "<tape_device>" is the name of the tape device + that describes the tape drive you're using (possibly + something like /dev/nrst0, but we make no guarantees 8-). + Under HP-UX, this would be something like /dev/rmt/c0ed03inb. + Again, your mileage may vary. If you can't figure it out, + ask your system administrator. "<files>" are the names + of the "set_name.nnn" files which you want to be placed + on the tape. + + Once you have done this, you can proceed to the next + step in the installation process, preparing your + system for NetBSD installation. + +To prepare for installing via an NFS partition: + + NOTE: this method of installation is recommended + only for those already familiar with using + the BSD network-manipulation commands and + interfaces. If you aren't, this documentation + should help, but is not intended to be + all-encompassing. + + Place the NetBSD software you wish to install into + a directory on an NFS server, and make that directory + mountable by the machine which you will be installing + NetBSD on. This will probably require modifying the + /etc/exports file of the NFS server and resetting + mountd, acts which will require superuser privileges. + Note the numeric IP address of the NFS server and of + the router closest to the the new NetBSD machine, + if the NFS server is not on a network which is + directly attached to the NetBSD machine. + + Once you have done this, you can proceed to the next + step in the installation process, preparing your + system for NetBSD installation. + +To prepare for installing via FTP: + + NOTE: this method of installation is recommended + only for those already familiar with using + the BSD network-manipulation commands and + interfaces. If you aren't, this documentation + should help, but is not intended to be + all-encompassing. + + The preparations for this method of installation + are easy: all you have to do is make sure that + there's some FTP site from which you can retrieve + the NetBSD installation when it's time to do + the install. You should know the numeric IP + address of that site, the numeric IP address of + your nearest router if one is necessary + + Once you have done this, you can proceed to the next + step in the installation process, preparing your + system for NetBSD installation. diff --git a/distrib/notes/i386/contents b/distrib/notes/i386/contents new file mode 100644 index 00000000000..b8abea2173e --- /dev/null +++ b/distrib/notes/i386/contents @@ -0,0 +1,135 @@ +The i386-specific portion of the NetBSD 1.0 release is found in the +"i386" subdirectory of the distribution. That subdirectory is laid +out as follows: + +.../NetBSD-1.0/i386/ + INSTALL Installation notes; this file. + + binary/ i386 binary distribution sets; + see below. + + floppies/ i386 boot and installation + floppies; see below. + + security/ i386 security distribution; + see below; + + utils/ Miscellaneous i386 + installation utilities; see + installation section, below. + +There are four i386 floppy images to be found in the "i386/floppy" +subdirectory of the NetBSD 1.0 distribution. Two of them are bootable +kernel-copy floppies, one is an installation floppy, and one is an +upgrade floppy. They are all described in more detail below. There +are gzipped versions of each available, for easier downloading. (The +gzipped versions have the ".gz" extension added to their names.) + +Bootable Kernel-copy floppies: + + These disks contain file systems, are bootable, and have + enough utilities on board to copy a new kernel to your hard + disk once you have it partitioned for NetBSD. They make + upgrading to a new kernel easy, because all you have to do is + get a new kernel-copy floppy with a new kernel, boot from it, + and confirm that you want to have the kernel copied to your + disk. + + There are two different kernel copy floppy images, + "kcaha-10.fs", and "kcbt-10.fs". They are identical except + that the first has the driver for the Adaptec 1542 SCSI host + adapter and does not contain the driver for the Buslogic 74x + SCSI host adapters, and vice-versa for the second. (All other + drivers are present on both disks.) + +Installation floppy: + + This disk contains the software necessary to prepare your hard + drive for NetBSD and install the NetBSD distribution. It is + not bootable, and must be used in conjunction with one of the + kernel-copy floppies. This floppy is named "inst-10.fs". + +Upgrade floppy: + + This disk contains the software to be used in upgrading the + system from a previous version of NetBSD. It is not bootable, + and must be used in conjunction with one of the kernel-copy + floppies. This floppy is named "upgr-10.fs" + +The NetBSD/i386 binary distribution sets contain the binaries which +comprise the NetBSD 1.0 release for the i386. There are seven binary +distribution sets, and the "security" distribution set. The binary +distribution sets can be found in subdirectories of the "i386/binary" +subdirectory of the NetBSD 1.0 distribution tree, and are as follows: + + base10 The NetBSD/i386 1.0 base binary distribution. You + MUST install this distribution set. It contains the + base NetBSD utilities that are necessary for the + system to run and be minimally functional. It + includes shared library support, and excludes + everything described below. + [ 6.2M gzipped, 16.7M uncompressed ] + + comp10 The NetBSD/i386 Compiler tools. All of the tools + relating to C, C++, and FORTRAN (yes, there are two!). + This set includes the system include files + (/usr/include), the linker, the compiler tool chain, + and the various system libraries (except the shared + libraries, which are included as part of the base + set). This set also includes the manual pages for all + of the utilities it contains, as well as the system + call and library manual pages. + [ 4.2M gzipped, 12.9M uncompressed ] + + etc10 This distribution set contains the system + configuration files that reside in /etc and in several + other places. This set MUST be installed if you are + installing the system from scratch, but should NOT be + used if you are upgrading. (If you are upgrading, + it's recommended that you get a copy of this set and + CAREFULLY upgrade your configuration files by hand.) + [ 50K gzipped, 263K uncompressed ] + + games10 This set includes the games and their manual pages. + [ 1.0M gzipped, 2.7M uncompressed ] + + man10 This set includes all of the manual pages for the + binaries and other software contained in the base set. + Note that it does not include any of the manual pages + that are included in the other sets. + [ 0.7M gzipped, 2.8M uncompressed ] + + misc10 This set includes the system dictionaries (which are + rather large), the typesettable document set, and + man pages for other architectures which happen to be + installed from the source tree by default. + [ 1.6M gzipped, 5.6M uncompressed ] + + text10 This set includes NetBSD's text processing tools, + including groff, all related programs, and their + manual pages. + [ 0.8M gzipped, 2.8M uncompressed ] + +The i386 security distribution set is named "secr10" and can be found +in the "i386/security" subdirectory of the NetBSD 1.0 distribution +tree. It contains crypt.c (the source file for the DES encryption +algorithm) and the binaries which depend on it. It can only be found +on those sites which carry the complete NetBSD distribution and that +can legally obtain it. (Remember, because of United States law, this +distribution set may not be exported to locations outside of the +United States and Canada.) [ 114K gzipped, 253K uncompressed ] + +The i386 binary distribution sets are distributed in the same form as +the source distribution sets; catted together, the members of a set +form a gzipped tar file. Each i386 binary distribution set also has +its own "CKSUMS" file, just as the source distribution sets do. + +The instructions given for extracting the source sets work equally +well for the binary sets, but it is worth noting that if you use that +method, the files are extracted "below" the current directory. That +is, if you want to extract the binaries "into" your system, i.e. +replace the system binaries with them, you have to run the "tar xfp" +from /. Also note that if you upgrade or install this way, those +programs that you are using at the time will NOT be replaced. If you +follow the normal installation or upgrade procedures, this will be +taken care of for you. diff --git a/distrib/notes/i386/hardware b/distrib/notes/i386/hardware new file mode 100644 index 00000000000..3e4ffa70274 --- /dev/null +++ b/distrib/notes/i386/hardware @@ -0,0 +1,143 @@ +NetBSD/i386 1.0 runs on ISA (AT-Bus), EISA, PCI, and VL-bus systems +with 386-family processors, with or without math coprocessors. It +does NOT support MCA systems, such as some IBM PS/2 systems. The +minimal configuration requires 4M of RAM and 40M of disk space. To +install the entire system requires much more disk space, and to run X +or compile the system, more RAM is recommended. (4M of RAM will +actually allow you to run X and/or compile, but it won't be speedy. +Note that until you have around 16M of RAM, getting more RAM is more +important than getting a faster CPU.) + +Supported devices include: + Floppy controllers. + MFM, ESDI, IDE, and RLL hard disk controllers. + SCSI host adapters: + Adaptec AHA-154xA, -B, -C, and -CF [only on kcaha floppy] + Adaptec AHA-174x + Adaptec AIC-6260- and AIC-6360-based boards, including + the Adaptec AHA-152x and the SoundBlaster SCSI + host adapter. (Note that you cannot boot from + these boards if they do not have a boot ROM, + and many do not.) + Buslogic 54x [AHA-154x clones; only on kcaha floppy] + Buslogic 445, 74x, 9xx [only on kcbt floppy] + NCR 53C810 PCI SCSI host adapter + Ultrastor 14f, 34f, and (possibly) 24f + MDA, CGA, VGA, SVGA, and HGC Display Adapters. (Note that not + all of the display adapters NetBSD/i386 can work with + are supported by X. See the XFree86 FAQ for more + information.) + Serial ports: + 8250/16450-based ports + 16550-based ports + AST-style 4-port serial boards [*] + IBM PC-RT 4-port serial boards [*] + Parallel ports. + Ethernet controllers: + AT&T StarLAN 10, EN100, and StarLAN Fiber + 3COM 3c501 [*] + 3COM 3c503 + 3COM 3c505 [*] + 3COM 3c507 + 3COM 3c509 and 3c579 + Digital DEPCA [*] + BICC Isolan [* and not recently tested] + SMC/WD 8003, 8013, and the SMC "Elite16" ISA boards + SMC/WD 8216 (the SMC "Elite16 Ultra" ISA boards) + Novell NE1000, NE2000 + Novell NE2100 [* and not recently tested] + Tape drives: + Most SCSI tape drives + QIC-02 and QIC-36 format (Archive- and Wangtek- + compatible) tape drives [*] + CD-ROM drives: + Mitsumi CD-ROM drives [*] + Most SCSI CD-ROM drives + Mice: + "Logitech"-style bus mice [*] + "Microsoft"-style bus mice [*] + "PS/2"-style mice [*] + Serial mice (no kernel support necessary) + Miscellaneous: + SoundBlaster [*] + +Drivers for hardware marked with "[*]" are NOT included on the +distribution floppies. Except as noted above, all other drivers are +present on both kernel-copy disks. Also, at the present time, the +distributed kernels support only one SCSI host adapter per machine. +NetBSD normally allows more, though, so if you have more than one, you +can use all of them by compiling a custom kernel once NetBSD is +installed. + +Hardware the we do NOT currently support, but get many questions +about: + Adaptec AIC-7770-based SCSI host adapters (including the + Adaptec AHA-274x, AHA-284x, and AHA-294x families). + Intel EtherExpress Ethernet boards. + NCR 5380-based SCSI host adapters. + PCMCIA devices. + QIC-40 and QIC-80 tape drives. (Those are the tape drives + that connect to the floppy disk controller.) + WD-7000 SCSI host adapters. + +We are planning future support for most of these devices. + +To be detected by the distributed kernels, the devices must +be configured as follows: + +Device Name Port IRQ DRQ Misc +------ ---- ---- --- --- ---- +Serial ports com0 0x3f8 4 [8250/16450/16550/clones] + com1 0x2f8 3 [8250/16450/16550/clones] + com2 0x3e8 5 [8250/16450/16550/clones] + +Parallel ports lpt0 0x378 7 [interrupt-driven or polling] + lpt1 0x278 [polling only] + lpt2 0x3bc [polling only] + +MFM/ESDI/IDE/RLL hard disk controller + wdc0 0x1f0 14 [supports two disks] + +Floppy controller + fdc0 0x3f0 6 2 [supports two disks] + +AHA-154x, AHA-174x (in compatibility mode), or BT-54x SCSI host adapters + aha0 0x330 any any [only on kcaha kernel floppy] + +AHA-174x SCSI host adapters (in enhanced mode) + ahb0 any any any + +BT445, BT74x, or BT9xx SCSI host adapters + bt0 0x330 any any [only on kcbt kernel floppy] + +Ultrastor 14f, 24f (if it works), or 34f SCSI host adapters + uha0 0x330 any any + +AHA-152x, AIC-6260- or AIC-6360-based SCSI host adapters + aic0 0x340 11 6 + +NCR 53C810 PCI SCSI host adapter + ncr0 any any any + +SCSI disks sd0 first SCSI disk (by SCSI id) + sd1 second SCSI disk (by SCSI id) + sd2 third SCSI disk (by SCSI id) + sd3 fourth SCSI disk (by SCSI id) + +SCSI tapes st0 first SCSI tape (by SCSI id) + st1 second SCSI tape (by SCSI id) + +SCSI CD-ROMs cd0 first SCSI CD-ROM (by SCSI id) + cd1 second SCSI CD-ROM (by SCSI id) + +SMC/WD 8003, 8013, Elite16, and Elite16 Ultra Ethernet boards, 3c503, +Novell NE1000, or NE2000 Ethernet boards + ed0 0x280 2 iomem 0xd0000 + ed1 0x250 2 iomem 0xd8000 + ed2 0x300 10 iomem 0xcc000 + +3COM 3c509 or 3COM 3c579 Ethernet boards + ep0 any any + +AT&T StarLAN 10, EN100, or StarLAN Fiber, or 3COM 3c507 Ethernet boards + ie0 0x360 7 iomem 0xd0000 diff --git a/distrib/notes/i386/install b/distrib/notes/i386/install new file mode 100644 index 00000000000..6a62923824f --- /dev/null +++ b/distrib/notes/i386/install @@ -0,0 +1,459 @@ +Installing NetBSD is a relatively complex process, but if you have +this document in hand and are careful to read and remember the +information which is presented to you by the install program, it +shouldn't be too much trouble. + +Before you begin, you should know the geometry of your hard disk, i.e. +the sector size (note that sector sizes other than 512 bytes are not +currently supported), the number of sectors per track, the number of +tracks per cylinder (also known as the number of heads), and the +number of cylinders on the disk. The NetBSD kernel will try to +discover these parameters on its own, and if it can it will print them +at boot time. If possible, you should use the parameters it prints. +(You might not be able to because you're sharing your disk with +another operating system, or because your disk is old enough that the +kernel can't figure out its geometry.) + +If NetBSD will be sharing the disk with DOS or another operating +system, you should have already completed the section of these notes +that instructed you on how to prepare your hard disk. You should know +the size of the NetBSD area of the disk and its offset from the +beginning of the disk. You will need this information when setting up +your NetBSD partitions. + +You should now be ready to install NetBSD. It might be handy for you +to have a pencil, some paper, and a calculator handy. + +The following is a walk-through of the steps you will take while +getting NetBSD installed on your hard disk. If any question has a +default answer, it will be displayed in brackets ("[]") after the +question. If you wish to stop the installation, you may hit Control-C +at any time, but if you do, you'll have to begin the installation +process again from scratch. + + Boot your machine using of the appropriate kernel-copy floppy. + When presented with the boot prompt (the prompt begins with + "Boot" and ends with ":-"), hit return. If the boot prompt + does not appear in a reasonable amount of time, you either + have a bad boot floppy or a hardware problem. Try writing the + kernel-copy floppy image to a different disk, and using that. + If that doesn't work, try booting after disabling your CPU's + internal and external caches (if any). If it still doesn't + work, NetBSD probably can't be run on your hardware. This can + probably be considered a bug, so you might want to report it. + If you do, please include as many details about your system + configuration as you can. + + It will take a while to load the kernel from the floppy, + probably around a minute or so. After its loaded, you will be + presented with the message: + "Insert file system floppy" + If you do not see that message after a reasonable time has + elapsed, or the spinning cursor has stopped and nothing + further has happened, either your boot floppy is bad or you + are having hardware problems, and should proceed as outlined + above. + + Once you have reached that prompt, remove the kernel-copy + floppy from the floppy drive. Make sure that the installation + disk (the "inst-10" floppy) is writable, insert it into the + floppy drive, and hit any key. + + You will then be presented with the NetBSD kernel boot + messages. You will want to read them, to determine your + disk's name and geometry. Its name will be something like + "sd0" or "wd0" and the geometry will be printed on a line that + begins with its name. As mentioned above, you will need your + disk's geometry when creating NetBSD's partitions. You will + also need to know the name, to tell the install tools what + disk to install on. + + While booting, you will probably see several warnings. You + should be warned that no swap space is present, and that + init(8) cannot find /etc/rc. Do not be alarmed, these are + completely normal. When you reach the prompt asking you for a + shell name, just hit return. + + You will be presented with a welcome message and a prompt, + asking if you wish to proceed with the installation process. + If you wish to proceed, enter "y" and hit return. + + You will be asked what type of disk driver you have. The + valid options are listed by the install program, to make sure + you get it right. If you're installing on an ST-506 or ESDI + drive, you'll be asked if your disk supports automatic sector + forwarding. If you are SURE that it does, reply + affirmatively. Otherwise, the install program will + automatically reserve space for bad144 tables. + + The install program will then tell you which disks of that + type it can install on, and ask you which it should use. + Reply with the name of your disk. (The first disk of the type + you selected, either "wd0" for ST-506/ESDI/IDE disks, or "sd0" + for SCSI disks, is the default.) + + You will then be asked to name your disk's disklabel. The + default response is "mywd" or "mysd" depending on the type of + your disk, and for most purposes it will be OK. If you choose + to name it something different, make sure the name is a single + word and contains no special characters. You don't need to + remember this name. + + You will be prompted for your disk's geometry information, + i.e. the number of bytes per sector, cylinders on the disk, + tracks per cylinder (heads), and sectors per track. Enter + them when they are requested. If you make a mistake, hit + Control-C and when you get to the shell prompt, restart the + install process by running the "install" command. Once you + have entered this data, the install program will tell you the + total size of your disk, in both sectors, and cylinders. + Remember this number; if you're installing on the whole disk, + you'll need it again soon. + + When describing your partitions, you will have the option of + entering data about them in units of disk sectors or + cylinders. If you choose to enter the information in units of + sectors, remember that, for optimal performance, partitions + should begin and end on cylinder boundaries. You will be + asked about which units you wish to use, and you should reply + with "c" for cylinders, or "s" for sectors. + + You will be asked for the size of the NetBSD portion of the + disk. If you're installing on the whole disk, reply with the + size of the disk, as printed earlier by the install program. + If you're using only part of the disk, reply with the size + that you specified in the partition editor. (Don't forget to + enter the size in the units you specified in the last step!) + + If you are not installing on the whole disk, you will be asked + fro the offset of the NetBSD partition from the beginning of + the disk. Reply with the appropriate offset (again, in + whichever units you specified), as determined by how you + set up your disk using the partition editor. + + You will be asked to enter the size of your NetBSD root + partition. It should be at least 13M, but if you are going to + be doing development, 14-16M is a more desirable size. This + size should be expressed in units of sectors or cylinders, + depending on which you said you wanted to use. + + Next, you will be asked for the size of your swap partition. + You should probably allocate twice as much swap space as you + have real memory. Systems that will be heavily used should + have more swap space allocated, and systems that will be + lightly used can get by with less. If you want the system to + be able to save crash dumps when it panics, you will need at + least as much swap space as you have RAM. Again, this number + should be expressed in units of sectors or cylinders, as + appropriate. + + The install program will then ask you for information about + the rest of the partitions you want on your disk. For most + purposes, you will want only one more partition, "/usr". + (Machines used as servers will probably also want /var as a + separate partition. That can be done with these installation + tools, but is not covered here.) The install program will + tell you how much space there is left to be allocated in the + NetBSD area of the disk, and, if you only want one more + partition ("/usr"), you should enter it at the prompt when the + installer asks you how large the next partition should be. + It will then ask you for the name of the mount point for that + partition. If you're doing a basic installation, that is + "/usr". + + YOU ARE NOW AT THE POINT OF NO RETURN. Nothing has been + written to your disk yet, but if you confirm that you want to + install NetBSD, your hard drive will be modified, and its + contents may be scrambled at the whim of the install program. + This is especially likely if you have given the install + program incorrect information. If you are sure you want to + proceed, enter "yes" at the prompt. + + The install program will now label your disk and make the file + systems you specified. The filesystems will be initialized to + contain NetBSD bootstrapping binaries and configuration files. + It will also create an /etc/fstab for your system, and mount + all of the file systems under /mnt. (In other words, your root + partition will be mounted on /mnt, your /usr partition on + /mnt/usr, and so on.) There should be no errors in this + section of the installation. If there are, restart from the + beginning of the installation process. + + You will be placed at a shell prompt ("#"). The remaining + tasks are to copy the kernel from the kernel copy floppy to + the hard drive's root filesystem and install the distribution + sets. The flow of installation differs depending on your + hardware resources, and on what media the distribution sets + reside. + + To install from floppy: + If you only have only one floppy drive, the order of + installation is different. Follow the directions in + the "Kernel installation" section which will help you + install a kernel on the hard drive and then boot off + the hard drive, then continue with the rest of the + process described here to install the distribution + sets from floppy: + + The first thing you should do is pick a temporary + directory where the distribution files can be stored. + To do this, enter the command "Set_tmp_dir", and enter + the name of the temporary directory. (Don't forget + that if your disk is still mounted under /mnt; you + should probably pick a directory under /mnt/usr.) + + After you have picked a temporary directory, enter the + "Load_fd" command, to load the distribution sets from + your floppies. + + You will be asked which floppy drive to use. Enter + "0" (zero) if you're using the first floppy drive + (i.e. what DOS would call "A:"), or enter "1" if + you're using the second. (Remember that you CANNOT + use the floppy drive that you booted from. If you + booted from "A:", you must load from "B:".) + + You will be prompted to insert a floppy into the drive, + to have its contents copied to your hard disk. Do so, + and hit return to begin copying. When that is done, + read the remainder of the floppies that contain the + distribution sets that you want to install, one by + one. When the last is read, and you are being + prompted for another, hit Control-C. + + Run the "Extract" command once for each distribution + set you wish to install. For instance, if you wish to + install the "base10" distribution set, followed by the + "man10" distribution set, and finally the "etc10" + distribution set, use the commands: + Extract base10 + Extract man10 + Extract etc10 + + For each extraction, it will ask you if the extraction + should be verbose. If you reply affirmatively, it + will print out the name of each file that's being + extracted. + + (Note: if you know that you will be running low on + disk space when installing NetBSD, you can load and + extract one distribution set at a time. To do this, + load only the floppies which contain the files for the + first distribution set, extract them, and then change + to the temporary directory and remove them with the + command "rm set_name.??".) + + Once you are finished extracting all of the sets that + you wish to install, you should proceed to the + instructions below (after the last install medium + type-specific instructions), that explain how you + should configure your system. + + To install from tape: + The first thing you should do is pick a temporary + directory where the distribution files can be stored. + To do this, enter the command "Set_tmp_dir", and enter + the name of the temporary directory. (Don't forget + that your disk is mounted under /mnt; you should + probably pick a directory under /mnt/usr.) The + default is /mnt/usr/distrib. + + After you have picked a temporary directory, enter the + "Load_tape" command, to load the distribution sets from + tape. + + You will be asked which tape drive to use. The + default is "rst0", which is correct if you're using + the SCSI tape drive with the lowest SCSI ID number. + (For the SCSI tape drive with the next lowest SCSI ID + number, you should use "rst1", and so on.) + + You will be prompted to hit return when you have + inserted the tape into the tape drive. When you do, + the contents of the tape will be extracted into the + temporary directory, and the names of the files being + extracted will be printed. + + After the tape has been extracted, to go the directory + containing the first distribution set you wish to + install. (Depending on how you made the tape, it's + probably a subdirectory of the temporary directory you + specified above.) Once there, run the "Set_tmp_dir" + command again, and accept its default answer by + hitting return at the prompt. + + Use the "Extract" command to extract the distribution + set. For instance, if you're extracting the "base10" + set, use the command: + Extract base10 + You will be asked if you wish the extraction to be + verbose. If you reply affirmatively, the name of each + file being extracted will be printed. + + Repeat the previous two steps for each distribution + set you wish to install. Change to the set's + directory, run "Set_tmp_dir", and then run + "Extract <set_name>" to extract the set. + + Once you are finished extracting all of the sets that + you wish to install, you should proceed to the + instructions below (after the last install medium + type-specific instructions), that explain how you + should configure your system. + + To install via FTP or NFS: + The first thing you should do is pick a temporary + directory where the distribution files can be stored. + To do this, enter the command "Set_tmp_dir", and enter + the name of the temporary directory. (Don't forget + that your disk is mounted under /mnt; you should + probably pick a directory under /mnt/usr.) The + default is /mnt/usr/distrib. + + Configure the appropriate ethernet interface (e.g. + ed0, ep0, etc.) up, with a command like: + + ifconfig <ifname> <ipaddr> [netmask <netmask>] + + where "<ifname>" is the interface name, like those + listed above, and "<ipaddr>" is the numeric IP address + of the interface. If the interface has a special + netmask, supply the word "netmask" at and that netmask + at the end of the command line. (The brackets + indicate that those arguments are optional.) For + instance, to configure interface ed0 with IP address + 129.133.10.10, use the command: + + ifconfig ed0 129.133.10.10 + + and to configure interface ep0 with IP address + 128.32.240.167 and a special netmask, 0xffffff00, use + the command: + + ifconfig ep0 128.32.240.167 netmask 0xffffff00 + + If your board selects software selection of the + ethernet interface to use, you might have to add + special flags to the "ifconfig" command you use. + Consult the table below for the appropriate flags: + + Interface Type Connector Flags + --------- ---- --------- ----- + ed with WD/SMC* BNC [none necessary] + ed with WD/SMC* UTP [none necessary] + ed with WD/SMC* AUI link0 + ed with 3c503 BNC [none necessary] + ed with 3c503 AUI link0 + ep BNC [none necessary] + ep AUI link0 + ep UTP link0 link1 + + * Older WD boards do not support software configuration, + and must be configured via jumpers. These flags + will have no effect on them. + + In other words, if, in the last example, the AUI port + of the board were being used, you would use the + command: + + ifconfig ep0 128.32.240.167 netmask 0xffffff00 link0 + + If the NFS server or FTP server is not on a directly- + connected network, you need to set up a route to it + using a command like: + + route add default <gate_ipaddr> + + where <gate_ipaddr> is your gateway's numeric IP + address. + + If you are NFS-mounting the distribution sets, mount + them on the temporary directory with a command like: + + mount -t nfs <serv_ipaddr>:<dist_dir> <tmp_dir> + + where <serv_ipaddr> is the server's numeric IP address, + <dist_dir> is the path to the distribution files on + the server, and <tmp_dir> is the name of the local + temporary directory. + + Once this is done, proceed as if you had loaded the + files from tape, changing to the appropriate + directories, running "Set_tmp_dir", and running + "Extract" as appropriate. + + If you are retrieving the distribution sets using ftp, + change into the temporary directory, and execute the + command: + + ftp <serv_ipaddr> + + where <serv_ipaddr> is once again the server's numeric + IP address. Get the files with FTP, taking care to + use binary mode when transferring the files. + + Once you have all of the files for the distribution + sets that you wish to install, you can proceed using + the instructions above, as if you had installed from a + floppy. (Note that as with the floppy install, if + you're short on disk space, you can transfer only one + set at a time, extract it, then delete it, to save + space.) + + Once you have finished extracting all of the distribution sets + that you wish to install, and are back at the "#" prompt, you + are ready to configure your system. The configuration utility + expects that you have installed the "base10" and "etc10" + distribution sets. If you have not, you will not be able to + run it successfully (nor will you have a functional system, in + any case). To configure your newly-installed NetBSD system, + run the command "Configure". It will ask you for the system's + host name, domain name, and other network configuration + information. It will set up your configuration files and make + the device nodes for the newly-installed system. + +Kernel Installation: + + Enter "halt" at the prompt to halt the system. When the + system is halted, remove the "inst-10" floppy from the floppy + drive, and replace it with the NetBSD 1.0 kernel-copy floppy + that you previously booted from. Reboot with that floppy. + with that floppy. + + Once again, you will be prompted to insert a file system + floppy. DO NOT replace the kernel-copy floppy, just hit any + key. + + Again, While booting, you may see several warnings. You may + be warned that no swap space is present, that init(8) cannot + find /etc/rc, and that one or more databases with names like + "pwd.db" cannot be found. Do not be alarmed, as, again, these + are completely normal. Hit return at the prompt asking you + for a shell name. + + You will be presented with a shell prompt, at which you should + enter the "copy_kernel" command. It will ask you what + partition to copy the kernel to, and you should reply with the + name of your root partition (e.g. sd0a or wd0a). + + You will be asked if you are sure that you want to copy the + kernel. Reply affirmatively, and it will check the file + system on your root partition, mount it, and copy the kernel. + Once the kernel is copied, you should use "halt" to halt the + system. + + Once the system is halted, remove the kernel-copy floppy from + the floppy disk drive, and hit any key to reboot. + +Congratulations, you have successfully installed NetBSD 1.0. When you +reboot into NetBSD, you should log in as "root" at the login prompt. +There is no initial password, but if you're using the machine in a +networked environment, you should create yourself an account and +protect it and the "root" account with good passwords. + +Some of the files in the NetBSD 1.0 distribution might need to be +tailored for your site. In particular, the /etc/sendmail.cf file will +almost definitely need to be adjusted, and other files in /etc will +probably need to be modified, as well. If you are unfamiliar with +UN*X-like system administration, it's recommended that you buy a book +that discusses it. diff --git a/distrib/notes/i386/legal b/distrib/notes/i386/legal new file mode 100644 index 00000000000..323043159d4 --- /dev/null +++ b/distrib/notes/i386/legal @@ -0,0 +1,29 @@ + This product includes software developed by Charles Hannum. + + This product includes software developed by Charles Hannum, by + the University of Vermont and State Agricultural College and + Garrett A. Wollman, by William F. Jolitz, and by the + University of California, Berkeley, Lawrence Berkeley + Laboratory, and its contributors. + + This product includes software developed by the University of + Vermont and State Agricultural College and Garrett A. Wollman. + + This product includes software developed by Dean Huxley. + + This product includes software developed by Herb Peyerl. + +In the following statement, "This software" refers to the Mitsumi +CD-ROM driver: + + This software was developed by Holger Veit and Brian Moore for + use with "386BSD" and similar operating systems. "Similar + operating systems" includes mainly non-profit oriented systems + for research and education, including but not restricted to + "NetBSD", "FreeBSD", "Mach" (by CMU). + +In the following statement, "This software" refers to the parallel +port driver: + + This software is a component of "386BSD" developed by + William F. Jolitz, TeleMuse. diff --git a/distrib/notes/i386/prep b/distrib/notes/i386/prep new file mode 100644 index 00000000000..d926ee2ce54 --- /dev/null +++ b/distrib/notes/i386/prep @@ -0,0 +1,40 @@ +NOTE: If you wish to install NetBSD on your whole disk, i.e. you do +not want DOS or any other operating system to reside on your hard +disk, you can skip this section and go on to the section that +describes installation, below. If you're upgrading your system from a +previous release of NetBSD, you shouldn't have proceeded directly to +the section about upgrading; you need none of the information +presented here. + +First and foremost, before beginning the installation process, MAKE +SURE YOU HAVE A RELIABLE BACKUP of any data on your hard disk that you +wish to keep. Repartitioning your hard disk is an excellent way to +destroy important data. + +Second, if you are using a disk controller which supports disk +geometry translation, be sure to use the same parameters for NetBSD as +for DOS or the other operating systems installed on your disk. If you +do not, it will be much harder to make NetBSD properly coexist with +them. + +Third, use the DOS "fdisk" program or another partition editor to +repartition your hard disk. Create a partition of at least 40M in +size, and note its starting offset and its length (preferably in units +of disk sectors or cylinders). You will need that information when +installing NetBSD (and if the offset and length are not in those +units, you will have to convert them). Once you have created the new +NetBSD partition, mark it as having a partition type of 0xA5 (165, in +decimal). If you used "fdisk" to partition your disk, you will +probably have to use a different partition editor to mark the +partition with the correct type. + +Finally, do whatever is necessary to restore order to the partition +you took space away from. If it was a DOS partition, you probably +will need to use "format" to create a new file system on it, and then +restore your important files from your backups. Other operating +systems will have different needs; most will need to reformat the +partition, and if it was their "main" partition, will probably need +to be reinstalled. + +Your hard disk is now prepared to have NetBSD installed on it, and +you should proceed with the installation instructions. diff --git a/distrib/notes/i386/upgrade b/distrib/notes/i386/upgrade new file mode 100644 index 00000000000..719149c224a --- /dev/null +++ b/distrib/notes/i386/upgrade @@ -0,0 +1,193 @@ +The upgrade to NetBSD 1.0 is a binary upgrade; it would be prohibitive +to make users upgrade by compiling and installing the 1.0 sources, and +it would be very difficult to even compile a set of instructions that +allowed them to do so. Because of the various changes to the system, +the largest being the 64-bit file size support and shared libraries, +it is impractical to upgrade by recompiling from the sources and +installing. + +To do the upgrade, you must have the appropriate kernel-copy floppy +image on a disk, and the upgr-10.fs floppy image on another. You must +also have at least the "base10" binary distribution set available, +so that you can upgrade with it, using one of the upgrade methods +described above. Finally, you must have sufficient disk space +available to install the new binaries. Since the old binaries are +being overwritten in place, you only need space for the new binaries, +which weren't previously on the system. If you have a few megabytes +free on each of your root and /usr partitions, you should have enough +space. + +Since upgrading involves replacing the boot blocks on your NetBSD +partition, the kernel, and most of the system binaries, it has the +potential to cause data loss. You are strongly advised to BACK UP ANY +IMPORTANT DATA ON YOUR DISK, whether on the NetBSD partition or on +another operating system's partition, before beginning the upgrade +process. + +To upgrade your system, follow the following instructions: + + Boot your machine using of the appropriate kernel-copy floppy. + When presented with the boot prompt (the prompt begins with + "Boot" and ends with ":-"), hit return. + + You will be prompted to insert a file system floppy. Remove + the kernel-copy floppy and insert the upgr-10 floppy, then hit + any key to continue booting. + + While booting, you will probably see several warnings. You + should be warned that no swap space is present, and that + init(8) cannot find /etc/rc. Do not be alarmed, these are + completely normal. When you reach the prompt asking you for a + shell name, just hit return. + + You will be presented with some information about the upgrade + process and a warning message, and will be asked if you wish + to proceed with the upgrade process. If you answer + negatively, the upgrade process will stop, and your disk will + not be modified. If you answer affirmatively, the upgrade + process will begin, and your disk will be modified. You may + hit Control-C to stop the upgrade process at any time. + However, if you hit it at an inopportune moment, your system + may be left in an inconsistent (and possibly unusable) state. + + You will be asked if you wish to upgrade your file systems to + the new file system format. If you do, reply affirmatively. + If you don't have your file systems upgraded now, you should + probably do it manually after the install process is complete, + by using "fsck -c 2". Read the fsck(8) manual page for more + details. + + The upgrade program will then check your root file system, + and, if you approved, will upgrade it to the new file system + format. It will then mount your root file system on /mnt. + + If your file systems are being upgraded, the upgrade script + will copy the new fsck(8) program to your hard disk and + upgrade your remaining file systems. + + The upgrade program will then automatically replace the boot + blocks on your disk with newer versions, and mount all of your + file systems under /mnt. (In other words, your root partition + will be mounted on /mnt, your /usr partition on /mnt/usr, etc.) + + If you don't already have the NetBSD distribution sets on your + disk, look in the installation section for information on how + to transfer them to your disk. + + If you have only one floppy drive, and don't have the disk + space to copy all of the distribution onto the hard drive, you + can do the following: + + Install a kernel on the hard drive as detailed a few + paragraphs below, then boot off the hard drive. Now + you can copy and install distribution sets + incrementally from your lone floppy drive. + + Once the distribution sets are transferred to your disk, + continue here. (Obviously, if the NetBSD distribution sets + are already on your disk, because you've transferred them + before starting the upgrade process, you don't need to + transfer them again now!) + + After the software has been transferred to the machine (or + mounted, in the case of upgrading via NFS), change into the + directory containing the "base10" distribution set. Once you + are there, run the "Set_tmp_dir" command, and hit return at + the prompt to select the default answer for the temporary + directory's path name. (It should be the path name of the + directory that you're in.) + + Run the command "Extract base10" to upgrade the base + distribution. + + Repeat the above two steps for all of the sets you wish to + upgrade. (For each, change into the directory containing the + set, run "Set_tmp_dir" and accept the default path name, then + run the "Extract <setname>" command.) + + If you were previously using the security distribution set, + you MUST upgrade to the new version, or you will not be able + to log in when the upgrade process is complete. Similarly, if + you were not previously using the security set, you must NOT + upgrade to the new version. + + When you are done upgrading all of the distribution sets you + wish to upgrade, issue the command "Cleanup". It will clean + up the installation, by remaking some system databases. When + it is complete, you should use "halt" to halt the system. + + When the system is halted, remove the "upgr-10" floppy from + the floppy drive, and replace it with the NetBSD 1.0 + kernel-copy floppy that you previously booted from. Reboot + with that floppy. + + Once again, you will be prompted to insert a file system + floppy. DO NOT replace the kernel-copy floppy, just hit any + key. + + Again, While booting, you may see several warnings. You may + be warned that no swap space is present, that init(8) cannot + find /etc/rc, and that one or more databases with names like + "pwd.db" cannot be found. Do not be alarmed, as, again, these + are completely normal. Hit return at the prompt asking you + for a shell name. + + You will be presented with a shell prompt, at which you should + enter the "copy_kernel" command. It will ask you what + partition to copy the kernel to, and you should reply with the + name of your root partition (e.g. sd0a or wd0a). + + You will be asked if you are sure that you want to copy the + kernel. Reply affirmatively, and it will check the file + system on your root partition, mount it, and copy the kernel. + Once the kernel is copied, you should use "halt" to halt the + system. + + Once the system is halted, remove the kernel-copy floppy from + the floppy disk drive, and hit any key to reboot. + +Your system has now been upgraded to NetBSD 1.0. + +After a new kernel has been copied to your hard disk, your + machine is a complete NetBSD 1.0 system. However, that + doesn't mean that you're finished with the upgrade process. + There are several things that you should do, or might have to + do, to insure that the system works properly. + + First, if you did not upgrade your file systems to the new + file system format during the upgrade process, you may want to + do so now, with "fsck -c 2". If you are unsure about the + process, it's suggested that you read the fsck(8) manual page. + + Second, you will probably want to get the etc10 distribution, + extract it, and compare its contents with those in your /etc/ + directory. You will probably want to replace some of your + system configuration files, or incorporate some of the changes + in the new versions into yours. + + Third, you will probably want to update the set of device + nodes you have in /dev. If you've changed the contents of + /dev by hand, you will need to be careful about this, but if + not, you can just cd into /dev, and run the command "sh + MAKEDEV all". + + Fourth, you must deal with certain changes in the formats of + some of the configuration files. The most notable change is + that the "options" given to many of the file systems in + /etc/fstab or by hand have changed, and some of the file + systems have changed names. To find out what the new options + are, it's suggested that you read the manual page for the + file systems' mount commands, for example mount_nfs(8) for + NFS. (Note that the information for mounts of type "ufs", + i.e. Fast File Systems, are contained in the mount(8) man + page.) + + Finally, you will want to delete old binaries that were part + of the version of NetBSD that you upgraded from and have since + been removed from the NetBSD distribution. You might also + want to recompile any locally-built binaries, to take + advantage of the shared libraries. (Note that any new + binaries that you build will be dynamically linked, and + therefore take advantage of the shared libraries, by default. + For information on how to make statically linked binaries, + see the cc(1) and ld(1) manual pages.) diff --git a/distrib/notes/i386/whatis b/distrib/notes/i386/whatis new file mode 100644 index 00000000000..d622f17d6a7 --- /dev/null +++ b/distrib/notes/i386/whatis @@ -0,0 +1,9 @@ +For the i386, NetBSD 1.0 brings greatly improved performance, stability, +and device support. To complement the added device drivers, NetBSD +1.0's i386 port has greatly improved device autoconfiguration, +allowing it to correctly find more devices on more machines. The +final, and perhaps most important point about NetBSD 1.0's i386 +support is that it is fully backward compatible with old NetBSD +binaries, so you don't need to recompile all your local programs. +(Note, however, that because of the shared library support, you still +have a lot to gain by doing so.) diff --git a/distrib/notes/i386/xfer b/distrib/notes/i386/xfer new file mode 100644 index 00000000000..41cfdeccfe1 --- /dev/null +++ b/distrib/notes/i386/xfer @@ -0,0 +1,185 @@ +Installation is supported from several media types, including: + + DOS floppies + Tape + Remote NFS partition + FTP + +No matter which installation medium you choose, you'll need to have +two floppy disks available (either 1.2M or 1.44 will work, though +both should be the same type). On the first, you'll put the +kernel-copy image that's appropriate for your system. On the second, +you'll put the install or upgrade floppy image, depending on whether +you're installing NetBSD for the first time, or upgrading a previous +installation. + +If you are using an Adaptec AHA-154x or Buslogic BT-54x SCSI host +adapter, you need the kcaha-10.fs kernel-copy image. If you're using +a Buslogic BT-445, BT-74x, or BT-9xx SCSI host adapter, you'll need +the kcbt-10.fs image. If you're using a disk controller other than +those mentioned above, either kernel-copy disk image will work for +you. + +If you are using a UN*X-like system to write the floppy images to +disks, you should use the "dd" command to copy the file system images +(.fs files) directly to the raw floppy disks. It is suggested that +you read the dd(1) manual page or ask your system administrator to +determine the correct set of arguments to use; it will be slightly +different from system to system, and a comprehensive list of the +possibilities is beyond the scope of this document. + +If you are using DOS to write the floppy images to disks, you should +use the "rawrite" utility, provided in the "i386/utilities" directory +of the NetBSD distribution. It will write the file system images (.fs +files) to disks. + +Note that, when installing, the kernel-copy floppy can be write-protected +(i.e. read-only), but the install floppy MUST not be write-protected. +The install program needs to write some temporary files, and if the +disk is write-protected, it can't. If you're upgrading your system, +both the kernel-copy and upgrade floppies may be write-protected. + +Obviously, the steps necessary to prepare the distribution sets for +installation or upgrade depend on which installation medium you +choose. The steps for the various media are outlined below. + +To install or upgrade NetBSD using DOS floppies, you need to do the +following: + + Count the number of "set_name.xx" files that make up the + distribution sets you want to install or upgrade. You will + need one fifth that number of 1.2M floppies, or one sixth that + number of 1.44M floppies. You should only use one size of + floppy for the install or upgrade procedure; you can't use + some 1.2M floppies and some 1.44M floppies. + + Format all of the floppies with DOS. DO NOT make any of them + bootable DOS floppies, i.e. don't use "format/s" to format + them. (If the floppies are bootable, then the DOS system + files that make them bootable will take up some space, and you + won't be able to fit as many distribution set parts per disk.) + If you're using floppies that are formatted for DOS by their + manufacturers, they probably aren't bootable, and you can use + them out of the box. + + Place all of the "set_name.xx" files on the DOS disks, five + per disk if you're using 1.2M disks, six per disk if you're + using 1.44M disks. How you do this is up to you; there are + many possibilities. You could, for instance, use a DOS + terminal program to download them on to the floppies, or use + a UN*X-like system capable of reading and writing DOS file + systems (either with "mtools" or a real DOS file system) + to place them on the disk. + + Once you have the files on DOS disks, you can proceed to the + next step in the installation or upgrade process. If you're + installing NetBSD from scratch, go to the section on preparing + your hard disk, below. If you're upgrading an existing + installation, go directly to the section on upgrading. + +To install or upgrade NetBSD using a tape, you need to do the +following: + + To install NetBSD from a tape, you need to make a tape that + contains the distribution set files, in "tar" format. If + you're making the tape on a UN*X-like system, the easiest way + to do so is probably something like: + + tar cf <tape_device> <dist_directories> + + where "<tape_device>" is the name of the tape device that + describes the tape drive you're using (possibly /dev/rst0, or + something similar, but it will vary from system to system. + (If you can't figure it out, ask your system administrator.) + In the above example, "<dist_directories>" are the + distribution sets' directories, for the distribution sets you + wish to place on the tape. For instance, to put the "base10" + and "etc10" distributions on tape (in order to do the absolute + minimum installation to a new disk), you would do the + following: + + cd .../NetBSD-1.0 # the top of the tree + cd i386/binary + tar cf <tape_device> base10 etc10 + + (Note that you still need to fill in "<tape_device>" in the + example.) + + Once you have the files on the tape, you can proceed to the + next step in the installation or upgrade process. If you're + installing NetBSD from scratch, go to the section on preparing + your hard disk, below. If you're upgrading an existing + installation, go directly to the section on upgrading. + +To install or upgrade NetBSD using a remote partition, mounted via +NFS, you must do the following: + + NOTE: This method of installation is recommended only for + those already familiar with using BSD network + configuration and management commands. If you aren't, + this documentation should help, but is not intended to + be all-encompassing. + + Place the NetBSD distribution sets you wish to install into a + directory on an NFS server, and make that directory mountable + by the machine on which you are installing or upgrading NetBSD. + This will probably require modifying the /etc/exports file on + of the NFS server and resetting its mount daemon (mountd). + (Both of these actions will probably require superuser + privileges on the server.) + + You need to know the the numeric IP address of the NFS server, + and, if the server is not on a network directly connected to + the machine on which you're installing or upgrading NetBSD, + you need to know the numeric IP address of the router closest + to the NetBSD machine. Finally, you need to know the numeric + IP address of the NetBSD machine itself. + + Once the NFS server is set up properly and you have the + information mentioned above, you can proceed to the next step + in the installation or upgrade process. If you're installing + NetBSD from scratch, go to the section on preparing your hard + disk, below. If you're upgrading an existing installation, go + directly to the section on upgrading. + +To install or upgrade NetBSD by using FTP to get the installation +sets, you must do the following: + + NOTE: This method of installation is recommended only for + those already familiar with using BSD network + configuration and management commands. If you aren't, + this documentation should help, but is not intended to + be all-encompassing. + + The preparations for this installation/upgrade method are + easy; all you make sure that there's some FTP site from which + you can retrieve the NetBSD distribution when you're about to + install or upgrade. You need to know the numeric IP address + of that site, and, if it's not on a network directly connected + to the machine on which you're installing or upgrading NetBSD, + you need to know the numeric IP address of the router closest + to the NetBSD machine. Finally, you need to know the numeric + IP address of the NetBSD machine itself. + + Once you have this information, you can proceed to the next + step in the installation or upgrade process. If you're + installing NetBSD from scratch, go to the section on + preparing your hard disk, below. If you're upgrading an + existing installation, go directly to the section on + upgrading. + +If you are upgrading NetBSD, you also have the option of installing +NetBSD by putting the new distribution sets somewhere in your existing +file system, and using them from there. To do that, you must do the +following: + + Place the distribution sets you wish to upgrade somewhere in + your current file system tree. At a bare minimum, you must + upgrade the "base" binary distribution, and so must put the + "base10" set somewhere in your file system. If you wish, + you can do the other sets, as well, but you should NOT upgrade + the "etc" distribution; the "etc" distribution contains system + configuration files that you should review and update by hand. + + Once you have done this, you can proceed to the next step in + the upgrade process, actually upgrading your system. diff --git a/distrib/notes/legal.common b/distrib/notes/legal.common new file mode 100644 index 00000000000..1a8343e8960 --- /dev/null +++ b/distrib/notes/legal.common @@ -0,0 +1,7 @@ + This product includes software developed by the University of + California, Berkeley and its contributors. + + This product includes software developed by the Computer + Systems Engineering Group at Lawrence Berkeley Laboratory. + + This product includes software developed by Paul Kranenburg. diff --git a/distrib/notes/mac68k/contents b/distrib/notes/mac68k/contents new file mode 100644 index 00000000000..da024f11c28 --- /dev/null +++ b/distrib/notes/mac68k/contents @@ -0,0 +1,94 @@ +The mac68k-specific portion of the NetBSD 1.0 release is found in the +"mac68k" subdirectory of the distribution. That subdirectory is laid +out as follows: + +.../NetBSD-1.0/mac68k/ + binary/ mac68k binary distribution sets; + see below. + + security/ mac68k security distribution; + see below. + + utils/ The mac68k installation utilities. + +The NetBSD/mac68k binary distribution sets contain the binaries which +comprise the NetBSD 1.0 release for the mac68k. There are eight binary +distribution sets, and the "security" distribution set. The binary +distribution sets can be found in subdirectories of the "mac68k/binary" +subdirectory of the NetBSD 1.0 distribution tree, and are as follows: + + netbsd10 The NetBSD/mac68k 1.0 kernel binary. You MUST + install this file. It is the kernel that you need + to boot the system. + [ 307K gzipped, 610K uncompressed ] + + base10 The NetBSD/mac68k 1.0 base binary distribution. You + MUST install this distribution set. It contains the + base NetBSD utilities that are necessary for the + system to run and be minimally functional. It + includes shared library support, and excludes + everything described below. + [ 6.2M gzipped, 18.4M uncompressed ] + + comp10 The NetBSD/mac68k Compiler tools. All of the tools + relating to C, C++, and FORTRAN (yes, there are two!). + This set includes the system include files + (/usr/include), the linker, the compiler tool chain, + and the various system libraries (except the shared + libraries, which are included as part of the base + set). This set also includes the manual pages for all + of the utilities it contains, as well as the system + call and library manual pages. + [ 4.0M gzipped, 12.7M uncompressed ] + + etc10 This distribution set contains the system + configuration files that reside in /etc and in several + other places. This set MUST be installed if you are + installing the system from scratch, but should NOT be + used if you are upgrading. (If you are upgrading, + it's recommended that you get a copy of this set and + CAREFULLY upgrade your configuration files by hand.) + [ 50K gzipped, 280K uncompressed ] + + games10 This set includes the games and their manual pages. + [ 1.0M gzipped, 3.0M uncompressed ] + + man10 This set includes all of the manual pages for the + binaries and other software contained in the base set. + Note that it does not include any of the manual pages + that are included in the other sets. + [ 0.7M gzipped, 2.8M uncompressed ] + + misc10 This set includes the system dictionaries (which are + rather large), the typesettable document set, and + man pages for other architectures which happen to be + installed from the source tree by default. + [ 1.6M gzipped, 5.7M uncompressed ] + + text10 This set includes NetBSD's text processing tools, + including groff, all related programs, and their + manual pages. + [ 0.8M gzipped, 2.9M uncompressed ] + +The mac68k security distribution set is named "secr10" and can be found +in the "mac68k/security" subdirectory of the NetBSD 1.0 distribution +tree. It contains the crypt libraries (for the DES encryption algorithm) +and the binaries which depend on it. It can only be found on those sites +which carry the complete NetBSD distribution and that can legally obtain +it. (Remember, because of United States law, this distribution set may +not be exported to locations outside of the United States and Canada.) +[ 109K gzipped, 260K uncompressed ] + +The mac68k binary distribution sets are distributed in the same form as +the source distribution sets; catted together, the members of a set +form a gzipped tar file. + +The instructions given for extracting the source sets work equally +well for the binary sets, but it is worth noting that if you use that +method, the files are extracted "below" the current directory. That +is, if you want to extract the binaries "into" your system, i.e. +replace the system binaries with them, you have to run the "tar xfp" +from /. Also note that if you upgrade or install this way, those +programs that you are using at the time will NOT be replaced. If you +follow the normal installation or upgrade procedures, this will be +taken care of for you. diff --git a/distrib/notes/mac68k/hardware b/distrib/notes/mac68k/hardware new file mode 100644 index 00000000000..c0d053e0c46 --- /dev/null +++ b/distrib/notes/mac68k/hardware @@ -0,0 +1,37 @@ +NetBSD/mac68k 1.0 runs on several of the older Macintosh computers. +4MB of RAM should be sufficient to boot and the system can probably +be squeezed onto a 40MB hard disk by leaving off a package or two. +To actually do much compiling or anything more interesting than +booting, at least 8MB of RAM and more disk space is recommended. +About 50MB will be necessary to install all of the NetBSD 1.0 binary +distribution (note that this does not count swap space!). Much more +disk space is required to install the source and objects as well (about +another 105MB). + +Supported models: + Mac II + Mac IIx + Mac IIcx + Mac IIci + Mac SE/30 + +Supported devices on all of the above systems include: + Internal SCSI bus and most SCSI tapes, hard drives, and CD-ROMs + Internal sound--enough to beep, anyway + Most basic NuBUS video cards (there have been some + problems with some 24-bit color cards) + Both internal serial ports + ADB keyboards and mice + +Some systems will boot and are usable from an external terminal +(serial tty or SL/IP): + Mac IIsi + Mac IIvx + possibly others + +What isn't supported, but often asked about: + Ethernet cards. There is a driver that is very close to working + for a number of cards. Contributions are very welcome. + 68040-based Macs. Work is in progress on getting a Quadra 700 + running. This requires a new scsi driver and a new + ethernet driver. diff --git a/distrib/notes/mac68k/install b/distrib/notes/mac68k/install new file mode 100644 index 00000000000..f95f7a2b3c6 --- /dev/null +++ b/distrib/notes/mac68k/install @@ -0,0 +1,119 @@ +The installation can be broken down into three basic steps: + * Run Mkfs to build a filesystem or filesystems. + * Run Install Utility to load the files onto your filesystems. + * Run the booter to boot the system. + +**** Preparing the filesystem(s) + +Double-click on the Mkfs application icon to start it up. It will ask +you for the SCSI ID of the drive that you are installing upon. Once +this is selected, it will present a list of the partitions on that disk. +Select the partition on which you wish to build a filesystem and click +on the "Format" button. You will now be asked for a bunch of parameters +for the hard drive and the filesystem. Usually, you can just take the +defaults. If you are installing onto a Syquest, please see the FAQ. +Note that although this dialog only has the "OK" button, you are not +committed, yet. Once you get the values you want, press the "OK" button. +A dialog will be presented at this point with two options: "Format" and +"Cancel." If you choose "Cancel," nothing will be written to your drive. +If you choose "Format," the program will proceed to make a filesystem. + +Mkfs is not a well-behaved Macintosh application. It will not allow +any other tasks to run while it does (cooperative multitasking at its +best). When it's finished, the program will put up a dialog to ask if +you have scanned the output for any error messages. Usually there won't +have been any errors, but do scan the output to make sure. Simply click +on the "I Read It" button and the program will quit. + +Repeat as necessary for any extra partitions that you wish to make +filesystems on. Note that you do _not_ need a filesystem on your swap +partition. + +**** Installing the files + +Double-click on the Install Utility icon to start it up. The installer +will present the same SCSI ID menu that mkfs did. Select the same SCSI +ID that you did for mkfs--i.e., the one you are installing onto. + +If you are installing onto a single root partition, proceed to the +"Installation of base files" section, below. + + If you have not created filesystems for the root, usr, and + any other filesystems, go back to "Preparing the filesystem(s)," + above. + + When you started the installer, it mounted your root partition. + Just before it printed, "Mounting partition 'A' as /," it printed + lines like: + sd1 at scsi ID 5. + This means that the device for scsi ID 5 is sd1. The partitions + are signified by a trailing letter. For instance, sd1a would be + the root partition of the second scsi disk in the chain, and sd0g + would be the first usr partition on the first scsi disk. + + You will need to know the proper device to mount the remaining + partition(s) by hand: + + * Select "Build Devices" from the "File" menu. + + * Select "Mini Shell" from the "File" menu. + + * Mount the filesystems you wish with the command: + mount device path + For example, if you wish to mount a usr partition from + the first scsi disk, sd0, on /usr, you would type: + mount /dev/sd0g /usr + + * Type "quit" after you have mounted all the filesystems. + +Installation of base files: + + Select the "Install" menu item from the "File" menu and install + base10, netbsd, and any other packages you wish to install at + this time (see the contents section for information about what's + in each package). The installer will print out the filename of + each file as it is installed, and will take quite some time to + install everything. + + As is the case with Mkfs, this is not a particularly well-behaved + Macintosh application and the machine will be completely tied up + while the installation takes place. + + At some point after installing the base package, select the "Build + Devices" option from the "File" menu. This will create a bunch of + device nodes for you and will create your initial /etc/fstab. The + installer program also has an option to give you a mini-shell. Do + not use this unless you know what you are doing. + +**** Booting the system + +Double-click on the MacBSD Booter icon to start the application. Check +that the options in the Booting dialog look sane--especially the SCSI ID. +If not, correct them to your preference. When you are satisfied with +your choices, try booting NetBSD. + +If you wish to save your preferences, choose the "Save Preferences" +option in the "File" menu, then quit the application and restart. Due +to a long-standing bug, the preferences will not be saved unless you +quit. + +If the system does not come up: + * Check the "diagnostic gray bars" check-box. + * Count the number of "gray bars" you see. + * Send mail to alice@cray-ymp.acm.stuorg.vt.edu describing + your software, your hardware, and the number of bars that + you saw. + +If the system does come up, congratulations, you have successfully +installed NetBSD 1.0. When you reboot into NetBSD, you should log +in as "root" at the login prompt. There is no initial password, but +if you're using the machine in a networked environment, you should +create yourself an account and protect it and the "root" account with +good passwords. + +Some of the files in the NetBSD 1.0 distribution might need to be +tailored for your site. In particular, the /etc/sendmail.cf file will +almost definitely need to be adjusted, and other files in /etc will +probably need to be modified, as well. If you are unfamiliar with +UN*X-like system administration, it's recommended that you buy a book +that discusses it. diff --git a/distrib/notes/mac68k/legal b/distrib/notes/mac68k/legal new file mode 100644 index 00000000000..38de539c961 --- /dev/null +++ b/distrib/notes/mac68k/legal @@ -0,0 +1,33 @@ + This product includes software developed by the Alice Group. + + This product includes software developed by Christopher G. Demetriou. + + This product includes software developed by Christian E. Hopps. + + +Contributions: +------------- + +The following people have made contributions of various sorts +specificially for the Macintosh port (in alphabetical order): + + All of the users who have supplied us with good bug reports and + moral support. + Scott Kaplan for lending his IIci and Kensington Turbo Mouse for + IIci/IIsi banked memory and internal video as well as + non-Apple ADB devices. + Markus Krummenacker for monetary donations. + Glan Lalonde for an invaluable IIci page table dump. + Brad Parker for serial and ethernet drivers/improvements. + Scott Redman for lending Brad Grantham a PowerBook 160. + Craig Ruff for assembling an '030 "pmove ttx" instruction. + Larry Samuels for monetary donations. + Peter Siebold for lending his IIvx in support of ADB and IIvx + internal video. + Schuyler Stultz for the loan of his Macintosh II when we + desperately needed another machine on which to compile + and test during the '93 Xmas vacation. + Tenon Intersystems for monetary donations, MachTen, and Brad's + access to several machines and documentation after hours. + Virginia Tech English Department for loan of a IIci w/ NuBus + video and 32MB of RAM--the first IIci to run NetBSD/Mac68k. diff --git a/distrib/notes/mac68k/prep b/distrib/notes/mac68k/prep new file mode 100644 index 00000000000..8f6a5552df9 --- /dev/null +++ b/distrib/notes/mac68k/prep @@ -0,0 +1,33 @@ +Find your favorite disk partitioning utility. Some +of the ones that have been tried and seem to work are: + SCSI Directory Lite + Disk Manager Mac from OnTrack + HD SC Setup from Apple + I/O Formatter from Diversified (?) + Silverlining from LaCie + APS Disk Tools + +The last can be found on any A/UX ftp site--for example: +jagubox.gsfc.nasa.gov:/pub/mac/APS273.sit.hqx, or +dunkin.princeton.edu:/pub/jagubox/mac/APS273.sit.hqx. + +** First, be sure you have a reliable backup of any data +** which you may want to keep. Repartitioning your hard +** drive is an excellent way to destroy important data. + +Second, use your favorite partitioning utility to make +at least an A/UX "Root & Usr" partition and an A/UX "Swap" +partition. The "Root & Usr" partition should be _at least_ +50MB in size if you wish to install everything. Generally, +you should allocate twice as much swap space as you have real +memory (so, if you have 8MB of RAM, specify 16MB of swap space). +Systems that will be heavily used or that are low on real +memory should have more swap space allocated. Systems that +will be only lightly used can get away with less. + +If you like, you can also create a smaller root partition +and a larger /usr. If you plan to use this machine as a +server, you may also want a separate /var. Create these +partitions as the BSD "usr" or "User slice X" type. + +You are now set to install NetBSD on your hard drive. diff --git a/distrib/notes/mac68k/upgrade b/distrib/notes/mac68k/upgrade new file mode 100644 index 00000000000..444bc128b3a --- /dev/null +++ b/distrib/notes/mac68k/upgrade @@ -0,0 +1,4 @@ +There is no upgrade to release 1.0 for the NetBSD/mac68k architecture. +This is impractical as there is no good, standard point to provide an +upgrade path from. It is hoped that there will be a good upgrade +procedure for future releases. diff --git a/distrib/notes/mac68k/whatis b/distrib/notes/mac68k/whatis new file mode 100644 index 00000000000..6a6eddea9af --- /dev/null +++ b/distrib/notes/mac68k/whatis @@ -0,0 +1,6 @@ +NetBSD 1.0 is the first "real" release of NetBSD for the mac68k. +Previous releases have been alpha or beta quality. There is still a +lot of work to be done, but this should be a usable system for a number +of people. Quite a few features are available: shared libraries, new +file systems, binary compatibility with the other m68k ports for most +binaries, SunOS compatibility, and numerous others. diff --git a/distrib/notes/mac68k/xfer b/distrib/notes/mac68k/xfer new file mode 100644 index 00000000000..dcfb410bce6 --- /dev/null +++ b/distrib/notes/mac68k/xfer @@ -0,0 +1,29 @@ +Installation is really only supported from the local Macintosh +hard drive or from an AppleShare volume. This means that you'll +need at least enough room for the largest file that you will have +to install. This is the 6.2M base10 file. There has been talk +of allowing an install from split files. If you have the time, +desire, and knowledge, please feel free to add that functionality. + +If the install is being done from an AppleShare-mounted volume, +the install utility must be in the same folder as the data files. + +There will be two images of each file. One in "raw" Unix format +and one in a binhex format. Therefore, base10 and base10.hqx both +contain the same information, but base10.hqx has been encoded in +binhex format. Download the files; if necessary, decode them so +you have all of the files as base10, etc10, etc. This can be +accomplished from the .hqx files by using _Stuffit Expander_ or +any one of a number of freeware and shareware Macintosh tools. + +You will also need to collect the MacOS tools: + Mkfs, + MacBSD Install Utility, and + MacBSD Booter. + +These three are compacted and in binhex form as mkfs.cpt.hqx, +installer.1.0.cpt.hqx, and booter.1.4.cpt.hqx, respectively. + +Extract them as you would any other Macintosh applications. The +sources should be in the same place with "src" somewhere in the +filename. diff --git a/distrib/notes/mirrors b/distrib/notes/mirrors new file mode 100644 index 00000000000..b62366ce756 --- /dev/null +++ b/distrib/notes/mirrors @@ -0,0 +1,58 @@ +Host name Services Provided +---- ---- -------- -------- +ftp.iastate.edu Anonymous FTP, AFS + + Anon-FTP path: pub/netbsd/NetBSD-1.0 + AFS path: /afs/iastate.edu/public/ftp/pub/netbsd/NetBSD-1.0 + +ftp.eecs.umich.edu Anonymous FTP + + Anon-FTP path: BSD/NetBSD/NetBSD-1.0 + +gatekeeper.dec.com Anonymous FTP + + Anon-FTP path: pub/BSD/NetBSD/NetBSD-1.0 + +wipux2.wifo.uni-mannheim.de Anonymous FTP, SUP + + Anon-FTP path: pub/NetBSD/NetBSD-1.0 + SUP: get the file pub/misc/sup/supfile.example via + anonymous FTP and read it as an example. + +ftp.demon.co.uk Anonymous FTP, possibly SUP + + Anon-FTP path: pub/BSD/NetBSD/NetBSD-1.0 + SUP: contact peter@demon.net for SUP server status/information + +ftp.uni-regensburg.de Anonymous FTP + + Anon-FTP path: pub/NetBSD/NetBSD-1.0 + +ftp.unit.no Anonymous FTP + + Anon-FTP path: pub/NetBSD/NetBSD-1.0 + +ftp.stacken.kth.se Anonymous FTP + + Anon-FTP path: pub/OS/NetBSD/NetBSD-1.0 + +flick.lerc.nasa.gov Anonymous FTP + + Anon-FTP path: pub/NetBSD/NetBSD-1.0 + +coombs.anu.edu.au Anonymous FTP + + Anon-FTP path: pub/NetBSD/NetBSD-1.0 + +ftp.funet.fi Anonymous FTP + + Anon-FTP path: pub/unix/NetBSD/NetBSD-1.0 + +ftp.netbsd.org Anonymous FTP, SUP + + Anon-FTP path: pub/NetBSD/NetBSD-1.0 + SUP: get the file pub/sup/README.sup via anonymous FTP from + ftp.netbsd.org, and read it for instructions. + +If you wish to become a distribution site for NetBSD, contact Chris +Demetriou <cgd@NetBSD.ORG>. diff --git a/distrib/notes/pc532/contents b/distrib/notes/pc532/contents new file mode 100644 index 00000000000..469913d7fa6 --- /dev/null +++ b/distrib/notes/pc532/contents @@ -0,0 +1,113 @@ +The pc532-specific portion of the NetBSD 1.0 release is found in the +"pc532" subdirectory of the distribution. That subdirectory contains +the files as follows: + +.../NetBSD-1.0/pc532/ + + INSTALL Installation notes; this file. + CKSUM output of "cksum *.gz" + ram.root.gz Ram root disk + util.tar.gz things to help the install + netbsd.rd.9600.gz "ram disk" root kernel, 9600 baud + netbsd.rd.19200.gz "ram disk" root kernel, 19200 baud + netbsd.sd0.9600.gz sd0a root, 9600 baud console + netbsd.sd0.19200.gz sd0a root, 19200 baud console + netbsd.sd1.9600.gz sd1a root, 9600 baud console + netbsd.sd1.19200.gz sd1a root, 19200 baud console + base.tar.gz base distribution + comp.tar.gz compiler tools & libraries + etc.tar.gz files for /etc + games.tar.gz /usr/games and friends + man.tar.gz /usr/man + misc.tar.gz various + text.tar.gz groff and friends + + +The binary distribution consists of the following files: + + base.tar.gz + The NetBSD/pc532 1.0 base binary distribution. You + MUST install this distribution set. It contains the + base NetBSD utilities that are necessary for the + system to run and be minimally functional. It + excludes everything described below. + [ 15.1M gzipped ] + + comp.tar.gz + The NetBSD/pc532 Compiler tools. All of the tools + relating to C, C++, and FORTRAN (yes, there are two!). + This set includes the system include files + (/usr/include), the linker, the compiler tool chain, + and the various system libraries. This set also includes + the manual pages for all the utilities it contains, as well + as the system call and library manual pages. + [ 4.2M gzipped ] + + etc.tar.gz + This distribution set contains the system + configuration files that reside in /etc and in several + other places. This set MUST be installed if you are + installing the system from scratch, but should NOT be + used if you are upgrading. (If you are upgrading, + it's recommended that you get a copy of this set and + CAREFULLY upgrade your configuration files by hand.) + [ 50K gzipped ] + + games.tar.gz + This set includes the games and their manual pages. + [ 2.4M gzipped ] + + man.tar.gz + This set includes all of the manual pages for the + binaries and other software contained in the base set. + Note that it does not include any of the manual pages + that are included in the other sets. + [ 0.7M gzipped ] + + misc.tar.gz + This set includes the system dictionaries (which are + rather large), the typesettable document set, and + man pages for other architectures which happen to be + installed from the source tree by default. + [ 1.7M gzipped, 5.6M uncompressed ] + + text.tar.gz + This set includes NetBSD's text processing tools, + including groff, all related programs, and their + manual pages. + [ 1.1M gzipped ] + +The pc532 distribution set does not include a security distribution. +If you are in the US and want the security distribution you must +get the security source distribution and recompile libcrypt.a and +recompile the following programs: + ed, ftpd, makekey, rexecd, uucpd, init, lock, login, passwd, + skeyinit, su, tn3270, pppd + + +The initial installation process on a pc532 without NetBSD/pc532 +is supported by the following files: + + Initial kernels to loaded into memory and run: + + netbsd.rd.9600.gz "ram disk" root kernel, 9600 baud + netbsd.rd.19200.gz "ram disk" root kernel, 19200 baud + + The initial root file system for the above kernels + + ram.root.gz Ram root disk + + Utility programs for helping with the install after a + mini-root has been built on a hard disk + + util.tar.gz things to help the install + + Bootable kernels for placement in the file system to boot + from hard disk. + + netbsd.sd0.9600.gz sd0a root, 9600 baud console + netbsd.sd0.19200.gz sd0a root, 19200 baud console + netbsd.sd1.9600.gz sd1a root, 9600 baud console + netbsd.sd1.19200.gz sd1a root, 19200 baud console + + diff --git a/distrib/notes/pc532/hardware b/distrib/notes/pc532/hardware new file mode 100644 index 00000000000..1a338056462 --- /dev/null +++ b/distrib/notes/pc532/hardware @@ -0,0 +1,20 @@ +NetBSD/pc532 1.0 runs on a PC532 computer. It supports a subset of the +"standard" hardware to date. This is defined as: + + 4 - 32 Megs of memory + 8 serial lines done by 4 scn2681 chips + the NCR DP8490 SCSI chip (scsi only) + Most SCSI disks work (fixed and floppy) + A few SCSI tapes work + Some SCSI CD-ROM drives work + +NetBSD/pc532 currently expects the ROM monitor to be the "autoboot +monitor" of Oct/Nov 1991. It includes support to set up auto booting +of NetBSD, including a secondary boot program that the autoboot monitor +will load that in turn loads the NetBSD kernel from a NetBSD file system. + +Most of the pc532 specific development of NetBSD/pc532 was done on a +machine with 8-Megs of memory. It should run with 4-Megs of memory +although it may be slower. + + diff --git a/distrib/notes/pc532/install b/distrib/notes/pc532/install new file mode 100644 index 00000000000..fb9e521ff6e --- /dev/null +++ b/distrib/notes/pc532/install @@ -0,0 +1,220 @@ +(IF you already have NetBSD/pc532 installed and you only want to update +your system, see the next section.) + +To install NetBSD/pc532, there are several things you need to know. +First, NetBSD "autoconfigs" the scsi devices. inst-11.fs has only +support for disks configured into the kernel. Starting the search at +SCSI address 0, lun 0 and increasing, the first disk found will be sd0 +regardless of the address, the second will be sd1. KLONDIKE for example +has the following devices installed: + + sd0 -> ID 0 LUN 0: Quantum LP52S hard disk drive + sd1 -> ID 1 LUN 0: Micropolis 4110 hard disk drive + sd2 -> ID 2 LUN 0: Teac FC-1, 3.5" floppy disk drive + sd3 -> ID 2 LUN 1: Teac FC-1, 5.25" floppy disk drive + cd0 -> ID 3 LUN 0: Toshiba XM-4101TA CD-ROM drive + st0 -> ID 4 LUN 0: Tandberg TDC3600 QIC tape drive + +Only sd0-sd3 are supported by the inst-11.fs kernel. + +Next you need to know what the install script wants to do. This install +is script on the ram disk root that can do most of the work of configuring +your disk. + + a) The script assumes your are using the first n sectors of your + disk, where you can specify n. It will allow you to create + up to 5 file system partitions, one swap partition and one + boot partition. + + b) You should know how many total sectors are on your disk. The + configure will report a head, track, and cylinder count, but + I have found that on my disks, it reports something that makes + a smaller disk than I really had. + + c) It is possible to have the install script make a partition + over your save area AND not make a new file system, thus + preserving what is there. Then, later you can make a new + file system after you no longer need the stuff there. You + will need to do only one boot to get things working from + the disk. + +The Install Procedure: + + a) Adjust your console device settings. + The inst-11.fs kernel will come up with 9600 baud, 7 bits, + even parity and one stop bit. Adjust your terminal to match + these settings. The monitor's baud rate can be changed with + "baud d'9600". + + b) Get inst-11.fs. + If you have a 1.44 meg SCSI floppy drive, you can put this + onto a 3.5" floppy disk. Insert the disk into your floppy + drive and use the monitor's boot command to boot the default + image from the floppy. The image booted will ask you for a + kernel to load. Answer + sdXa:/netbsd + Replace X with your drive number. For KLONDIKE X would be "2". + + If you don't have a floppy drive, you will have to + - load the inst-11.fs at 0x288000 + - run at 0x3EB820 + The boot program will ask you now for a kernel to load. Answer + rd0a:/netbsd + + c) Choose a disk geometry. For me, the reported geometry left + some sectors "unallocated". That is, the autoconfig message + said the disk had 2428 cylinders, 9 heads, and 93 sectors/track. + This gives a total of 2032236 sectors, but I knew that I had + 2053880 sectors. + + To help in this process, there is a program "factor" that is + on the inst-11.fs. The usage is "factor number" and it lists + the prime factors of number. + For example, with the 2053880 sector disk I got: + + ---->~/sd1 + + steelhead[3]$ factor 2053880 + 2053880: 2 2 2 5 51347 + + Not many to choose from, so I tried ... + + ---->~/sd1 + steelhead[4]$ factor 2053820 + 2053820: 2 2 5 103 997 + + Now I'd like to get about a meg per track: + steelhead[5]$ echo "2 * 997"|bc + 1994 + + Now I the number of tracks: + steelhead[5]$ echo "2 * 5 * 103"|bc + 1030 + + So I ended up choosing 1030 cylinders, 1 head, 1994 sectors/track. + I "lost" only 60 sectors, but got a "resonable geometry". + + d) run "install" -- it will ask you for the disk geometry and other + questions. It will ask you for the geometry and then ask you + how many of those sectors you want to use for NetBSD. It also + wants to know the size of your boot partition (to be used with + the auto-boot monitor), your root partition, your swap partition, + and then any other partitions you may want. For the "other" + partitions, it will ask for a mount point. The mount point will + be "relative to /" and should not include the leading "/". Also, + IF you do not want the partition to have newfs run on it (that is + it might be the last one and have a copy of ram.root and your + kernels) enter "NO" to the mount point and it will not run newfs + on the partition. It will enter the partition into the disklabel. + + e) look around, if you want ... and then halt NetBSD. + + f) reboot the machine. Using the autoboot monitor, all you should have + to do is give the ROM monitor command "boot". The secondary + UFS boot program eventually times out and auto-loads /netbsd. + You can get it to do it faster by hitting "return". + If you are NOT using the autoboot monitor, it's time to warm + up your eprom burner :-) + + g) Now it is time to load all the other files of the distribution: + You can do this via -- + + a) a TCP/IP link (slip, ppp or plip) + you have ifconfig, slattach, route, netstat, + hostname and ftp on the mini-root. You can even + use nfs... + Plip is only an option if you have installed a + centronics port in your pc532. + + b) floppy disk + + c) tape + + d) cdrom (If you have a CD with NetBSD/532 ...) + + e) using kermit. (See the notes at the end of this file.) + + f) some other method? (Let me know about it.) + + h) Load the tar.gz files. Choose a place to put them. I would make + a directory /gz.files and put them there. If you are "short + on space," you might want to load them and extract them one + at a time. A minimum installation is "base" and "etc". It + takes about 32 Megs installed + 15 Megs for the base.tar.gz. + + i) Extract the tar files in /. For example, if your *.tar.gz were + in a directory /gz.files, to extract base.tar.gz you would: + + - cd / + - tar -xpzf /gz.files/base.tar.gz --unlink + + Add v to the flags if you want a verbose extract. + The --unlink is to make sure that the "ram.root" versions + of sh, init, ... are replaced by their full featured versons + in base.tar.gz. I think it is wise to include the --unlink + for other things. + + j) Extract at least "base" and "etc" for a new installation. For + "update" extracts, don't extract "etc" directly unless you + have saved your current /etc tree. For "full" installations, + extract all files. + + k) Edit the information in /etc + + - hosts - host name and address information + - myname - your host name + - mygate - hostname of gateway (assuming you have one) + - resolv.conf - which nameserver to use + - hostname.{sl0,ppp0,plip0} - interface hostname + - netstart - configures the network and says if sendmail should + be started + - ttys - make sure the console entry has the correct speed + - gettytab - I find "ap" instead of "ep" in the default entry + works better for me. + - fstab - make sure it includes all partitions you want mounted + - localtime - this is usually a link into /usr/share/zoneinfo + + Now you can adjust the kernel's default baud rate to match your + monitor's default baud rate. Do the following: + gdb -w /netbsd + set scndefaultrate = YOUR_BAUD_RATE + quit + If you set scndefaultrate to something bogus, you'll probably + not be able to reboot... So be carefull! + + l) Reboot the machine and it should come up in multi-user mode *IF* + you got it configured correctly. + + m) Enjoy! And help fix bugs and improve NetBSD/pc532! + + +For those who choose to use kermit to help in getting NetBSD/pc532 +installed: + + The following is the Kermit copyright: + + Copyright (C) 1985, 1994, Trustees of Columbia University in the + City of New York. The C-Kermit software may not be, in whole or + in part, licensed or sold for profit as a software product + itself, nor may it be included in or distributed with commercial + products or otherwise distributed by commercial concerns to their + clients or customers without written permission of the Office of + Kermit Development and Distribution, Columbia University. This + copyright notice must not be removed, altered, or obscured. + + Due to this copyright, we can not include kermit with the standard + NetBSD/pc532 distribution. + + The Office of Kermit Development and Distribution of Columbia + University in the City of New York has given permission for + us to distribute a NetBSD/pc532 binary. It is available primarily + for bootstrapping purposes and therefore is not a complete package, + lacking source code, various supporting text files, and the user + manual. Users who wish to use C-Kermit after the bootstrapping + process should obtain the full package, including the manual + "Using C-Kermit", from Columbia University. + + The NetBSD/pc532 binary is available via ftp from + iceberg.cs.wwu.edu in the directory pub/NetBSD/pc532 as the file + kermitbin.tar.gz. + diff --git a/distrib/notes/pc532/legal b/distrib/notes/pc532/legal new file mode 100644 index 00000000000..c61c3a90db2 --- /dev/null +++ b/distrib/notes/pc532/legal @@ -0,0 +1,85 @@ + + This product includes software developed by the Alice Group. + + This product includes software developed by Philip L. Budne. + + This product includes software developed by Christopher G. Demetriou. + + This product includes software developed by Philip A. Nelson. + + This product includes software at the Helsinki University of + Technology. + +Some files have the following copyright: +/* + * Copyright (c) 1992 Helsinki University of Technology + * All Rights Reserved. + * + * Permission to use, copy, modify and distribute this software and its + * documentation is hereby granted, provided that both the copyright + * notice and this permission notice appear in all copies of the + * software, derivative works or modified versions, and any portions + * thereof, and that both notices appear in supporting documentation. + * + * HELSINKI UNIVERSITY OF TECHNOLOGY ALLOWS FREE USE OF THIS SOFTWARE IN + * ITS "AS IS" CONDITION. HELSINKI UNIVERSITY OF TECHNOLOGY DISCLAIMS ANY + * LIABILITY OF ANY KIND FOR ANY DAMAGES WHATSOEVER RESULTING FROM THE + * USE OF THIS SOFTWARE. + */ + + +At least one file contains: + + * Copyright 1990 by Open Software Foundation, + * Grenoble, FRANCE + * + * All Rights Reserved + * + * Permission to use, copy, modify, and distribute this software and + * its documentation for any purpose and without fee is hereby granted, + * provided that the above copyright notice appears in all copies and + * that both the copyright notice and this permission notice appear in + * supporting documentation, and that the name of OSF or Open Software + * Foundation not be used in advertising or publicity pertaining to + * distribution of the software without specific, written prior + * permission. + * + * OSF DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE + * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, + * IN NO EVENT SHALL OSF BE LIABLE FOR ANY SPECIAL, INDIRECT, OR + * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM + * LOSS OF USE, DATA OR PROFITS, WHETHER IN ACTION OF CONTRACT, + * NEGLIGENCE, OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION + * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + + +Some files have the following copyright: + +/* + * Mach Operating System + * Copyright (c) 1992 Carnegie Mellon University + * Copyright (c) 1992 Helsinki University of Technology + * All Rights Reserved. + * + * Permission to use, copy, modify and distribute this software and its + * documentation is hereby granted, provided that both the copyright + * notice and this permission notice appear in all copies of the + * software, derivative works or modified versions, and any portions + * thereof, and that both notices appear in supporting documentation. + * + * CARNEGIE MELLON AND HELSINKI UNIVERSITY OF TECHNOLOGY ALLOW FREE USE + * OF THIS SOFTWARE IN ITS "AS IS" CONDITION. CARNEGIE MELLON AND + * HELSINKI UNIVERSITY OF TECHNOLOGY DISCLAIM ANY LIABILITY OF ANY KIND + * FOR ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE. + * + * Carnegie Mellon requests users of this software to return to + * + * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU + * School of Computer Science + * Carnegie Mellon University + * Pittsburgh PA 15213-3890 + * + * any improvements or extensions that they make and grant Carnegie Mellon + * the rights to redistribute these changes. + */ diff --git a/distrib/notes/pc532/prep b/distrib/notes/pc532/prep new file mode 100644 index 00000000000..73ad339805e --- /dev/null +++ b/distrib/notes/pc532/prep @@ -0,0 +1,3 @@ +The major preparation needed is to make sure you can recover any +current bits stored on your pc532. If you don't care about your +data on the disk, you don't need to do anything.
\ No newline at end of file diff --git a/distrib/notes/pc532/upgrade b/distrib/notes/pc532/upgrade new file mode 100644 index 00000000000..57b3b74eaef --- /dev/null +++ b/distrib/notes/pc532/upgrade @@ -0,0 +1,55 @@ +The upgrade to NetBSD 1.0 is a binary upgrade; it would be prohibitive +to make users upgrade by compiling and installing the 1.0 sources, and +it would be very difficult to even compile a set of instructions that +allowed them to do so. + +To do the upgrade, you must have at least base.tar.gz on disk and +a copy of the proper netbsd.sdx.yyyy. It will require quite a bit +of disk space to do the upgrade. + +Since upgrading involves replacing the kernel, and most of the system +binaries, it has the potential to cause data loss. You are strongly +advised to BACK UP ANY IMPORTANT DATA ON YOUR DISK, whether on the +NetBSD partition or on another operating system's partition, before +beginning the upgrade process. + +To upgrade your system, follow the following instructions: + + Make sure your are root. Just in case the new binaries don't + run with the old kernel, make copies of several key binaries + from /bin, /sbin and /usr/bin in some directory. (Things like + sh, cp, ls, rm, tar, halt, and others.) + + Extract the tar.gz files. Remember to use the --unlink + option with tar so it can replace binaries currently in use. + For example, to extract base.tar.gz: + + cd / + tar -xpzf /gz.files/base.tar.gz --unlink + + Extract all the tar.gz files you want. You should carefully + work at upgrading /etc. There may be changes to file formats + depending on what version of NetBSD/pc532 you are running. + + BE CAREFUL IF YOU ARE RUNNING WITH SECURITY. The distribution + binaries don't support it. It would be reasonable to save a + copy of master.passwd and remove all passwords until after + you upgrade to the new security level. + + Place the proper netbsd.sdX.YYYY in / as the file netbsd. + + Reboot. + + After reboot, you should make sure you check your new file systems. + Also, you may wish to upgrade your file systems to the new file + system format. After the install process is complete, + use "fsck -c 2" to upgrade the file systems. Read the fsck(8) + manual page for more details. + + If you upgrade your file systems, you will want to make sure + you have the most recent ufs boot program if you use the + NetBSD boot program to read the kernel off a ufs file system. + Use bim(8) to remove your old boot program and install the + newest one if you are using the autoboot monitor. + + diff --git a/distrib/notes/pc532/whatis b/distrib/notes/pc532/whatis new file mode 100644 index 00000000000..3399a139941 --- /dev/null +++ b/distrib/notes/pc532/whatis @@ -0,0 +1,14 @@ +For the pc532 port, there are a few known problems. They include: + + a) ppp reports a lot of input errors on some machines. + + b) Some tape drives do not work very well. Some have hung the system. + + c) The serial drivers do not have all the desired features. (ttyflags + is the most glaring.) + + d) The disk driver is polled, not interrupt driven. + + e) kernel support for debugging is not working correctly. + + f) shared libraries are not used yet.
\ No newline at end of file diff --git a/distrib/notes/pc532/xfer b/distrib/notes/pc532/xfer new file mode 100644 index 00000000000..a36b90a8c78 --- /dev/null +++ b/distrib/notes/pc532/xfer @@ -0,0 +1,19 @@ +The "standard" method of getting NetBSD/pc532 onto your pc532 is +via the console terminal and using the downloading parts of the +ROM monitor. As such, usually another computer has the distribution +on disk and is connected via a serial line to your pc532's console +port. A terminal connected to the attached host computer is used +to access the pc532 console via a terminal program. + +You may need to find and read the documentation about the ROM monitor +download command and other low level comands. + +Other methods of getting NetBSD/pc532 on your pc532 may include +SCSI tape or SCSI floppy disk or cloning a disk on a system +already running NetBSD/pc532. + +If you have some operating system already running on your pc532, +you can use that OS to get NetBSD/pc532 on a hard disk much easier than +with the ROM monitor. (NetBSD/pc532 was developed from Minix/pc532 +until it was self hosting. You can run NetBSD and Minix or other OS +off the same disk.)
\ No newline at end of file diff --git a/distrib/notes/sparc/contents b/distrib/notes/sparc/contents new file mode 100644 index 00000000000..8e22ef36da0 --- /dev/null +++ b/distrib/notes/sparc/contents @@ -0,0 +1,92 @@ +The sparc-specific portion of the NetBSD 1.0 release is found in the +"sparc" subdirectory of the distribution. That subdirectory is laid +out as follows: + +.../NetBSD-1.0/sparc/ + binary/ sparc binary distribution sets; + see below. + + security/ sparc security distribution; + see below; + + install/ Base GENERIC kernels, tools, + and installation script. + +The NetBSD/sparc binary distribution sets contain the binaries which +comprise the NetBSD 1.0 release for the sparc. There are seven binary +distribution sets, and the "security" distribution set. The binary +distribution sets can be found in subdirectories of the "sparc/binary" +subdirectory of the NetBSD 1.0 distribution tree, and are as follows: + + base10 The NetBSD/sparc 1.0 base binary distribution. You + MUST install this distribution set. It contains the + base NetBSD utilities that are necessary for the + system to run and be minimally functional. It + includes shared library support, and excludes + everything described below. + [ 7.3M gzipped, 22.7M uncompressed ] + + comp10 The NetBSD/sparc Compiler tools. All of the tools + relating to C, C++, and FORTRAN (yes, there are two!). + This set includes the system include files + (/usr/include), the linker, the compiler tool chain, + and the various system libraries (except the shared + libraries, which are included as part of the base + set). This set also includes the manual pages for all + of the utilities it contains, as well as the system + call and library manual pages. + [ 4.9M gzipped, 15.9M uncompressed ] + + etc10 This distribution set contains the system + configuration files that reside in /etc and in several + other places. This set MUST be installed if you are + installing the system from scratch, but should NOT be + used if you are upgrading. (If you are upgrading, + it's recommended that you get a copy of this set and + CAREFULLY upgrade your configuration files by hand.) + [ 50K gzipped, 285K uncompressed ] + + games10 This set includes the games and their manual pages. + [ 1.2M gzipped, 3.3M uncompressed ] + + man10 This set includes all of the manual pages for the + binaries and other software contained in the base set. + Note that it does not include any of the manual pages + that are included in the other sets. + [ 0.7M gzipped, 2.9M uncompressed ] + + misc10 This set includes the system dictionaries (which are + rather large), the typesettable document set, and + man pages for other architectures which happen to be + installed from the source tree by default. + [ 1.7M gzipped, 5.9M uncompressed ] + + text10 This set includes NetBSD's text processing tools, + including groff, all related programs, and their + manual pages. + [ 0.8M gzipped, 3.1M uncompressed ] + +The sparc security distribution set is named "secr10" and can be found +in the "sparc/security" subdirectory of the NetBSD 1.0 distribution +tree. It contains crypt.c (the source file for the DES encryption +algorithm) and the binaries which depend on it. It can only be found +on those sites which carry the complete NetBSD distribution and that +can legally obtain it. (Remember, because of United States law, this +distribution set may not be exported to locations outside of the +United States and Canada.) [ 127K gzipped, 337K uncompressed ] + +The sparc binary distribution sets are distributed in the same form as +the source distribution sets; catted together, the members of a set +form a gzipped tar file. Each sparc binary distribution set also has +its own "CKSUMS" file, just as the source distribution sets do. The +binary sets are "rooted" at /, that is, if you want to extract the +binaries "into" your system, i.e. replace the system binaries with +them, you have to run the "tar xfp" from /. Also note that if you +upgrade or install this way, those programs that you are using at the +time will NOT be replaced. If you follow the normal installation or +upgrade procedures, this will be taken care of for you. + +The "sparc/install" directory contains an install script, and two +GENERIC kernels. As well, the distribution cannot be extracted using +the SunOS "tar" program so SunOS statically-linked versions of gzip +(GNU gzip) and gtar (GNU tar) are provided. diff --git a/distrib/notes/sparc/hardware b/distrib/notes/sparc/hardware new file mode 100644 index 00000000000..977abd4f808 --- /dev/null +++ b/distrib/notes/sparc/hardware @@ -0,0 +1,25 @@ +NetBSD/sparc 1.0 runs on Sun4c class machines only, which includes +the SS1, SS1+, SS2, IPC, ELC, IPX, and the SLC. It does not run +on Sun4, Sun4m, or Sun4d machines. + +The minimal configuration requires 4M of RAM and ~60M of disk space. +To install the entire system requires much more disk space, and to run +X or compile the system, more RAM is recommended. (NetBSD with 4M of +RAM feels like Solaris with 4M of RAM.) Note that until you have +around 16M of RAM, getting more RAM is more important than getting a +faster CPU.) + +Supported devices include: + Video: cgthree, cgsix, and bwtwo frame buffers + Serial ports: ttya and ttyb + On-board AMD Lance ethernet + Some SCSI CD-ROM drives + Sun keyboard and mouse + +Hardware the we do NOT currently support, but get many questions +about: + The floppy drive. + +The next release will likely run on many more machines. In +particular, some Sun4 support will be there, and perhaps even +Sun4m. diff --git a/distrib/notes/sparc/install b/distrib/notes/sparc/install new file mode 100644 index 00000000000..cb9437e7f6c --- /dev/null +++ b/distrib/notes/sparc/install @@ -0,0 +1,182 @@ +Installing NetBSD is a relatively complex process, but if you have +this document in hand it shouldn't be too much trouble. + +There are several ways to install NetBSD onto a disk. If your Sparcstation +is hooked up in a network you can find find a server and arrange for a +diskless setup which is a convenient way to install on a machine with +a single disk attached. Alternatively, you could use SunOS (booted from +a local disk) and install NetBSD onto a second disk. For the latter method, +skip to the section "Installing from SunOS" below. + +Installing using a diskless setup. + +First, you must setup a diskless client configuration on a server. Consult +your server installation documents on how to proceed with this. +Put all the *.tar.gz files you want to install into the root directory +for your client on the server. + +Next, unpack base.tar.gz on the server in the root directory for your machine. +A few configuration files need to be edited: + + <root>/etc/hosts + <root>/etc/myname + <root>/etc/fstab + +Boot your workstation from the server by entering the appropriate `boot' +command at the monitor prompt. Depending on the PROM version in your machine, +this command takes one of the following forms: + + > b le()netbsd -s # for sun4 monitors + ok boot le()netbsd -s # for version 1 OpenBOOT ROMs + ok boot net netbsd -s # for version 2 OpenBOOT ROMs + +This will boot the NetBSD kernel in single-user mode. + +[[ +NOTE: the latter two examples assume you operate the OpenBOOT ROM in +"new command mode". If your machine comes up and gives you a `>' prompt +instead of `ok', type: + + >n # enter native OpenBOOT mode + ok setenv sunmon-compat? false # make it permanent + ok +]] + +Start the installation procedure: + +netbsd# ./install.sh + + +This script will do most of the work of transferring the system from the +tar files onto your disk. You will frequently be asked for confirmation +before the script proceeds with each phase of the installation process. +Occasionally, you'll have to provide a piece of information such as the +name of the disk you want to install on or IP addresses and domain names +you want to assign. + +The installation script goes through the following phases: + + - determination of the disk to install NetBSD on + - checking of the partition information on the disk + - creating and mounting the NetBSD filesystems + - setup of IP configuration + - extraction of the distribution tar files + - installation of boot programs + + +Now try a reboot. (If needed, swap your scsi id's first). Initially +I'd suggest you "boot sd()netbsd -bs", then try multiuser after that. +if you boot single-user the NetBSD incantation to make the root +filesystem writable is + + netbsd# mount -u /dev/sd0a / + +The Sun monitor normally tries to load a file called "vmunix". On +OpenBOOT ROM systems you can change it to load NetBSD instead using +the following commands: + +On version 1 OpenBOOT ROMs: + >n + ok setenv boot-from sd(0,0,0)netbsd + ok + +On version 2 OpenBOOT ROMs: + ok setenv boot-file netbsd + ok setenv boot-device /sbus/esp/sd@0,0 + + +Congratulations, you have successfully installed NetBSD 1.0. When you +reboot into NetBSD, you should log in as "root" at the login prompt. +There is no initial password, but if you're using the machine in a +networked environment, you should create yourself an account and +protect it and the "root" account with good passwords. + +Some of the files in the NetBSD 1.0 distribution might need to be +tailored for your site. In particular, the /etc/sendmail.cf file will +almost definitely need to be adjusted, and other files in /etc will +probably need to be modified. If you are unfamiliar with UN*X-like +system administration, it's recommended that you buy a book that +discusses it. + + + +Installing from SunOS. + +You need a SunOS machine to install NetBSD. You also need at +least the following pieces: + + the *.tar.gz files you want to install (as a minimum, base.tar.gz) + gzip (GNU gzip) SunOS binary + gtar (GNU tar) SunOS binary + the "install.sh" script + a "/boot" file from a SunOS sun4c machine + a kernel, most likely "/netbsd" + +All these pieces, except "/boot", are supplied in the NetBSD/sparc +distribution. + +You need to format and partition the disk using SunOS (since +NetBSD/sparc uses SunOS disk labels.) Give yourself adequate +partition sizes. Here is an example layout: + + partition size offset will be.. + sd2a 28140 0 / + sd2b 16170 28140 swap + sd2c 204540 0 `whole disk' + sd2g 160230 44310 /usr + +BTW, These are not recommended sizes. They simply match the first +(tiny) disk that NetBSD/sparc ran on. + +Use SunOS to newfs the partitions which will have filesystems on them. +(NetBSD's filesystem format is identical to SunOS). + + sunos# newfs /dev/rsd2a + [... lots of output] + sunos# newfs /dev/rsd2g + [... lots of output] + +NOTE: If you are able to, there is a performance benefit from +newfs'ing using NetBSD. If you newfs using the NetBSD newfs command, +be sure to use the -O flag for your / partition, so that newfs will +use the 4.3BSD filesystem format, rather than the new 4.4BSD filesystem +format. If you forget, you will not be able to boot -- the SunOS boot +blocks do not understand the extended 4.4BSD filesystem format. + +Mount those partitions in a tree formation, under /mnt; ie: + + sunos# df + Filesystem kbytes used avail capacity Mounted on + [...] + /dev/sd2a 11501 0 11501 0% /mnt + /dev/sd2g 179529 0 179529 0% /mnt/usr + +Place a standard SunOS "/boot" program in /mnt (your new root +partition), and use the SunOS command "installboot" to make it work. +The installboot man page says to do something like this: + + sunos# cp /boot /mnt/boot + sunos# /usr/mdec/installboot -vlt /mnt/boot /usr/mdec/bootsd /dev/rsd2a + +You can now extract the provided "*.tar.gz files onto your disk. The +provided script, "install.sh" will help you: + + sunos# ls -FC + base.tar.gz etc.tar.gz man.tar.gz secr.tar.gz + comp.tar.gz games.tar.gz misc.tar.gz text.tar.gz + install.sh netbsd.id3_scsi + sunos# ./install.sh + [...] + +This script NEEDS gzip and gtar (GNU gzip and GNU tar) on your +execution path! The tar files are in a "new format" that includes +directory information, and SunOS tar will not read them. Statically +linked versions of these programs for SunOS are supplied in the +distribution. + +After the files have been extracted, repair /mnt/etc/fstab to match +your actual disk layout. (Minus the "/mnt" component of each path, of +course :-) + +Now proceed to reboot the machine as described above in "Installing +using a diskless setup". diff --git a/distrib/notes/sparc/legal b/distrib/notes/sparc/legal new file mode 100644 index 00000000000..295e8480bdc --- /dev/null +++ b/distrib/notes/sparc/legal @@ -0,0 +1,4 @@ + This product includes software developed by Philip A. Nelson. + + This product includes software developed by Paul Kranenburg. + diff --git a/distrib/notes/sparc/prep b/distrib/notes/sparc/prep new file mode 100644 index 00000000000..c055fa624b8 --- /dev/null +++ b/distrib/notes/sparc/prep @@ -0,0 +1,49 @@ +Before you start you might need to consider your disk configuration +to sort out a quirk in SCSI-ID to SD-UNIT mapping that exists on +Sun Sparcstations. + +Upon leaving the factory, SunOS and the OpenBOOT ROM map according to +this table: + + SCSI-ID -> SunOS SD-UNIT + 0 sd3 + 1 sd1 + 2 sd2 + 3 sd0 + 4 sd4 + 5 sd5 + 6 sd6 + +Unlike SunOS and the OpenBOOT ROM, a generic NetBSD kernel numbers +scsi drives sequentially as it finds them. The drive with the +lowest scsi-id will be called sd0, the next one sd1, etc. + +To ease the installation process, the default NetBSD kernel in the +distribution is setup to match the Sun mapping above by hard-wiring +scsi-id#3 to sd0 and scsi-id#0 to sd3. The remaining drives will be +dynamically mapped to other sd* numbers. + +A truely generic NetBSD kernel is also provided as `/netbsd.GENERIC', +which will do the standard NetBSD probe ordering. If your configuration +differs from the default Sun setup, you can try to use this kernel to +complete the installation. + +NOTE: this is also a concern when you start building your own customised +kernels. + + +Your OpenBOOT ROM may need some setup. make sure you boot from `new +command mode'. If your machine comes up and gives you a `>' prompt +instead of `ok', type: + + >n + ok setenv sunmon-compat? false + ok + +This is needed because netbsd cannot handle the old-mode yet, and will +firework on you. + +Also, you cannot use the security modes of the sparc OpenBOOT ROM. + + ok setenv security-mode none + diff --git a/distrib/notes/sparc/upgrade b/distrib/notes/sparc/upgrade new file mode 100644 index 00000000000..4141ecd51e6 --- /dev/null +++ b/distrib/notes/sparc/upgrade @@ -0,0 +1,5 @@ +Upgrading NetBSD/sparc is not something someone is likely to do, +since this is the first real distribution. Since a number of +critical interfaces have changed quite significantly, your best +bet is to reinstall completely, perhaps saving a few files in +/etc and /usr/local. diff --git a/distrib/notes/sparc/whatis b/distrib/notes/sparc/whatis new file mode 100644 index 00000000000..a354a011d93 --- /dev/null +++ b/distrib/notes/sparc/whatis @@ -0,0 +1,5 @@ +NetBSD 1.0 is the first release for the sparc, although numerous +people have been running "snapshots" for some time. It has all the +standard NetBSD features, plus you can also enable SunOS binary +compatibility in the kernel which will run more than 95% of SunOS +executables. diff --git a/distrib/notes/sparc/xfer b/distrib/notes/sparc/xfer new file mode 100644 index 00000000000..445ec92c59f --- /dev/null +++ b/distrib/notes/sparc/xfer @@ -0,0 +1 @@ +Installation is done from SunOS, or a previous NetBSD install. diff --git a/distrib/pc532/floppies/Makefile b/distrib/pc532/floppies/Makefile new file mode 100644 index 00000000000..ecbc7cc99e3 --- /dev/null +++ b/distrib/pc532/floppies/Makefile @@ -0,0 +1,5 @@ +# $Id + +SUBDIR= inst upgr + +.include <bsd.subdir.mk> diff --git a/distrib/pc532/floppies/Makefile.inc b/distrib/pc532/floppies/Makefile.inc new file mode 100644 index 00000000000..7151331df30 --- /dev/null +++ b/distrib/pc532/floppies/Makefile.inc @@ -0,0 +1,4 @@ +# $Id: Makefile.inc,v 1.1 1995/10/18 08:37:41 deraadt Exp $ + +# Revision is 1.0A +REV= 10A diff --git a/distrib/pc532/floppies/inst-common/Makefile.inc b/distrib/pc532/floppies/inst-common/Makefile.inc new file mode 100644 index 00000000000..cac1045fafd --- /dev/null +++ b/distrib/pc532/floppies/inst-common/Makefile.inc @@ -0,0 +1,96 @@ +# $Id: Makefile.inc,v 1.1 1995/10/18 08:37:42 deraadt Exp $ + +# TOP is assumed to be defined by Makefile including this one. + +CBIN= instbin +COMMONDIR= ${TOP}/inst-common + +MOUNT_POINT?= /mnt +VND?= vnd0 +VND_DEV= /dev/${VND}a +VND_RDEV= /dev/r${VND}a +IMAGE?= xxx-${REV}.fs +MDEC= ${DESTDIR}/usr/mdec + +LISTS= ${COMMONDIR}/list ${.CURDIR}/list +CRUNCHCONF= ${COMMONDIR}/${CBIN}.conf +MTREE= ${COMMONDIR}/mtree.conf +ADIR= ${TOP}/../../../sys/arch/pc532 +PWDSRC= ${TOP}/../../../usr.sbin/pwd_mkdb +.if exists(${PWDSRC}/obj) +PWDOBJ= ${PWDSRC}/obj +.else +PWDOBJ= ${PWDSRC} +.endif + +all: netbsd + dd if=/dev/zero of=${IMAGE} bs=18k count=80 + disklabel -r -w ${.OBJDIR}/${IMAGE} boot3 2>/dev/null + -yes|bim -c init -c "add ${MDEC}/boot boot" -c "default 0" \ + -c "exit" ${.OBJDIR}/${IMAGE} 2>/dev/null >/dev/null + vnconfig -v -c ${VND_DEV} ${IMAGE} + newfs -b 8192 -f 1024 -O -m 0 -o space -i 204800 -c 80 ${VND_RDEV} boot3 + mount ${VND_DEV} ${MOUNT_POINT} + cp netbsd ${MOUNT_POINT}/netbsd + @df -i ${MOUNT_POINT} + @echo "" + umount ${MOUNT_POINT} + vnconfig -u ${VND_DEV} + +inject.fs: ${CBIN} ${LISTS} netbsd.gz + (cd ${PWDSRC}; ${MAKE}) + ${CC} -static -o pwd_mkdb ${PWDOBJ}/*.o + dd if=/dev/zero of=${.TARGET} bs=128k count=16 + vnconfig -v -c ${VND_DEV} ${.TARGET} + newfs -b 8192 -f 1024 -O -m 0 -o space -i 7168 ${VND_RDEV} rd + mount ${VND_DEV} ${MOUNT_POINT} + mtree -def ${MTREE} -p ${MOUNT_POINT}/ -u + TOPDIR=${TOP} CURDIR=${.CURDIR} OBJDIR=${.OBJDIR} \ + TARGDIR=${MOUNT_POINT} sh ${TOP}/runlist.sh ${LISTS} + @echo "" + @df -i ${MOUNT_POINT} + @echo "" + umount ${MOUNT_POINT} + vnconfig -u ${VND_DEV} + +unconfig: + -umount -f ${MOUNT_POINT} + -vnconfig -u ${VND_DEV} + -/bin/rm -f ${IMAGE} + +${CBIN}.mk ${CBIN}.cache ${CBIN}.c: ${CRUNCHCONF} + crunchgen -D ${TOP}/../../.. -L ${DESTDIR}/usr/lib ${CRUNCHCONF} + +${CBIN}: ${CBIN}.mk ${CBIN}.cache ${CBIN}.c + make -f ${CBIN}.mk all + +cloak: ${COMMONDIR}/cloak.c + +inject: ${COMMONDIR}/inject.c + +netbsd.gz: + gzip -9 <${ADIR}/compile/DEFAULT/netbsd >netbsd.gz +# cp ${ADIR}/compile/DEFAULT/netbsd /var/tmp/$$$$; \ +# strip /var/tmp/$$$$; \ +# gzip -9 </var/tmp/$$$$ >netbsd.gz; \ +# rm /var/tmp/$$$$ + + +netbsd.o: inject cloak inject.fs + cp ${ADIR}/compile/INSTALL/netbsd /var/tmp/$$$$; \ + strip /var/tmp/$$$$; \ + ./inject /var/tmp/$$$$ inject.fs; \ + gzip -9 </var/tmp/$$$$ | ./cloak >netbsd.o; \ + rm /var/tmp/$$$$ + +go.o: ${COMMONDIR}/go.c + +netbsd: netbsd.o go.o + ld -s -z -T 240000 -e _go go.o netbsd.o ${MDEC}/zboot.o -o netbsd + +clean cleandir: + /bin/rm -f core ${IMAGE} ${CBIN} ${CBIN}.mk ${CBIN}.cache *.o *.lo *.c + /bin/rm -f netbsd* inject* cloak pwd_mkdb + +.include <bsd.obj.mk> +.include <bsd.subdir.mk> diff --git a/distrib/pc532/floppies/inst-common/cloak.c b/distrib/pc532/floppies/inst-common/cloak.c new file mode 100644 index 00000000000..54ccd23694c --- /dev/null +++ b/distrib/pc532/floppies/inst-common/cloak.c @@ -0,0 +1,93 @@ +/* + * Copyright (c) 1995 Matthias Pfaller. + * 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 Matthias Pfaller. + * 4. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 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. + * + * $Id: cloak.c,v 1.1 1995/10/18 08:37:42 deraadt Exp $ + */ + +#include <stdio.h> +#include <unistd.h> +#include <a.out.h> +#include <sys/param.h> + +#define SYM_DATA "_input_data" +#define SYM_LEN "_input_len" +void +writex(int fd, void *buf, int cnt, char *prog) +{ + if (write(fd, buf, cnt) != cnt) { + perror(prog); + exit(1); + } +} + +main(int argc, char **argv) +{ + int n, data_len = 0; + static struct exec exec; + static struct nlist nlist[2]; + static char buf[10240]; + + if (argc != 1) { + fprintf(stderr, "usage: %s <file1 >file2", argv[0]); + exit(1); + } + writex(1, &exec, sizeof(exec), argv[0]); + while ((n = read(0, buf, sizeof(buf))) > 0) { + data_len += n; + writex(1, buf, n, argv[0]); + } + + memset(buf, 0, sizeof(buf)); + if (ALIGN(data_len) - data_len) + writex(1, buf, ALIGN(data_len) - data_len, argv[0]); + writex(1, (void *)&data_len, sizeof(data_len), argv[0]); + + n = sizeof(SYM_DATA) + sizeof(SYM_LEN) + sizeof(n); + nlist[0].n_un.n_strx = sizeof(n); + nlist[0].n_type = N_TEXT | N_EXT; + nlist[0].n_value = 0; + nlist[1].n_un.n_strx = nlist[0].n_un.n_strx + sizeof(SYM_DATA); + nlist[1].n_type = N_TEXT | N_EXT; + nlist[1].n_value = ALIGN(data_len); + writex(1, nlist, sizeof(nlist), argv[0]); + writex(1, &n, sizeof(n), argv[0]); + writex(1, SYM_DATA, sizeof(SYM_DATA), argv[0]); + writex(1, SYM_LEN, sizeof(SYM_LEN), argv[0]); + + N_SETMAGIC(exec, OMAGIC, MID_MACHINE, 0); + exec.a_text = ALIGN(data_len) + sizeof(data_len); + exec.a_data = 0; + exec.a_bss = 0; + exec.a_syms = sizeof(nlist); + exec.a_trsize = 0; + exec.a_drsize = 0; + lseek(1, (off_t)0, SEEK_SET); + writex(1, &exec, sizeof(exec), argv[0]); + exit(0); +} diff --git a/distrib/pc532/floppies/inst-common/dot.commonutils b/distrib/pc532/floppies/inst-common/dot.commonutils new file mode 100644 index 00000000000..f3a8d65018d --- /dev/null +++ b/distrib/pc532/floppies/inst-common/dot.commonutils @@ -0,0 +1,137 @@ +# +# Copyright (c) 1994 Christopher G. Demetriou +# 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 Christopher G. Demetriou. +# 4. The name of the author may not be used to endorse or promote products +# derived from this software without specific prior written permission +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 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. +# +# $Id: dot.commonutils,v 1.1 1995/10/18 08:37:42 deraadt Exp $ + +# Installation utilites (functions), to get NetBSD installed on +# the hard disk. These are meant to be invoked from the shell prompt, +# by people installing NetBSD. + +# we know that /etc/fstab is only generated on the hard drive +dest_dir=/ +if [ ! -f /etc/fstab ]; then + dest_dir=/mnt/ +fi + +# counter for possible shared library confusion +TAR=/usr/bin/tar +GUNZIP=/usr/bin/gunzip + +Set_tmp_dir() +{ + def_tmp_dir=`pwd` + if [ "$def_tmp_dir" = "/" -o "$def_tmp_dir" = "/mnt" ]; then + def_tmp_dir="$dest_dir"usr/distrib + fi + + echo -n "What directory should be used to find and/or store " + echo "installtion" + echo -n "files? [$def_tmp_dir] " + read tmp_dir + if [ "$tmp_dir" = "" ]; then + tmp_dir=$def_tmp_dir + fi + if [ ! -d "$tmp_dir" ]; then + /bin/rm -rf $tmp_dir + mkdir -p $tmp_dir + fi +} + +Tmp_dir() +{ + if [ "$tmp_dir" = "" ]; then + Set_tmp_dir + fi + cd $tmp_dir +} + +Load_fd() +{ + Tmp_dir + which= + echo "Don't forget that you can't load from the drive you booted from." + echo "" + + while [ "$which" != "0" -a "$which" != "1" ]; do + echo -n "Read from which floppy drive ('0' or '1')? [1] " + read which + if [ "X$which" = "X" ]; then + which=1 + fi + done + echo "" + echo "WARNING: during the floppy loading process, you should only" + echo "use Control-C at the prompt." + echo "" + while echo -n \ + "Insert floppy (hit Control-C to terminate, enter to load): " + do + read foo + mount -t msdos /dev/fd${which}a /mnt2 + cp -rp /mnt2/* . + umount /mnt2 + done +} + +Load_tape() +{ + Tmp_dir + echo -n "Which tape drive will you be using? [rst0] " + read which + if [ "X$which" = "X" ]; then + which=rst0 + fi + echo -n "Insert the tape into the tape drive and hit return to " + echo -n "continue..." + read foo + echo "Extracting files from the tape..." + $TAR xvpf --unlink /dev/$which + echo "Done." +} + +Extract() +{ + Tmp_dir + echo -n "Would you like to list the files as they're extracted? [n] " + read verbose + case $verbose in + y*|Y*) + tarverbose=v + ;; + *) + tarverbose= + ;; + esac + cat "$1"* | $GUNZIP | (cd $dest_dir ; $TAR --unlink -xp"$tarverbose"f - ) +} + +xd() +{ + hexdump -e '"%6_ax " 4/1 "%02x " " " 4/1 "%02x " " " 4/1 "%02x " " " 4/1 "%02x " " "' -e '16/1 "%_p" "\n"' $* +} diff --git a/distrib/pc532/floppies/inst-common/download.c b/distrib/pc532/floppies/inst-common/download.c new file mode 100644 index 00000000000..35081488753 --- /dev/null +++ b/distrib/pc532/floppies/inst-common/download.c @@ -0,0 +1,532 @@ +/* $NetBSD: download.c,v 1.1 1995/10/06 21:00:16 phil Exp $ */ + +/* + Hacked by Phil Nelson for use with NetBSD, 10/5/95. + This source is in the public domain except for the makeraw function. + + The upload part of this program is taken from Bruce's ROM debugger + code. + + For NetBSD, the usages are: + + download file + - open "file" and ship it out standard output with the + format expected by the pc532 ROM monitor download + command. + + download -r nfile + - standard input was generated by a "download file" command. + Capture it, checking the CRC and store it in "nfile". + + + Note: This program uses termios. + +Date: Tue, 27 Feb 90 11:47:38 pst +From: Bruce Culbertson <culberts@hplwbc.hpl.hp.com> +To: pc532@daver.bungi.com +Subject: Re: ROM Debugger -- download command.. + +John L. Connin <johnc%manatee%uunet@daver> writes: +> Dave, what data format / protocol does the ROM debugger 'download' command +> expect ?? + +Here is the download program which I run at the other end of the +serial line -- in my case, on an AT clone. The download protocol +is explained in the comments in the program. I just recently added +the download command to the monitor so let me know if you have +problems with it or if you wish it worked differently. + +Bruce Culbertson +---------------------------------------------------------------------- +*/ +/* MS-DOS Program for downloading to the NSC32000 Monitor. Use this as a + * template for writing downloaders for other OS's. Compile the MS-DOS + * version with the Microsoft C compiler. + * + * Bruce Culbertson 18 February 1990 + */ + +/* Instructions for use: + * + * machine prompt, command, etc. + * ------------------------------------------------------------------- + * 32000 Command (? for help): download <address> + * MS-DOS [exit terminal emulator] + * MS-DOS C> <this program> <file name to download> + * MS-DOS [re-enter terminal emulator] + * 32000 [hit return to get status of download] + * 32000 Command (? for help): ... + * + * At any point you can send control-C (e.g. using your terminal emulator) + * to the 32000 monitor to abort the download and return to the monitor + * prompt. + */ + +/* Download protocol: + * + * <start mark> <length> <data> <CRC> + * + * Below, the sending machine is called SRC, receiving machine is DST. + * Eight bit characters are used. + * + * Control-C (0x03) aborts the transfer. This capability is nice + * to have if, for example, length is garbled and the DST expects + * billions of characters. Since any byte of <length>, <data>, + * or <CRC> could be control-C, we need to have a quote character. + * I use ESC (0x1b). Thus, control-C and ESC are sent as + * {0x1b 0x03} and {0x1b 0x1b}, respectively. + * + * Start mark: + * This is a colon. When SRC begins sending, DST loops until it sees + * the start mark. Thus, if spurious characters are sent as the + * user switches from terminal emulator to download program on SRC, + * DST can ignore them. + * + * Length: + * Four bytes, least significant first. The length is number of + * data bytes to be transfered, not including quote characters. + * The two CRC bytes are also not included in the length. + * + * Data: + * A byte is sent as a byte, with quoting if necessary. + * + * CRC: + * Two bytes, least significant first. Use CCITT CRC generator + * polynomial (x^16 + x^12 + x^5 + 1). Compute on data only (not + * length or start) and exclude quotes. (This is the same CRC + * as computed by Minix's CRC command.) + */ + +#include <stdio.h> +#include <fcntl.h> + +#ifdef MSDOS + +# define OPEN_FLAGS (O_RDONLY | O_BINARY) +# define off_t long +# define DEFAULT_PORT 1 +long lseek(); +int port_num = DEFAULT_PORT; +int port; + +#else + +# include <unistd.h> +# define OPEN_FLAGS O_RDONLY + +#endif + +#define CCITT_GEN 0x11021 /* x^16 + x^12 + x^5 + 1 */ +#define BUFSZ 0x1000 +#define ESC 0x1b +#define CTL_C 0x03 +#define START ':' + +char buf[BUFSZ]; +long write_data(), write_header(); + +void putch (); + +void +usage(name) + char *name; +{ + fprintf (stderr, "usage: %s [-r] <file>\n", name); + exit (-1); +} + +/* Output a character. If it is a CLT_C or ESC, then quote (preceed) + * it with a ESC. + */ +void +write_ch (c) +int c; +{ + if (c == ESC || c == CTL_C) + putch (ESC); + putch (c); +} + +/* Write two CRC bytes, LSB first. + */ +void +write_crc (crc) +long crc; +{ + write_ch ((int)((crc >> 0) & 0xff)); + write_ch ((int)((crc >> 8) & 0xff)); +} + + +/* Given old CRC and new character, return new CRC. Uses standard + * CCITT CRC generator polynomial. + */ +unsigned long +update_crc (crc, ch) +long crc; +int ch; +{ + int i; + + for (i = 0x80; i; i >>= 1) { + crc = (crc << 1) | (i & ch? 1: 0); + if (crc & 0x10000) crc ^= CCITT_GEN; + } + return crc; +} + +/* Write header. Format is a colon followed by four byte length, + * LSB first. Length is the number of data bytes after quotes are + * removed. + */ +long +write_header (fd) +int fd; +{ + long len; + + if (0 == (len = lseek (fd, (off_t)0, 2))) { + fprintf (stderr, "file length is zero\n"); + exit (-1); + } + lseek (fd, (off_t)0, 0); + write_ch (START); + write_ch ((int)((len >> 0) & 0xff)); + write_ch ((int)((len >> 8) & 0xff)); + write_ch ((int)((len >> 16) & 0xff)); + write_ch ((int)((len >> 24) & 0xff)); + return len; +} + +/* Write data. + */ +long +write_data (fd) +int fd; +{ + long len, crc = 0; + char *p; + + for (;;) { + len = read (fd, buf, BUFSZ); + if (-1 == len) { + fprintf (stderr, "read failed\n"); + exit (-1); + } + if (len == 0) break; + for (p = buf; p < buf + len; ++p) { + write_ch (*p); + crc = update_crc (crc, *p); + } + } + return crc; +} + + +#ifdef MSDOS +/* Write hardware directly since BIOS and DOS are not reliable. + */ +#define COM_WR 0 +#define COM_RD 0 +#define COM_IER 1 +#define COM_CTL 3 +#define COM_STAT 5 +#define COM_CTL_VAL 3 /* 8 bits, 1 stop, no parity */ +#define COM_IER_VAL 0 /* interrupts off */ +#define COM_TX_RDY 0x20 + +int old_control, old_ier; + +/* Output a character to the serial port. + */ +void +putch (c) +int c; +{ + int stat; + + for (;;) { + stat = inp (port + COM_STAT); + if (stat & COM_TX_RDY) break; + } + outp (port + COM_WR, c); +} + +/* Initialize serial port and save old values. Assume baud rate + * already set. + */ +init_port() +{ + old_control = inp (port + COM_IER); + old_ier = inp (port + COM_CTL); + outp (port + COM_CTL, COM_CTL_VAL); + outp (port + COM_IER, COM_IER_VAL); +} + +/* Restore serial port to old configuration. + */ +restore_port() +{ + outp (port + COM_CTL, old_control); + outp (port + COM_IER, old_ier); +} + +#else + +/* dummy routines for Unix! */ +void +putch (int c) +{ + putchar (c); +} + +#include <termios.h> + +struct termios oldstate; +struct termios newstate; +int atty; + +/* The following function is covered by: */ + +/*- + * Copyright (c) 1989, 1993 + * The Regents of the University of California. 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 the University of + * California, Berkeley and its contributors. + * 4. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS 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 REGENTS 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. + */ + +/* + * Make a pre-existing termios structure into "raw" mode: character-at-a-time + * mode with no characters interpreted, 8-bit data path. + */ +void +makeraw(t) + struct termios *t; +{ + t->c_iflag &= ~(IGNBRK|BRKINT|PARMRK|ISTRIP|INLCR|IGNCR|ICRNL|IXON); + t->c_oflag &= ~OPOST; + t->c_lflag &= ~(ECHO|ECHONL|ICANON|ISIG|IEXTEN); + t->c_cflag &= ~(CSIZE|PARENB); + t->c_cflag |= CS8; +} + +/* End of copyrighted material. */ + +void +init_port(int fd) +{ + atty = isatty(fd); + if (atty) { + tcgetattr (fd, &oldstate); + newstate = oldstate; + makeraw(&newstate); + tcsetattr (fd, TCSANOW, &newstate); + } +} + +void +restore_port(int fd) +{ + if (atty) { + tcsetattr (fd, TCSANOW, &oldstate); + } +} + +int +get_int (val, len) +unsigned long *val; +long len; +{ + unsigned char c; + int shift = 0; + + *val = 0; + + while (len > 0) { + c = getchar (); + if (c == CTL_C) return 0; /* handle control-C */ + if (c == ESC) c = getchar (); /* handle quote */ + *val = *val + (c<<(8*shift++)); + --len; + } + return 1; +} + +int +get_file (f, len, crc) +FILE *f; +unsigned long len, *crc; +{ + unsigned char c; + + while (len > 0) { + c = getchar (); + if (c == CTL_C) return 0; /* handle control-C */ + if (c == ESC) c = getchar (); /* handle quote */ + fputc(c,f); + *crc = update_crc (*crc, c); /* compute crc, skip quote */ + --len; + } + return 1; +} + +/* Upload end of the commands for Unix! */ + +void +upload (name) +char *name; +{ + unsigned long crc, adr, len; + unsigned char c; + unsigned long xcrc; + FILE *f; + + /* Open the file. */ + f = fopen (name, "w"); + if (f == NULL) { + printf ("Could not open \"%s\" for writing.\n", name); + exit(1); + } + + /* set raw mode for input. */ + init_port(0); + + /* get start character */ + for (;;) { + c = getchar(); + if (c == START) break; + if (c == CTL_C) return; + } + + /* get len in little endian form */ + if (!get_int (&len, 4)) { + fprintf (stderr, "Upload interrupted.\n"); + restore_port(0); + exit(2); + } + crc = 0; /* crc on data only */ + if (!get_file (f, len, &crc)) { /* get data */ + fprintf (stderr, "Upload interrupted.\n"); + restore_port(0); + exit(3); + } + /* get crc in little endian */ + if (!get_int (&xcrc, 2)) { + fprintf (stderr, "Upload interrupted.\n"); + restore_port(0); + exit(4); + } + if (crc == xcrc) /* print status */ + printf ("CRC ok, length = %d\n", len); + else + printf ("CRC error, received %d, expected %d, length %d\n", + xcrc, crc, len); + + fclose (f); + + /* Restore tty parameters. */ + restore_port(0); +} + +#endif + + +/* Main program */ +int +main (argc, argv) + int argc; + char **argv; +{ + int fd; + long crc, len; + +#ifdef MSDOS + /* MSDOS argument processing */ + if (argc == 3) { + if (1 != sscanf (argv[2], "%d", &port_num)) { + fprintf (stderr, "Bad serial port, use 1 or 2\n"); + exit (-1); + } + --argc; + } + if (argc != 2) { + fprintf (stderr, "usage: %s <file> [<serial port>]\n", argv[0]); + exit (-1); + } + if (port_num == 1) port = 0x3f8; + else if (port_num == 2) port = 0x2f8; + else { + fprintf (stderr, "Bad serial port, use 1 or 2\n"); + exit (-1); + } + +#else + + int do_receive = 0; + int ch; + extern int optind; + + /* Unix argument processing */ + while ((ch = getopt(argc, argv, "r")) != -1) { + switch (ch) { + + case 'r': /* Receive end of a download, use "upload()". */ + do_receive = 1; + break; + + case '?': + default: + usage(argv[0]); + return (1); + } + } + + if (argc-1 != optind) + usage(argv[0]); + + if (do_receive) { + upload (argv[2]); + exit (0); + } + +#endif + + if (0 > (fd = open (argv[1], OPEN_FLAGS))) { + fprintf (stderr, "can not open \"%s\" for reading\n", argv[1]); + exit (-1); + } + + init_port(1); + len = write_header (fd); + crc = write_data (fd); + write_crc (crc); + printf ("Length=%ld CRC=%ld\n", len, crc); + restore_port(1); + exit (0); +} diff --git a/distrib/pc532/floppies/inst-common/go.c b/distrib/pc532/floppies/inst-common/go.c new file mode 100644 index 00000000000..ecee0b7233b --- /dev/null +++ b/distrib/pc532/floppies/inst-common/go.c @@ -0,0 +1,50 @@ +/* + * Copyright (c) 1995 Matthias Pfaller. + * 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 Matthias Pfaller. + * 4. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 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. + * + * $Id: go.c,v 1.1 1995/10/18 08:37:42 deraadt Exp $ + */ + +#include <sys/reboot.h> +register r6 asm("r6"); + +/* + * In order to install netbsd on 4mb machines, netbsd must survive an overflow + * of the real kernel into the netbsd image. So the compressed kernel image + * has to be linked in front of the uncompressing code. This code fragment + * sets the default root disk to rd0 and then jumps behind the compressed + * kernel image. + */ + +go() +{ + extern begin() asm("begin"); + /* One more place that knows that rd is at major 3 ... */ + r6 = MAKEBOOTDEV(3, 0, 0, 0, 0); + begin(); +} diff --git a/distrib/pc532/floppies/inst-common/inject.c b/distrib/pc532/floppies/inst-common/inject.c new file mode 100644 index 00000000000..d5dd4bcc0f0 --- /dev/null +++ b/distrib/pc532/floppies/inst-common/inject.c @@ -0,0 +1,124 @@ +/* + * Copyright (c) 1995 Matthias Pfaller. + * 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 Matthias Pfaller. + * 4. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 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. + * + * $Id: inject.c,v 1.1 1995/10/18 08:37:42 deraadt Exp $ + */ + +#include <stdio.h> +#include <unistd.h> +#include <fcntl.h> +#include <sys/types.h> +#include <sys/stat.h> +#include <sys/mman.h> +#include <bm.h> + +/* + * Map a file + */ + +void *map(char *file, int mode, int *len) +{ + int fd; + struct stat sb; + void *p; + + /* Open the file we'd like map */ + fd = open(file, mode); + if (fd < 0) { + perror(file); + exit(1); + } + + /* Get the length of the file */ + if (fstat(fd, &sb) < 0) { + perror("fstat"); + exit(1); + } + + /* Return the length of file in len */ + *len = sb.st_size; + + /* Now map the file */ + p = mmap(NULL, *len, PROT_READ | (mode == O_RDWR ? PROT_WRITE : 0), + MAP_SHARED, fd, 0); + if (p == NULL) { + perror("mmap"); + exit(1); + } + + /* + * We will access this mostly sequential. + * So let's tell it to the vm system. + */ + madvise(p, *len, MADV_SEQUENTIAL); + close(fd); + return(p); +} + +main(int argc, char **argv) +{ + void *kern, *filesys, *ramdisk; + int kernlen, filesyslen; + bm_pat *bm; + static char pattern[] = "Ramdiskorigin"; + + if (argc != 3) { + fprintf(stderr, "usage: %s kernel filesystem", argv[0]); + exit(1); + } + + /* Map the kernel image read/write */ + kern = map(argv[1], O_RDWR, &kernlen); + + /* Map the filesystem image read only */ + filesys = map(argv[2], O_RDONLY, &filesyslen); + + /* Search the kernel image for the ramdisk signature */ + bm = bm_comp(pattern, sizeof(pattern), NULL); + ramdisk = bm_exec(bm, kern, kernlen); + if (!ramdisk) { + fprintf(stderr, "Origin of ramdisk not found in kernel\n"); + exit(1); + } + + /* Does the filesystem image fit into the kernel image? */ + if ((kernlen - (ramdisk - kern)) < filesyslen) { + fprintf(stderr, "Kernel image to small\n"); + exit(1); + } + + /* Copy the filesystem image into the kernel image */ + memcpy(ramdisk, filesys, filesyslen); + + /* Sync vm/fs and unmap the images */ + msync(kern, kernlen); + munmap(kern, kernlen); + munmap(filesys, filesyslen); + exit(0); +} diff --git a/distrib/pc532/floppies/inst-common/instbin.conf b/distrib/pc532/floppies/inst-common/instbin.conf new file mode 100644 index 00000000000..43bb6b399c6 --- /dev/null +++ b/distrib/pc532/floppies/inst-common/instbin.conf @@ -0,0 +1,38 @@ +# +# kcbin.conf - unified binary for the kc floppy +# $Id: instbin.conf,v 1.1 1995/10/18 08:37:42 deraadt Exp $ +# + +srcdirs bin sbin usr.bin usr.sbin gnu/usr.bin games + +progs basename bc bim cat chat chmod chown chroot cp +progs date dd df dirname disklabel dmesg domainname dump +progs expr factor find fsck ftp gawk gzip hostname hexdump ifconfig init +progs kill kvm_mkdb ln ls mkdir mknod more +progs mount mount_cd9660 mount_ffs mount_msdos mount_nfs mt mv netstat newfs +progs pax ping pppd pppstats ps pwd rcp reboot restore rm rmdir route +progs sed sh shutdown slattach strings stty swapon sync test tip traceroute +progs umount update vi + +special chat srcdir /usr/src/usr.sbin/pppd/chat +special pppstats srcdir /usr/src/usr.sbin/pppd/pppstats +special vi srcdir /usr/src/usr.bin/vi/common + +ln chown chgrp +ln dump rdump +ln gawk awk +ln gzip gzcat gunzip +ln sh -sh # init invokes the shell this way +ln test [ +ln mount_cd9660 cd9660 +ln mount_ffs ffs +ln mount_msdos msdos +ln mount_nfs nfs +ln pax tar +ln pax cpio +ln restore rrestore +ln vi ex +ln vi view +ln reboot halt + +libs -lkvm -ledit -lcurses -lutil -ltermcap -lcrypt -ll -lm diff --git a/distrib/pc532/floppies/inst-common/list b/distrib/pc532/floppies/inst-common/list new file mode 100644 index 00000000000..d63c66bc7fb --- /dev/null +++ b/distrib/pc532/floppies/inst-common/list @@ -0,0 +1,109 @@ +# $Id: list,v 1.1 1995/10/18 08:37:42 deraadt Exp $ + +# copy the MAKEDEV script and make some devices +COPY ${DESTDIR}/dev/MAKEDEV dev/MAKEDEV +SPECIAL cd dev; sh MAKEDEV floppy +SPECIAL /bin/rm dev/MAKEDEV + +# we need the contents of /usr/mdec (XXX) +COPY ${DESTDIR}/usr/mdec/* usr/mdec + +# various files that we need in /etc for the install +COPY ${TOPDIR}/../../../etc/group etc +COPY ${TOPDIR}/../../../etc/master.passwd etc +COPY ${TOPDIR}/../../../etc/protocols etc +COPY ${TOPDIR}/../../../etc/services etc +SPECIAL >etc/ppp/options +COPY ${OBJDIR}/pwd_mkdb pwd_mkdb +SPECIAL /usr/sbin/chroot . ./pwd_mkdb -p /etc/master.passwd +SPECIAL /bin/rm pwd_mkdb + +# copy the crunched binary, link to it +COPY ${OBJDIR}/netbsd.gz netbsd.gz +COPY ${OBJDIR}/instbin instbin +LINK instbin bin/cat +LINK instbin bin/chmod +LINK instbin bin/cp +LINK instbin bin/date +LINK instbin bin/dd +LINK instbin bin/df +LINK instbin bin/domainname +LINK instbin bin/expr +LINK instbin bin/hostname +LINK instbin bin/kill +LINK instbin bin/ln +LINK instbin bin/ls +LINK instbin bin/mkdir +LINK instbin bin/mt +LINK instbin bin/mv +LINK instbin bin/pax +LINK instbin bin/ps +LINK instbin bin/pwd +LINK instbin bin/rcp +LINK instbin bin/rm +LINK instbin bin/rmdir +LINK instbin bin/sh +LINK instbin bin/stty +LINK instbin bin/sync +LINK instbin bin/test +LINK instbin bin/[ +LINK instbin sbin/bim +LINK instbin sbin/disklabel +LINK instbin sbin/dmesg +LINK instbin sbin/dump +LINK instbin sbin/fsck +LINK instbin sbin/halt +LINK instbin sbin/ifconfig +LINK instbin sbin/init +LINK instbin sbin/mknod +LINK instbin sbin/mount +LINK instbin sbin/mount_cd9660 +LINK instbin sbin/mount_ffs +LINK instbin sbin/mount_msdos +LINK instbin sbin/mount_nfs +LINK instbin sbin/newfs +LINK instbin sbin/ping +LINK instbin sbin/rdump +LINK instbin sbin/reboot +LINK instbin sbin/restore +LINK instbin sbin/route +LINK instbin sbin/rrestore +LINK instbin sbin/shutdown +LINK instbin sbin/slattach +LINK instbin sbin/swapon +LINK instbin sbin/umount +SYMLINK /instbin usr/bin/awk +SYMLINK /instbin usr/bin/basename +SYMLINK /instbin usr/bin/chgrp +SYMLINK /instbin usr/bin/cpio +SYMLINK /instbin usr/bin/dirname +SYMLINK /instbin usr/bin/hexdump +SYMLINK /instbin usr/bin/ex +SYMLINK /instbin usr/bin/find +SYMLINK /instbin usr/bin/ftp +SYMLINK /instbin usr/bin/gunzip +SYMLINK /instbin usr/bin/gzcat +SYMLINK /instbin usr/bin/gzip +SYMLINK /instbin usr/bin/more +SYMLINK /instbin usr/bin/netstat +SYMLINK /instbin usr/bin/sed +SYMLINK /instbin usr/bin/strings +SYMLINK /instbin usr/bin/tar +SYMLINK /instbin usr/bin/tip +SYMLINK /instbin usr/bin/vi +SYMLINK /instbin usr/bin/view +SYMLINK /instbin usr/games/factor +SYMLINK /instbin usr/sbin/chat +SYMLINK /instbin usr/sbin/chown +SYMLINK /instbin usr/sbin/chroot +SYMLINK /instbin usr/sbin/kvm_mkdb +SYMLINK /instbin usr/sbin/pppd +SYMLINK /instbin usr/sbin/pppstats +SYMLINK /instbin usr/sbin/traceroute +SYMLINK /instbin usr/sbin/update + +#SPECIAL /bin/rm instbin + +# and the common installation tools +COPY ${TOPDIR}/inst-common/dot.commonutils .commonutils +COPY ${TOPDIR}/inst-common/termcap.vt100 usr/share/misc/termcap diff --git a/distrib/pc532/floppies/inst-common/memory_map b/distrib/pc532/floppies/inst-common/memory_map new file mode 100644 index 00000000000..2017799dfd7 --- /dev/null +++ b/distrib/pc532/floppies/inst-common/memory_map @@ -0,0 +1,5 @@ +0x400000 Top of physical RAM for 4mb machine +0x3EB800 Start of boot code +0x288000 Start of ramdisk when booting from rd0 +0x240000 Start of netbsd image (may overflow into rd0 image) +0x002000 Start of kernel (may overflow into netbsd image) diff --git a/distrib/pc532/floppies/inst-common/mtree.conf b/distrib/pc532/floppies/inst-common/mtree.conf new file mode 100644 index 00000000000..e8a96b45693 --- /dev/null +++ b/distrib/pc532/floppies/inst-common/mtree.conf @@ -0,0 +1,111 @@ +# $Id: mtree.conf,v 1.1 1995/10/18 08:37:42 deraadt Exp $ + +/set type=dir uname=root gname=wheel mode=0755 +# . +. + +# ./bin +bin +# ./bin +.. + +# ./dev +dev +# ./dev +.. + +# ./etc +etc + +# ./etc/ppp +ppp +# ./etc/ppp +.. + +# ./etc +.. + +# ./mnt +mnt +# ./mnt +.. + +# ./mnt2 +mnt2 +# ./mnt2 +.. + +# ./sbin +sbin +# ./sbin +.. + +# ./tmp +tmp +# ./tmp +.. + +# ./var +var + +# ,/var/run +run +# ./var/run +.. + +# ,/var/db +db +# ./var/db +.. + +# ./var/tmp +tmp + +# ./var/tmp/vi.recover +vi.recover +# ./var/tmp/vi.recover +.. + +# ./var/tmp +.. + +# ./var +.. + +# ./usr +usr + +# ./usr/bin +bin +# ./usr/bin +.. + +# ./usr/games +games +# ./usr/games +.. + + +# ./usr/mdec +mdec +# ./usr/mdec +.. + +# ./usr/sbin +sbin +# ./usr/sbin +.. + +# ./usr/share +share + +# ./usr/share/misc +misc +# ./usr/share/misc +.. + +# ./usr/share +.. + +# ./usr +.. diff --git a/distrib/pc532/floppies/inst-common/termcap.vt100 b/distrib/pc532/floppies/inst-common/termcap.vt100 new file mode 100644 index 00000000000..4710fb55d15 --- /dev/null +++ b/distrib/pc532/floppies/inst-common/termcap.vt100 @@ -0,0 +1,16 @@ +vt_keys:\ + :Pu=\E[A!\EOA:Pd=\E[B!\EOB:Pr=\E[C!\EOC:Pl=\E[D!\EOD:\ + :P0=\EOp!\E[3~:P1=\EOq!\E[12~:P2=\EOr!\E[20~:P3=\EOs!\E[13~:\ + :P4=\EOt!\E[11~:P5=\EOu!\E[21~:P6=\EOv!\E[14~:P7=\EOw!\E[15~:\ + :P8=\EOx!\E[5~:P9=\EOy!\E[24~:PE=\EOM:PD=\EOn!\E[2~:\ + :PL=\EOP!\E[4~!\E[H:PR=\EOQ!\E[6~:PS=\EOR!\E[23~:\ + :PX=\EOS!\E[18~!\E[1~:PM=\EOm!\E[19~:PP=\EOl!\E[17~: + +vt100|xterm:\ + :AL=\E[%dL:DL=\E[%dM:al=\E[L:bs:cd=\E[J:ce=\E[K:cl=\E[H\E[J:\ + :cm=\E[%i%d;%dH:co#80:cs=\E[%i%r%d;%dr:dc=\E[P:dl=\E[M:do=^J:\ + :ei=:ic=\E[@:im=:k0=\EOY:k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:\ + :k5=\EOT:k6=\EOU:k7=\EOV:k8=\EOW:k9=\EOX:kb=^H:kd=\EOB:\ + :ke=\E[?1l\E>:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:li#24:\ + :nd=\E[C:pt:rs=\E[?5l:se=\E[m:so=\E[7m:sr=\EM:te=\E>:ti=\E=:\ + :up=\E[A:xn:tc=vt_keys: diff --git a/distrib/pc532/floppies/inst/Makefile b/distrib/pc532/floppies/inst/Makefile new file mode 100644 index 00000000000..b72b0db71df --- /dev/null +++ b/distrib/pc532/floppies/inst/Makefile @@ -0,0 +1,8 @@ +# $Id: Makefile,v 1.1 1995/10/18 08:37:43 deraadt Exp $ + +TOP= ${.CURDIR}/.. + +.include "${TOP}/Makefile.inc" +IMAGE= inst-${REV}.fs + +.include "${TOP}/inst-common/Makefile.inc" diff --git a/distrib/pc532/floppies/inst/disktab.preinstall b/distrib/pc532/floppies/inst/disktab.preinstall new file mode 100644 index 00000000000..5fe26a7d81c --- /dev/null +++ b/distrib/pc532/floppies/inst/disktab.preinstall @@ -0,0 +1,29 @@ +# Disk geometry and partition layout tables. +# Key: +# dt controller type +# ty type of disk (fixed, removeable, simulated) +# d[0-4] drive-type-dependent parameters +# ns #sectors/track +# nt #tracks/cylinder +# nc #cylinders/disk +# sc #sectors/cylinder, nc*nt default +# su #sectors/unit, sc*nc default +# se sector size, DEV_BSIZE default +# rm rpm, 3600 default +# sf supports bad144-style bad sector forwarding +# sk sector skew per track, default 0 +# cs sector skew per cylinder, default 0 +# hs headswitch time, default 0 +# ts one-cylinder seek time, default 0 +# il sector interleave (n:1), 1 default +# bs boot block size, default BBSIZE +# sb superblock size, default SBSIZE +# o[a-h] partition offsets in sectors +# p[a-h] partition sizes in sectors +# b[a-h] partition block sizes in bytes +# f[a-h] partition fragment sizes in bytes +# t[a-h] partition types (filesystem, swap, etc) +# +# All partition sizes reserve space for bad sector tables. +# (5 cylinders needed for maintenance + replacement sectors) +# diff --git a/distrib/pc532/floppies/inst/dot.hdprofile b/distrib/pc532/floppies/inst/dot.hdprofile new file mode 100644 index 00000000000..82e5f5ef570 --- /dev/null +++ b/distrib/pc532/floppies/inst/dot.hdprofile @@ -0,0 +1,62 @@ +# +# Copyright (c) 1994 Christopher G. Demetriou +# 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 Christopher G. Demetriou. +# 4. The name of the author may not be used to endorse or promote products +# derived from this software without specific prior written permission +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 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. +# +# $Id: dot.hdprofile,v 1.1 1995/10/18 08:37:43 deraadt Exp $ + +PATH=/sbin:/bin:/usr/bin:/usr/sbin:/usr/games:/ +export PATH +TERM=vt100 +export TERM + +umask 022 + +if [ "X${DONEPROFILE}" = "X" ]; then + DONEPROFILE=YES + + echo "Checking filesystems..." + fsck -y + + echo "Mounting filesystems..." + mount -a + + # set up some sane defaults + echo 'erase ^?, werase ^W, kill ^U, intr ^C' + stty newcrt werase ^W intr ^C kill ^U erase ^? + echo '' + + # run update, so that installed software is written as it goes. + update + + # pull in the functions that people will use from the shell prompt. + . /.commonutils + . /.instutils + + echo "Follow the installation directions to install the NetBSD" + echo "distribution sets." +fi diff --git a/distrib/pc532/floppies/inst/dot.instutils b/distrib/pc532/floppies/inst/dot.instutils new file mode 100644 index 00000000000..7fbc8927ac5 --- /dev/null +++ b/distrib/pc532/floppies/inst/dot.instutils @@ -0,0 +1,157 @@ +# +# Copyright (c) 1994 Christopher G. Demetriou +# 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 Christopher G. Demetriou. +# 4. The name of the author may not be used to endorse or promote products +# derived from this software without specific prior written permission +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 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. +# +# $Id: dot.instutils,v 1.1 1995/10/18 08:37:43 deraadt Exp $ + +# Installation configuration utilites (functions), to get NetBSD configured +# reasonably once it is installed on the hard disk. These are meant to be +# invoked from the shell prompt, by people installing NetBSD. + +Configure() +{ + DEV=/dev + ETC=/etc + if [ ! -f /etc/fstab ]; then + DEV=/mnt/dev + ETC=/mnt/etc + fi + + echo "You will now be prompted for information about this" + echo "machine. If you hit return, the default answer (in" + echo "brackets) will be used." + + echo "" + echo -n "What is this machine's hostname? [unknown.host.domain] " + read hname + if [ "$hname" = "" ]; then + hname=unknown.host.domain + fi + echo $hname > ${ETC}/myname + proto_domain=`echo $hname | sed -e 's/[^.]*\.//'` + + echo "" + echo "What domain is this machine in (this is NOT its YP" + echo -n "domain name)? [$proto_domain] " + read dname + if [ "$dname" = "" ]; then + dname=$proto_domain + fi + + echo "" + if [ -e $ETC/sendmail.cf ]; then + echo "WARNING: A default sendmail.cf exists, and probably" + echo "needs to be tuned and/or replaced, to work properly at" + echo "your site!" + else + echo "WARNING: No default sendmail.cf installed. Did you" + echo "forget to install the 'etc' distribution?" + fi + + echo "127.0.0.1 localhost localhost.$dname" > ${ETC}/hosts + + echo "" + echo -n "Does this machine have an ethernet interface? [y] " + read resp + case "$resp" in + n*) + ;; + *) + intf= + while [ "$intf" = "" ]; do + echo -n "What is the primary interface name " + echo -n "(e.g. ed0, ep0, etc)? " + read intf + done + echo -n "What is the hostname for this interface? [$hname] " + read ifname + if [ "$ifname" = "" ]; then + ifname=$hname + fi + ifaddr= + while [ "$ifaddr" = "" ]; do + echo -n "What is the IP address associated with " + echo -n "interface ${intf}? " + read ifaddr + done + echo "$ifaddr $ifname `echo $ifname | sed -e s/\.$dname//`" \ + >> ${ETC}/hosts + + echo -n "Does this interface have a special netmask? [n] " + read resp + case "$resp" in + y*) + echo -n "What is the netmask? [0xffffff00] " + read ifnetmask + if [ "$ifnetmask" = "" ]; then + ifnetmask=0xffffff00 + fi + ;; + *) + ifnetmask= + ;; + esac + + echo -n "Does this interface need additional flags? [n] " + read resp + case "$resp" in + y*) + echo -n "What flags? [link0] " + read ifflags + if [ "$ifflags" = "" ]; then + ifflags=link0 + fi + ;; + *) + ifflags= + ;; + esac + echo "inet $ifname $ifnetmask $ifflags" > ${ETC}/hostname.$intf + + echo "" + echo -n "WARNING: if you have any more ethernet interfaces, " + echo "you will have to configure" + echo -n "them by hand. Read the comments in /etc/netstart to " + echo "learn how to do this." + ;; + esac + + echo "" + echo -n "Making device nodes (may take a while)..." + cd ${DEV} + sh MAKEDEV all + echo " done." + + sync + + echo "" + echo "If you haven't already installed a kernel on the hard drive" + echo "using your kernel-copy floppy, do so now. Kernel" + echo "installation instructions can be found in the" + echo "installation notes." +} diff --git a/distrib/pc532/floppies/inst/dot.profile b/distrib/pc532/floppies/inst/dot.profile new file mode 100644 index 00000000000..2f597b89b8f --- /dev/null +++ b/distrib/pc532/floppies/inst/dot.profile @@ -0,0 +1,56 @@ +# +# Copyright (c) 1994 Christopher G. Demetriou +# 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 Christopher G. Demetriou. +# 4. The name of the author may not be used to endorse or promote products +# derived from this software without specific prior written permission +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 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. +# +# $Id: dot.profile,v 1.1 1995/10/18 08:37:43 deraadt Exp $ + +PATH=/sbin:/bin:/usr/bin:/usr/sbin:/usr/games:/ +export PATH +TERM=vt100 +export TERM + +umask 022 + +if [ "X${DONEPROFILE}" = "X" ]; then + DONEPROFILE=YES + + # set up some sane defaults + echo 'erase ^?, werase ^W, kill ^U, intr ^C' + stty werase ^W intr ^C kill ^U erase ^? + echo '' + + # run update, so that installed software is written as it goes. + update + + # pull in the functions that people will use from the shell prompt. + . /.commonutils + . /.instutils + + # run the installation script. + install +fi diff --git a/distrib/pc532/floppies/inst/install.sh b/distrib/pc532/floppies/inst/install.sh new file mode 100644 index 00000000000..9cf4a58f1a3 --- /dev/null +++ b/distrib/pc532/floppies/inst/install.sh @@ -0,0 +1,476 @@ +#!/bin/sh +# +# Copyright (c) 1994 Christopher G. Demetriou +# 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. +# 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 Christopher G. Demetriou. +# 4. The name of the author may not be used to endorse or promote products +# derived from this software without specific prior written permission +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 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. +# +# $Id: install.sh,v 1.1 1995/10/18 08:37:43 deraadt Exp $ + +# NetBSD installation script. +# In a perfect world, this would be a nice C program, with a reasonable +# user interface. + +DT=/etc/disktab # /etc/disktab +FSTABDIR=/mnt/etc # /mnt/etc +#DONTDOIT=echo + +VERSION=1.0 +FSTAB=${FSTABDIR}/fstab + +getresp() { + read resp + if [ "X$resp" = "X" ]; then + resp=$1 + fi +} + +echo "Welcome to the NetBSD ${VERSION} installation program." +echo "" +echo "This program is designed to help you put NetBSD on your hard disk," +echo "in a simple and rational way. You'll be asked several questions," +echo "and it would probably be useful to have your disk's hardware" +echo "manual, the installation notes, and a calculator handy." +echo "" +echo "In particular, you will need to know some reasonably detailed" +echo "information about your disk's geometry, because there is currently" +echo "no way this this program can figure that information out." +echo "" +echo "As with anything which modifies your hard drive's contents, this" +echo "program can cause SIGNIFICANT data loss, and you are advised" +echo "to make sure your hard drive is backed up before beginning the" +echo "installation process." +echo "" +echo "Default answers are displyed in brackets after the questions." +echo "You can hit Control-C at any time to quit, but if you do so at a" +echo "prompt, you may have to hit return. Also, quitting in the middle of" +echo "installation may leave your system in an inconsistent state." +echo "" +echo -n "Proceed with installation? [n] " +getresp "n" +case "$resp" in + y*|Y*) + echo "Cool! Let's get to it..." + ;; + *) + echo "" + echo "OK, then. Enter 'halt' at the prompt to halt the" + echo "machine. Once the machine has halted, remove the" + echo "floppy and press any key to reboot." + exit + ;; +esac + +echo "" +echo "To do the installation, you'll need to provide some information about" +echo "your disk." +echo "" +drivetype=sd +sect_fwd="" +type=SCSI + +# find out what units are possible for that disk, and query the user. +driveunits=`ls /dev/${drivetype}?a | sed -e 's,/dev/\(...\)a,\1,g'` +if [ "X${driveunits}" = "X" ]; then + echo "FATAL ERROR:" + echo "No devices for disks of type '${drivetype}'." + echo "This is probably a bug in the install disks." + echo "Exiting install program." + exit +fi +prefdrive=${drivetype}0 + +echo "" +echo "The following ${drivetype}-type disks are supported by this" +echo "installation procedure:" +echo " "${driveunits} +echo "Note that they may not exist in _your_ machine; the list of" +echo "disks in your machine was printed when the system was booting." +echo "" +while [ "X${drivename}" = "X" ]; do + echo -n "Which disk would like to install on? [${prefdrive}] " + getresp ${prefdrive} + otherdrives=`echo "${driveunits}" | sed -e s,${resp},,` + if [ "X${driveunits}" = "X${otherdrives}" ]; then + echo "" + echo "\"${resp}\" is an invalid drive name. Valid choices" + echo "are: "${driveunits} + echo "" + else + drivename=${resp} + fi +done + +echo "" +echo "Using disk ${drivename}." +echo "" +echo -n "What kind of disk is it? (one word please) [my${drivetype}] " +getresp "my${drivetype}" +labelname=$resp + +echo "" +echo "You will now need to provide some information about your disk's" +echo "geometry. This should either be in the User's Manual for your disk," +echo "or you should have written down what NetBSD printed when booting." +echo "(Note that he geometry that's printed at boot time is preferred.)" +echo "" +echo -n "Number of bytes per disk sector? [512] " +getresp 512 +bytes_per_sect="$resp" + +echo -n "Number of disk cylinders? " +getresp +cyls_per_disk="$resp" + +echo -n "Number of disk tracks (heads) per disk cylinder? " +getresp +tracks_per_cyl="$resp" + +echo -n "Number of disk sectors per disk track? " +getresp +sects_per_track="$resp" + +cylindersize=`expr $sects_per_track \* $tracks_per_cyl` +cylbytes=`expr $cylindersize \* $bytes_per_sect` +disksize=`expr $cylindersize \* $cyls_per_disk` + +echo "" +echo "Your disk has a total of $disksize $bytes_per_sect byte sectors," +echo "arranged as $cyls_per_disk cylinders which contain $cylindersize " +echo "sectors ($cylbytes bytes) each." +echo "" +echo "You can specify partition sizes in cylinders ('c') or sectors ('s')." +while [ "X${sizemult}" = "X" ]; do + echo -n "What units would you like to use? [cylinders] " + getresp cylinders + case "$resp" in + c*|C*) + sizemult=$cylindersize + sizeunit="cylinders" + ;; + s*|S*) + sizemult=1 + sizeunit="sectors" + ;; + *) + echo "" + echo "Enter cylinders ('c') or sectors ('s')." + ;; + esac +done + +if [ $sizeunit = "sectors" ]; then + echo "" + echo "For best disk performance, partitions should begin and end on" + echo "cylinder boundaries. Wherever possible, pick sizes that are" + echo "multiples of the cylinder size ($cylindersize sectors)." +fi + +partition=`expr $disksize / $sizemult` +partition_sects=`expr $partition \* $sizemult` +part_offset=0 +badspacesec=0 +if [ "$sect_fwd" = "sf:" ]; then + badspacecyl=`expr $sects_per_track + 126` + badspacecyl=`expr $badspacecyl + $cylindersize - 1` + badspacecyl=`expr $badspacecyl / $cylindersize` + badspacesec=`expr $badspacecyl \* $cylindersize` + echo "" + echo -n "Using $badspacesec sectors ($badspacecyl cylinders) for the " + echo "bad144 bad block table" +fi + +sects_left=`expr $partition_sects - $badspacesec` +units_left=`expr $sects_left / $sizemult` +echo "" +echo "There are $units_left $sizeunit left to allocate." +echo "" +root=0 +while [ $root -eq 0 ]; do + echo -n "Root partition size (in $sizeunit)? " + getresp + case $resp in + [1-9]*) + total=$resp + if [ $total -gt $units_left ]; then + echo -n "Root size is greater than remaining " + echo "free space on disk." + else + root=$resp + fi + ;; + esac +done +root_offset=$part_offset +part_used=`expr $root + $badspacesec / $sizemult` +units_left=`expr $partition - $part_used` +echo "" + +swap=0 +while [ $swap -eq 0 ]; do + echo "$units_left $sizeunit remaining in NetBSD portion of disk." + echo -n "Swap partition size (in $sizeunit)? " + getresp + case $resp in + [1-9]*) + if [ $swap -gt $units_left ]; then + echo -n "Swap size is greater than remaining " + echo "free space on disk." + else + swap=$resp + fi + ;; + esac +done +swap_offset=`expr $root_offset + $root` +part_used=`expr $part_used + $swap` +units_left=`expr $partition - $part_used` +echo "" + +boot=0 +while [ $boot -eq 0 ]; do + echo "$units_left $sizeunit remaining in NetBSD portion of disk." + echo -n "Boot partition size (in $sizeunit)? " + getresp + case $resp in + [1-9]*) + if [ $boot -gt $units_left ]; then + echo -n "Boot size is greater than remaining " + echo "free space on disk." + else + boot=$resp + fi + ;; + esac +done +boot_offset=`expr $root_offset + $root + $swap + $units_left - $boot` +part_used=`expr $part_used + $boot` +echo "" + +fragsize=1024 +blocksize=8192 +$DONTDOIT mount -u /dev/rd0 / +cat /etc/disktab.preinstall > $DT +echo "" >> $DT +echo "$labelname|NetBSD installation generated:\\" >> $DT +echo " :dt=${type}:ty=winchester:\\" >> $DT +echo -n " :nc#${cyls_per_disk}:ns#${sects_per_track}" >> $DT +echo ":nt#${tracks_per_cyl}:\\" >> $DT +echo " :se#${bytes_per_sect}:${sect_fwd}\\" >> $DT +_size=`expr $root \* $sizemult` +_offset=`expr $root_offset \* $sizemult` +echo -n " :pa#${_size}:oa#${_offset}" >> $DT +echo ":ta=4.2BSD:ba#${blocksize}:fa#${fragsize}:\\" >> $DT +_size=`expr $swap \* $sizemult` +_offset=`expr $swap_offset \* $sizemult` +echo " :pb#${_size}:ob#${_offset}:tb=swap:\\" >> $DT +_size=`expr $partition \* $sizemult` +_offset=`expr $part_offset \* $sizemult` +echo " :pc#${_size}:oc#${_offset}:\\" >> $DT +_size=`expr $boot \* $sizemult` +_offset=`expr $boot_offset \* $sizemult` +echo " :ph#${_size}:oh#${_offset}:th=boot:\\" >> $DT + +echo "You will now have to enter information about any other partitions" +echo "to be created in the NetBSD portion of the disk. This process will" +echo "be complete when you've filled up all remaining space in the NetBSD" +echo "portion of the disk." + +while [ $part_used -lt $partition ]; do + part_size=0 + units_left=`expr $partition - $part_used` + while [ $part_size -eq 0 ]; do + echo "" + echo -n "$units_left $sizeunit remaining in NetBSD portion of " + echo "the disk" + echo -n "Next partition size (in $sizeunit)? " + getresp + case $resp in + [1-9]*) + total=`expr $part_used + $resp` + if [ $total -gt $partition ]; then + echo -n "That would make the parition" + echo "too large to fit!" + else + part_size=$resp + part_used=$total + part_name="" + while [ "$part_name" = "" ]; do + echo -n "Mount point? " + getresp + part_name=$resp + done + fi + ;; + esac + done + if [ "$dname" = "" ]; then + dname=$part_name + offset=`expr $part_offset + $root + $swap` + _size=`expr $part_size \* $sizemult` + _offset=`expr $offset \* $sizemult` + echo -n " :pd#${_size}:od#${_offset}" >> $DT + echo ":td=4.2BSD:bd#${blocksize}:fd#${fragsize}:\\" >> $DT + offset=`expr $offset + $part_size` + elif [ "$ename" = "" ]; then + ename=$part_name + _size=`expr $part_size \* $sizemult` + _offset=`expr $offset \* $sizemult` + echo -n " :pe#${_size}:oe#${_offset}" >> $DT + echo ":te=4.2BSD:be#${blocksize}:fe#${fragsize}:\\" >> $DT + offset=`expr $offset + $part_size` + elif [ "$fname" = "" ]; then + fname=$part_name + _size=`expr $part_size \* $sizemult` + _offset=`expr $offset \* $sizemult` + echo -n " :pf#${_size}:of#${_offset}" >> $DT + echo ":tf=4.2BSD:bf#${blocksize}:ff#${fragsize}:\\" >> $DT + offset=`expr $offset + $part_size` + elif [ "$gname" = "" ]; then + gname=$part_name + _size=`expr $part_size \* $sizemult` + _offset=`expr $offset \* $sizemult` + echo -n " :pg#${_size}:og#${_offset}" >> $DT + echo ":tg=4.2BSD:bg#${blocksize}:fg#${fragsize}:\\" >> $DT + offset=`expr $offset + $part_size` + fi +done +echo " :pd#${disksize}:od#0:" >> $DT +sync + +echo "" +echo "THIS IS YOUR LAST CHANCE!!!" +echo "" +echo -n "Are you SURE you want NetBSD installed on your hard drive? (yes/no) " +answer="" +while [ "$answer" = "" ]; do + getresp + case $resp in + yes|YES) + echo "" + echo "Here we go..." + answer=yes + ;; + no|NO) + echo "" + echo -n "OK, then. enter 'halt' to halt the machine. " + echo "Once the machine has halted," + echo -n "remove the floppy, and press any key to " + echo "reboot." + exit + ;; + *) + echo -n "I want a yes or no answer... well? " + ;; + esac +done + +echo "" +echo -n "Labeling disk $drivename..." +$DONTDOIT disklabel -r -w $drivename $labelname +$DONTDOIT echo "y"|bim -c init -c "add /usr/mdec/boot boot" -c "default 0" -c "exit" /dev/${drivename}c +echo " done." + +if [ "$sect_fwd" = "sf:" ]; then + echo -n "Initializing bad144 badblock table..." + $DONTDOIT bad144 $drivename 0 + echo " done." +fi + +echo "Initializing root filesystem, and mounting..." +$DONTDOIT newfs /dev/r${drivename}a $name +$DONTDOIT mount -v /dev/${drivename}a /mnt +if [ "$dname" != "" -a "$dname" != "NO" ]; then + echo "" + echo "Initializing $dname filesystem, and mounting..." + $DONTDOIT newfs /dev/r${drivename}d $name + $DONTDOIT mkdir -p /mnt/$dname + $DONTDOIT mount -v /dev/${drivename}d /mnt/$dname +fi +if [ "$ename" != "" -a "$ename" != "NO" ]; then + echo "" + echo "Initializing $ename filesystem, and mounting..." + $DONTDOIT newfs /dev/r${drivename}e $name + $DONTDOIT mkdir -p /mnt/$ename + $DONTDOIT mount -v /dev/${drivename}e /mnt/$ename +fi +if [ "$fname" != "" -a "$fname" != "NO" ]; then + echo "" + echo "Initializing $fname filesystem, and mounting..." + $DONTDOIT newfs /dev/r${drivename}f $name + $DONTDOIT mkdir -p /mnt/$fname + $DONTDOIT mount -v /dev/${drivename}f /mnt/$fname +fi +if [ "$gname" != "" -a "$gname" != "NO" ]; then + echo "" + echo "Initializing $gname filesystem, and mounting..." + $DONTDOIT newfs /dev/r${drivename}g $name + $DONTDOIT mkdir -p /mnt/$gname + $DONTDOIT mount -v /dev/${drivename}g /mnt/$gname +fi + +echo "" +echo "Populating filesystems with bootstrapping binaries and config files" +$DONTDOIT tar --one-file-system -cf - . | (cd /mnt ; tar --unlink -xpf - ) +$DONTDOIT cp /tmp/.hdprofile /mnt/.profile +$DONTDOIT gzip -d /mnt/netbsd.gz + +echo "" +echo -n "Creating an fstab..." +echo /dev/${drivename}a / ffs rw 1 1 | sed -e s,//,/, > $FSTAB +if [ "$dname" != "" ]; then + echo /dev/${drivename}d /$dname ffs rw 1 2 | sed -e s,//,/, >> $FSTAB +fi +if [ "$ename" != "" ]; then + echo /dev/${drivename}e /$ename ffs rw 1 2 | sed -e s,//,/, >> $FSTAB +fi +if [ "$fname" != "" ]; then + echo /dev/${drivename}f /$fname ffs rw 1 3 | sed -e s,//,/, >> $FSTAB +fi +if [ "$gname" != "" ]; then + echo /dev/${drivename}g /$gname ffs rw 1 4 | sed -e s,//,/, >> $FSTAB +fi +if [ "$hname" != "" ]; then + echo /dev/${drivename}h /$hname ffs rw 1 5 | sed -e s,//,/, >> $FSTAB +fi +sync +echo " done." + +echo "" +echo "" +echo "OK! The preliminary work of setting up your disk is now complete." +echo "You can now boot off the hard drive." +echo "" +echo "The remaining tasks are:" +echo "" +echo "To load and install the NetBSD distribution sets." +echo "Currently the hard drive's root filesystem is mounted on /mnt" +echo "" +echo "Consult the installation notes which will describe how to" +echo "install the distribution sets and kernel. Post-installation" +echo "configuration is also discussed therein." +echo "" +echo "GOOD LUCK!" +echo "" diff --git a/distrib/pc532/floppies/inst/list b/distrib/pc532/floppies/inst/list new file mode 100644 index 00000000000..96ff20acdb5 --- /dev/null +++ b/distrib/pc532/floppies/inst/list @@ -0,0 +1,11 @@ +# $Id: list,v 1.1 1995/10/18 08:37:43 deraadt Exp $ + +# the disktab explanation file +COPY disktab.preinstall etc + +# and the installation tools +COPY dot.profile .profile +COPY dot.instutils .instutils +COPY install.sh install +COPY dot.hdprofile tmp/.hdprofile +SPECIAL chmod 755 install diff --git a/distrib/pc532/floppies/list2sh.awk b/distrib/pc532/floppies/list2sh.awk new file mode 100644 index 00000000000..3155014e722 --- /dev/null +++ b/distrib/pc532/floppies/list2sh.awk @@ -0,0 +1,44 @@ +# $Id: list2sh.awk,v 1.1 1995/10/18 08:37:41 deraadt Exp $ + +BEGIN { + printf("cd ${CURDIR}\n"); + printf("\n"); +} +/^$/ || /^#/ { + print $0; + next; +} +$1 == "COPY" { + printf("echo '%s'\n", $0); + printf("cp %s ${TARGDIR}/%s\n", $2, $3); + next; +} +$1 == "LINK" { + printf("echo '%s'\n", $0); + printf("(cd ${TARGDIR}; ln %s %s)\n", $2, $3); + next; +} +$1 == "SYMLINK" { + printf("echo '%s'\n", $0); + printf("(cd ${TARGDIR}; ln -s %s %s)\n", $2, $3); + next; +} +$1 == "SPECIAL" { + printf("echo '%s'\n", $0); + printf("(cd ${TARGDIR};"); + for (i = 2; i <= NF; i++) + printf(" %s", $i); + printf(")\n"); + next; +} +{ + printf("echo '%s'\n", $0); + printf("echo 'Unknown keyword \"%s\" at line %d of input.'\n", $1, NR); + printf("exit 1\n"); + exit 1; +} +END { + printf("\n"); + printf("exit 0\n"); + exit 0; +} diff --git a/distrib/pc532/floppies/runlist.sh b/distrib/pc532/floppies/runlist.sh new file mode 100644 index 00000000000..1e5bde71da0 --- /dev/null +++ b/distrib/pc532/floppies/runlist.sh @@ -0,0 +1,13 @@ +# $Id: runlist.sh,v 1.1 1995/10/18 08:37:41 deraadt Exp $ + +if [ "X$1" = "X-d" ]; then + SHELLCMD=cat + shift +else + SHELLCMD="sh -e" +fi + +( while [ "X$1" != "X" ]; do + cat $1 + shift +done ) | awk -f ${TOPDIR}/list2sh.awk | ${SHELLCMD} diff --git a/distrib/pc532/floppies/upgr/Makefile b/distrib/pc532/floppies/upgr/Makefile new file mode 100644 index 00000000000..246d91c455f --- /dev/null +++ b/distrib/pc532/floppies/upgr/Makefile @@ -0,0 +1,8 @@ +# $Id: Makefile,v 1.1 1995/10/18 08:37:43 deraadt Exp $ + +TOP= ${.CURDIR}/.. + +.include "${TOP}/Makefile.inc" +IMAGE= upgr-${REV}.fs + +.include "${TOP}/inst-common/Makefile.inc" diff --git a/distrib/pc532/floppies/upgr/dot.hdprofile b/distrib/pc532/floppies/upgr/dot.hdprofile new file mode 100644 index 00000000000..0a692babcee --- /dev/null +++ b/distrib/pc532/floppies/upgr/dot.hdprofile @@ -0,0 +1,62 @@ +# +# Copyright (c) 1994 Christopher G. Demetriou +# 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 Christopher G. Demetriou. +# 4. The name of the author may not be used to endorse or promote products +# derived from this software without specific prior written permission +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 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. +# +# $Id: dot.hdprofile,v 1.1 1995/10/18 08:37:43 deraadt Exp $ + +PATH=/sbin:/bin:/usr/bin:/usr/sbin:/ +export PATH +TERM=pc3 +export TERM + +umask 022 + +if [ "X${DONEPROFILE}" = "X" ]; then + DONEPROFILE=YES + + echo "Checking filesystems..." + fsck -y + + echo "Mounting filesystems..." + mount -a + + # set up some sane defaults + echo 'erase ^?, werase ^W, kill ^U, intr ^C' + stty newcrt werase ^W intr ^C kill ^U erase ^? 9600 + echo '' + + # run update, so that installed software is written as it goes. + update + + # pull in the functions that people will use from the shell prompt. + . /.commonutils + . /.upgrutils + + echo "Follow the installation directions to install the NetBSD" + echo "distribution sets." +fi diff --git a/distrib/pc532/floppies/upgr/dot.profile b/distrib/pc532/floppies/upgr/dot.profile new file mode 100644 index 00000000000..6d3172db208 --- /dev/null +++ b/distrib/pc532/floppies/upgr/dot.profile @@ -0,0 +1,56 @@ +# +# Copyright (c) 1994 Christopher G. Demetriou +# 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 Christopher G. Demetriou. +# 4. The name of the author may not be used to endorse or promote products +# derived from this software without specific prior written permission +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 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. +# +# $Id: dot.profile,v 1.1 1995/10/18 08:37:43 deraadt Exp $ + +PATH=/sbin:/bin:/usr/bin:/usr/sbin:/ +export PATH +TERM=pc3 +export TERM + +umask 022 + +if [ "X${DONEPROFILE}" = "X" ]; then + DONEPROFILE=YES + + # set up some sane defaults + echo 'erase ^?, werase ^W, kill ^U, intr ^C' + stty newcrt werase ^W intr ^C kill ^U erase ^? 9600 + echo '' + + # run update, so that installed software is written as it goes. + update + + # pull in the functions that people will use from the shell prompt. + . /.commonutils + . /.upgrutils + + # run the upgrade script. + upgrade +fi diff --git a/distrib/pc532/floppies/upgr/dot.upgrutils b/distrib/pc532/floppies/upgr/dot.upgrutils new file mode 100644 index 00000000000..96a7f92639e --- /dev/null +++ b/distrib/pc532/floppies/upgr/dot.upgrutils @@ -0,0 +1,58 @@ +# +# Copyright (c) 1994 Christopher G. Demetriou +# 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 Christopher G. Demetriou. +# 4. The name of the author may not be used to endorse or promote products +# derived from this software without specific prior written permission +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 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. +# +# $Id: dot.upgrutils,v 1.1 1995/10/18 08:37:43 deraadt Exp $ + +# Upgrade cleanup utilites (functions), to make sure a recently-upgraded +# system is safely runnable. These are meant to be invoked from the shell +# prompt, by people installing NetBSD. + +Cleanup() +{ + upgrade_dir=/ + + if [ ! -f /etc/fstab ]; then + upgrade_dir=/mnt + fi + + echo "Cleaning up miscellaneous files in /etc..." + mv $upgrade_dir/etc/rc.bak $upgrade_dir/etc/rc + chroot $upgrade_dir /usr/sbin/pwd_mkdb -p /etc/master.passwd + chroot $upgrade_dir /bin/rm /etc/sendmail.fc > /dev/null 2>&1 + sync + echo "Done." + + echo "" + echo "All that's left to do now is to install a new NetBSD kernel" + echo "on your hard disk. You should now halt your machine using" + echo "the 'halt' command. Once the machine is halted, replace the" + echo "installation floppy with the kernel-copy floppy and hit any" + echo "key to reboot. Use the kernel-copy floppy to copy a kernel" + echo "to your hard disk." +} diff --git a/distrib/pc532/floppies/upgr/list b/distrib/pc532/floppies/upgr/list new file mode 100644 index 00000000000..e4be825d30a --- /dev/null +++ b/distrib/pc532/floppies/upgr/list @@ -0,0 +1,8 @@ +# $Id: list,v 1.1 1995/10/18 08:37:43 deraadt Exp $ + +# and the upgrade tools +COPY dot.profile .profile +COPY dot.upgrutils .upgrutils +COPY upgrade.sh upgrade +COPY dot.hdprofile tmp/.hdprofile +SPECIAL chmod 755 upgrade diff --git a/distrib/pc532/floppies/upgr/upgrade.sh b/distrib/pc532/floppies/upgr/upgrade.sh new file mode 100644 index 00000000000..0d8bd1f12eb --- /dev/null +++ b/distrib/pc532/floppies/upgr/upgrade.sh @@ -0,0 +1,253 @@ +#!/bin/sh +# +# Copyright (c) 1994 Christopher G. Demetriou +# 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 Christopher G. Demetriou. +# 4. The name of the author may not be used to endorse or promote products +# derived from this software without specific prior written permission +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 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. +# +# $Id: upgrade.sh,v 1.1 1995/10/18 08:37:44 deraadt Exp $ + +# NetBSD upgrade script. +# In a perfect world, this would be a nice C program, with a reasonable +# user interface. + +DT=/etc/disktab # /etc/disktab +FSTABDIR=/mnt/etc # /mnt/etc +#DONTDOIT=echo + +VERSION=1.0 +FSTAB=${FSTABDIR}/fstab + +getresp() { + read resp + if [ "X$resp" = "X" ]; then + resp=$1 + fi +} + +echo "Welcome to the NetBSD ${VERSION} upgrade program." +echo "" +echo "This program is designed to help you put the new version of NetBSD" +echo "on your hard disk, in a simple and rational way. To upgrade, you" +echo "must have plenty of free space on all partitions which will be" +echo "upgraded. If you have at least 1MB free on your root partition," +echo "and several free on your /usr patition, you should be fine." +echo "" +echo "As with anything which modifies your hard drive's contents, this" +echo "program can cause SIGNIFICANT data loss, and you are advised" +echo "to make sure your hard drive is backed up before beginning the" +echo "upgrade process." +echo "" +echo "Default answers are displyed in brackets after the questions." +echo "You can hit Control-C at any time to quit, but if you do so at a" +echo "prompt, you may have to hit return. Also, quitting in the middle of" +echo "the upgrade may leave your system in an inconsistent (and unusable)" +echo "state." +echo "" +echo -n "Proceed with upgrade? [n] " +getresp "n" +case "$resp" in + y*|Y*) + echo "Cool! Let's get to it..." + ;; + *) + echo "" + echo "OK, then. Enter 'halt' at the prompt to halt the" + echo "machine. Once the machine has halted, remove the" + echo "floppy and press any key to reboot." + exit + ;; +esac + +# find out what units are possible, and query the user. +driveunits=`ls /dev/[sw]d?a | sed -e 's,/dev/\(...\)a,\1,g'` +if [ "X${driveunits}" = "X" ]; then + echo "FATAL ERROR:" + echo "No disk devices." + echo "This is probably a bug in the install disks." + echo "Exiting install program." + exit +fi + +echo "" +echo "The following disks are supported by this upgrade procedure:" +echo " "${driveunits} +echo "If your system was previously completely contained within the" +echo "disks listed above (i.e. if your system didn't occupy any space" +echo "on disks NOT listed above), this upgrade disk can upgrade your" +echo "system. If it cannot, hit Control-C at the prompt." +echo "" +while [ "X${drivename}" = "X" ]; do + echo -n "Which disk contains your root partion? " + getresp + otherdrives=`echo "${driveunits}" | sed -e s,${resp},,` + if [ "X${driveunits}" = "X${otherdrives}" ]; then + echo "" + echo "\"${resp}\" is an invalid drive name. Valid choices" + echo "are: "${driveunits} + echo "" + else + drivename=${resp} + fi +done + +echo "" +echo "Root partition is on ${drivename}a." + +echo "" +echo "Would you like to upgrade your file systems to the new file system" +echo -n "format? [y] " +getresp "y" +case "$resp" in + n*|N*) + echo "" + echo "You should upgrade your file systems with 'fsck -c 2'" + echo "as soon as is feasible, because the new file system" + echo "code is better-tested and more performant." + upgradefs=NO + ;; + *) + upgradefs=YES + ;; +esac + +if [ $upgradefs = YES ]; then + echo "" + echo "Upgrading the file system on ${drivename}a..." + + fsck -p -c 2 /dev/r${drivename}a + if [ $? != 0 ]; then + echo "FATAL ERROR: FILE SYSTEM UPGRADE FAILED." + echo "You should probably reboot the machine, fsck your" + echo "disk(s), and try the upgrade procedure again." + exit 1 + fi + echo "Done." +fi + +echo "" +echo "Mounting root partition on /mnt..." +mount /dev/${drivename}a /mnt +if [ $? != 0 ]; then + echo "FATAL ERROR: MOUNT FAILED." + echo "You should verify that your system is set up as you" + echo "described, and re-attempt the upgrade procedure." + exit 1 +fi +echo "Done." + +if [ $upgradefs = YES ]; then + echo "" + echo -n "Copying new fsck binary to your hard disk..." + if [ ! -d /mnt/sbin ]; then + mkdir /mnt/sbin + fi + cp /sbin/fsck /mnt/sbin/fsck + if [ $? != 0 ]; then + echo "FATAL ERROR: COPY FAILED." + echo "It in unclear why this error would occur. It looks" + echo "like you may end up having to upgrade by hand." + exit 1 + fi + echo " Done." + + echo "" + echo "Re-mounting root partition read-only..." + mount -u -o ro /dev/${drivename}a /mnt + if [ $? != 0 ]; then + echo "FATAL ERROR: RE-MOUNT FAILED." + echo "It in unclear why this error would occur. It looks" + echo "like you may end up having to upgrade by hand." + exit 1 + fi + echo "Done." + + echo "" + echo "Upgrading the rest of your file systems..." + chroot /mnt fsck -p -c 2 + if [ $? != 0 ]; then + echo "FATAL ERROR: FILE SYSTEM UPGRADE(S) FAILED." + echo "You should probably reboot the machine, fsck your" + echo "file system(s), and try the upgrade procedure" + echo "again." + exit 1 + fi + echo "Done." + + echo "" + echo "Re-mounting root partition read-write..." + mount -u -o rw /dev/${drivename}a /mnt + if [ $? != 0 ]; then + echo "FATAL ERROR: RE-MOUNT FAILED." + echo "It in unclear why this error would occur. It looks" + echo "like you may end up having to upgrade by hand." + exit 1 + fi + echo "Done." +fi + +echo "" +echo "Updating boot blocks on ${drivename}..." +disklabel -r $drivename > /mnt/tmp/${drivename}.label +if [ $? != 0 ]; then + echo "FATAL ERROR: READ OF DISK LABEL FAILED." + echo "It in unclear why this error would occur. It looks" + echo "like you may end up having to upgrade by hand." + exit 1 +fi +disklabel -R -B $drivename /mnt/tmp/${drivename}.label +if [ $? != 0 ]; then + echo "FATAL ERROR: UPDATE OF DISK LABEL FAILED." + echo "It in unclear why this error would occur. It looks" + echo "like you may end up having to upgrade by hand." + exit 1 +fi +echo "Done." + +echo "" +echo "Copying bootstrapping binaries and config files to the hard drive..." +$DONTDOIT cp /mnt/.profile /mnt/.profile.bak +$DONTDOIT tar --exclude etc --one-file-system -cf - . | (cd /mnt ; tar --unlink -xpf - ) +$DONTDOIT mv /mnt/etc/rc /mnt/etc/rc.bak +$DONTDOIT cp /tmp/.hdprofile /mnt/.profile + +echo "" +echo "Mounting remaining partitions..." +chroot /mnt mount -at ufs > /dev/null 2>&1 +echo "Done." + +echo "" +echo "" +echo "OK! The preliminary work of setting up your disk is now complete," +echo "and you can now upgrade the actual NetBSD software." +echo "" +echo "Right now, your hard disk is mounted on /mnt. You should consult" +echo "the installation notes to determine how to load and install the new" +echo "NetBSD distribution sets, and how to clean up after the upgrade" +echo "software, when you are done." +echo "" +echo "GOOD LUCK!" +echo "" diff --git a/distrib/sets/README b/distrib/sets/README new file mode 100644 index 00000000000..d427f8971b0 --- /dev/null +++ b/distrib/sets/README @@ -0,0 +1,129 @@ +From cgd@alpha.bostic.com Mon Jul 18 02:06:15 1994 +Received: from alpha.bostic.com (alpha.BOSTIC.COM [198.3.132.5]) by sun-lamp.cs.berkeley.edu (8.6.9/8.6.9) with SMTP id CAA18402 for <port-masters@sun-lamp.CS.Berkeley.EDU>; Mon, 18 Jul 1994 02:01:32 -0700 +Received: by alpha.bostic.com; id AA06610; Mon, 18 Jul 1994 05:02:11 -0400 +Message-Id: <9407180902.AA06610@alpha.bostic.com> +To: port-masters@sun-lamp.CS.Berkeley.EDU +Cc: cgd@alpha.bostic.com +Precedence: special-delivery +X-Notice: Do not redistribute in any form without prior explicit + consent of the author. +Subject: distribution sets, etc... +Date: Mon, 18 Jul 1994 05:02:11 -0400 +From: "Chris G. Demetriou" <cgd@alpha.bostic.com> +Status: R + +[ this is also going in a README in the 'sets' directory... ] + +well, i've finally sat down and started doing distribution set +stuff in a "nice, machine-independent way." Should have done +it months ago, but too much other stuff going on then... + +anyway, grab ~cgd/sets.tar.gz -- it's three scripts, and a bunch +of files. + +the scripts should be run from the directory where they reside. + +makeflist: output the list of files that should be in a + distribution, according to the contents of the + 'lists' directory. + +checkflist: check the file list (as internally generated + by makeflist) against the tree living in $DESTDIR. + (that tree should be made with 'make distribution'.) + +maketars: make tarballs of the various sets in the distribution, + based on the contents of the lists, the tree in + $DESTDIR, and put the tarballs in $RELEASEDIR. + Note that this script _doesn't_ create the 'secr' + distribution, because (for now) it requires + manual intervention to get the binaries right... + (i'll add another script to create that dist, later.) + +what's in 'lists': + +lists describing file sets. There are two sets of lists per file +set: machine dependent and machine-independent files. (there's +also another file in the 'man' dir, which is used by the 'man' +and 'misc' sets, but that's explained later.) + +There is one machine-independent file, named "mi". There are +N machine-dependent files (one per architecture), named "md.${ARCH}". + +the sets are as follows: + + secr: security software -- the non-exportable bits, i.e. + those that actually use crypt, and have it compiled + in. + + base: the base binary set. excludes everything described + below. + + comp: compiler tools. All of the tools relating to C, C++, + and FORTRAN (yes, there are two!) that are in the + tree. This includes includes, the linker, tool chain, + and the .a versions of the libraries. (obviously, + base includes ldd, ld.so, and the shared versions. + base also includes 'cpp', because that's used by X11.) + includes the man pages for all the binaries contained + within. Also, includes all library and system call + manual pages. + + etc: /etc, and associated files (/var/cron/tabs, /root, + etc.). things that shouldn't be blindly reinstalled + on an upgrade. + + games: the games and their man pages. + + man: all of the man pages for the system, except those + listed elsewhere (e.g. in comp, games, misc, text). + Includes machine-dependent man pages for this CPU. + + misc: share/dict, share/doc, and the machine-dependent + man pages for other cpu's which happen to always + be installed. + + text: text processing tools. groff and all of its friends. + includes man pages for all bins contained within. + + +as noted, in addition to the "standard" files in each dir, there's +a file called 'md_share' in lists/man. it's the list of man pages +that are installed from /usr/src/share, which are machine-dependent. +(note that ones that are installed from elsewhere, and thus are +installed on only one architecture, are listed in the md.${ARCH} +file.) basically, it's grepped through, to see which of the +machine-dependent man pages that are always installed should go +in the 'man' set, and which should go into the 'misc' set. + + +I've made attempts to get the md files for the amiga, i386, hp300, +pc532, and sparc done. I've not attempted the rest (though there +are empty files for all architectures except the da30, in the +various directories). I think i got the amiga, i386, and sparc +done correctly, but i know that (because of weirdnesses in how +their last snapshots were built) i didn't get hp300 or pc532 +done right. + +what you folks need to do: + +run 'checkflist' on a tree that you've created with 'make +distribution'. send me the output, and i'll take care of putting +stuff on the right lists for you. In the future, you'll get +to do it yourselves, as you add programs and include files, but +i'd prefer to do it the first time (unless you really want to do it +yourself -- in that case, please ask me to check your suggestions +re: the appropriate sets for things...) There should be a minimal +list output by checkflist -- it should all be things that +_should_ be on your lsits, but aren't, i.e. machine-dependent +binaries, man pages, and include files. + +Also, please look through the lists, and tell me if you think +i've put anything in the wrong place. i think i've +taken care of all of the machine-dependence bugaboos, by +doing it for the N architectures, but i'm not _sure_... 8-) + + +thanks, + +chris + diff --git a/distrib/sets/checkflist b/distrib/sets/checkflist new file mode 100644 index 00000000000..b028bf41027 --- /dev/null +++ b/distrib/sets/checkflist @@ -0,0 +1,13 @@ +#!/bin/csh -f + +if (! $?DESTDIR) then + echo DESTDIR must be set + exit 1 +endif + +set fsdir=$DESTDIR + +./makeflist >! /tmp/_CHECK.$$ +( cd $fsdir ; find . \( -type d -o -type f -o -type l \) ) | sort | \ + diff /tmp/_CHECK.$$ - +/bin/rm -f /tmp/_CHECK.$$ diff --git a/distrib/sets/lists/base/md.amiga b/distrib/sets/lists/base/md.amiga new file mode 100644 index 00000000000..a1263941497 --- /dev/null +++ b/distrib/sets/lists/base/md.amiga @@ -0,0 +1,19 @@ +./usr/lib/libc.so.12.3 +./usr/lib/libcrypt.so.0.0 +./usr/lib/libcurses.so.2.1 +./usr/lib/libedit.so.0.0 +./usr/lib/libg++.so.2.0 +./usr/lib/libgnumalloc.so.0.0 +./usr/lib/libkvm.so.4.0 +./usr/lib/libm.so.0.1 +./usr/lib/libpcap.so.0.0 +./usr/lib/libresolv.so.1.0 +./usr/lib/libskey.so.0.0 +./usr/lib/libtelnet.so.1.0 +./usr/lib/libtermcap.so.0.0 +./usr/lib/libtermlib.so.0.0 +./usr/lib/libutil.so.3.1 +./usr/libexec/ld.so +./usr/sbin/grfconfig +./usr/sbin/iteconfig +./usr/sbin/videomode diff --git a/distrib/sets/lists/base/md.atari b/distrib/sets/lists/base/md.atari new file mode 100644 index 00000000000..42fea79f6ab --- /dev/null +++ b/distrib/sets/lists/base/md.atari @@ -0,0 +1,17 @@ +./usr/lib/libc.so.12.3 +./usr/lib/libcrypt.so.0.0 +./usr/lib/libcurses.so.2.1 +./usr/lib/libedit.so.0.0 +./usr/lib/libg++.so.2.0 +./usr/lib/libgnumalloc.so.0.0 +./usr/lib/libkvm.so.4.0 +./usr/lib/libm.so.0.1 +./usr/lib/libpcap.so.0.0 +./usr/lib/libresolv.so.1.0 +./usr/lib/libskey.so.0.0 +./usr/lib/libtelnet.so.1.0 +./usr/lib/libtermcap.so.0.0 +./usr/lib/libtermlib.so.0.0 +./usr/lib/libutil.so.3.1 +./usr/libexec/ld.so +./usr/sbin/iteconfig diff --git a/distrib/sets/lists/base/md.hp300 b/distrib/sets/lists/base/md.hp300 new file mode 100644 index 00000000000..f5cc8de342b --- /dev/null +++ b/distrib/sets/lists/base/md.hp300 @@ -0,0 +1,27 @@ +./usr/lib/libc.so.12.3 +./usr/lib/libcrypt.so.0.0 +./usr/lib/libcurses.so.2.1 +./usr/lib/libedit.so.0.0 +./usr/lib/libg++.so.2.0 +./usr/lib/libgnumalloc.so.0.0 +./usr/lib/libkvm.so.4.0 +./usr/lib/libm.so.0.1 +./usr/lib/libpcap.so.0.0 +./usr/lib/libresolv.so.1.0 +./usr/lib/libskey.so.0.0 +./usr/lib/libtelnet.so.1.0 +./usr/lib/libtermcap.so.0.0 +./usr/lib/libtermlib.so.0.0 +./usr/lib/libutil.so.3.1 +./usr/libexec/ld.so +./usr/mdec/bootct +./usr/mdec/bootrd +./usr/mdec/bootsd +./usr/mdec/installboot +./usr/mdec/rdboot +./usr/mdec/sdboot +./usr/mdec/rbootd +./usr/mdec/rbootd/SYS_INST +./usr/mdec/rbootd/SYS_NBOOT +./usr/sbin/grfinfo +./usr/sbin/hilinfo diff --git a/distrib/sets/lists/base/md.i386 b/distrib/sets/lists/base/md.i386 new file mode 100644 index 00000000000..aecffa42431 --- /dev/null +++ b/distrib/sets/lists/base/md.i386 @@ -0,0 +1,25 @@ +./sbin/fdisk +./usr/lib/libc.so.12.3 +./usr/lib/libcrypt.so.0.0 +./usr/lib/libcurses.so.2.1 +./usr/lib/libedit.so.0.0 +./usr/lib/libg++.so.2.0 +./usr/lib/libgnumalloc.so.0.0 +./usr/lib/libi386.so.0.0 +./usr/lib/libkvm.so.4.0 +./usr/lib/libm.so.0.1 +./usr/lib/libpcap.so.0.0 +./usr/lib/libresolv.so.1.0 +./usr/lib/libskey.so.0.0 +./usr/lib/libtelnet.so.1.0 +./usr/lib/libtermcap.so.0.0 +./usr/lib/libtermlib.so.0.0 +./usr/lib/libutil.so.3.1 +./usr/libexec/ld.so +./usr/mdec/bootfd +./usr/mdec/bootsd +./usr/mdec/bootwd +./usr/mdec/fdboot +./usr/mdec/sdboot +./usr/mdec/wdboot +./usr/sbin/bad144 diff --git a/distrib/sets/lists/base/md.mac68k b/distrib/sets/lists/base/md.mac68k new file mode 100644 index 00000000000..05ee428beda --- /dev/null +++ b/distrib/sets/lists/base/md.mac68k @@ -0,0 +1,16 @@ +./usr/lib/libc.so.12.3 +./usr/lib/libcrypt.so.0.0 +./usr/lib/libcurses.so.2.1 +./usr/lib/libedit.so.0.0 +./usr/lib/libg++.so.2.0 +./usr/lib/libgnumalloc.so.0.0 +./usr/lib/libkvm.so.4.0 +./usr/lib/libm.so.0.1 +./usr/lib/libpcap.so.0.0 +./usr/lib/libresolv.so.1.0 +./usr/lib/libskey.so.0.0 +./usr/lib/libtelnet.so.1.0 +./usr/lib/libtermcap.so.0.0 +./usr/lib/libtermlib.so.0.0 +./usr/lib/libutil.so.3.1 +./usr/libexec/ld.so diff --git a/distrib/sets/lists/base/md.pc532 b/distrib/sets/lists/base/md.pc532 new file mode 100644 index 00000000000..988a4434349 --- /dev/null +++ b/distrib/sets/lists/base/md.pc532 @@ -0,0 +1 @@ +./sbin/bim diff --git a/distrib/sets/lists/base/md.pmax b/distrib/sets/lists/base/md.pmax new file mode 100644 index 00000000000..6fb6daa6caf --- /dev/null +++ b/distrib/sets/lists/base/md.pmax @@ -0,0 +1,2 @@ +./usr/mdec/bootrz +./usr/mdec/rzboot diff --git a/distrib/sets/lists/base/md.sparc b/distrib/sets/lists/base/md.sparc new file mode 100644 index 00000000000..f4396e907ec --- /dev/null +++ b/distrib/sets/lists/base/md.sparc @@ -0,0 +1,23 @@ +./usr/lib/libc.so.12.3 +./usr/lib/libcrypt.so.0.0 +./usr/lib/libcurses.so.2.1 +./usr/lib/libedit.so.0.0 +./usr/lib/libg++.so.2.0 +./usr/lib/libgnumalloc.so.0.0 +./usr/lib/libkvm.so.4.0 +./usr/lib/libm.so.0.1 +./usr/lib/libpcap.so.0.0 +./usr/lib/libresolv.so.1.0 +./usr/lib/libskey.so.0.0 +./usr/lib/libtelnet.so.1.0 +./usr/lib/libtermcap.so.0.0 +./usr/lib/libtermlib.so.0.0 +./usr/lib/libutil.so.3.1 +./usr/libexec/ld.so +./usr/mdec/bootxx +./usr/mdec/boot +./usr/mdec/binstall +./usr/bin/fdeject +./usr/sbin/eeprom +./usr/sbin/installboot +./usr/sbin/screenblank diff --git a/distrib/sets/lists/base/md.sun3 b/distrib/sets/lists/base/md.sun3 new file mode 100644 index 00000000000..032ccfcf919 --- /dev/null +++ b/distrib/sets/lists/base/md.sun3 @@ -0,0 +1,22 @@ +./sbin/edlabel +./usr/lib/libc.so.12.0 +./usr/lib/libcrypt.so.0.0 +./usr/lib/libcurses.so.2.1 +./usr/lib/libedit.so.0.0 +./usr/lib/libg++.so.2.0 +./usr/lib/libgnumalloc.so.0.0 +./usr/lib/libkvm.so.4.0 +./usr/lib/libm.so.0.0 +./usr/lib/libresolv.so.1.0 +./usr/lib/libskey.so.0.0 +./usr/lib/libtelnet.so.1.0 +./usr/lib/libtermcap.so.0.0 +./usr/lib/libtermlib.so.0.0 +./usr/lib/libutil.so.3.1 +./usr/libexec/ld.so +./usr/mdec/bootxx +./usr/mdec/installboot +./usr/mdec/netboot +./usr/mdec/ufsboot +./usr/sbin/eeprom +./usr/sbin/screenblank diff --git a/distrib/sets/lists/base/mi b/distrib/sets/lists/base/mi new file mode 100644 index 00000000000..4dd0955d658 --- /dev/null +++ b/distrib/sets/lists/base/mi @@ -0,0 +1,1240 @@ +. +./altroot +./bin +./bin/[ +./bin/cat +./bin/chmod +./bin/cp +./bin/csh +./bin/date +./bin/dd +./bin/df +./bin/domainname +./bin/echo +./bin/ed +./bin/expr +./bin/hostname +./bin/kill +./bin/ln +./bin/ls +./bin/mkdir +./bin/mt +./bin/mv +./bin/pax +./bin/ps +./bin/pwd +./bin/rcp +./bin/rm +./bin/rmail +./bin/rmdir +./bin/sh +./bin/sleep +./bin/stty +./bin/sync +./bin/test +./dev +./dev/MAKEDEV +./dev/fd +./etc +./etc/disklabels +./etc/kerberosIV +./etc/mtree +./etc/namedb +./etc/sliphome +./etc/uucp +./home +./mnt +./root +./sbin +./sbin/badsect +./sbin/ccdconfig +./sbin/clri +./sbin/disklabel +./sbin/dmesg +./sbin/dump +./sbin/dumpfs +./sbin/dumplfs +./sbin/fastboot +./sbin/fasthalt +./sbin/fsck +./sbin/fsdb +./sbin/halt +./sbin/ifconfig +./sbin/init +./sbin/ldconfig +./sbin/mknod +./sbin/modload +./sbin/modunload +./sbin/mount +./sbin/mount_ados +./sbin/mount_cd9660 +./sbin/mount_fdesc +./sbin/mount_ffs +./sbin/mount_kernfs +./sbin/mount_lfs +./sbin/mount_mfs +./sbin/mount_msdos +./sbin/mount_nfs +./sbin/mount_null +./sbin/mount_portal +./sbin/mount_procfs +./sbin/mount_ufs +./sbin/mount_umap +./sbin/mount_union +./sbin/mountd +./sbin/newfs +./sbin/newlfs +./sbin/nfsd +./sbin/nfsiod +./sbin/nologin +./sbin/ping +./sbin/quotacheck +./sbin/rdump +./sbin/reboot +./sbin/restore +./sbin/route +./sbin/routed +./sbin/rrestore +./sbin/savecore +./sbin/shutdown +./sbin/slattach +./sbin/swapon +./sbin/ttyflags +./sbin/tunefs +./sbin/umount +./stand +./tmp +./usr +./usr/bin +./usr/bin/Mail +./usr/bin/apply +./usr/bin/apropos +./usr/bin/at +./usr/bin/atq +./usr/bin/atrm +./usr/bin/awk +./usr/bin/banner +./usr/bin/basename +./usr/bin/batch +./usr/bin/bc +./usr/bin/bdes +./usr/bin/biff +./usr/bin/cal +./usr/bin/calendar +./usr/bin/cap_mkdb +./usr/bin/chflags +./usr/bin/chfn +./usr/bin/chgrp +./usr/bin/chpass +./usr/bin/chsh +./usr/bin/ci +./usr/bin/cksum +./usr/bin/clear +./usr/bin/cmp +./usr/bin/co +./usr/bin/col +./usr/bin/colcrt +./usr/bin/colrm +./usr/bin/column +./usr/bin/comm +./usr/bin/compress +./usr/bin/cpio +./usr/bin/cpp +./usr/bin/crontab +./usr/bin/ctags +./usr/bin/cu +./usr/bin/cut +./usr/bin/dc +./usr/bin/diff +./usr/bin/diff3 +./usr/bin/dirname +./usr/bin/du +./usr/bin/egrep +./usr/bin/env +./usr/bin/error +./usr/bin/ex +./usr/bin/expand +./usr/bin/false +./usr/bin/fgrep +./usr/bin/file +./usr/bin/find +./usr/bin/finger +./usr/bin/fmt +./usr/bin/fold +./usr/bin/from +./usr/bin/fsplit +./usr/bin/fstat +./usr/bin/ftp +./usr/bin/gcpp +./usr/bin/gencat +./usr/bin/getconf +./usr/bin/getopt +./usr/bin/grep +./usr/bin/groups +./usr/bin/gunzip +./usr/bin/gzcat +./usr/bin/gzexe +./usr/bin/gzip +./usr/bin/head +./usr/bin/hexdump +./usr/bin/id +./usr/bin/ident +./usr/bin/indent +./usr/bin/install +./usr/bin/install-sid +./usr/bin/ipcrm +./usr/bin/ipcs +./usr/bin/join +./usr/bin/jot +./usr/bin/kdump +./usr/bin/ktrace +./usr/bin/lam +./usr/bin/last +./usr/bin/lastcomm +./usr/bin/ldd +./usr/bin/leave +./usr/bin/locate +./usr/bin/lock +./usr/bin/logger +./usr/bin/login +./usr/bin/logname +./usr/bin/look +./usr/bin/lpq +./usr/bin/lpr +./usr/bin/lprm +./usr/bin/m4 +./usr/bin/machine +./usr/bin/mail +./usr/bin/mailq +./usr/bin/mailx +./usr/bin/make +./usr/bin/man +./usr/bin/merge +./usr/bin/mesg +./usr/bin/mkdep +./usr/bin/mkfifo +./usr/bin/modstat +./usr/bin/more +./usr/bin/mset +./usr/bin/msgs +./usr/bin/netstat +./usr/bin/newaliases +./usr/bin/newsyslog +./usr/bin/nfsstat +./usr/bin/nice +./usr/bin/nm +./usr/bin/nohup +./usr/bin/od +./usr/bin/page +./usr/bin/pagesize +./usr/bin/passwd +./usr/bin/paste +./usr/bin/patch +./usr/bin/pr +./usr/bin/printenv +./usr/bin/printf +./usr/bin/quota +./usr/bin/rcs +./usr/bin/rcsclean +./usr/bin/rcsdiff +./usr/bin/rcsfreeze +./usr/bin/rcsmerge +./usr/bin/rdist +./usr/bin/renice +./usr/bin/reset +./usr/bin/rev +./usr/bin/rlog +./usr/bin/rlogin +./usr/bin/rpcinfo +./usr/bin/rs +./usr/bin/rsh +./usr/bin/rup +./usr/bin/ruptime +./usr/bin/rusers +./usr/bin/rwall +./usr/bin/rwho +./usr/bin/script +./usr/bin/sdiff +./usr/bin/sed +./usr/bin/send-pr +./usr/bin/shar +./usr/bin/showmount +./usr/bin/size +./usr/bin/skey +./usr/bin/skeyaudit +./usr/bin/skeyinfo +./usr/bin/skeyinit +./usr/bin/sort +./usr/bin/split +./usr/bin/strings +./usr/bin/su +./usr/bin/sum +./usr/bin/systat +./usr/bin/tail +./usr/bin/talk +./usr/bin/tar +./usr/bin/tcopy +./usr/bin/tee +./usr/bin/telnet +./usr/bin/tftp +./usr/bin/time +./usr/bin/tip +./usr/bin/tn3270 +./usr/bin/touch +./usr/bin/tput +./usr/bin/tr +./usr/bin/true +./usr/bin/tset +./usr/bin/tsort +./usr/bin/tty +./usr/bin/ul +./usr/bin/uname +./usr/bin/uncompress +./usr/bin/unexpand +./usr/bin/unifdef +./usr/bin/uniq +./usr/bin/units +./usr/bin/unvis +./usr/bin/uptime +./usr/bin/users +./usr/bin/uucp +./usr/bin/uudecode +./usr/bin/uuencode +./usr/bin/uulog +./usr/bin/uuname +./usr/bin/uupick +./usr/bin/uusched +./usr/bin/uustat +./usr/bin/uuto +./usr/bin/uux +./usr/bin/vacation +./usr/bin/vi +./usr/bin/view +./usr/bin/vis +./usr/bin/vmstat +./usr/bin/w +./usr/bin/wall +./usr/bin/wc +./usr/bin/what +./usr/bin/whatis +./usr/bin/whereis +./usr/bin/which +./usr/bin/who +./usr/bin/whoami +./usr/bin/whois +./usr/bin/window +./usr/bin/write +./usr/bin/xargs +./usr/bin/yes +./usr/bin/ypcat +./usr/bin/ypmatch +./usr/bin/yppasswd +./usr/bin/ypwhich +./usr/bin/zcat +./usr/bin/zdiff +./usr/bin/zforce +./usr/bin/zgrep +./usr/bin/zmore +./usr/bin/znew +./usr/games +./usr/games/hide +./usr/include +./usr/include/arpa +./usr/include/dev +./usr/include/g++ +./usr/include/g++/gen +./usr/include/kerberosIV +./usr/include/machine +./usr/include/net +./usr/include/netccitt +./usr/include/netinet +./usr/include/netiso +./usr/include/netns +./usr/include/nfs +./usr/include/protocols +./usr/include/rpc +./usr/include/rpcsvc +./usr/include/sys +./usr/include/ufs +./usr/include/ufs/ffs +./usr/include/ufs/lfs +./usr/include/ufs/mfs +./usr/include/ufs/ufs +./usr/include/vm +./usr/lib +./usr/libdata +./usr/libdata/lint +./usr/libexec +./usr/libexec/atrun +./usr/libexec/comsat +./usr/libexec/cpp +./usr/libexec/fingerd +./usr/libexec/ftpd +./usr/libexec/getNAME +./usr/libexec/getty +./usr/libexec/identd +./usr/libexec/lfs_cleanerd +./usr/libexec/locate.bigram +./usr/libexec/locate.code +./usr/libexec/locate.updatedb +./usr/libexec/lpr +./usr/libexec/lpr/lpf +./usr/libexec/mail.local +./usr/libexec/makekey +./usr/libexec/makewhatis +./usr/libexec/named-xfer +./usr/libexec/ntalkd +./usr/libexec/rexecd +./usr/libexec/rlogind +./usr/libexec/rpc.rquotad +./usr/libexec/rpc.rstatd +./usr/libexec/rpc.rusersd +./usr/libexec/rpc.rwalld +./usr/libexec/rpc.sprayd +./usr/libexec/rshd +./usr/libexec/telnetd +./usr/libexec/tftpd +./usr/libexec/uucp +./usr/libexec/uucp/uuchk +./usr/libexec/uucp/uucico +./usr/libexec/uucp/uuconv +./usr/libexec/uucp/uuxqt +./usr/libexec/uucpd +./usr/local +./usr/local/bin +./usr/local/lib +./usr/local/libdata +./usr/local/libexec +./usr/local/man +./usr/local/man/cat1 +./usr/local/man/cat2 +./usr/local/man/cat3 +./usr/local/man/cat4 +./usr/local/man/cat5 +./usr/local/man/cat6 +./usr/local/man/cat7 +./usr/local/man/cat8 +./usr/local/man/man1 +./usr/local/man/man2 +./usr/local/man/man3 +./usr/local/man/man4 +./usr/local/man/man5 +./usr/local/man/man6 +./usr/local/man/man7 +./usr/local/man/man8 +./usr/local/sbin +./usr/mdec +./usr/obj +./usr/sbin +./usr/sbin/ac +./usr/sbin/accton +./usr/sbin/amd +./usr/sbin/amq +./usr/sbin/arp +./usr/sbin/bootpd +./usr/sbin/bootpef +./usr/sbin/bootpgw +./usr/sbin/bootptest +./usr/sbin/chat +./usr/sbin/chown +./usr/sbin/chroot +./usr/sbin/cron +./usr/sbin/dev_mkdb +./usr/sbin/diskpart +./usr/sbin/edquota +./usr/sbin/fsinfo +./usr/sbin/gettable +./usr/sbin/htable +./usr/sbin/inetd +./usr/sbin/iostat +./usr/sbin/kvm_mkdb +./usr/sbin/lpc +./usr/sbin/lpd +./usr/sbin/lptest +./usr/sbin/mailstats +./usr/sbin/makemap +./usr/sbin/map-mbone +./usr/sbin/mk-amd-map +./usr/sbin/mrinfo +./usr/sbin/mrouted +./usr/sbin/mtrace +./usr/sbin/mtree +./usr/sbin/named +./usr/sbin/named.reload +./usr/sbin/named.restart +./usr/sbin/netgroup_mkdb +./usr/sbin/nslookup +./usr/sbin/nsquery +./usr/sbin/nstest +./usr/sbin/pac +./usr/sbin/portmap +./usr/sbin/pppd +./usr/sbin/pppstats +./usr/sbin/praliases +./usr/sbin/pstat +./usr/sbin/pwd_mkdb +./usr/sbin/quot +./usr/sbin/quotaoff +./usr/sbin/quotaon +./usr/sbin/rarpd +./usr/sbin/rbootd +./usr/sbin/rdate +./usr/sbin/rdconfig +./usr/sbin/repquota +./usr/sbin/rmt +./usr/sbin/rpc.bootparamd +./usr/sbin/rpc.pcnfsd +./usr/sbin/rwhod +./usr/sbin/sa +./usr/sbin/sendmail +./usr/sbin/sliplogin +./usr/sbin/slstats +./usr/sbin/spray +./usr/sbin/sysctl +./usr/sbin/syslogd +./usr/sbin/tcpdump +./usr/sbin/timed +./usr/sbin/timedc +./usr/sbin/traceroute +./usr/sbin/trpt +./usr/sbin/trsp +./usr/sbin/update +./usr/sbin/vipw +./usr/sbin/vnconfig +./usr/sbin/ypbind +./usr/sbin/yppoll +./usr/sbin/ypset +./usr/sbin/zdump +./usr/sbin/zic +./usr/share +./usr/share/calendar +./usr/share/calendar/calendar.birthday +./usr/share/calendar/calendar.christian +./usr/share/calendar/calendar.computer +./usr/share/calendar/calendar.history +./usr/share/calendar/calendar.holiday +./usr/share/calendar/calendar.judaic +./usr/share/calendar/calendar.music +./usr/share/calendar/calendar.usholiday +./usr/share/dict +./usr/share/dict/papers +./usr/share/dict/special +./usr/share/doc +./usr/share/doc/psd +./usr/share/doc/psd/01.cacm +./usr/share/doc/psd/02.implement +./usr/share/doc/psd/03.iosys +./usr/share/doc/psd/04.uprog +./usr/share/doc/psd/05.sysman +./usr/share/doc/psd/06.Clang +./usr/share/doc/psd/07.pascal +./usr/share/doc/psd/08.f77 +./usr/share/doc/psd/09.f77io +./usr/share/doc/psd/10.gdb +./usr/share/doc/psd/11.adb +./usr/share/doc/psd/12.make +./usr/share/doc/psd/13.rcs +./usr/share/doc/psd/14.sccs +./usr/share/doc/psd/15.yacc +./usr/share/doc/psd/16.lex +./usr/share/doc/psd/17.m4 +./usr/share/doc/psd/18.gprof +./usr/share/doc/psd/19.curses +./usr/share/doc/psd/20.ipctut +./usr/share/doc/psd/21.ipc +./usr/share/doc/smm +./usr/share/doc/smm/01.setup +./usr/share/doc/smm/01.setup/tahoe +./usr/share/doc/smm/01.setup/vax +./usr/share/doc/smm/02.config +./usr/share/doc/smm/03.fsck +./usr/share/doc/smm/04.quotas +./usr/share/doc/smm/05.fastfs +./usr/share/doc/smm/06.nfs +./usr/share/doc/smm/07.lpd +./usr/share/doc/smm/08.sendmailop +./usr/share/doc/smm/09.sendmail +./usr/share/doc/smm/10.named +./usr/share/doc/smm/11.timedop +./usr/share/doc/smm/12.timed +./usr/share/doc/smm/13.amd +./usr/share/doc/smm/14.uucpimpl +./usr/share/doc/smm/15.uucpnet +./usr/share/doc/smm/16.security +./usr/share/doc/smm/17.password +./usr/share/doc/smm/18.net +./usr/share/doc/usd +./usr/share/doc/usd/01.begin +./usr/share/doc/usd/02.learn +./usr/share/doc/usd/03.shell +./usr/share/doc/usd/04.csh +./usr/share/doc/usd/05.dc +./usr/share/doc/usd/06.bc +./usr/share/doc/usd/07.mail +./usr/share/doc/usd/08.mh +./usr/share/doc/usd/09.edtut +./usr/share/doc/usd/10.edadv +./usr/share/doc/usd/11.edit +./usr/share/doc/usd/12.vi +./usr/share/doc/usd/13.ex +./usr/share/doc/usd/14.jove +./usr/share/doc/usd/15.sed +./usr/share/doc/usd/16.awk +./usr/share/doc/usd/17.msmacros +./usr/share/doc/usd/18.msdiffs +./usr/share/doc/usd/19.memacros +./usr/share/doc/usd/20.meref +./usr/share/doc/usd/21.troff +./usr/share/doc/usd/22.trofftut +./usr/share/doc/usd/23.eqn +./usr/share/doc/usd/24.eqnguide +./usr/share/doc/usd/25.tbl +./usr/share/doc/usd/26.refer +./usr/share/doc/usd/27.invert +./usr/share/doc/usd/28.bib +./usr/share/doc/usd/29.diction +./usr/share/doc/usd/30.rogue +./usr/share/doc/usd/31.trek +./usr/share/games +./usr/share/games/atc +./usr/share/games/boggle +./usr/share/games/ching +./usr/share/games/fortune +./usr/share/games/larn +./usr/share/games/quiz.db +./usr/share/gnats +./usr/share/gnats/netbsd +./usr/share/groff_font +./usr/share/groff_font/devX100 +./usr/share/groff_font/devX100-12 +./usr/share/groff_font/devX75 +./usr/share/groff_font/devX75-12 +./usr/share/groff_font/devascii +./usr/share/groff_font/devdvi +./usr/share/groff_font/devdvi/generate +./usr/share/groff_font/devlatin1 +./usr/share/groff_font/devps +./usr/share/groff_font/devps/generate +./usr/share/lkm +./usr/share/lkm/misc +./usr/share/lkm/misc/module +./usr/share/lkm/misc/test +./usr/share/lkm/syscall +./usr/share/lkm/syscall/module +./usr/share/lkm/syscall/test +./usr/share/lkm/vfs +./usr/share/lkm/vfs/module +./usr/share/locale +./usr/share/man +./usr/share/man/COPYRIGHT +./usr/share/man/cat1 +./usr/share/man/cat2 +./usr/share/man/cat3 +./usr/share/man/cat3f +./usr/share/man/cat4 +./usr/share/man/cat4/amiga +./usr/share/man/cat4/hp300 +./usr/share/man/cat4/i386 +./usr/share/man/cat4/mac68k +./usr/share/man/cat4/pc532 +./usr/share/man/cat4/sparc +./usr/share/man/cat4/tahoe +./usr/share/man/cat4/vax +./usr/share/man/cat5 +./usr/share/man/cat6 +./usr/share/man/cat7 +./usr/share/man/cat8 +./usr/share/man/cat8/amiga +./usr/share/man/cat8/hp300 +./usr/share/man/cat8/i386 +./usr/share/man/cat8/mac68k +./usr/share/man/cat8/pc532 +./usr/share/man/cat8/sparc +./usr/share/man/cat8/tahoe +./usr/share/man/cat8/vax +./usr/share/man/makewhatis.sed +./usr/share/man/man1 +./usr/share/man/man2 +./usr/share/man/man3 +./usr/share/man/man3f +./usr/share/man/man4 +./usr/share/man/man4/amiga +./usr/share/man/man4/hp300 +./usr/share/man/man4/i386 +./usr/share/man/man4/mac68k +./usr/share/man/man4/pc532 +./usr/share/man/man4/sparc +./usr/share/man/man4/sun3 +./usr/share/man/man4/tahoe +./usr/share/man/man4/vax +./usr/share/man/man5 +./usr/share/man/man6 +./usr/share/man/man7 +./usr/share/man/man8 +./usr/share/man/man8/amiga +./usr/share/man/man8/hp300 +./usr/share/man/man8/i386 +./usr/share/man/man8/mac68k +./usr/share/man/man8/pc532 +./usr/share/man/man8/sparc +./usr/share/man/man8/sun3 +./usr/share/man/man8/tahoe +./usr/share/man/man8/vax +./usr/share/man/whatis.db +./usr/share/me +./usr/share/misc +./usr/share/misc/airport +./usr/share/misc/ascii +./usr/share/misc/birthtoken +./usr/share/misc/inter.phone +./usr/share/misc/mail.help +./usr/share/misc/mail.tildehelp +./usr/share/misc/map3270 +./usr/share/misc/more.help +./usr/share/misc/na.phone +./usr/share/misc/nslookup.help +./usr/share/misc/sendmail.hf +./usr/share/misc/termcap +./usr/share/misc/termcap.db +./usr/share/misc/units.lib +./usr/share/misc/vgrindefs.db +./usr/share/misc/zipcodes +./usr/share/mk +./usr/share/mk/sys.mk +./usr/share/ms +./usr/share/nls +./usr/share/nls/C +./usr/share/nls/C/libc.cat +./usr/share/nls/Pig +./usr/share/nls/Pig/libc.cat +./usr/share/nls/de +./usr/share/nls/de/libc.cat +./usr/share/nls/fr +./usr/share/nls/fr/libc.cat +./usr/share/skel +./usr/share/skel/dot.cshrc +./usr/share/skel/dot.login +./usr/share/skel/dot.mailrc +./usr/share/skel/dot.profile +./usr/share/skel/dot.rhosts +./usr/share/tabset +./usr/share/tabset/3101 +./usr/share/tabset/9837 +./usr/share/tabset/aa +./usr/share/tabset/aed512 +./usr/share/tabset/beehive +./usr/share/tabset/diablo +./usr/share/tabset/dtc382 +./usr/share/tabset/hp700-wy +./usr/share/tabset/ibm3101 +./usr/share/tabset/std +./usr/share/tabset/stdcrt +./usr/share/tabset/tandem653 +./usr/share/tabset/teleray +./usr/share/tabset/vt100 +./usr/share/tabset/wyse-adds +./usr/share/tabset/xerox1720 +./usr/share/tabset/xerox1730 +./usr/share/tabset/xerox1730-lm +./usr/share/tabset/zenith29 +./usr/share/tmac +./usr/share/tmac/mm +./usr/share/zoneinfo +./usr/share/zoneinfo/Africa +./usr/share/zoneinfo/Africa/Abidjan +./usr/share/zoneinfo/Africa/Accra +./usr/share/zoneinfo/Africa/Addis_Ababa +./usr/share/zoneinfo/Africa/Algiers +./usr/share/zoneinfo/Africa/Asmera +./usr/share/zoneinfo/Africa/Bamako +./usr/share/zoneinfo/Africa/Bangui +./usr/share/zoneinfo/Africa/Banjul +./usr/share/zoneinfo/Africa/Bissau +./usr/share/zoneinfo/Africa/Blantyre +./usr/share/zoneinfo/Africa/Brazzaville +./usr/share/zoneinfo/Africa/Bujumbura +./usr/share/zoneinfo/Africa/Cairo +./usr/share/zoneinfo/Africa/Casablanca +./usr/share/zoneinfo/Africa/Conakry +./usr/share/zoneinfo/Africa/Dakar +./usr/share/zoneinfo/Africa/Dar_es_Salaam +./usr/share/zoneinfo/Africa/Djibouti +./usr/share/zoneinfo/Africa/Douala +./usr/share/zoneinfo/Africa/Freetown +./usr/share/zoneinfo/Africa/Gaborone +./usr/share/zoneinfo/Africa/Harare +./usr/share/zoneinfo/Africa/Johannesburg +./usr/share/zoneinfo/Africa/Kampala +./usr/share/zoneinfo/Africa/Khartoum +./usr/share/zoneinfo/Africa/Kigali +./usr/share/zoneinfo/Africa/Kinshasa +./usr/share/zoneinfo/Africa/Lagos +./usr/share/zoneinfo/Africa/Libreville +./usr/share/zoneinfo/Africa/Lome +./usr/share/zoneinfo/Africa/Luanda +./usr/share/zoneinfo/Africa/Lumumbashi +./usr/share/zoneinfo/Africa/Lusaka +./usr/share/zoneinfo/Africa/Malabo +./usr/share/zoneinfo/Africa/Maputo +./usr/share/zoneinfo/Africa/Maseru +./usr/share/zoneinfo/Africa/Mbabane +./usr/share/zoneinfo/Africa/Mogadishu +./usr/share/zoneinfo/Africa/Monrovia +./usr/share/zoneinfo/Africa/Nairobi +./usr/share/zoneinfo/Africa/Ndjamena +./usr/share/zoneinfo/Africa/Niamey +./usr/share/zoneinfo/Africa/Nouakchott +./usr/share/zoneinfo/Africa/Ouagadougou +./usr/share/zoneinfo/Africa/Porto-Novo +./usr/share/zoneinfo/Africa/Sao_Tome +./usr/share/zoneinfo/Africa/Timbuktu +./usr/share/zoneinfo/Africa/Tripoli +./usr/share/zoneinfo/Africa/Tunis +./usr/share/zoneinfo/Africa/Windhoek +./usr/share/zoneinfo/America +./usr/share/zoneinfo/America/Anchorage +./usr/share/zoneinfo/America/Anguilla +./usr/share/zoneinfo/America/Antigua +./usr/share/zoneinfo/America/Asuncion +./usr/share/zoneinfo/America/Atka +./usr/share/zoneinfo/America/Barbados +./usr/share/zoneinfo/America/Belize +./usr/share/zoneinfo/America/Bogota +./usr/share/zoneinfo/America/Buenos_Aires +./usr/share/zoneinfo/America/Caracas +./usr/share/zoneinfo/America/Cayenne +./usr/share/zoneinfo/America/Cayman +./usr/share/zoneinfo/America/Chicago +./usr/share/zoneinfo/America/Costa_Rica +./usr/share/zoneinfo/America/Curacao +./usr/share/zoneinfo/America/Denver +./usr/share/zoneinfo/America/Detroit +./usr/share/zoneinfo/America/Dominica +./usr/share/zoneinfo/America/Edmonton +./usr/share/zoneinfo/America/El_Salvador +./usr/share/zoneinfo/America/Ensenada +./usr/share/zoneinfo/America/Fort_Wayne +./usr/share/zoneinfo/America/Godthab +./usr/share/zoneinfo/America/Grand_Turk +./usr/share/zoneinfo/America/Grenada +./usr/share/zoneinfo/America/Guadeloupe +./usr/share/zoneinfo/America/Guatemala +./usr/share/zoneinfo/America/Guayaquil +./usr/share/zoneinfo/America/Guyana +./usr/share/zoneinfo/America/Halifax +./usr/share/zoneinfo/America/Havana +./usr/share/zoneinfo/America/Jamaica +./usr/share/zoneinfo/America/Knox_IN +./usr/share/zoneinfo/America/La_Paz +./usr/share/zoneinfo/America/Lima +./usr/share/zoneinfo/America/Los_Angeles +./usr/share/zoneinfo/America/Managua +./usr/share/zoneinfo/America/Manaus +./usr/share/zoneinfo/America/Martinique +./usr/share/zoneinfo/America/Mazatlan +./usr/share/zoneinfo/America/Mexico_City +./usr/share/zoneinfo/America/Miquelon +./usr/share/zoneinfo/America/Montevideo +./usr/share/zoneinfo/America/Montreal +./usr/share/zoneinfo/America/Montserrat +./usr/share/zoneinfo/America/Nassau +./usr/share/zoneinfo/America/New_York +./usr/share/zoneinfo/America/Noronha +./usr/share/zoneinfo/America/Panama +./usr/share/zoneinfo/America/Paramaribo +./usr/share/zoneinfo/America/Phoenix +./usr/share/zoneinfo/America/Port-au-Prince +./usr/share/zoneinfo/America/Port_of_Spain +./usr/share/zoneinfo/America/Porto_Acre +./usr/share/zoneinfo/America/Puerto_Rico +./usr/share/zoneinfo/America/Regina +./usr/share/zoneinfo/America/Santiago +./usr/share/zoneinfo/America/Santo_Domingo +./usr/share/zoneinfo/America/Sao_Paulo +./usr/share/zoneinfo/America/Scoresbysund +./usr/share/zoneinfo/America/Shiprock +./usr/share/zoneinfo/America/St_Johns +./usr/share/zoneinfo/America/St_Kitts +./usr/share/zoneinfo/America/St_Lucia +./usr/share/zoneinfo/America/St_Vincent +./usr/share/zoneinfo/America/Tegucigalpa +./usr/share/zoneinfo/America/Thule +./usr/share/zoneinfo/America/Tijuana +./usr/share/zoneinfo/America/Vancouver +./usr/share/zoneinfo/America/Virgin +./usr/share/zoneinfo/America/Whitehorse +./usr/share/zoneinfo/America/Winnipeg +./usr/share/zoneinfo/Asia +./usr/share/zoneinfo/Asia/Aden +./usr/share/zoneinfo/Asia/Alma-Ata +./usr/share/zoneinfo/Asia/Amman +./usr/share/zoneinfo/Asia/Anadyr +./usr/share/zoneinfo/Asia/Ashkhabad +./usr/share/zoneinfo/Asia/Baghdad +./usr/share/zoneinfo/Asia/Bahrain +./usr/share/zoneinfo/Asia/Baku +./usr/share/zoneinfo/Asia/Bangkok +./usr/share/zoneinfo/Asia/Beirut +./usr/share/zoneinfo/Asia/Bishkek +./usr/share/zoneinfo/Asia/Brunei +./usr/share/zoneinfo/Asia/Calcutta +./usr/share/zoneinfo/Asia/Colombo +./usr/share/zoneinfo/Asia/Dacca +./usr/share/zoneinfo/Asia/Damascus +./usr/share/zoneinfo/Asia/Dubai +./usr/share/zoneinfo/Asia/Dushanbe +./usr/share/zoneinfo/Asia/Gaza +./usr/share/zoneinfo/Asia/Hong_Kong +./usr/share/zoneinfo/Asia/Irkutsk +./usr/share/zoneinfo/Asia/Istanbul +./usr/share/zoneinfo/Asia/Jakarta +./usr/share/zoneinfo/Asia/Jayapura +./usr/share/zoneinfo/Asia/Kabul +./usr/share/zoneinfo/Asia/Kamchatka +./usr/share/zoneinfo/Asia/Karachi +./usr/share/zoneinfo/Asia/Katmandu +./usr/share/zoneinfo/Asia/Kuala_Lumpur +./usr/share/zoneinfo/Asia/Kuwait +./usr/share/zoneinfo/Asia/Macao +./usr/share/zoneinfo/Asia/Magadan +./usr/share/zoneinfo/Asia/Manila +./usr/share/zoneinfo/Asia/Muscat +./usr/share/zoneinfo/Asia/Nicosia +./usr/share/zoneinfo/Asia/Novosibirsk +./usr/share/zoneinfo/Asia/Omsk +./usr/share/zoneinfo/Asia/Phnom_Penh +./usr/share/zoneinfo/Asia/Pyongyang +./usr/share/zoneinfo/Asia/Qatar +./usr/share/zoneinfo/Asia/Rangoon +./usr/share/zoneinfo/Asia/Riyadh +./usr/share/zoneinfo/Asia/Saigon +./usr/share/zoneinfo/Asia/Seoul +./usr/share/zoneinfo/Asia/Shanghai +./usr/share/zoneinfo/Asia/Singapore +./usr/share/zoneinfo/Asia/Taipei +./usr/share/zoneinfo/Asia/Tashkent +./usr/share/zoneinfo/Asia/Tbilisi +./usr/share/zoneinfo/Asia/Tehran +./usr/share/zoneinfo/Asia/Tel_Aviv +./usr/share/zoneinfo/Asia/Thimbu +./usr/share/zoneinfo/Asia/Tokyo +./usr/share/zoneinfo/Asia/Tomsk +./usr/share/zoneinfo/Asia/Ujung_Pandang +./usr/share/zoneinfo/Asia/Ulan_Bator +./usr/share/zoneinfo/Asia/Vientiane +./usr/share/zoneinfo/Asia/Vladivostok +./usr/share/zoneinfo/Asia/Yakutsk +./usr/share/zoneinfo/Asia/Yekaterinburg +./usr/share/zoneinfo/Asia/Yerevan +./usr/share/zoneinfo/Atlantic +./usr/share/zoneinfo/Atlantic/Azores +./usr/share/zoneinfo/Atlantic/Bermuda +./usr/share/zoneinfo/Atlantic/Canary +./usr/share/zoneinfo/Atlantic/Cape_Verde +./usr/share/zoneinfo/Atlantic/Faeroe +./usr/share/zoneinfo/Atlantic/Jan_Mayen +./usr/share/zoneinfo/Atlantic/Madeira +./usr/share/zoneinfo/Atlantic/Reykjavik +./usr/share/zoneinfo/Atlantic/South_Georgia +./usr/share/zoneinfo/Atlantic/St_Helena +./usr/share/zoneinfo/Atlantic/Stanley +./usr/share/zoneinfo/Australia +./usr/share/zoneinfo/Australia/ACT +./usr/share/zoneinfo/Australia/Adelaide +./usr/share/zoneinfo/Australia/Brisbane +./usr/share/zoneinfo/Australia/Broken_Hill +./usr/share/zoneinfo/Australia/Canberra +./usr/share/zoneinfo/Australia/Darwin +./usr/share/zoneinfo/Australia/Hobart +./usr/share/zoneinfo/Australia/LHI +./usr/share/zoneinfo/Australia/Lord_Howe +./usr/share/zoneinfo/Australia/Melbourne +./usr/share/zoneinfo/Australia/NSW +./usr/share/zoneinfo/Australia/North +./usr/share/zoneinfo/Australia/Perth +./usr/share/zoneinfo/Australia/Queensland +./usr/share/zoneinfo/Australia/South +./usr/share/zoneinfo/Australia/Sydney +./usr/share/zoneinfo/Australia/Tasmania +./usr/share/zoneinfo/Australia/Victoria +./usr/share/zoneinfo/Australia/West +./usr/share/zoneinfo/Australia/Yancowinna +./usr/share/zoneinfo/Brazil +./usr/share/zoneinfo/Brazil/Acre +./usr/share/zoneinfo/Brazil/DeNoronha +./usr/share/zoneinfo/Brazil/East +./usr/share/zoneinfo/Brazil/West +./usr/share/zoneinfo/CET +./usr/share/zoneinfo/CST6CDT +./usr/share/zoneinfo/Canada +./usr/share/zoneinfo/Canada/Atlantic +./usr/share/zoneinfo/Canada/Central +./usr/share/zoneinfo/Canada/East-Saskatchewan +./usr/share/zoneinfo/Canada/Eastern +./usr/share/zoneinfo/Canada/Mountain +./usr/share/zoneinfo/Canada/Newfoundland +./usr/share/zoneinfo/Canada/Pacific +./usr/share/zoneinfo/Canada/Saskatchewan +./usr/share/zoneinfo/Canada/Yukon +./usr/share/zoneinfo/Chile +./usr/share/zoneinfo/Chile/Continental +./usr/share/zoneinfo/Chile/EasterIsland +./usr/share/zoneinfo/Cuba +./usr/share/zoneinfo/EET +./usr/share/zoneinfo/EST +./usr/share/zoneinfo/EST5EDT +./usr/share/zoneinfo/Egypt +./usr/share/zoneinfo/Eire +./usr/share/zoneinfo/Etc +./usr/share/zoneinfo/Etc/GMT +./usr/share/zoneinfo/Etc/GMT+0 +./usr/share/zoneinfo/Etc/GMT+1 +./usr/share/zoneinfo/Etc/GMT+10 +./usr/share/zoneinfo/Etc/GMT+11 +./usr/share/zoneinfo/Etc/GMT+12 +./usr/share/zoneinfo/Etc/GMT+2 +./usr/share/zoneinfo/Etc/GMT+3 +./usr/share/zoneinfo/Etc/GMT+4 +./usr/share/zoneinfo/Etc/GMT+5 +./usr/share/zoneinfo/Etc/GMT+6 +./usr/share/zoneinfo/Etc/GMT+7 +./usr/share/zoneinfo/Etc/GMT+8 +./usr/share/zoneinfo/Etc/GMT+9 +./usr/share/zoneinfo/Etc/GMT-0 +./usr/share/zoneinfo/Etc/GMT-1 +./usr/share/zoneinfo/Etc/GMT-10 +./usr/share/zoneinfo/Etc/GMT-11 +./usr/share/zoneinfo/Etc/GMT-12 +./usr/share/zoneinfo/Etc/GMT-13 +./usr/share/zoneinfo/Etc/GMT-2 +./usr/share/zoneinfo/Etc/GMT-3 +./usr/share/zoneinfo/Etc/GMT-4 +./usr/share/zoneinfo/Etc/GMT-5 +./usr/share/zoneinfo/Etc/GMT-6 +./usr/share/zoneinfo/Etc/GMT-7 +./usr/share/zoneinfo/Etc/GMT-8 +./usr/share/zoneinfo/Etc/GMT-9 +./usr/share/zoneinfo/Etc/GMT0 +./usr/share/zoneinfo/Etc/Greenwich +./usr/share/zoneinfo/Etc/UCT +./usr/share/zoneinfo/Etc/UTC +./usr/share/zoneinfo/Etc/Universal +./usr/share/zoneinfo/Etc/Zulu +./usr/share/zoneinfo/Europe +./usr/share/zoneinfo/Europe/Amsterdam +./usr/share/zoneinfo/Europe/Andorra +./usr/share/zoneinfo/Europe/Athens +./usr/share/zoneinfo/Europe/Belfast +./usr/share/zoneinfo/Europe/Belgrade +./usr/share/zoneinfo/Europe/Berlin +./usr/share/zoneinfo/Europe/Bratislava +./usr/share/zoneinfo/Europe/Brussels +./usr/share/zoneinfo/Europe/Bucharest +./usr/share/zoneinfo/Europe/Budapest +./usr/share/zoneinfo/Europe/Chisinau +./usr/share/zoneinfo/Europe/Copenhagen +./usr/share/zoneinfo/Europe/Dublin +./usr/share/zoneinfo/Europe/Gibraltar +./usr/share/zoneinfo/Europe/Helsinki +./usr/share/zoneinfo/Europe/Istanbul +./usr/share/zoneinfo/Europe/Kiev +./usr/share/zoneinfo/Europe/Kuybyshev +./usr/share/zoneinfo/Europe/Lisbon +./usr/share/zoneinfo/Europe/Ljubljana +./usr/share/zoneinfo/Europe/London +./usr/share/zoneinfo/Europe/Luxembourg +./usr/share/zoneinfo/Europe/Madrid +./usr/share/zoneinfo/Europe/Malta +./usr/share/zoneinfo/Europe/Minsk +./usr/share/zoneinfo/Europe/Monaco +./usr/share/zoneinfo/Europe/Moscow +./usr/share/zoneinfo/Europe/Oslo +./usr/share/zoneinfo/Europe/Paris +./usr/share/zoneinfo/Europe/Prague +./usr/share/zoneinfo/Europe/Riga +./usr/share/zoneinfo/Europe/Rome +./usr/share/zoneinfo/Europe/San_Marino +./usr/share/zoneinfo/Europe/Sarajevo +./usr/share/zoneinfo/Europe/Simferopol +./usr/share/zoneinfo/Europe/Skopje +./usr/share/zoneinfo/Europe/Sofia +./usr/share/zoneinfo/Europe/Stockholm +./usr/share/zoneinfo/Europe/Tallinn +./usr/share/zoneinfo/Europe/Tirane +./usr/share/zoneinfo/Europe/Vaduz +./usr/share/zoneinfo/Europe/Vatican +./usr/share/zoneinfo/Europe/Vienna +./usr/share/zoneinfo/Europe/Vilnius +./usr/share/zoneinfo/Europe/Warsaw +./usr/share/zoneinfo/Europe/Zagreb +./usr/share/zoneinfo/Europe/Zurich +./usr/share/zoneinfo/Factory +./usr/share/zoneinfo/GB +./usr/share/zoneinfo/GMT +./usr/share/zoneinfo/GMT+0 +./usr/share/zoneinfo/GMT-0 +./usr/share/zoneinfo/GMT0 +./usr/share/zoneinfo/Greenwich +./usr/share/zoneinfo/HST +./usr/share/zoneinfo/Hongkong +./usr/share/zoneinfo/Iceland +./usr/share/zoneinfo/Indian +./usr/share/zoneinfo/Indian/Antananarivo +./usr/share/zoneinfo/Indian/Chagos +./usr/share/zoneinfo/Indian/Christmas +./usr/share/zoneinfo/Indian/Cocos +./usr/share/zoneinfo/Indian/Comoro +./usr/share/zoneinfo/Indian/Mahe +./usr/share/zoneinfo/Indian/Maldives +./usr/share/zoneinfo/Indian/Mauritius +./usr/share/zoneinfo/Indian/Mayotte +./usr/share/zoneinfo/Indian/Reunion +./usr/share/zoneinfo/Iran +./usr/share/zoneinfo/Israel +./usr/share/zoneinfo/Jamaica +./usr/share/zoneinfo/Japan +./usr/share/zoneinfo/Kwajalein +./usr/share/zoneinfo/Libya +./usr/share/zoneinfo/MET +./usr/share/zoneinfo/MST +./usr/share/zoneinfo/MST7MDT +./usr/share/zoneinfo/Mexico +./usr/share/zoneinfo/Mexico/BajaNorte +./usr/share/zoneinfo/Mexico/BajaSur +./usr/share/zoneinfo/Mexico/General +./usr/share/zoneinfo/Mideast +./usr/share/zoneinfo/Mideast/Riyadh87 +./usr/share/zoneinfo/Mideast/Riyadh88 +./usr/share/zoneinfo/Mideast/Riyadh89 +./usr/share/zoneinfo/NZ +./usr/share/zoneinfo/NZ-CHAT +./usr/share/zoneinfo/Navajo +./usr/share/zoneinfo/PRC +./usr/share/zoneinfo/PST8PDT +./usr/share/zoneinfo/Pacific +./usr/share/zoneinfo/Pacific/Auckland +./usr/share/zoneinfo/Pacific/Chatham +./usr/share/zoneinfo/Pacific/Easter +./usr/share/zoneinfo/Pacific/Efate +./usr/share/zoneinfo/Pacific/Enderbury +./usr/share/zoneinfo/Pacific/Fakaofo +./usr/share/zoneinfo/Pacific/Fiji +./usr/share/zoneinfo/Pacific/Funafuti +./usr/share/zoneinfo/Pacific/Galapagos +./usr/share/zoneinfo/Pacific/Gambier +./usr/share/zoneinfo/Pacific/Guadalcanal +./usr/share/zoneinfo/Pacific/Guam +./usr/share/zoneinfo/Pacific/Honolulu +./usr/share/zoneinfo/Pacific/Kiritimati +./usr/share/zoneinfo/Pacific/Kwajalein +./usr/share/zoneinfo/Pacific/Majuro +./usr/share/zoneinfo/Pacific/Marquesas +./usr/share/zoneinfo/Pacific/Midway +./usr/share/zoneinfo/Pacific/Nauru +./usr/share/zoneinfo/Pacific/Niue +./usr/share/zoneinfo/Pacific/Norfolk +./usr/share/zoneinfo/Pacific/Noumea +./usr/share/zoneinfo/Pacific/Palau +./usr/share/zoneinfo/Pacific/Pitcairn +./usr/share/zoneinfo/Pacific/Ponape +./usr/share/zoneinfo/Pacific/Port_Moresby +./usr/share/zoneinfo/Pacific/Rarotonga +./usr/share/zoneinfo/Pacific/Samoa +./usr/share/zoneinfo/Pacific/Tahiti +./usr/share/zoneinfo/Pacific/Tarawa +./usr/share/zoneinfo/Pacific/Tongatapu +./usr/share/zoneinfo/Pacific/Truk +./usr/share/zoneinfo/Pacific/Wake +./usr/share/zoneinfo/Pacific/Wallis +./usr/share/zoneinfo/Pacific/Yap +./usr/share/zoneinfo/Poland +./usr/share/zoneinfo/Portugal +./usr/share/zoneinfo/ROC +./usr/share/zoneinfo/ROK +./usr/share/zoneinfo/Singapore +./usr/share/zoneinfo/SystemV +./usr/share/zoneinfo/SystemV/AST4 +./usr/share/zoneinfo/SystemV/AST4ADT +./usr/share/zoneinfo/SystemV/CST6 +./usr/share/zoneinfo/SystemV/CST6CDT +./usr/share/zoneinfo/SystemV/EST5 +./usr/share/zoneinfo/SystemV/EST5EDT +./usr/share/zoneinfo/SystemV/HST10 +./usr/share/zoneinfo/SystemV/MST7 +./usr/share/zoneinfo/SystemV/MST7MDT +./usr/share/zoneinfo/SystemV/PST8 +./usr/share/zoneinfo/SystemV/PST8PDT +./usr/share/zoneinfo/SystemV/YST9 +./usr/share/zoneinfo/SystemV/YST9YDT +./usr/share/zoneinfo/Turkey +./usr/share/zoneinfo/UCT +./usr/share/zoneinfo/US +./usr/share/zoneinfo/US/Alaska +./usr/share/zoneinfo/US/Aleutian +./usr/share/zoneinfo/US/Arizona +./usr/share/zoneinfo/US/Central +./usr/share/zoneinfo/US/East-Indiana +./usr/share/zoneinfo/US/Eastern +./usr/share/zoneinfo/US/Hawaii +./usr/share/zoneinfo/US/Indiana-Starke +./usr/share/zoneinfo/US/Michigan +./usr/share/zoneinfo/US/Mountain +./usr/share/zoneinfo/US/Pacific +./usr/share/zoneinfo/US/Pacific-New +./usr/share/zoneinfo/US/Samoa +./usr/share/zoneinfo/UTC +./usr/share/zoneinfo/Universal +./usr/share/zoneinfo/W-SU +./usr/share/zoneinfo/WET +./usr/share/zoneinfo/Zulu +./usr/share/zoneinfo/posixrules +./usr/src +./var +./var/account +./var/at +./var/at/jobs +./var/at/spool +./var/backups +./var/crash +./var/cron +./var/cron/log +./var/cron/tabs +./var/db +./var/db/locate.database +./var/db/ns +./var/games +./var/games/hackdir +./var/games/hackdir/save +./var/games/larn +./var/games/phantasia +./var/games/save +./var/log +./var/log/lastlog +./var/log/lpd-errs +./var/log/maillog +./var/log/messages +./var/log/rdist +./var/log/sendmail.st +./var/log/wtmp +./var/mail +./var/msgs +./var/preserve +./var/quotas +./var/run +./var/run/utmp +./var/rwho +./var/spool +./var/spool/ftp +./var/spool/ftp/bin +./var/spool/ftp/etc +./var/spool/ftp/hidden +./var/spool/lock +./var/spool/lpd +./var/spool/mqueue +./var/spool/output +./var/spool/secretmail +./var/spool/sockets +./var/spool/uucp +./var/spool/uucppublic +./var/tmp +./var/tmp/vi.recover diff --git a/distrib/sets/lists/comp/md.amiga b/distrib/sets/lists/comp/md.amiga new file mode 100644 index 00000000000..3710a16e4ef --- /dev/null +++ b/distrib/sets/lists/comp/md.amiga @@ -0,0 +1,65 @@ +./usr/include/m68k +./usr/include/m68k/ansi.h +./usr/include/m68k/asm.h +./usr/include/m68k/cdefs.h +./usr/include/m68k/db_machdep.h +./usr/include/m68k/endian.h +./usr/include/m68k/float.h +./usr/include/m68k/frame.h +./usr/include/m68k/ieeefp.h +./usr/include/m68k/limits.h +./usr/include/m68k/profile.h +./usr/include/m68k/psl.h +./usr/include/m68k/ptrace.h +./usr/include/m68k/reg.h +./usr/include/m68k/setjmp.h +./usr/include/m68k/signal.h +./usr/include/m68k/stdarg.h +./usr/include/m68k/trap.h +./usr/include/m68k/types.h +./usr/include/m68k/varargs.h +./usr/include/machine/ansi.h +./usr/include/machine/asm.h +./usr/include/machine/cdefs.h +./usr/include/machine/cpu.h +./usr/include/machine/cpufunc.h +./usr/include/machine/db_machdep.h +./usr/include/machine/disklabel.h +./usr/include/machine/endian.h +./usr/include/machine/exec.h +./usr/include/machine/float.h +./usr/include/machine/frame.h +./usr/include/machine/ieeefp.h +./usr/include/machine/limits.h +./usr/include/machine/mtpr.h +./usr/include/machine/param.h +./usr/include/machine/pcb.h +./usr/include/machine/pmap.h +./usr/include/machine/proc.h +./usr/include/machine/profile.h +./usr/include/machine/psl.h +./usr/include/machine/pte.h +./usr/include/machine/ptrace.h +./usr/include/machine/reg.h +./usr/include/machine/setjmp.h +./usr/include/machine/signal.h +./usr/include/machine/stdarg.h +./usr/include/machine/trap.h +./usr/include/machine/types.h +./usr/include/machine/varargs.h +./usr/include/machine/vmparam.h +./usr/lib/libc_pic.a +./usr/lib/libcrypt_pic.a +./usr/lib/libcurses_pic.a +./usr/lib/libedit_pic.a +./usr/lib/libg++_pic.a +./usr/lib/libgnumalloc_pic.a +./usr/lib/libkvm_pic.a +./usr/lib/libm_pic.a +./usr/lib/libpcap_pic.a +./usr/lib/libresolv_pic.a +./usr/lib/libskey_pic.a +./usr/lib/libtelnet_pic.a +./usr/lib/libtermcap_pic.a +./usr/lib/libutil_pic.a +./usr/lib/scrt0.o diff --git a/distrib/sets/lists/comp/md.atari b/distrib/sets/lists/comp/md.atari new file mode 100644 index 00000000000..4c21ad23514 --- /dev/null +++ b/distrib/sets/lists/comp/md.atari @@ -0,0 +1,72 @@ +./usr/include/m68k +./usr/include/m68k/ansi.h +./usr/include/m68k/asm.h +./usr/include/m68k/cdefs.h +./usr/include/m68k/db_machdep.h +./usr/include/m68k/endian.h +./usr/include/m68k/float.h +./usr/include/m68k/frame.h +./usr/include/m68k/ieeefp.h +./usr/include/m68k/limits.h +./usr/include/m68k/profile.h +./usr/include/m68k/psl.h +./usr/include/m68k/ptrace.h +./usr/include/m68k/reg.h +./usr/include/m68k/setjmp.h +./usr/include/m68k/signal.h +./usr/include/m68k/stdarg.h +./usr/include/m68k/trap.h +./usr/include/m68k/types.h +./usr/include/m68k/varargs.h +./usr/include/machine/acia.h +./usr/include/machine/ansi.h +./usr/include/machine/asm.h +./usr/include/machine/cdefs.h +./usr/include/machine/cpu.h +./usr/include/machine/cpufunc.h +./usr/include/machine/db_machdep.h +./usr/include/machine/disklabel.h +./usr/include/machine/dma.h +./usr/include/machine/endian.h +./usr/include/machine/exec.h +./usr/include/machine/float.h +./usr/include/machine/frame.h +./usr/include/machine/ieeefp.h +./usr/include/machine/iomap.h +./usr/include/machine/limits.h +./usr/include/machine/mfp.h +./usr/include/machine/mtpr.h +./usr/include/machine/param.h +./usr/include/machine/pcb.h +./usr/include/machine/pmap.h +./usr/include/machine/proc.h +./usr/include/machine/profile.h +./usr/include/machine/psl.h +./usr/include/machine/pte.h +./usr/include/machine/ptrace.h +./usr/include/machine/reg.h +./usr/include/machine/scu.h +./usr/include/machine/setjmp.h +./usr/include/machine/signal.h +./usr/include/machine/stdarg.h +./usr/include/machine/tospart.h +./usr/include/machine/trap.h +./usr/include/machine/types.h +./usr/include/machine/varargs.h +./usr/include/machine/video.h +./usr/include/machine/vmparam.h +./usr/lib/libc_pic.a +./usr/lib/libcrypt_pic.a +./usr/lib/libcurses_pic.a +./usr/lib/libedit_pic.a +./usr/lib/libg++_pic.a +./usr/lib/libgnumalloc_pic.a +./usr/lib/libkvm_pic.a +./usr/lib/libm_pic.a +./usr/lib/libpcap_pic.a +./usr/lib/libresolv_pic.a +./usr/lib/libskey_pic.a +./usr/lib/libtelnet_pic.a +./usr/lib/libtermcap_pic.a +./usr/lib/libutil_pic.a +./usr/lib/scrt0.o diff --git a/distrib/sets/lists/comp/md.hp300 b/distrib/sets/lists/comp/md.hp300 new file mode 100644 index 00000000000..f16eddf41d7 --- /dev/null +++ b/distrib/sets/lists/comp/md.hp300 @@ -0,0 +1,65 @@ +./usr/include/m68k +./usr/include/m68k/ansi.h +./usr/include/m68k/asm.h +./usr/include/m68k/cdefs.h +./usr/include/m68k/db_machdep.h +./usr/include/m68k/endian.h +./usr/include/m68k/float.h +./usr/include/m68k/frame.h +./usr/include/m68k/ieeefp.h +./usr/include/m68k/limits.h +./usr/include/m68k/profile.h +./usr/include/m68k/psl.h +./usr/include/m68k/ptrace.h +./usr/include/m68k/reg.h +./usr/include/m68k/setjmp.h +./usr/include/m68k/signal.h +./usr/include/m68k/stdarg.h +./usr/include/m68k/trap.h +./usr/include/m68k/types.h +./usr/include/m68k/varargs.h +./usr/include/machine/ansi.h +./usr/include/machine/asm.h +./usr/include/machine/cdefs.h +./usr/include/machine/cpu.h +./usr/include/machine/db_machdep.h +./usr/include/machine/disklabel.h +./usr/include/machine/endian.h +./usr/include/machine/exec.h +./usr/include/machine/float.h +./usr/include/machine/frame.h +./usr/include/machine/ieeefp.h +./usr/include/machine/limits.h +./usr/include/machine/mtpr.h +./usr/include/machine/param.h +./usr/include/machine/pcb.h +./usr/include/machine/pmap.h +./usr/include/machine/proc.h +./usr/include/machine/profile.h +./usr/include/machine/psl.h +./usr/include/machine/pte.h +./usr/include/machine/ptrace.h +./usr/include/machine/reg.h +./usr/include/machine/setjmp.h +./usr/include/machine/signal.h +./usr/include/machine/stdarg.h +./usr/include/machine/trap.h +./usr/include/machine/types.h +./usr/include/machine/varargs.h +./usr/include/machine/vmparam.h +./usr/lib/libc_pic.a +./usr/lib/libcrypt_pic.a +./usr/lib/libcurses_pic.a +./usr/lib/libedit_pic.a +./usr/lib/libg++_pic.a +./usr/lib/libgnumalloc_pic.a +./usr/lib/libkvm_pic.a +./usr/lib/libm_pic.a +./usr/lib/libpcap_pic.a +./usr/lib/libresolv_pic.a +./usr/lib/libskey_pic.a +./usr/lib/libtelnet_pic.a +./usr/lib/libtermcap_pic.a +./usr/lib/libutil_pic.a +./usr/lib/scrt0.o +./usr/sbin/config.old diff --git a/distrib/sets/lists/comp/md.i386 b/distrib/sets/lists/comp/md.i386 new file mode 100644 index 00000000000..ab00d5c86dc --- /dev/null +++ b/distrib/sets/lists/comp/md.i386 @@ -0,0 +1,62 @@ +./usr/include/i386 +./usr/include/machine/ansi.h +./usr/include/machine/asm.h +./usr/include/machine/cdefs.h +./usr/include/machine/cpu.h +./usr/include/machine/cpufunc.h +./usr/include/machine/cputypes.h +./usr/include/machine/db_machdep.h +./usr/include/machine/disklabel.h +./usr/include/machine/endian.h +./usr/include/machine/exec.h +./usr/include/machine/float.h +./usr/include/machine/frame.h +./usr/include/machine/ieeefp.h +./usr/include/machine/limits.h +./usr/include/machine/linux_machdep.h +./usr/include/machine/mouse.h +./usr/include/machine/npx.h +./usr/include/machine/param.h +./usr/include/machine/pcb.h +./usr/include/machine/pccons.h +./usr/include/machine/pio.h +./usr/include/machine/pmap.h +./usr/include/machine/proc.h +./usr/include/machine/profile.h +./usr/include/machine/psl.h +./usr/include/machine/pte.h +./usr/include/machine/ptrace.h +./usr/include/machine/reg.h +./usr/include/machine/segments.h +./usr/include/machine/setjmp.h +./usr/include/machine/signal.h +./usr/include/machine/specialreg.h +./usr/include/machine/spkr.h +./usr/include/machine/stdarg.h +./usr/include/machine/svr4_machdep.h +./usr/include/machine/sysarch.h +./usr/include/machine/trap.h +./usr/include/machine/tss.h +./usr/include/machine/types.h +./usr/include/machine/varargs.h +./usr/include/machine/vmparam.h +./usr/lib/libc_pic.a +./usr/lib/libcrypt_pic.a +./usr/lib/libcurses_pic.a +./usr/lib/libedit_pic.a +./usr/lib/libg++_pic.a +./usr/lib/libgnumalloc_pic.a +./usr/lib/libi386.a +./usr/lib/libi386_p.a +./usr/lib/libi386_pic.a +./usr/lib/libkvm_pic.a +./usr/lib/libm_pic.a +./usr/lib/libpcap_pic.a +./usr/lib/libresolv_pic.a +./usr/lib/libskey_pic.a +./usr/lib/libtelnet_pic.a +./usr/lib/libtermcap_pic.a +./usr/lib/libutil_pic.a +./usr/lib/scrt0.o +./usr/share/man/cat2/i386_get_ldt.0 +./usr/share/man/cat2/i386_set_ldt.0 diff --git a/distrib/sets/lists/comp/md.mac68k b/distrib/sets/lists/comp/md.mac68k new file mode 100644 index 00000000000..497bb4f1c96 --- /dev/null +++ b/distrib/sets/lists/comp/md.mac68k @@ -0,0 +1,70 @@ +./usr/include/m68k +./usr/include/m68k/ansi.h +./usr/include/m68k/asm.h +./usr/include/m68k/cdefs.h +./usr/include/m68k/db_machdep.h +./usr/include/m68k/endian.h +./usr/include/m68k/float.h +./usr/include/m68k/frame.h +./usr/include/m68k/ieeefp.h +./usr/include/m68k/limits.h +./usr/include/m68k/profile.h +./usr/include/m68k/psl.h +./usr/include/m68k/ptrace.h +./usr/include/m68k/reg.h +./usr/include/m68k/setjmp.h +./usr/include/m68k/signal.h +./usr/include/m68k/stdarg.h +./usr/include/m68k/trap.h +./usr/include/m68k/types.h +./usr/include/m68k/varargs.h +./usr/include/machine/adbsys.h +./usr/include/machine/ansi.h +./usr/include/machine/asm.h +./usr/include/machine/cdefs.h +./usr/include/machine/cpu.h +./usr/include/machine/db_machdep.h +./usr/include/machine/disklabel.h +./usr/include/machine/endian.h +./usr/include/machine/exec.h +./usr/include/machine/float.h +./usr/include/machine/frame.h +./usr/include/machine/grfioctl.h +./usr/include/machine/ieeefp.h +./usr/include/machine/iteioctl.h +./usr/include/machine/keyboard.h +./usr/include/machine/limits.h +./usr/include/machine/param.h +./usr/include/machine/pcb.h +./usr/include/machine/pio.h +./usr/include/machine/pmap.h +./usr/include/machine/proc.h +./usr/include/machine/profile.h +./usr/include/machine/psl.h +./usr/include/machine/pte.h +./usr/include/machine/ptrace.h +./usr/include/machine/reg.h +./usr/include/machine/scsi96reg.h +./usr/include/machine/scsi_5380.h +./usr/include/machine/setjmp.h +./usr/include/machine/signal.h +./usr/include/machine/stdarg.h +./usr/include/machine/trap.h +./usr/include/machine/types.h +./usr/include/machine/varargs.h +./usr/include/machine/vmparam.h +./usr/lib/libc_pic.a +./usr/lib/libcrypt_pic.a +./usr/lib/libcurses_pic.a +./usr/lib/libedit_pic.a +./usr/lib/libg++_pic.a +./usr/lib/libgnumalloc_pic.a +./usr/lib/libkvm_pic.a +./usr/lib/libm_pic.a +./usr/lib/libpcap_pic.a +./usr/lib/libresolv_pic.a +./usr/lib/libskey_pic.a +./usr/lib/libtelnet_pic.a +./usr/lib/libtermcap_pic.a +./usr/lib/libutil_pic.a +./usr/lib/scrt0.o diff --git a/distrib/sets/lists/comp/md.pc532 b/distrib/sets/lists/comp/md.pc532 new file mode 100644 index 00000000000..ae5c4d7e232 --- /dev/null +++ b/distrib/sets/lists/comp/md.pc532 @@ -0,0 +1,27 @@ +./usr/include/machine/ansi.h +./usr/include/machine/asm.h +./usr/include/machine/cpu.h +./usr/include/machine/db_machdep.h +./usr/include/machine/endian.h +./usr/include/machine/exec.h +./usr/include/machine/float.h +./usr/include/machine/frame.h +./usr/include/machine/icu.h +./usr/include/machine/jmpbuf.h +./usr/include/machine/limits.h +./usr/include/machine/mtpr.h +./usr/include/machine/param.h +./usr/include/machine/pcb.h +./usr/include/machine/pmap.h +./usr/include/machine/proc.h +./usr/include/machine/profile.h +./usr/include/machine/psl.h +./usr/include/machine/ptrace.h +./usr/include/machine/reg.h +./usr/include/machine/signal.h +./usr/include/machine/stdarg.h +./usr/include/machine/trap.h +./usr/include/machine/types.h +./usr/include/machine/varargs.h +./usr/include/machine/vmparam.h +./usr/include/ns32k diff --git a/distrib/sets/lists/comp/md.pmax b/distrib/sets/lists/comp/md.pmax new file mode 100644 index 00000000000..6b0e95de147 --- /dev/null +++ b/distrib/sets/lists/comp/md.pmax @@ -0,0 +1,66 @@ +./usr/bin/elf2aout +./usr/bin/objcopy +./usr/bin/objdump +./usr/include/machine +./usr/include/machine/ansi.h +./usr/include/machine/bsd-aout.h +./usr/include/machine/cpu.h +./usr/include/machine/dc7085cons.h +./usr/include/machine/disklabel.h +./usr/include/machine/ecoff.h +./usr/include/machine/elf.h +./usr/include/machine/endian.h +./usr/include/machine/exec.h +./usr/include/machine/float.h +./usr/include/machine/kdbparam.h +./usr/include/machine/limits.h +./usr/include/machine/machAsmDefs.h +./usr/include/machine/machConst.h +./usr/include/machine/mips_opcode.h +./usr/include/machine/param.h +./usr/include/machine/pcb.h +./usr/include/machine/pmap.h +./usr/include/machine/pmioctl.h +./usr/include/machine/proc.h +./usr/include/machine/profile.h +./usr/include/machine/psl.h +./usr/include/machine/pte.h +./usr/include/machine/ptrace.h +./usr/include/machine/reg.h +./usr/include/machine/regdef.h +./usr/include/machine/reloc.h +./usr/include/machine/setjmp.h +./usr/include/machine/signal.h +./usr/include/machine/stdarg.h +./usr/include/machine/trap.h +./usr/include/machine/types.h +./usr/include/machine/varargs.h +./usr/include/machine/vmparam.h +./usr/lib/gcc-lib +./usr/lib/gcc-lib/mipsel-elf-netbsd +./usr/lib/gcc-lib/mipsel-elf-netbsd/2.6.4 +./usr/lib/gcc-lib/mipsel-elf-netbsd/2.6.4/SYSCALLS.c.X +./usr/lib/gcc-lib/mipsel-elf-netbsd/2.6.4/cc1 +./usr/lib/gcc-lib/mipsel-elf-netbsd/2.6.4/cc1obj +./usr/lib/gcc-lib/mipsel-elf-netbsd/2.6.4/cc1plus +./usr/lib/gcc-lib/mipsel-elf-netbsd/2.6.4/cpp +./usr/lib/gcc-lib/mipsel-elf-netbsd/2.6.4/include +./usr/lib/gcc-lib/mipsel-elf-netbsd/2.6.4/include/README +./usr/lib/gcc-lib/mipsel-elf-netbsd/2.6.4/include/float.h +./usr/lib/gcc-lib/mipsel-elf-netbsd/2.6.4/include/objc +./usr/lib/gcc-lib/mipsel-elf-netbsd/2.6.4/include/objc/Object.h +./usr/lib/gcc-lib/mipsel-elf-netbsd/2.6.4/include/objc/Protocol.h +./usr/lib/gcc-lib/mipsel-elf-netbsd/2.6.4/include/objc/encoding.h +./usr/lib/gcc-lib/mipsel-elf-netbsd/2.6.4/include/objc/hash.h +./usr/lib/gcc-lib/mipsel-elf-netbsd/2.6.4/include/objc/list.h +./usr/lib/gcc-lib/mipsel-elf-netbsd/2.6.4/include/objc/objc-api.h +./usr/lib/gcc-lib/mipsel-elf-netbsd/2.6.4/include/objc/objc.h +./usr/lib/gcc-lib/mipsel-elf-netbsd/2.6.4/include/objc/sarray.h +./usr/lib/gcc-lib/mipsel-elf-netbsd/2.6.4/include/objc/typedstream.h +./usr/lib/gcc-lib/mipsel-elf-netbsd/2.6.4/include/stdarg.h +./usr/lib/gcc-lib/mipsel-elf-netbsd/2.6.4/include/va-mips.h +./usr/lib/gcc-lib/mipsel-elf-netbsd/2.6.4/include/varargs.h +./usr/lib/gcc-lib/mipsel-elf-netbsd/2.6.4/libgcc.a +./usr/lib/gcc-lib/mipsel-elf-netbsd/2.6.4/specs +./usr/share/man/cat1/objcopy.0 +./usr/share/man/cat1/objdump.0 diff --git a/distrib/sets/lists/comp/md.sparc b/distrib/sets/lists/comp/md.sparc new file mode 100644 index 00000000000..0895923d50d --- /dev/null +++ b/distrib/sets/lists/comp/md.sparc @@ -0,0 +1,65 @@ +./usr/include/machine/ansi.h +./usr/include/machine/asm.h +./usr/include/machine/autoconf.h +./usr/include/machine/bsd_audioio.h +./usr/include/machine/bsd_openprom.h +./usr/include/machine/cdefs.h +./usr/include/machine/cgtworeg.h +./usr/include/machine/cpu.h +./usr/include/machine/ctlreg.h +./usr/include/machine/db_machdep.h +./usr/include/machine/disklabel.h +./usr/include/machine/eeprom.h +./usr/include/machine/endian.h +./usr/include/machine/exec.h +./usr/include/machine/fbio.h +./usr/include/machine/fbvar.h +./usr/include/machine/float.h +./usr/include/machine/frame.h +./usr/include/machine/fsr.h +./usr/include/machine/idprom.h +./usr/include/machine/ieee.h +./usr/include/machine/ieeefp.h +./usr/include/machine/instr.h +./usr/include/machine/kbd.h +./usr/include/machine/kbio.h +./usr/include/machine/limits.h +./usr/include/machine/oldmon.h +./usr/include/machine/openpromio.h +./usr/include/machine/param.h +./usr/include/machine/pcb.h +./usr/include/machine/pmap.h +./usr/include/machine/proc.h +./usr/include/machine/profile.h +./usr/include/machine/psl.h +./usr/include/machine/pte.h +./usr/include/machine/ptrace.h +./usr/include/machine/reg.h +./usr/include/machine/reloc.h +./usr/include/machine/remote-sl.h +./usr/include/machine/setjmp.h +./usr/include/machine/signal.h +./usr/include/machine/stdarg.h +./usr/include/machine/sun_disklabel.h +./usr/include/machine/svr4_machdep.h +./usr/include/machine/trap.h +./usr/include/machine/types.h +./usr/include/machine/varargs.h +./usr/include/machine/vmparam.h +./usr/include/machine/vuid_event.h +./usr/include/sparc +./usr/lib/libc_pic.a +./usr/lib/libcrypt_pic.a +./usr/lib/libcurses_pic.a +./usr/lib/libedit_pic.a +./usr/lib/libg++_pic.a +./usr/lib/libgnumalloc_pic.a +./usr/lib/libkvm_pic.a +./usr/lib/libm_pic.a +./usr/lib/libpcap_pic.a +./usr/lib/libresolv_pic.a +./usr/lib/libskey_pic.a +./usr/lib/libtelnet_pic.a +./usr/lib/libtermcap_pic.a +./usr/lib/libutil_pic.a +./usr/lib/scrt0.o diff --git a/distrib/sets/lists/comp/md.sun3 b/distrib/sets/lists/comp/md.sun3 new file mode 100644 index 00000000000..bfa816d4385 --- /dev/null +++ b/distrib/sets/lists/comp/md.sun3 @@ -0,0 +1,80 @@ +./usr/include/m68k +./usr/include/m68k/ansi.h +./usr/include/m68k/asm.h +./usr/include/m68k/cdefs.h +./usr/include/m68k/db_machdep.h +./usr/include/m68k/endian.h +./usr/include/m68k/float.h +./usr/include/m68k/frame.h +./usr/include/m68k/ieeefp.h +./usr/include/m68k/limits.h +./usr/include/m68k/profile.h +./usr/include/m68k/psl.h +./usr/include/m68k/ptrace.h +./usr/include/m68k/reg.h +./usr/include/m68k/setjmp.h +./usr/include/m68k/signal.h +./usr/include/m68k/stdarg.h +./usr/include/m68k/trap.h +./usr/include/m68k/types.h +./usr/include/m68k/varargs.h +./usr/include/machine/ansi.h +./usr/include/machine/asm.h +./usr/include/machine/autoconf.h +./usr/include/machine/cdefs.h +./usr/include/machine/cg2reg.h +./usr/include/machine/control.h +./usr/include/machine/cpu.h +./usr/include/machine/cpufunc.h +./usr/include/machine/db_machdep.h +./usr/include/machine/disklabel.h +./usr/include/machine/eeprom.h +./usr/include/machine/endian.h +./usr/include/machine/exec.h +./usr/include/machine/fbio.h +./usr/include/machine/float.h +./usr/include/machine/frame.h +./usr/include/machine/idprom.h +./usr/include/machine/ieeefp.h +./usr/include/machine/isr.h +./usr/include/machine/kbd.h +./usr/include/machine/kbio.h +./usr/include/machine/limits.h +./usr/include/machine/mon.h +./usr/include/machine/obctl.h +./usr/include/machine/obio.h +./usr/include/machine/obmem.h +./usr/include/machine/param.h +./usr/include/machine/pcb.h +./usr/include/machine/pmap.h +./usr/include/machine/proc.h +./usr/include/machine/profile.h +./usr/include/machine/psl.h +./usr/include/machine/pte.h +./usr/include/machine/ptrace.h +./usr/include/machine/reg.h +./usr/include/machine/saio.h +./usr/include/machine/setjmp.h +./usr/include/machine/signal.h +./usr/include/machine/stdarg.h +./usr/include/machine/sun_disklabel.h +./usr/include/machine/trap.h +./usr/include/machine/types.h +./usr/include/machine/varargs.h +./usr/include/machine/vmparam.h +./usr/include/machine/vuid_event.h +./usr/lib/libc_pic.a +./usr/lib/libcrypt_pic.a +./usr/lib/libcurses_pic.a +./usr/lib/libedit_pic.a +./usr/lib/libg++_pic.a +./usr/lib/libgnumalloc_pic.a +./usr/lib/libkvm_pic.a +./usr/lib/libm_pic.a +./usr/lib/libresolv_pic.a +./usr/lib/libskey_pic.a +./usr/lib/libtelnet_pic.a +./usr/lib/libtermcap_pic.a +./usr/lib/libutil_pic.a +./usr/lib/scrt0.o +./usr/sbin/dbsym diff --git a/distrib/sets/lists/comp/mi b/distrib/sets/lists/comp/mi new file mode 100644 index 00000000000..ada56c38ab6 --- /dev/null +++ b/distrib/sets/lists/comp/mi @@ -0,0 +1,1542 @@ +./sys +./usr/bin/ar +./usr/bin/as +./usr/bin/asa +./usr/bin/c++ +./usr/bin/cc +./usr/bin/flex +./usr/bin/flex++ +./usr/bin/fpr +./usr/bin/g++ +./usr/bin/gcc +./usr/bin/gdb +./usr/bin/genclass +./usr/bin/gprof +./usr/bin/ld +./usr/bin/lex +./usr/bin/lint +./usr/bin/lorder +./usr/bin/mkstr +./usr/bin/ranlib +./usr/bin/rpcgen +./usr/bin/strip +./usr/bin/xstr +./usr/bin/yacc +./usr/include/a.out.h +./usr/include/ar.h +./usr/include/arpa/ftp.h +./usr/include/arpa/inet.h +./usr/include/arpa/nameser.h +./usr/include/arpa/telnet.h +./usr/include/arpa/tftp.h +./usr/include/assert.h +./usr/include/bitstring.h +./usr/include/bm.h +./usr/include/ctype.h +./usr/include/curses.h +./usr/include/db.h +./usr/include/dev/audio_if.h +./usr/include/dev/audiovar.h +./usr/include/dev/ccdvar.h +./usr/include/dev/cons.h +./usr/include/dev/ramdisk.h +./usr/include/dev/eisa +./usr/include/dev/eisa/eisareg.h +./usr/include/dev/eisa/eisavar.h +./usr/include/dev/ic +./usr/include/dev/ic/ad1848reg.h +./usr/include/dev/ic/aic7xxxvar.h +./usr/include/dev/ic/am7930reg.h +./usr/include/dev/ic/am7990reg.h +./usr/include/dev/ic/am7990var.h +./usr/include/dev/ic/cd1400reg.h +./usr/include/dev/ic/cs4231reg.h +./usr/include/dev/ic/dc21040reg.h +./usr/include/dev/ic/dp8390reg.h +./usr/include/dev/ic/i8042reg.h +./usr/include/dev/ic/i8237reg.h +./usr/include/dev/ic/i82586reg.h +./usr/include/dev/ic/ics2101reg.h +./usr/include/dev/ic/mb86960reg.h +./usr/include/dev/ic/mc146818reg.h +./usr/include/dev/ic/ncr5380reg.h +./usr/include/dev/ic/ncr5380var.h +./usr/include/dev/ic/nec765reg.h +./usr/include/dev/ic/ns16450reg.h +./usr/include/dev/ic/ns16550reg.h +./usr/include/dev/ic/pdqreg.h +./usr/include/dev/ic/pdqvar.h +./usr/include/dev/ic/z8530reg.h +./usr/include/dev/isa +./usr/include/dev/isa/ad1848var.h +./usr/include/dev/isa/comreg.h +./usr/include/dev/isa/cs4231var.h +./usr/include/dev/isa/elink.h +./usr/include/dev/isa/gusreg.h +./usr/include/dev/isa/ics2101var.h +./usr/include/dev/isa/if_edreg.h +./usr/include/dev/isa/if_egreg.h +./usr/include/dev/isa/if_elreg.h +./usr/include/dev/isa/if_epreg.h +./usr/include/dev/isa/if_fereg.h +./usr/include/dev/isa/if_ie507.h +./usr/include/dev/isa/if_ieatt.h +./usr/include/dev/isa/if_iee16.h +./usr/include/dev/isa/if_levar.h +./usr/include/dev/isa/isadmareg.h +./usr/include/dev/isa/isadmavar.h +./usr/include/dev/isa/isareg.h +./usr/include/dev/isa/isavar.h +./usr/include/dev/isa/lptreg.h +./usr/include/dev/isa/mcdreg.h +./usr/include/dev/isa/pasreg.h +./usr/include/dev/isa/pssreg.h +./usr/include/dev/isa/sbdspvar.h +./usr/include/dev/isa/sbreg.h +./usr/include/dev/isa/wdreg.h +./usr/include/dev/isa/wssreg.h +./usr/include/dev/isa/wtreg.h +./usr/include/dev/mulaw.h +./usr/include/dev/pci +./usr/include/dev/pci/ncr_reg.h +./usr/include/dev/pci/pcidevs.h +./usr/include/dev/pci/pcidevs_data.h +./usr/include/dev/pci/pcireg.h +./usr/include/dev/pci/pcivar.h +./usr/include/dev/rcons +./usr/include/dev/rcons/raster.h +./usr/include/dev/rcons/rcons.h +./usr/include/dev/rcons/rcons_subr.h +./usr/include/dev/vndioctl.h +./usr/include/dirent.h +./usr/include/disktab.h +./usr/include/dlfcn.h +./usr/include/err.h +./usr/include/errno.h +./usr/include/fcntl.h +./usr/include/float.h +./usr/include/fnmatch.h +./usr/include/frame.h +./usr/include/fstab.h +./usr/include/fts.h +./usr/include/g++/ACG.h +./usr/include/g++/AllocRing.h +./usr/include/g++/Binomial.h +./usr/include/g++/BitSet.h +./usr/include/g++/BitString.h +./usr/include/g++/Complex.h +./usr/include/g++/CursesW.h +./usr/include/g++/DLList.h +./usr/include/g++/DiscUnif.h +./usr/include/g++/Erlang.h +./usr/include/g++/Fix.h +./usr/include/g++/Fix16.h +./usr/include/g++/Fix24.h +./usr/include/g++/FlexLexer.h +./usr/include/g++/Geom.h +./usr/include/g++/GetOpt.h +./usr/include/g++/HypGeom.h +./usr/include/g++/Integer.h +./usr/include/g++/LogNorm.h +./usr/include/g++/MLCG.h +./usr/include/g++/NegExp.h +./usr/include/g++/Normal.h +./usr/include/g++/Obstack.h +./usr/include/g++/Pix.h +./usr/include/g++/PlotFile.h +./usr/include/g++/Poisson.h +./usr/include/g++/RNG.h +./usr/include/g++/Random.h +./usr/include/g++/Rational.h +./usr/include/g++/Regex.h +./usr/include/g++/RndInt.h +./usr/include/g++/SFile.h +./usr/include/g++/SLList.h +./usr/include/g++/SmplHist.h +./usr/include/g++/SmplStat.h +./usr/include/g++/String.h +./usr/include/g++/Uniform.h +./usr/include/g++/Weibull.h +./usr/include/g++/_G_config.h +./usr/include/g++/builtin.h +./usr/include/g++/compare.h +./usr/include/g++/editbuf.h +./usr/include/g++/floatio.h +./usr/include/g++/fstream.h +./usr/include/g++/gen/AVLMap.ccP +./usr/include/g++/gen/AVLMap.hP +./usr/include/g++/gen/AVLSet.ccP +./usr/include/g++/gen/AVLSet.hP +./usr/include/g++/gen/AVec.ccP +./usr/include/g++/gen/AVec.hP +./usr/include/g++/gen/BSTSet.ccP +./usr/include/g++/gen/BSTSet.hP +./usr/include/g++/gen/Bag.ccP +./usr/include/g++/gen/Bag.hP +./usr/include/g++/gen/CHBag.ccP +./usr/include/g++/gen/CHBag.hP +./usr/include/g++/gen/CHMap.ccP +./usr/include/g++/gen/CHMap.hP +./usr/include/g++/gen/CHSet.ccP +./usr/include/g++/gen/CHSet.hP +./usr/include/g++/gen/DLDeque.ccP +./usr/include/g++/gen/DLDeque.hP +./usr/include/g++/gen/DLList.ccP +./usr/include/g++/gen/DLList.hP +./usr/include/g++/gen/Deque.ccP +./usr/include/g++/gen/Deque.hP +./usr/include/g++/gen/FPQueue.ccP +./usr/include/g++/gen/FPQueue.hP +./usr/include/g++/gen/FPStack.ccP +./usr/include/g++/gen/FPStack.hP +./usr/include/g++/gen/FPlex.ccP +./usr/include/g++/gen/FPlex.hP +./usr/include/g++/gen/List.ccP +./usr/include/g++/gen/List.hP +./usr/include/g++/gen/MPlex.ccP +./usr/include/g++/gen/MPlex.hP +./usr/include/g++/gen/Map.ccP +./usr/include/g++/gen/Map.hP +./usr/include/g++/gen/OSLBag.ccP +./usr/include/g++/gen/OSLBag.hP +./usr/include/g++/gen/OSLSet.ccP +./usr/include/g++/gen/OSLSet.hP +./usr/include/g++/gen/OXPBag.ccP +./usr/include/g++/gen/OXPBag.hP +./usr/include/g++/gen/OXPSet.ccP +./usr/include/g++/gen/OXPSet.hP +./usr/include/g++/gen/PHPQ.ccP +./usr/include/g++/gen/PHPQ.hP +./usr/include/g++/gen/PQ.ccP +./usr/include/g++/gen/PQ.hP +./usr/include/g++/gen/Plex.ccP +./usr/include/g++/gen/Plex.hP +./usr/include/g++/gen/Queue.ccP +./usr/include/g++/gen/Queue.hP +./usr/include/g++/gen/RAVLMap.ccP +./usr/include/g++/gen/RAVLMap.hP +./usr/include/g++/gen/RPlex.ccP +./usr/include/g++/gen/RPlex.hP +./usr/include/g++/gen/SLBag.ccP +./usr/include/g++/gen/SLBag.hP +./usr/include/g++/gen/SLList.ccP +./usr/include/g++/gen/SLList.hP +./usr/include/g++/gen/SLQueue.ccP +./usr/include/g++/gen/SLQueue.hP +./usr/include/g++/gen/SLSet.ccP +./usr/include/g++/gen/SLSet.hP +./usr/include/g++/gen/SLStack.ccP +./usr/include/g++/gen/SLStack.hP +./usr/include/g++/gen/Set.ccP +./usr/include/g++/gen/Set.hP +./usr/include/g++/gen/SplayBag.ccP +./usr/include/g++/gen/SplayBag.hP +./usr/include/g++/gen/SplayMap.ccP +./usr/include/g++/gen/SplayMap.hP +./usr/include/g++/gen/SplayPQ.ccP +./usr/include/g++/gen/SplayPQ.hP +./usr/include/g++/gen/SplaySet.ccP +./usr/include/g++/gen/SplaySet.hP +./usr/include/g++/gen/Stack.ccP +./usr/include/g++/gen/Stack.hP +./usr/include/g++/gen/VHBag.ccP +./usr/include/g++/gen/VHBag.hP +./usr/include/g++/gen/VHMap.ccP +./usr/include/g++/gen/VHMap.hP +./usr/include/g++/gen/VHSet.ccP +./usr/include/g++/gen/VHSet.hP +./usr/include/g++/gen/VOHSet.ccP +./usr/include/g++/gen/VOHSet.hP +./usr/include/g++/gen/VQueue.ccP +./usr/include/g++/gen/VQueue.hP +./usr/include/g++/gen/VStack.ccP +./usr/include/g++/gen/VStack.hP +./usr/include/g++/gen/Vec.ccP +./usr/include/g++/gen/Vec.hP +./usr/include/g++/gen/XPBag.ccP +./usr/include/g++/gen/XPBag.hP +./usr/include/g++/gen/XPDeque.ccP +./usr/include/g++/gen/XPDeque.hP +./usr/include/g++/gen/XPPQ.ccP +./usr/include/g++/gen/XPPQ.hP +./usr/include/g++/gen/XPQueue.ccP +./usr/include/g++/gen/XPQueue.hP +./usr/include/g++/gen/XPSet.ccP +./usr/include/g++/gen/XPSet.hP +./usr/include/g++/gen/XPStack.ccP +./usr/include/g++/gen/XPStack.hP +./usr/include/g++/gen/XPlex.ccP +./usr/include/g++/gen/XPlex.hP +./usr/include/g++/gen/defs.hP +./usr/include/g++/indstream.h +./usr/include/g++/iomanip.h +./usr/include/g++/ioprivate.h +./usr/include/g++/iostream.h +./usr/include/g++/new.h +./usr/include/g++/osfcn.h +./usr/include/g++/parsestream.h +./usr/include/g++/procbuf.h +./usr/include/g++/regex.h +./usr/include/g++/std.h +./usr/include/g++/stdiostream.h +./usr/include/g++/stream.h +./usr/include/g++/streambuf.h +./usr/include/g++/strstream.h +./usr/include/g++/values.h +./usr/include/glob.h +./usr/include/grp.h +./usr/include/histedit.h +./usr/include/ieeefp.h +./usr/include/iso646.h +./usr/include/kvm.h +./usr/include/langinfo.h +./usr/include/limits.h +./usr/include/link.h +./usr/include/locale.h +./usr/include/malloc.h +./usr/include/math.h +./usr/include/memory.h +./usr/include/mpool.h +./usr/include/ndbm.h +./usr/include/net/bpf.h +./usr/include/net/bpfdesc.h +./usr/include/net/if.h +./usr/include/net/if_arp.h +./usr/include/net/if_dl.h +./usr/include/net/if_fddi.h +./usr/include/net/if_llc.h +./usr/include/net/if_ppp.h +./usr/include/net/if_pppvar.h +./usr/include/net/if_slvar.h +./usr/include/net/if_tun.h +./usr/include/net/if_types.h +./usr/include/net/netisr.h +./usr/include/net/ppp-comp.h +./usr/include/net/ppp_defs.h +./usr/include/net/radix.h +./usr/include/net/raw_cb.h +./usr/include/net/route.h +./usr/include/net/slcompress.h +./usr/include/net/slip.h +./usr/include/netccitt/dll.h +./usr/include/netccitt/hd_var.h +./usr/include/netccitt/hdlc.h +./usr/include/netccitt/llc_var.h +./usr/include/netccitt/pk.h +./usr/include/netccitt/pk_var.h +./usr/include/netccitt/x25.h +./usr/include/netccitt/x25acct.h +./usr/include/netccitt/x25err.h +./usr/include/netdb.h +./usr/include/netgroup.h +./usr/include/netinet/icmp_var.h +./usr/include/netinet/if_arc.h +./usr/include/netinet/if_ether.h +./usr/include/netinet/igmp.h +./usr/include/netinet/igmp_var.h +./usr/include/netinet/in.h +./usr/include/netinet/in_pcb.h +./usr/include/netinet/in_systm.h +./usr/include/netinet/in_var.h +./usr/include/netinet/ip.h +./usr/include/netinet/ip_icmp.h +./usr/include/netinet/ip_mroute.h +./usr/include/netinet/ip_var.h +./usr/include/netinet/tcp.h +./usr/include/netinet/tcp_debug.h +./usr/include/netinet/tcp_fsm.h +./usr/include/netinet/tcp_seq.h +./usr/include/netinet/tcp_timer.h +./usr/include/netinet/tcp_var.h +./usr/include/netinet/tcpip.h +./usr/include/netinet/udp.h +./usr/include/netinet/udp_var.h +./usr/include/netiso/argo_debug.h +./usr/include/netiso/clnl.h +./usr/include/netiso/clnp.h +./usr/include/netiso/clnp_stat.h +./usr/include/netiso/cltp_var.h +./usr/include/netiso/cons.h +./usr/include/netiso/cons_pcb.h +./usr/include/netiso/eonvar.h +./usr/include/netiso/esis.h +./usr/include/netiso/iso.h +./usr/include/netiso/iso_errno.h +./usr/include/netiso/iso_pcb.h +./usr/include/netiso/iso_snpac.h +./usr/include/netiso/iso_var.h +./usr/include/netiso/tp_clnp.h +./usr/include/netiso/tp_events.h +./usr/include/netiso/tp_ip.h +./usr/include/netiso/tp_meas.h +./usr/include/netiso/tp_param.h +./usr/include/netiso/tp_pcb.h +./usr/include/netiso/tp_seq.h +./usr/include/netiso/tp_stat.h +./usr/include/netiso/tp_states.h +./usr/include/netiso/tp_timer.h +./usr/include/netiso/tp_tpdu.h +./usr/include/netiso/tp_trace.h +./usr/include/netiso/tp_user.h +./usr/include/netiso/tuba_table.h +./usr/include/netns/idp.h +./usr/include/netns/idp_var.h +./usr/include/netns/ns.h +./usr/include/netns/ns_error.h +./usr/include/netns/ns_if.h +./usr/include/netns/ns_pcb.h +./usr/include/netns/sp.h +./usr/include/netns/spidp.h +./usr/include/netns/spp_debug.h +./usr/include/netns/spp_timer.h +./usr/include/netns/spp_var.h +./usr/include/nfs/krpc.h +./usr/include/nfs/nfs.h +./usr/include/nfs/nfsdiskless.h +./usr/include/nfs/nfsm_subs.h +./usr/include/nfs/nfsmount.h +./usr/include/nfs/nfsnode.h +./usr/include/nfs/nfsrtt.h +./usr/include/nfs/nfsrvcache.h +./usr/include/nfs/nfsv2.h +./usr/include/nfs/nqnfs.h +./usr/include/nfs/rpcv2.h +./usr/include/nfs/xdr_subs.h +./usr/include/nl_types.h +./usr/include/nlist.h +./usr/include/paths.h +./usr/include/pcap-namedb.h +./usr/include/pcap.h +./usr/include/protocols/dumprestore.h +./usr/include/protocols/routed.h +./usr/include/protocols/rwhod.h +./usr/include/protocols/talkd.h +./usr/include/protocols/timed.h +./usr/include/pwd.h +./usr/include/ranlib.h +./usr/include/regex.h +./usr/include/regexp.h +./usr/include/resolv.h +./usr/include/rpc/auth.h +./usr/include/rpc/auth_unix.h +./usr/include/rpc/clnt.h +./usr/include/rpc/pmap_clnt.h +./usr/include/rpc/pmap_prot.h +./usr/include/rpc/pmap_rmt.h +./usr/include/rpc/rpc.h +./usr/include/rpc/rpc_msg.h +./usr/include/rpc/svc.h +./usr/include/rpc/svc_auth.h +./usr/include/rpc/types.h +./usr/include/rpc/xdr.h +./usr/include/rpcsvc/bootparam_prot.h +./usr/include/rpcsvc/bootparam_prot.x +./usr/include/rpcsvc/klm_prot.h +./usr/include/rpcsvc/klm_prot.x +./usr/include/rpcsvc/mount.h +./usr/include/rpcsvc/mount.x +./usr/include/rpcsvc/nfs_prot.h +./usr/include/rpcsvc/nfs_prot.x +./usr/include/rpcsvc/nlm_prot.h +./usr/include/rpcsvc/nlm_prot.x +./usr/include/rpcsvc/rex.h +./usr/include/rpcsvc/rex.x +./usr/include/rpcsvc/rnusers.h +./usr/include/rpcsvc/rnusers.x +./usr/include/rpcsvc/rquota.h +./usr/include/rpcsvc/rquota.x +./usr/include/rpcsvc/rstat.h +./usr/include/rpcsvc/rstat.x +./usr/include/rpcsvc/rusers.h +./usr/include/rpcsvc/rusers.x +./usr/include/rpcsvc/rwall.h +./usr/include/rpcsvc/rwall.x +./usr/include/rpcsvc/sm_inter.h +./usr/include/rpcsvc/sm_inter.x +./usr/include/rpcsvc/spray.h +./usr/include/rpcsvc/spray.x +./usr/include/rpcsvc/yp.h +./usr/include/rpcsvc/yp.x +./usr/include/rpcsvc/yp_prot.h +./usr/include/rpcsvc/ypclnt.h +./usr/include/rpcsvc/yppasswd.h +./usr/include/rpcsvc/yppasswd.x +./usr/include/search.h +./usr/include/setjmp.h +./usr/include/sgtty.h +./usr/include/signal.h +./usr/include/stab.h +./usr/include/stdarg.h +./usr/include/stddef.h +./usr/include/stdio.h +./usr/include/stdlib.h +./usr/include/string.h +./usr/include/strings.h +./usr/include/struct.h +./usr/include/sys/acct.h +./usr/include/sys/audioio.h +./usr/include/sys/buf.h +./usr/include/sys/callout.h +./usr/include/sys/cdefs.h +./usr/include/sys/cdio.h +./usr/include/sys/chio.h +./usr/include/sys/clist.h +./usr/include/sys/conf.h +./usr/include/sys/core.h +./usr/include/sys/device.h +./usr/include/sys/dir.h +./usr/include/sys/dirent.h +./usr/include/sys/disk.h +./usr/include/sys/disklabel.h +./usr/include/sys/dkbad.h +./usr/include/sys/dkstat.h +./usr/include/sys/dmap.h +./usr/include/sys/domain.h +./usr/include/sys/errno.h +./usr/include/sys/exec.h +./usr/include/sys/exec_aout.h +./usr/include/sys/exec_ecoff.h +./usr/include/sys/exec_elf.h +./usr/include/sys/exec_script.h +./usr/include/sys/fcntl.h +./usr/include/sys/file.h +./usr/include/sys/filedesc.h +./usr/include/sys/filio.h +./usr/include/sys/gmon.h +./usr/include/sys/ioccom.h +./usr/include/sys/ioctl.h +./usr/include/sys/ioctl_compat.h +./usr/include/sys/ipc.h +./usr/include/sys/kernel.h +./usr/include/sys/ktrace.h +./usr/include/sys/lkm.h +./usr/include/sys/localedef.h +./usr/include/sys/lockf.h +./usr/include/sys/malloc.h +./usr/include/sys/map.h +./usr/include/sys/mbuf.h +./usr/include/sys/mman.h +./usr/include/sys/mount.h +./usr/include/sys/msg.h +./usr/include/sys/msgbuf.h +./usr/include/sys/mtio.h +./usr/include/sys/namei.h +./usr/include/sys/param.h +./usr/include/sys/proc.h +./usr/include/sys/protosw.h +./usr/include/sys/ptrace.h +./usr/include/sys/queue.h +./usr/include/sys/reboot.h +./usr/include/sys/resource.h +./usr/include/sys/resourcevar.h +./usr/include/sys/scsiio.h +./usr/include/sys/select.h +./usr/include/sys/sem.h +./usr/include/sys/shm.h +./usr/include/sys/signal.h +./usr/include/sys/signalvar.h +./usr/include/sys/socket.h +./usr/include/sys/socketvar.h +./usr/include/sys/sockio.h +./usr/include/sys/stat.h +./usr/include/sys/syscall.h +./usr/include/sys/syscallargs.h +./usr/include/sys/sysctl.h +./usr/include/sys/syslimits.h +./usr/include/sys/syslog.h +./usr/include/sys/systm.h +./usr/include/sys/tablet.h +./usr/include/sys/termios.h +./usr/include/sys/time.h +./usr/include/sys/timeb.h +./usr/include/sys/times.h +./usr/include/sys/tprintf.h +./usr/include/sys/trace.h +./usr/include/sys/tty.h +./usr/include/sys/ttychars.h +./usr/include/sys/ttycom.h +./usr/include/sys/ttydefaults.h +./usr/include/sys/ttydev.h +./usr/include/sys/types.h +./usr/include/sys/ucred.h +./usr/include/sys/uio.h +./usr/include/sys/un.h +./usr/include/sys/unistd.h +./usr/include/sys/unpcb.h +./usr/include/sys/user.h +./usr/include/sys/utsname.h +./usr/include/sys/vadvise.h +./usr/include/sys/vcmd.h +./usr/include/sys/vlimit.h +./usr/include/sys/vmmeter.h +./usr/include/sys/vnode.h +./usr/include/sys/vsio.h +./usr/include/sys/wait.h +./usr/include/sysexits.h +./usr/include/syslog.h +./usr/include/termios.h +./usr/include/time.h +./usr/include/ttyent.h +./usr/include/tzfile.h +./usr/include/ufs/ffs/ffs_extern.h +./usr/include/ufs/ffs/fs.h +./usr/include/ufs/lfs/lfs.h +./usr/include/ufs/lfs/lfs_extern.h +./usr/include/ufs/mfs/mfs_extern.h +./usr/include/ufs/mfs/mfsiom.h +./usr/include/ufs/mfs/mfsnode.h +./usr/include/ufs/ufs/dinode.h +./usr/include/ufs/ufs/dir.h +./usr/include/ufs/ufs/inode.h +./usr/include/ufs/ufs/quota.h +./usr/include/ufs/ufs/ufs_extern.h +./usr/include/ufs/ufs/ufsmount.h +./usr/include/unistd.h +./usr/include/utime.h +./usr/include/utmp.h +./usr/include/varargs.h +./usr/include/vis.h +./usr/include/vm/device_pager.h +./usr/include/vm/lock.h +./usr/include/vm/pmap.h +./usr/include/vm/swap_pager.h +./usr/include/vm/vm.h +./usr/include/vm/vm_extern.h +./usr/include/vm/vm_inherit.h +./usr/include/vm/vm_kern.h +./usr/include/vm/vm_map.h +./usr/include/vm/vm_object.h +./usr/include/vm/vm_page.h +./usr/include/vm/vm_pageout.h +./usr/include/vm/vm_pager.h +./usr/include/vm/vm_param.h +./usr/include/vm/vm_prot.h +./usr/include/vm/vnode_pager.h +./usr/lib/c++rt0.o +./usr/lib/crt0.o +./usr/lib/gcrt0.o +./usr/lib/libc.a +./usr/lib/libc_p.a +./usr/lib/libcompat.a +./usr/lib/libcompat_p.a +./usr/lib/libcrypt.a +./usr/lib/libcrypt_p.a +./usr/lib/libcurses.a +./usr/lib/libcurses_p.a +./usr/lib/libedit.a +./usr/lib/libedit_p.a +./usr/lib/libfl.a +./usr/lib/libfl_p.a +./usr/lib/libg++.a +./usr/lib/libg++_p.a +./usr/lib/libgcc.a +./usr/lib/libgnumalloc.a +./usr/lib/libgnumalloc_p.a +./usr/lib/libkvm.a +./usr/lib/libkvm_p.a +./usr/lib/libl.a +./usr/lib/libl_p.a +./usr/lib/libm.a +./usr/lib/libm_p.a +./usr/lib/libpcap.a +./usr/lib/libpcap_p.a +./usr/lib/libresolv.a +./usr/lib/libresolv_p.a +./usr/lib/librpcsvc.a +./usr/lib/librpcsvc_p.a +./usr/lib/libskey.a +./usr/lib/libskey_p.a +./usr/lib/libtelnet.a +./usr/lib/libtelnet_p.a +./usr/lib/libtermcap.a +./usr/lib/libtermcap_p.a +./usr/lib/libtermlib.a +./usr/lib/libtermlib_p.a +./usr/lib/libutil.a +./usr/lib/libutil_p.a +./usr/lib/liby.a +./usr/lib/liby_p.a +./usr/libdata/lint/llib-lposix.ln +./usr/libdata/lint/llib-lstdc.ln +./usr/libexec/cc1 +./usr/libexec/cc1obj +./usr/libexec/cc1plus +./usr/libexec/lint1 +./usr/libexec/lint2 +./usr/sbin/config +./usr/sbin/gspa +./usr/sbin/gspahextoc +./usr/sbin/kgmon +./usr/share/lkm/README +./usr/share/lkm/misc/Makefile +./usr/share/lkm/misc/README +./usr/share/lkm/misc/module/Makefile +./usr/share/lkm/misc/module/misccall.c +./usr/share/lkm/misc/module/miscmod.c +./usr/share/lkm/misc/test/Makefile +./usr/share/lkm/misc/test/testmisc.c +./usr/share/lkm/syscall/Makefile +./usr/share/lkm/syscall/README +./usr/share/lkm/syscall/module/Makefile +./usr/share/lkm/syscall/module/mycall.c +./usr/share/lkm/syscall/module/newsyscall.c +./usr/share/lkm/syscall/test/Makefile +./usr/share/lkm/syscall/test/testsyscall.c +./usr/share/lkm/vfs/Makefile +./usr/share/lkm/vfs/README +./usr/share/lkm/vfs/module/Makefile +./usr/share/lkm/vfs/module/kernfsmod.c +./usr/share/man/cat1/ar.0 +./usr/share/man/cat1/as.0 +./usr/share/man/cat1/asa.0 +./usr/share/man/cat1/c++.0 +./usr/share/man/cat1/cc.0 +./usr/share/man/cat1/flex.0 +./usr/share/man/cat1/fpr.0 +./usr/share/man/cat1/g++.0 +./usr/share/man/cat1/gcc.0 +./usr/share/man/cat1/gdb.0 +./usr/share/man/cat1/gprof.0 +./usr/share/man/cat1/ld.0 +./usr/share/man/cat1/lex.0 +./usr/share/man/cat1/lint.0 +./usr/share/man/cat1/lorder.0 +./usr/share/man/cat1/mkstr.0 +./usr/share/man/cat1/ranlib.0 +./usr/share/man/cat1/rpcgen.0 +./usr/share/man/cat1/strip.0 +./usr/share/man/cat1/xstr.0 +./usr/share/man/cat1/yacc.0 +./usr/share/man/cat2/__syscall.0 +./usr/share/man/cat2/_exit.0 +./usr/share/man/cat2/accept.0 +./usr/share/man/cat2/access.0 +./usr/share/man/cat2/acct.0 +./usr/share/man/cat2/adjtime.0 +./usr/share/man/cat2/bind.0 +./usr/share/man/cat2/brk.0 +./usr/share/man/cat2/chdir.0 +./usr/share/man/cat2/chflags.0 +./usr/share/man/cat2/chmod.0 +./usr/share/man/cat2/chown.0 +./usr/share/man/cat2/chroot.0 +./usr/share/man/cat2/close.0 +./usr/share/man/cat2/connect.0 +./usr/share/man/cat2/dup.0 +./usr/share/man/cat2/dup2.0 +./usr/share/man/cat2/errno.0 +./usr/share/man/cat2/execve.0 +./usr/share/man/cat2/fchdir.0 +./usr/share/man/cat2/fchflags.0 +./usr/share/man/cat2/fchmod.0 +./usr/share/man/cat2/fchown.0 +./usr/share/man/cat2/fcntl.0 +./usr/share/man/cat2/flock.0 +./usr/share/man/cat2/fork.0 +./usr/share/man/cat2/fpathconf.0 +./usr/share/man/cat2/fstat.0 +./usr/share/man/cat2/fstatfs.0 +./usr/share/man/cat2/fsync.0 +./usr/share/man/cat2/ftruncate.0 +./usr/share/man/cat2/getdirentries.0 +./usr/share/man/cat2/getegid.0 +./usr/share/man/cat2/geteuid.0 +./usr/share/man/cat2/getfh.0 +./usr/share/man/cat2/getfsstat.0 +./usr/share/man/cat2/getgid.0 +./usr/share/man/cat2/getgroups.0 +./usr/share/man/cat2/getitimer.0 +./usr/share/man/cat2/getlogin.0 +./usr/share/man/cat2/getpeername.0 +./usr/share/man/cat2/getpgrp.0 +./usr/share/man/cat2/getpid.0 +./usr/share/man/cat2/getppid.0 +./usr/share/man/cat2/getpriority.0 +./usr/share/man/cat2/getrlimit.0 +./usr/share/man/cat2/getrusage.0 +./usr/share/man/cat2/getsockname.0 +./usr/share/man/cat2/getsockopt.0 +./usr/share/man/cat2/gettimeofday.0 +./usr/share/man/cat2/getuid.0 +./usr/share/man/cat2/intro.0 +./usr/share/man/cat2/ioctl.0 +./usr/share/man/cat2/kill.0 +./usr/share/man/cat2/link.0 +./usr/share/man/cat2/listen.0 +./usr/share/man/cat2/lseek.0 +./usr/share/man/cat2/lstat.0 +./usr/share/man/cat2/madvise.0 +./usr/share/man/cat2/mincore.0 +./usr/share/man/cat2/mkdir.0 +./usr/share/man/cat2/mkfifo.0 +./usr/share/man/cat2/mknod.0 +./usr/share/man/cat2/mlock.0 +./usr/share/man/cat2/mmap.0 +./usr/share/man/cat2/mount.0 +./usr/share/man/cat2/mprotect.0 +./usr/share/man/cat2/msync.0 +./usr/share/man/cat2/munlock.0 +./usr/share/man/cat2/munmap.0 +./usr/share/man/cat2/nfssvc.0 +./usr/share/man/cat2/open.0 +./usr/share/man/cat2/pathconf.0 +./usr/share/man/cat2/pipe.0 +./usr/share/man/cat2/profil.0 +./usr/share/man/cat2/ptrace.0 +./usr/share/man/cat2/quotactl.0 +./usr/share/man/cat2/read.0 +./usr/share/man/cat2/readlink.0 +./usr/share/man/cat2/readv.0 +./usr/share/man/cat2/reboot.0 +./usr/share/man/cat2/recv.0 +./usr/share/man/cat2/recvfrom.0 +./usr/share/man/cat2/recvmsg.0 +./usr/share/man/cat2/rename.0 +./usr/share/man/cat2/revoke.0 +./usr/share/man/cat2/rmdir.0 +./usr/share/man/cat2/sbrk.0 +./usr/share/man/cat2/seek.0 +./usr/share/man/cat2/select.0 +./usr/share/man/cat2/send.0 +./usr/share/man/cat2/sendmsg.0 +./usr/share/man/cat2/sendto.0 +./usr/share/man/cat2/setegid.0 +./usr/share/man/cat2/seteuid.0 +./usr/share/man/cat2/setgid.0 +./usr/share/man/cat2/setgroups.0 +./usr/share/man/cat2/setitimer.0 +./usr/share/man/cat2/setlogin.0 +./usr/share/man/cat2/setpgid.0 +./usr/share/man/cat2/setpgrp.0 +./usr/share/man/cat2/setpriority.0 +./usr/share/man/cat2/setrlimit.0 +./usr/share/man/cat2/setsid.0 +./usr/share/man/cat2/setsockopt.0 +./usr/share/man/cat2/settimeofday.0 +./usr/share/man/cat2/setuid.0 +./usr/share/man/cat2/shutdown.0 +./usr/share/man/cat2/sigaction.0 +./usr/share/man/cat2/sigaltstack.0 +./usr/share/man/cat2/sigpending.0 +./usr/share/man/cat2/sigprocmask.0 +./usr/share/man/cat2/sigreturn.0 +./usr/share/man/cat2/sigstack.0 +./usr/share/man/cat2/sigsuspend.0 +./usr/share/man/cat2/socket.0 +./usr/share/man/cat2/socketpair.0 +./usr/share/man/cat2/stat.0 +./usr/share/man/cat2/statfs.0 +./usr/share/man/cat2/swapon.0 +./usr/share/man/cat2/symlink.0 +./usr/share/man/cat2/sync.0 +./usr/share/man/cat2/sysarch.0 +./usr/share/man/cat2/syscall.0 +./usr/share/man/cat2/truncate.0 +./usr/share/man/cat2/umask.0 +./usr/share/man/cat2/unlink.0 +./usr/share/man/cat2/unmount.0 +./usr/share/man/cat2/utimes.0 +./usr/share/man/cat2/vfork.0 +./usr/share/man/cat2/wait.0 +./usr/share/man/cat2/wait3.0 +./usr/share/man/cat2/wait4.0 +./usr/share/man/cat2/waitpid.0 +./usr/share/man/cat2/write.0 +./usr/share/man/cat2/writev.0 +./usr/share/man/cat3/_longjmp.0 +./usr/share/man/cat3/_setjmp.0 +./usr/share/man/cat3/abort.0 +./usr/share/man/cat3/abs.0 +./usr/share/man/cat3/acos.0 +./usr/share/man/cat3/acosh.0 +./usr/share/man/cat3/addr.0 +./usr/share/man/cat3/alarm.0 +./usr/share/man/cat3/alloca.0 +./usr/share/man/cat3/alphasort.0 +./usr/share/man/cat3/asctime.0 +./usr/share/man/cat3/asin.0 +./usr/share/man/cat3/asinh.0 +./usr/share/man/cat3/assert.0 +./usr/share/man/cat3/atan.0 +./usr/share/man/cat3/atan2.0 +./usr/share/man/cat3/atanh.0 +./usr/share/man/cat3/atexit.0 +./usr/share/man/cat3/atof.0 +./usr/share/man/cat3/atoi.0 +./usr/share/man/cat3/atol.0 +./usr/share/man/cat3/auth_destroy.0 +./usr/share/man/cat3/authnone_create.0 +./usr/share/man/cat3/authunix_create.0 +./usr/share/man/cat3/authunix_create_default.0 +./usr/share/man/cat3/bcmp.0 +./usr/share/man/cat3/bcopy.0 +./usr/share/man/cat3/bindresvport.0 +./usr/share/man/cat3/bitstring.0 +./usr/share/man/cat3/bm.0 +./usr/share/man/cat3/bm_comp.0 +./usr/share/man/cat3/bm_exec.0 +./usr/share/man/cat3/bm_free.0 +./usr/share/man/cat3/bsearch.0 +./usr/share/man/cat3/bstring.0 +./usr/share/man/cat3/btree.0 +./usr/share/man/cat3/byteorder.0 +./usr/share/man/cat3/bzero.0 +./usr/share/man/cat3/cabs.0 +./usr/share/man/cat3/calloc.0 +./usr/share/man/cat3/callrpc.0 +./usr/share/man/cat3/catclose.0 +./usr/share/man/cat3/catgets.0 +./usr/share/man/cat3/catopen.0 +./usr/share/man/cat3/cbrt.0 +./usr/share/man/cat3/ceil.0 +./usr/share/man/cat3/cfgetispeed.0 +./usr/share/man/cat3/cfgetospeed.0 +./usr/share/man/cat3/cfmakeraw.0 +./usr/share/man/cat3/cfsetispeed.0 +./usr/share/man/cat3/cfsetospeed.0 +./usr/share/man/cat3/cfsetspeed.0 +./usr/share/man/cat3/cgetcap.0 +./usr/share/man/cat3/cgetclose.0 +./usr/share/man/cat3/cgetent.0 +./usr/share/man/cat3/cgetfirst.0 +./usr/share/man/cat3/cgetmatch.0 +./usr/share/man/cat3/cgetnext.0 +./usr/share/man/cat3/cgetnum.0 +./usr/share/man/cat3/cgetset.0 +./usr/share/man/cat3/cgetstr.0 +./usr/share/man/cat3/cgetustr.0 +./usr/share/man/cat3/circleq_entry.0 +./usr/share/man/cat3/circleq_head.0 +./usr/share/man/cat3/circleq_init.0 +./usr/share/man/cat3/circleq_insert_after.0 +./usr/share/man/cat3/circleq_insert_before.0 +./usr/share/man/cat3/circleq_insert_head.0 +./usr/share/man/cat3/circleq_insert_tail.0 +./usr/share/man/cat3/circleq_remove.0 +./usr/share/man/cat3/clearerr.0 +./usr/share/man/cat3/clnt_broadcast.0 +./usr/share/man/cat3/clnt_call.0 +./usr/share/man/cat3/clnt_control.0 +./usr/share/man/cat3/clnt_create.0 +./usr/share/man/cat3/clnt_destroy.0 +./usr/share/man/cat3/clnt_freeres.0 +./usr/share/man/cat3/clnt_geterr.0 +./usr/share/man/cat3/clnt_pcreateerror.0 +./usr/share/man/cat3/clnt_perrno.0 +./usr/share/man/cat3/clnt_perror.0 +./usr/share/man/cat3/clnt_spcreateerror.0 +./usr/share/man/cat3/clnt_sperrno.0 +./usr/share/man/cat3/clnt_sperror.0 +./usr/share/man/cat3/clntraw_create.0 +./usr/share/man/cat3/clnttcp_create.0 +./usr/share/man/cat3/clntudp_bufcreate.0 +./usr/share/man/cat3/clntudp_create.0 +./usr/share/man/cat3/clock.0 +./usr/share/man/cat3/closedir.0 +./usr/share/man/cat3/closelog.0 +./usr/share/man/cat3/confstr.0 +./usr/share/man/cat3/copysign.0 +./usr/share/man/cat3/cos.0 +./usr/share/man/cat3/cosh.0 +./usr/share/man/cat3/creat.0 +./usr/share/man/cat3/crypt.0 +./usr/share/man/cat3/ctermid.0 +./usr/share/man/cat3/ctime.0 +./usr/share/man/cat3/ctype.0 +./usr/share/man/cat3/curses.0 +./usr/share/man/cat3/cuserid.0 +./usr/share/man/cat3/daemon.0 +./usr/share/man/cat3/db.0 +./usr/share/man/cat3/dbopen.0 +./usr/share/man/cat3/devname.0 +./usr/share/man/cat3/difftime.0 +./usr/share/man/cat3/directory.0 +./usr/share/man/cat3/dirfd.0 +./usr/share/man/cat3/div.0 +./usr/share/man/cat3/dn_comp.0 +./usr/share/man/cat3/dn_expand.0 +./usr/share/man/cat3/drand48.0 +./usr/share/man/cat3/edata.0 +./usr/share/man/cat3/encrypt.0 +./usr/share/man/cat3/end.0 +./usr/share/man/cat3/endfsent.0 +./usr/share/man/cat3/endgrent.0 +./usr/share/man/cat3/endhostent.0 +./usr/share/man/cat3/endnetent.0 +./usr/share/man/cat3/endnetgrent.0 +./usr/share/man/cat3/endprotoent.0 +./usr/share/man/cat3/endpwent.0 +./usr/share/man/cat3/endrpcent.0 +./usr/share/man/cat3/endservent.0 +./usr/share/man/cat3/endttyent.0 +./usr/share/man/cat3/endusershell.0 +./usr/share/man/cat3/erand48.0 +./usr/share/man/cat3/erf.0 +./usr/share/man/cat3/erfc.0 +./usr/share/man/cat3/err.0 +./usr/share/man/cat3/errx.0 +./usr/share/man/cat3/etext.0 +./usr/share/man/cat3/ether_aton.0 +./usr/share/man/cat3/ether_hostton.0 +./usr/share/man/cat3/ether_line.0 +./usr/share/man/cat3/ether_ntoa.0 +./usr/share/man/cat3/ether_ntohost.0 +./usr/share/man/cat3/ethers.0 +./usr/share/man/cat3/exec.0 +./usr/share/man/cat3/execl.0 +./usr/share/man/cat3/execle.0 +./usr/share/man/cat3/execlp.0 +./usr/share/man/cat3/execv.0 +./usr/share/man/cat3/execvp.0 +./usr/share/man/cat3/exit.0 +./usr/share/man/cat3/exp.0 +./usr/share/man/cat3/expm1.0 +./usr/share/man/cat3/fabs.0 +./usr/share/man/cat3/fclose.0 +./usr/share/man/cat3/fdopen.0 +./usr/share/man/cat3/feof.0 +./usr/share/man/cat3/ferror.0 +./usr/share/man/cat3/fflush.0 +./usr/share/man/cat3/ffs.0 +./usr/share/man/cat3/fgetc.0 +./usr/share/man/cat3/fgetln.0 +./usr/share/man/cat3/fgetpos.0 +./usr/share/man/cat3/fgets.0 +./usr/share/man/cat3/fileno.0 +./usr/share/man/cat3/finite.0 +./usr/share/man/cat3/floor.0 +./usr/share/man/cat3/fmod.0 +./usr/share/man/cat3/fnmatch.0 +./usr/share/man/cat3/fopen.0 +./usr/share/man/cat3/fprintf.0 +./usr/share/man/cat3/fpurge.0 +./usr/share/man/cat3/fputc.0 +./usr/share/man/cat3/fputs.0 +./usr/share/man/cat3/fread.0 +./usr/share/man/cat3/free.0 +./usr/share/man/cat3/freopen.0 +./usr/share/man/cat3/frexp.0 +./usr/share/man/cat3/fropen.0 +./usr/share/man/cat3/fscanf.0 +./usr/share/man/cat3/fseek.0 +./usr/share/man/cat3/fsetpos.0 +./usr/share/man/cat3/ftell.0 +./usr/share/man/cat3/ftime.0 +./usr/share/man/cat3/ftok.0 +./usr/share/man/cat3/fts.0 +./usr/share/man/cat3/fts_children.0 +./usr/share/man/cat3/fts_close.0 +./usr/share/man/cat3/fts_open.0 +./usr/share/man/cat3/fts_read.0 +./usr/share/man/cat3/fts_set.0 +./usr/share/man/cat3/funopen.0 +./usr/share/man/cat3/fwopen.0 +./usr/share/man/cat3/fwrite.0 +./usr/share/man/cat3/gamma.0 +./usr/share/man/cat3/get_myaddress.0 +./usr/share/man/cat3/getbsize.0 +./usr/share/man/cat3/getc.0 +./usr/share/man/cat3/getcap.0 +./usr/share/man/cat3/getchar.0 +./usr/share/man/cat3/getcwd.0 +./usr/share/man/cat3/getdiskbyname.0 +./usr/share/man/cat3/getdomainname.0 +./usr/share/man/cat3/getdtablesize.0 +./usr/share/man/cat3/getenv.0 +./usr/share/man/cat3/getfsent.0 +./usr/share/man/cat3/getfsfile.0 +./usr/share/man/cat3/getfsspec.0 +./usr/share/man/cat3/getfstype.0 +./usr/share/man/cat3/getgrent.0 +./usr/share/man/cat3/getgrgid.0 +./usr/share/man/cat3/getgrnam.0 +./usr/share/man/cat3/getgrouplist.0 +./usr/share/man/cat3/gethostbyaddr.0 +./usr/share/man/cat3/gethostbyname.0 +./usr/share/man/cat3/gethostent.0 +./usr/share/man/cat3/gethostid.0 +./usr/share/man/cat3/gethostname.0 +./usr/share/man/cat3/getloadavg.0 +./usr/share/man/cat3/getmntinfo.0 +./usr/share/man/cat3/getmode.0 +./usr/share/man/cat3/getnetbyaddr.0 +./usr/share/man/cat3/getnetbyname.0 +./usr/share/man/cat3/getnetent.0 +./usr/share/man/cat3/getnetgrent.0 +./usr/share/man/cat3/getopt.0 +./usr/share/man/cat3/getpagesize.0 +./usr/share/man/cat3/getpass.0 +./usr/share/man/cat3/getprotobyname.0 +./usr/share/man/cat3/getprotobynumber.0 +./usr/share/man/cat3/getprotoent.0 +./usr/share/man/cat3/getpw.0 +./usr/share/man/cat3/getpwent.0 +./usr/share/man/cat3/getpwnam.0 +./usr/share/man/cat3/getpwuid.0 +./usr/share/man/cat3/getrpcbyname.0 +./usr/share/man/cat3/getrpcbynumber.0 +./usr/share/man/cat3/getrpcent.0 +./usr/share/man/cat3/getrpcport.0 +./usr/share/man/cat3/gets.0 +./usr/share/man/cat3/getservbyname.0 +./usr/share/man/cat3/getservbyport.0 +./usr/share/man/cat3/getservent.0 +./usr/share/man/cat3/getsubopt.0 +./usr/share/man/cat3/getttyent.0 +./usr/share/man/cat3/getttynam.0 +./usr/share/man/cat3/getusershell.0 +./usr/share/man/cat3/getw.0 +./usr/share/man/cat3/getwd.0 +./usr/share/man/cat3/glob.0 +./usr/share/man/cat3/globfree.0 +./usr/share/man/cat3/gmtime.0 +./usr/share/man/cat3/group_from_gid.0 +./usr/share/man/cat3/gtty.0 +./usr/share/man/cat3/hash.0 +./usr/share/man/cat3/heapsort.0 +./usr/share/man/cat3/herror.0 +./usr/share/man/cat3/htonl.0 +./usr/share/man/cat3/htons.0 +./usr/share/man/cat3/hypot.0 +./usr/share/man/cat3/ieee.0 +./usr/share/man/cat3/ieee_test.0 +./usr/share/man/cat3/ilogb.0 +./usr/share/man/cat3/index.0 +./usr/share/man/cat3/inet.0 +./usr/share/man/cat3/inet_addr.0 +./usr/share/man/cat3/inet_aton.0 +./usr/share/man/cat3/inet_lnaof.0 +./usr/share/man/cat3/inet_makeaddr.0 +./usr/share/man/cat3/inet_netof.0 +./usr/share/man/cat3/inet_network.0 +./usr/share/man/cat3/inet_ntoa.0 +./usr/share/man/cat3/initgroups.0 +./usr/share/man/cat3/initstate.0 +./usr/share/man/cat3/innetgr.0 +./usr/share/man/cat3/insque.0 +./usr/share/man/cat3/intro.0 +./usr/share/man/cat3/iruserok.0 +./usr/share/man/cat3/isalnum.0 +./usr/share/man/cat3/isalpha.0 +./usr/share/man/cat3/isascii.0 +./usr/share/man/cat3/isatty.0 +./usr/share/man/cat3/isblank.0 +./usr/share/man/cat3/iscntrl.0 +./usr/share/man/cat3/isdigit.0 +./usr/share/man/cat3/isgraph.0 +./usr/share/man/cat3/isinf.0 +./usr/share/man/cat3/islower.0 +./usr/share/man/cat3/isnan.0 +./usr/share/man/cat3/isprint.0 +./usr/share/man/cat3/ispunct.0 +./usr/share/man/cat3/isspace.0 +./usr/share/man/cat3/isupper.0 +./usr/share/man/cat3/isxdigit.0 +./usr/share/man/cat3/j0.0 +./usr/share/man/cat3/j1.0 +./usr/share/man/cat3/jn.0 +./usr/share/man/cat3/jrand48.0 +./usr/share/man/cat3/killpg.0 +./usr/share/man/cat3/kvm.0 +./usr/share/man/cat3/kvm_close.0 +./usr/share/man/cat3/kvm_getargv.0 +./usr/share/man/cat3/kvm_getenvv.0 +./usr/share/man/cat3/kvm_geterr.0 +./usr/share/man/cat3/kvm_getfiles.0 +./usr/share/man/cat3/kvm_getloadavg.0 +./usr/share/man/cat3/kvm_getprocs.0 +./usr/share/man/cat3/kvm_nlist.0 +./usr/share/man/cat3/kvm_open.0 +./usr/share/man/cat3/kvm_openfiles.0 +./usr/share/man/cat3/kvm_read.0 +./usr/share/man/cat3/kvm_write.0 +./usr/share/man/cat3/labs.0 +./usr/share/man/cat3/lcong48.0 +./usr/share/man/cat3/ldexp.0 +./usr/share/man/cat3/ldiv.0 +./usr/share/man/cat3/lfind.0 +./usr/share/man/cat3/lgamma.0 +./usr/share/man/cat3/linkaddr.0 +./usr/share/man/cat3/linkntoa.0 +./usr/share/man/cat3/list_entry.0 +./usr/share/man/cat3/list_head.0 +./usr/share/man/cat3/list_init.0 +./usr/share/man/cat3/list_insert_after.0 +./usr/share/man/cat3/list_insert_before.0 +./usr/share/man/cat3/list_insert_head.0 +./usr/share/man/cat3/list_remove.0 +./usr/share/man/cat3/localtime.0 +./usr/share/man/cat3/log.0 +./usr/share/man/cat3/log10.0 +./usr/share/man/cat3/log1p.0 +./usr/share/man/cat3/logb.0 +./usr/share/man/cat3/longjmp.0 +./usr/share/man/cat3/longjmperror.0 +./usr/share/man/cat3/lrand48.0 +./usr/share/man/cat3/lsearch.0 +./usr/share/man/cat3/malloc.0 +./usr/share/man/cat3/math.0 +./usr/share/man/cat3/memccpy.0 +./usr/share/man/cat3/memchr.0 +./usr/share/man/cat3/memcmp.0 +./usr/share/man/cat3/memcpy.0 +./usr/share/man/cat3/memmove.0 +./usr/share/man/cat3/memory.0 +./usr/share/man/cat3/memset.0 +./usr/share/man/cat3/mergesort.0 +./usr/share/man/cat3/mkstemp.0 +./usr/share/man/cat3/mktemp.0 +./usr/share/man/cat3/mktime.0 +./usr/share/man/cat3/modf.0 +./usr/share/man/cat3/moncontrol.0 +./usr/share/man/cat3/mrand48.0 +./usr/share/man/cat3/network.0 +./usr/share/man/cat3/nextafter.0 +./usr/share/man/cat3/nice.0 +./usr/share/man/cat3/nl_langinfo.0 +./usr/share/man/cat3/nlist.0 +./usr/share/man/cat3/nrand48.0 +./usr/share/man/cat3/ns.0 +./usr/share/man/cat3/ns_addr.0 +./usr/share/man/cat3/ns_ntoa.0 +./usr/share/man/cat3/ntoa.0 +./usr/share/man/cat3/ntohl.0 +./usr/share/man/cat3/ntohs.0 +./usr/share/man/cat3/opendir.0 +./usr/share/man/cat3/openlog.0 +./usr/share/man/cat3/pause.0 +./usr/share/man/cat3/pcap.0 +./usr/share/man/cat3/pclose.0 +./usr/share/man/cat3/perror.0 +./usr/share/man/cat3/pmap_getmaps.0 +./usr/share/man/cat3/pmap_getport.0 +./usr/share/man/cat3/pmap_rmtcall.0 +./usr/share/man/cat3/pmap_set.0 +./usr/share/man/cat3/pmap_unset.0 +./usr/share/man/cat3/popen.0 +./usr/share/man/cat3/pow.0 +./usr/share/man/cat3/printf.0 +./usr/share/man/cat3/psignal.0 +./usr/share/man/cat3/putc.0 +./usr/share/man/cat3/putchar.0 +./usr/share/man/cat3/putenv.0 +./usr/share/man/cat3/puts.0 +./usr/share/man/cat3/putw.0 +./usr/share/man/cat3/pwcache.0 +./usr/share/man/cat3/qabs.0 +./usr/share/man/cat3/qdiv.0 +./usr/share/man/cat3/qsort.0 +./usr/share/man/cat3/queue.0 +./usr/share/man/cat3/radixsort.0 +./usr/share/man/cat3/raise.0 +./usr/share/man/cat3/rand.0 +./usr/share/man/cat3/rand48.0 +./usr/share/man/cat3/random.0 +./usr/share/man/cat3/rcmd.0 +./usr/share/man/cat3/re_comp.0 +./usr/share/man/cat3/re_exec.0 +./usr/share/man/cat3/readdir.0 +./usr/share/man/cat3/realloc.0 +./usr/share/man/cat3/realpath.0 +./usr/share/man/cat3/recno.0 +./usr/share/man/cat3/regcomp.0 +./usr/share/man/cat3/regerror.0 +./usr/share/man/cat3/regex.0 +./usr/share/man/cat3/regexec.0 +./usr/share/man/cat3/regexp.0 +./usr/share/man/cat3/regfree.0 +./usr/share/man/cat3/regsterrpc.0 +./usr/share/man/cat3/remainder.0 +./usr/share/man/cat3/remove.0 +./usr/share/man/cat3/remque.0 +./usr/share/man/cat3/res_init.0 +./usr/share/man/cat3/res_mkquery.0 +./usr/share/man/cat3/res_query.0 +./usr/share/man/cat3/res_search.0 +./usr/share/man/cat3/res_send.0 +./usr/share/man/cat3/resolver.0 +./usr/share/man/cat3/rewind.0 +./usr/share/man/cat3/rewinddir.0 +./usr/share/man/cat3/rexec.0 +./usr/share/man/cat3/rindex.0 +./usr/share/man/cat3/rint.0 +./usr/share/man/cat3/rpc.0 +./usr/share/man/cat3/rpc_createerr.0 +./usr/share/man/cat3/rresvport.0 +./usr/share/man/cat3/ruserok.0 +./usr/share/man/cat3/scalb.0 +./usr/share/man/cat3/scalbn.0 +./usr/share/man/cat3/scandir.0 +./usr/share/man/cat3/scanf.0 +./usr/share/man/cat3/seed48.0 +./usr/share/man/cat3/seekdir.0 +./usr/share/man/cat3/setbuf.0 +./usr/share/man/cat3/setbuffer.0 +./usr/share/man/cat3/setdomainname.0 +./usr/share/man/cat3/setenv.0 +./usr/share/man/cat3/setfsent.0 +./usr/share/man/cat3/setgrent.0 +./usr/share/man/cat3/setgrfile.0 +./usr/share/man/cat3/setgroupent.0 +./usr/share/man/cat3/sethostent.0 +./usr/share/man/cat3/sethostid.0 +./usr/share/man/cat3/sethostname.0 +./usr/share/man/cat3/setjmp.0 +./usr/share/man/cat3/setkey.0 +./usr/share/man/cat3/setlinebuf.0 +./usr/share/man/cat3/setlogmask.0 +./usr/share/man/cat3/setmode.0 +./usr/share/man/cat3/setnetent.0 +./usr/share/man/cat3/setnetgrent.0 +./usr/share/man/cat3/setpassent.0 +./usr/share/man/cat3/setproctitle.0 +./usr/share/man/cat3/setprotoent.0 +./usr/share/man/cat3/setpwent.0 +./usr/share/man/cat3/setpwfile.0 +./usr/share/man/cat3/setregid.0 +./usr/share/man/cat3/setreuid.0 +./usr/share/man/cat3/setrgid.0 +./usr/share/man/cat3/setrpcent.0 +./usr/share/man/cat3/setruid.0 +./usr/share/man/cat3/setservent.0 +./usr/share/man/cat3/setstate.0 +./usr/share/man/cat3/setttyent.0 +./usr/share/man/cat3/setusershell.0 +./usr/share/man/cat3/setvbuf.0 +./usr/share/man/cat3/sigaddset.0 +./usr/share/man/cat3/sigblock.0 +./usr/share/man/cat3/sigdelset.0 +./usr/share/man/cat3/sigemptyset.0 +./usr/share/man/cat3/sigfillset.0 +./usr/share/man/cat3/siginterrupt.0 +./usr/share/man/cat3/sigismember.0 +./usr/share/man/cat3/siglongjmp.0 +./usr/share/man/cat3/signal.0 +./usr/share/man/cat3/significand.0 +./usr/share/man/cat3/sigpause.0 +./usr/share/man/cat3/sigsetjmp.0 +./usr/share/man/cat3/sigsetmask.0 +./usr/share/man/cat3/sigsetops.0 +./usr/share/man/cat3/sigvec.0 +./usr/share/man/cat3/sin.0 +./usr/share/man/cat3/sinh.0 +./usr/share/man/cat3/sleep.0 +./usr/share/man/cat3/snprintf.0 +./usr/share/man/cat3/sprintf.0 +./usr/share/man/cat3/sqrt.0 +./usr/share/man/cat3/srand.0 +./usr/share/man/cat3/srand48.0 +./usr/share/man/cat3/srandom.0 +./usr/share/man/cat3/sscanf.0 +./usr/share/man/cat3/stdarg.0 +./usr/share/man/cat3/stdio.0 +./usr/share/man/cat3/strcasecmp.0 +./usr/share/man/cat3/strcat.0 +./usr/share/man/cat3/strchr.0 +./usr/share/man/cat3/strcmp.0 +./usr/share/man/cat3/strcoll.0 +./usr/share/man/cat3/strcpy.0 +./usr/share/man/cat3/strcspn.0 +./usr/share/man/cat3/strdup.0 +./usr/share/man/cat3/strerror.0 +./usr/share/man/cat3/strftime.0 +./usr/share/man/cat3/string.0 +./usr/share/man/cat3/strlen.0 +./usr/share/man/cat3/strmode.0 +./usr/share/man/cat3/strncasecmp.0 +./usr/share/man/cat3/strncat.0 +./usr/share/man/cat3/strncmp.0 +./usr/share/man/cat3/strncpy.0 +./usr/share/man/cat3/strpbrk.0 +./usr/share/man/cat3/strrchr.0 +./usr/share/man/cat3/strsep.0 +./usr/share/man/cat3/strsignal.0 +./usr/share/man/cat3/strspn.0 +./usr/share/man/cat3/strstr.0 +./usr/share/man/cat3/strtod.0 +./usr/share/man/cat3/strtok.0 +./usr/share/man/cat3/strtol.0 +./usr/share/man/cat3/strtoq.0 +./usr/share/man/cat3/strtoul.0 +./usr/share/man/cat3/strtouq.0 +./usr/share/man/cat3/strunvis.0 +./usr/share/man/cat3/strvis.0 +./usr/share/man/cat3/strvisx.0 +./usr/share/man/cat3/strxfrm.0 +./usr/share/man/cat3/stty.0 +./usr/share/man/cat3/svc_destroy.0 +./usr/share/man/cat3/svc_fds.0 +./usr/share/man/cat3/svc_fdset.0 +./usr/share/man/cat3/svc_getargs.0 +./usr/share/man/cat3/svc_getcaller.0 +./usr/share/man/cat3/svc_getreg.0 +./usr/share/man/cat3/svc_getregset.0 +./usr/share/man/cat3/svc_register.0 +./usr/share/man/cat3/svc_run.0 +./usr/share/man/cat3/svc_sendreply.0 +./usr/share/man/cat3/svc_unregister.0 +./usr/share/man/cat3/svcerr_auth.0 +./usr/share/man/cat3/svcerr_decode.0 +./usr/share/man/cat3/svcerr_noproc.0 +./usr/share/man/cat3/svcerr_noprog.0 +./usr/share/man/cat3/svcerr_progvers.0 +./usr/share/man/cat3/svcerr_systemerr.0 +./usr/share/man/cat3/svcerr_weakauth.0 +./usr/share/man/cat3/svcfd_create.0 +./usr/share/man/cat3/svcraw_create.0 +./usr/share/man/cat3/svctcp_create.0 +./usr/share/man/cat3/svcudp_bufcreate.0 +./usr/share/man/cat3/swab.0 +./usr/share/man/cat3/sys_siglist.0 +./usr/share/man/cat3/sys_signame.0 +./usr/share/man/cat3/sysconf.0 +./usr/share/man/cat3/sysctl.0 +./usr/share/man/cat3/syslog.0 +./usr/share/man/cat3/system.0 +./usr/share/man/cat3/tailq_entry.0 +./usr/share/man/cat3/tailq_head.0 +./usr/share/man/cat3/tailq_init.0 +./usr/share/man/cat3/tailq_insert_after.0 +./usr/share/man/cat3/tailq_insert_before.0 +./usr/share/man/cat3/tailq_insert_head.0 +./usr/share/man/cat3/tailq_insert_tail.0 +./usr/share/man/cat3/tailq_remove.0 +./usr/share/man/cat3/tan.0 +./usr/share/man/cat3/tanh.0 +./usr/share/man/cat3/tcdrain.0 +./usr/share/man/cat3/tcflow.0 +./usr/share/man/cat3/tcflush.0 +./usr/share/man/cat3/tcgetattr.0 +./usr/share/man/cat3/tcgetpgrp.0 +./usr/share/man/cat3/tcsendbreak.0 +./usr/share/man/cat3/tcsetattr.0 +./usr/share/man/cat3/tcsetpgrp.0 +./usr/share/man/cat3/telldir.0 +./usr/share/man/cat3/tempnam.0 +./usr/share/man/cat3/termcap.0 +./usr/share/man/cat3/tgetent.0 +./usr/share/man/cat3/tgetflag.0 +./usr/share/man/cat3/tgetnum.0 +./usr/share/man/cat3/tgetstr.0 +./usr/share/man/cat3/tgoto.0 +./usr/share/man/cat3/time.0 +./usr/share/man/cat3/time2posix.0 +./usr/share/man/cat3/times.0 +./usr/share/man/cat3/timezone.0 +./usr/share/man/cat3/tmpfile.0 +./usr/share/man/cat3/tmpnam.0 +./usr/share/man/cat3/tolower.0 +./usr/share/man/cat3/toupper.0 +./usr/share/man/cat3/tputs.0 +./usr/share/man/cat3/ttyname.0 +./usr/share/man/cat3/ttyslot.0 +./usr/share/man/cat3/tzset.0 +./usr/share/man/cat3/tzsetwall.0 +./usr/share/man/cat3/ualarm.0 +./usr/share/man/cat3/uname.0 +./usr/share/man/cat3/ungetc.0 +./usr/share/man/cat3/unsetenv.0 +./usr/share/man/cat3/unvis.0 +./usr/share/man/cat3/user_from_uid.0 +./usr/share/man/cat3/usleep.0 +./usr/share/man/cat3/utime.0 +./usr/share/man/cat3/va_arg.0 +./usr/share/man/cat3/va_end.0 +./usr/share/man/cat3/va_start.0 +./usr/share/man/cat3/valloc.0 +./usr/share/man/cat3/varargs.0 +./usr/share/man/cat3/verr.0 +./usr/share/man/cat3/verrx.0 +./usr/share/man/cat3/vfprintf.0 +./usr/share/man/cat3/vfscanf.0 +./usr/share/man/cat3/vis.0 +./usr/share/man/cat3/vlimit.0 +./usr/share/man/cat3/vprintf.0 +./usr/share/man/cat3/vscanf.0 +./usr/share/man/cat3/vsnprintf.0 +./usr/share/man/cat3/vsprintf.0 +./usr/share/man/cat3/vsscanf.0 +./usr/share/man/cat3/vsyslog.0 +./usr/share/man/cat3/vtimes.0 +./usr/share/man/cat3/vwarn.0 +./usr/share/man/cat3/vwarnx.0 +./usr/share/man/cat3/warn.0 +./usr/share/man/cat3/warnx.0 +./usr/share/man/cat3/xdr.0 +./usr/share/man/cat3/xdr_accepted_reply.0 +./usr/share/man/cat3/xdr_array.0 +./usr/share/man/cat3/xdr_authunix_parms.0 +./usr/share/man/cat3/xdr_bool.0 +./usr/share/man/cat3/xdr_bytes.0 +./usr/share/man/cat3/xdr_callhdr.0 +./usr/share/man/cat3/xdr_callmsg.0 +./usr/share/man/cat3/xdr_char.0 +./usr/share/man/cat3/xdr_destroy.0 +./usr/share/man/cat3/xdr_double.0 +./usr/share/man/cat3/xdr_enum.0 +./usr/share/man/cat3/xdr_float.0 +./usr/share/man/cat3/xdr_free.0 +./usr/share/man/cat3/xdr_getpos.0 +./usr/share/man/cat3/xdr_inline.0 +./usr/share/man/cat3/xdr_int.0 +./usr/share/man/cat3/xdr_long.0 +./usr/share/man/cat3/xdr_opaque.0 +./usr/share/man/cat3/xdr_opaque_auth.0 +./usr/share/man/cat3/xdr_pmap.0 +./usr/share/man/cat3/xdr_pmaplist.0 +./usr/share/man/cat3/xdr_pointer.0 +./usr/share/man/cat3/xdr_reference.0 +./usr/share/man/cat3/xdr_rejected_reply.0 +./usr/share/man/cat3/xdr_replymsg.0 +./usr/share/man/cat3/xdr_setpos.0 +./usr/share/man/cat3/xdr_short.0 +./usr/share/man/cat3/xdr_string.0 +./usr/share/man/cat3/xdr_u_char.0 +./usr/share/man/cat3/xdr_u_long.0 +./usr/share/man/cat3/xdr_u_short.0 +./usr/share/man/cat3/xdr_union.0 +./usr/share/man/cat3/xdr_vector.0 +./usr/share/man/cat3/xdr_void.0 +./usr/share/man/cat3/xdr_wrapstring.0 +./usr/share/man/cat3/xdrmem_create.0 +./usr/share/man/cat3/xdrrec_create.0 +./usr/share/man/cat3/xdrrec_endofrecord.0 +./usr/share/man/cat3/xdrrec_eof.0 +./usr/share/man/cat3/xdrrec_skiprecord.0 +./usr/share/man/cat3/xdrstdio_create.0 +./usr/share/man/cat3/xprt_register.0 +./usr/share/man/cat3/xprt_unregister.0 +./usr/share/man/cat3/y0.0 +./usr/share/man/cat3/y1.0 +./usr/share/man/cat3/yn.0 +./usr/share/man/cat3/yp_all.0 +./usr/share/man/cat3/yp_bind.0 +./usr/share/man/cat3/yp_first.0 +./usr/share/man/cat3/yp_get_default_domain.0 +./usr/share/man/cat3/yp_master.0 +./usr/share/man/cat3/yp_match.0 +./usr/share/man/cat3/yp_next.0 +./usr/share/man/cat3/yp_order.0 +./usr/share/man/cat3/yp_unbind.0 +./usr/share/man/cat3/ypclnt.0 +./usr/share/man/cat3/yperr_string.0 +./usr/share/man/cat3/ypprot_err.0 +./usr/share/man/cat7/operator.0 +./usr/share/man/cat8/config.0 +./usr/share/man/cat8/kgmon.0 +./usr/share/misc/getopt +./usr/share/misc/gprof.callg +./usr/share/misc/gprof.flat +./usr/share/misc/operator +./usr/share/misc/style +./usr/share/mk/bsd.README +./usr/share/mk/bsd.dep.mk +./usr/share/mk/bsd.doc.mk +./usr/share/mk/bsd.lib.mk +./usr/share/mk/bsd.man.mk +./usr/share/mk/bsd.nls.mk +./usr/share/mk/bsd.obj.mk +./usr/share/mk/bsd.own.mk +./usr/share/mk/bsd.prog.mk +./usr/share/mk/bsd.subdir.mk +./var/db/libc.tags diff --git a/distrib/sets/lists/etc/md.amiga b/distrib/sets/lists/etc/md.amiga new file mode 100644 index 00000000000..0c5bed6e496 --- /dev/null +++ b/distrib/sets/lists/etc/md.amiga @@ -0,0 +1 @@ +./etc/fstab.tmp diff --git a/distrib/sets/lists/etc/md.atari b/distrib/sets/lists/etc/md.atari new file mode 100644 index 00000000000..0c5bed6e496 --- /dev/null +++ b/distrib/sets/lists/etc/md.atari @@ -0,0 +1 @@ +./etc/fstab.tmp diff --git a/distrib/sets/lists/etc/md.hp300 b/distrib/sets/lists/etc/md.hp300 new file mode 100644 index 00000000000..c9fa422bfef --- /dev/null +++ b/distrib/sets/lists/etc/md.hp300 @@ -0,0 +1,2 @@ +./etc/fstab.rd +./etc/fstab.sd diff --git a/distrib/sets/lists/etc/md.i386 b/distrib/sets/lists/etc/md.i386 new file mode 100644 index 00000000000..3eb69feee0d --- /dev/null +++ b/distrib/sets/lists/etc/md.i386 @@ -0,0 +1 @@ +./etc/fstab.wd diff --git a/distrib/sets/lists/etc/md.mac68k b/distrib/sets/lists/etc/md.mac68k new file mode 100644 index 00000000000..1b4d8c24036 --- /dev/null +++ b/distrib/sets/lists/etc/md.mac68k @@ -0,0 +1 @@ +./etc/fstab.sd diff --git a/distrib/sets/lists/etc/md.pc532 b/distrib/sets/lists/etc/md.pc532 new file mode 100644 index 00000000000..1b4d8c24036 --- /dev/null +++ b/distrib/sets/lists/etc/md.pc532 @@ -0,0 +1 @@ +./etc/fstab.sd diff --git a/distrib/sets/lists/etc/md.pmax b/distrib/sets/lists/etc/md.pmax new file mode 100644 index 00000000000..e69de29bb2d --- /dev/null +++ b/distrib/sets/lists/etc/md.pmax diff --git a/distrib/sets/lists/etc/md.sparc b/distrib/sets/lists/etc/md.sparc new file mode 100644 index 00000000000..1b4d8c24036 --- /dev/null +++ b/distrib/sets/lists/etc/md.sparc @@ -0,0 +1 @@ +./etc/fstab.sd diff --git a/distrib/sets/lists/etc/md.sun3 b/distrib/sets/lists/etc/md.sun3 new file mode 100644 index 00000000000..e1bb3e31e7c --- /dev/null +++ b/distrib/sets/lists/etc/md.sun3 @@ -0,0 +1 @@ +./etc/fstab.nfs diff --git a/distrib/sets/lists/etc/mi b/distrib/sets/lists/etc/mi new file mode 100644 index 00000000000..973fd45b219 --- /dev/null +++ b/distrib/sets/lists/etc/mi @@ -0,0 +1,61 @@ +./.cshrc +./.profile +./dev/MAKEDEV.local +./etc/aliases +./etc/bootptab +./etc/changelist +./etc/csh.cshrc +./etc/csh.login +./etc/csh.logout +./etc/daily +./etc/disktab +./etc/dm.conf +./etc/dumpdates +./etc/ftpchroot +./etc/ftpusers +./etc/gettytab +./etc/group +./etc/hosts +./etc/hosts.equiv +./etc/hosts.lpd +./etc/inetd.conf +./etc/localtime +./etc/magic +./etc/mail.rc +./etc/man.conf +./etc/master.passwd +./etc/monthly +./etc/motd +./etc/mtree/4.4BSD.dist +./etc/mtree/special +./etc/myname +./etc/namedb/localhost.rev +./etc/namedb/named.boot +./etc/namedb/root.cache +./etc/netstart +./etc/newsyslog.conf +./etc/passwd +./etc/phones +./etc/printcap +./etc/protocols +./etc/pwd.db +./etc/rc +./etc/rc.local +./etc/remote +./etc/rmt +./etc/rpc +./etc/security +./etc/sendmail.cf +./etc/services +./etc/shells +./etc/skeykeys +./etc/spwd.db +./etc/syslog.conf +./etc/ttys +./etc/weekly +./root/.cshrc +./root/.klogin +./root/.login +./root/.profile +./var/cron/tabs/root +./var/msgs/bounds diff --git a/distrib/sets/lists/games/md.amiga b/distrib/sets/lists/games/md.amiga new file mode 100644 index 00000000000..e69de29bb2d --- /dev/null +++ b/distrib/sets/lists/games/md.amiga diff --git a/distrib/sets/lists/games/md.atari b/distrib/sets/lists/games/md.atari new file mode 100644 index 00000000000..e69de29bb2d --- /dev/null +++ b/distrib/sets/lists/games/md.atari diff --git a/distrib/sets/lists/games/md.hp300 b/distrib/sets/lists/games/md.hp300 new file mode 100644 index 00000000000..e69de29bb2d --- /dev/null +++ b/distrib/sets/lists/games/md.hp300 diff --git a/distrib/sets/lists/games/md.i386 b/distrib/sets/lists/games/md.i386 new file mode 100644 index 00000000000..e69de29bb2d --- /dev/null +++ b/distrib/sets/lists/games/md.i386 diff --git a/distrib/sets/lists/games/md.mac68k b/distrib/sets/lists/games/md.mac68k new file mode 100644 index 00000000000..e69de29bb2d --- /dev/null +++ b/distrib/sets/lists/games/md.mac68k diff --git a/distrib/sets/lists/games/md.pc532 b/distrib/sets/lists/games/md.pc532 new file mode 100644 index 00000000000..e69de29bb2d --- /dev/null +++ b/distrib/sets/lists/games/md.pc532 diff --git a/distrib/sets/lists/games/md.pmax b/distrib/sets/lists/games/md.pmax new file mode 100644 index 00000000000..e69de29bb2d --- /dev/null +++ b/distrib/sets/lists/games/md.pmax diff --git a/distrib/sets/lists/games/md.sparc b/distrib/sets/lists/games/md.sparc new file mode 100644 index 00000000000..e69de29bb2d --- /dev/null +++ b/distrib/sets/lists/games/md.sparc diff --git a/distrib/sets/lists/games/md.sun3 b/distrib/sets/lists/games/md.sun3 new file mode 100644 index 00000000000..e69de29bb2d --- /dev/null +++ b/distrib/sets/lists/games/md.sun3 diff --git a/distrib/sets/lists/games/mi b/distrib/sets/lists/games/mi new file mode 100644 index 00000000000..bd70ea0a236 --- /dev/null +++ b/distrib/sets/lists/games/mi @@ -0,0 +1,206 @@ +./usr/games/adventure +./usr/games/arithmetic +./usr/games/atc +./usr/games/backgammon +./usr/games/banner +./usr/games/battlestar +./usr/games/bcd +./usr/games/boggle +./usr/games/caesar +./usr/games/canfield +./usr/games/cfscores +./usr/games/chess +./usr/games/cribbage +./usr/games/dm +./usr/games/factor +./usr/games/fish +./usr/games/fortune +./usr/games/hack +./usr/games/hangman +./usr/games/hide/adventure +./usr/games/hide/arithmetic +./usr/games/hide/atc +./usr/games/hide/backgammon +./usr/games/hide/battlestar +./usr/games/hide/bcd +./usr/games/hide/boggle +./usr/games/hide/canfield +./usr/games/hide/cfscores +./usr/games/hide/chess +./usr/games/hide/cribbage +./usr/games/hide/fish +./usr/games/hide/hack +./usr/games/hide/hangman +./usr/games/hide/larn +./usr/games/hide/mille +./usr/games/hide/monop +./usr/games/hide/morse +./usr/games/hide/phantasia +./usr/games/hide/ppt +./usr/games/hide/quiz +./usr/games/hide/robots +./usr/games/hide/rogue +./usr/games/hide/sail +./usr/games/hide/snake +./usr/games/hide/snscore +./usr/games/hide/teachgammon +./usr/games/hide/tetris +./usr/games/hide/trek +./usr/games/hide/worm +./usr/games/hide/wump +./usr/games/larn +./usr/games/mille +./usr/games/monop +./usr/games/morse +./usr/games/number +./usr/games/phantasia +./usr/games/pig +./usr/games/pom +./usr/games/ppt +./usr/games/primes +./usr/games/quiz +./usr/games/rain +./usr/games/random +./usr/games/robots +./usr/games/rogue +./usr/games/rot13 +./usr/games/sail +./usr/games/snake +./usr/games/snscore +./usr/games/teachgammon +./usr/games/tetris +./usr/games/trek +./usr/games/wargames +./usr/games/worm +./usr/games/worms +./usr/games/wump +./usr/share/games/atc/ATC_scores +./usr/share/games/atc/Atlantis +./usr/share/games/atc/Game_List +./usr/share/games/atc/Killer +./usr/share/games/atc/OHare +./usr/share/games/atc/Tic-Tac-Toe +./usr/share/games/atc/airports +./usr/share/games/atc/box +./usr/share/games/atc/crosshatch +./usr/share/games/atc/crossover +./usr/share/games/atc/default +./usr/share/games/atc/easy +./usr/share/games/atc/game_2 +./usr/share/games/atc/game_3 +./usr/share/games/atc/game_4 +./usr/share/games/atc/novice +./usr/share/games/atc/two-corners +./usr/share/games/boggle/dictindex +./usr/share/games/boggle/dictionary +./usr/share/games/boggle/helpfile +./usr/share/games/cards.pck +./usr/share/games/cribbage.instr +./usr/share/games/fish.instr +./usr/share/games/fortune/fortunes +./usr/share/games/fortune/fortunes-o +./usr/share/games/fortune/fortunes-o.dat +./usr/share/games/fortune/fortunes.dat +./usr/share/games/fortune/fortunes2 +./usr/share/games/fortune/fortunes2-o +./usr/share/games/fortune/fortunes2-o.dat +./usr/share/games/fortune/fortunes2.dat +./usr/share/games/fortune/limerick +./usr/share/games/fortune/limerick.dat +./usr/share/games/fortune/startrek +./usr/share/games/fortune/startrek.dat +./usr/share/games/fortune/zippy +./usr/share/games/fortune/zippy.dat +./usr/share/games/gnuchess.book +./usr/share/games/larn/larn.help +./usr/share/games/larn/larnmaze +./usr/share/games/larn/larnopts +./usr/share/games/quiz.db/africa +./usr/share/games/quiz.db/america +./usr/share/games/quiz.db/areas +./usr/share/games/quiz.db/arith +./usr/share/games/quiz.db/asia +./usr/share/games/quiz.db/babies +./usr/share/games/quiz.db/bard +./usr/share/games/quiz.db/chinese +./usr/share/games/quiz.db/collectives +./usr/share/games/quiz.db/ed +./usr/share/games/quiz.db/elements +./usr/share/games/quiz.db/europe +./usr/share/games/quiz.db/flowers +./usr/share/games/quiz.db/greek +./usr/share/games/quiz.db/inca +./usr/share/games/quiz.db/index +./usr/share/games/quiz.db/latin +./usr/share/games/quiz.db/locomotive +./usr/share/games/quiz.db/midearth +./usr/share/games/quiz.db/morse +./usr/share/games/quiz.db/mult +./usr/share/games/quiz.db/murders +./usr/share/games/quiz.db/poetry +./usr/share/games/quiz.db/posneg +./usr/share/games/quiz.db/pres +./usr/share/games/quiz.db/province +./usr/share/games/quiz.db/seq-easy +./usr/share/games/quiz.db/seq-hard +./usr/share/games/quiz.db/sexes +./usr/share/games/quiz.db/sov +./usr/share/games/quiz.db/spell +./usr/share/games/quiz.db/state +./usr/share/games/quiz.db/trek +./usr/share/games/quiz.db/ucc +./usr/share/games/wump.info +./usr/share/man/cat6/adventure.0 +./usr/share/man/cat6/arithmetic.0 +./usr/share/man/cat6/atc.0 +./usr/share/man/cat6/backgammon.0 +./usr/share/man/cat6/banner.0 +./usr/share/man/cat6/battlestar.0 +./usr/share/man/cat6/bcd.0 +./usr/share/man/cat6/boggle.0 +./usr/share/man/cat6/caesar.0 +./usr/share/man/cat6/canfield.0 +./usr/share/man/cat6/chess.0 +./usr/share/man/cat6/cribbage.0 +./usr/share/man/cat6/factor.0 +./usr/share/man/cat6/fish.0 +./usr/share/man/cat6/fortune.0 +./usr/share/man/cat6/hack.0 +./usr/share/man/cat6/hangman.0 +./usr/share/man/cat6/larn.0 +./usr/share/man/cat6/mille.0 +./usr/share/man/cat6/monop.0 +./usr/share/man/cat6/morse.0 +./usr/share/man/cat6/number.0 +./usr/share/man/cat6/phantasia.0 +./usr/share/man/cat6/pig.0 +./usr/share/man/cat6/pom.0 +./usr/share/man/cat6/ppt.0 +./usr/share/man/cat6/primes.0 +./usr/share/man/cat6/quiz.0 +./usr/share/man/cat6/rain.0 +./usr/share/man/cat6/random.0 +./usr/share/man/cat6/robots.0 +./usr/share/man/cat6/rogue.0 +./usr/share/man/cat6/rot13.0 +./usr/share/man/cat6/sail.0 +./usr/share/man/cat6/snake.0 +./usr/share/man/cat6/tetris.0 +./usr/share/man/cat6/trek.0 +./usr/share/man/cat6/worm.0 +./usr/share/man/cat6/worms.0 +./usr/share/man/cat6/wump.0 +./var/games/hackdir/data +./var/games/hackdir/help +./var/games/hackdir/hh +./var/games/hackdir/perm +./var/games/hackdir/record +./var/games/phantasia/characs +./var/games/phantasia/gold +./var/games/phantasia/lastdead +./var/games/phantasia/mess +./var/games/phantasia/monsters +./var/games/phantasia/motd +./var/games/phantasia/scoreboard +./var/games/phantasia/void +./var/games/robots_roll diff --git a/distrib/sets/lists/man/md.amiga b/distrib/sets/lists/man/md.amiga new file mode 100644 index 00000000000..7ec558d7c8b --- /dev/null +++ b/distrib/sets/lists/man/md.amiga @@ -0,0 +1,11 @@ +./usr/share/man/cat1/ld.so.0 +./usr/share/man/cat1/rtld.0 +./usr/share/man/cat3/dlfcn.0 +./usr/share/man/cat3/dlopen.0 +./usr/share/man/cat3/dlclose.0 +./usr/share/man/cat3/dlsym.0 +./usr/share/man/cat3/dlctl.0 +./usr/share/man/cat3/dlerror.0 +./usr/share/man/cat8/grfconfig.0 +./usr/share/man/cat8/iteconfig.0 +./usr/share/man/cat8/iteconfig_amiga.0 diff --git a/distrib/sets/lists/man/md.atari b/distrib/sets/lists/man/md.atari new file mode 100644 index 00000000000..54df93159f3 --- /dev/null +++ b/distrib/sets/lists/man/md.atari @@ -0,0 +1,10 @@ +./usr/share/man/cat1/ld.so.0 +./usr/share/man/cat1/rtld.0 +./usr/share/man/cat3/dlfcn.0 +./usr/share/man/cat3/dlopen.0 +./usr/share/man/cat3/dlclose.0 +./usr/share/man/cat3/dlsym.0 +./usr/share/man/cat3/dlctl.0 +./usr/share/man/cat3/dlerror.0 +./usr/share/man/cat8/iteconfig.0 +./usr/share/man/cat8/iteconfig_atari.0 diff --git a/distrib/sets/lists/man/md.hp300 b/distrib/sets/lists/man/md.hp300 new file mode 100644 index 00000000000..dd77fa44391 --- /dev/null +++ b/distrib/sets/lists/man/md.hp300 @@ -0,0 +1,9 @@ +./usr/share/man/cat1/ld.so.0 +./usr/share/man/cat1/rtld.0 +./usr/share/man/cat3/dlfcn.0 +./usr/share/man/cat3/dlopen.0 +./usr/share/man/cat3/dlclose.0 +./usr/share/man/cat3/dlsym.0 +./usr/share/man/cat3/dlctl.0 +./usr/share/man/cat3/dlerror.0 +./usr/share/man/cat8/config.old.0 diff --git a/distrib/sets/lists/man/md.i386 b/distrib/sets/lists/man/md.i386 new file mode 100644 index 00000000000..1961ae78112 --- /dev/null +++ b/distrib/sets/lists/man/md.i386 @@ -0,0 +1,10 @@ +./usr/share/man/cat1/ld.so.0 +./usr/share/man/cat1/rtld.0 +./usr/share/man/cat3/dlfcn.0 +./usr/share/man/cat3/dlopen.0 +./usr/share/man/cat3/dlclose.0 +./usr/share/man/cat3/dlsym.0 +./usr/share/man/cat3/dlctl.0 +./usr/share/man/cat3/dlerror.0 +./usr/share/man/cat8/fdisk.0 +./usr/share/man/cat8/i386/bad144.0 diff --git a/distrib/sets/lists/man/md.mac68k b/distrib/sets/lists/man/md.mac68k new file mode 100644 index 00000000000..2234afaf9d0 --- /dev/null +++ b/distrib/sets/lists/man/md.mac68k @@ -0,0 +1,8 @@ +./usr/share/man/cat1/ld.so.0 +./usr/share/man/cat1/rtld.0 +./usr/share/man/cat3/dlfcn.0 +./usr/share/man/cat3/dlopen.0 +./usr/share/man/cat3/dlclose.0 +./usr/share/man/cat3/dlsym.0 +./usr/share/man/cat3/dlctl.0 +./usr/share/man/cat3/dlerror.0 diff --git a/distrib/sets/lists/man/md.pc532 b/distrib/sets/lists/man/md.pc532 new file mode 100644 index 00000000000..2234afaf9d0 --- /dev/null +++ b/distrib/sets/lists/man/md.pc532 @@ -0,0 +1,8 @@ +./usr/share/man/cat1/ld.so.0 +./usr/share/man/cat1/rtld.0 +./usr/share/man/cat3/dlfcn.0 +./usr/share/man/cat3/dlopen.0 +./usr/share/man/cat3/dlclose.0 +./usr/share/man/cat3/dlsym.0 +./usr/share/man/cat3/dlctl.0 +./usr/share/man/cat3/dlerror.0 diff --git a/distrib/sets/lists/man/md.pmax b/distrib/sets/lists/man/md.pmax new file mode 100644 index 00000000000..e69de29bb2d --- /dev/null +++ b/distrib/sets/lists/man/md.pmax diff --git a/distrib/sets/lists/man/md.sparc b/distrib/sets/lists/man/md.sparc new file mode 100644 index 00000000000..f39da0ef010 --- /dev/null +++ b/distrib/sets/lists/man/md.sparc @@ -0,0 +1,11 @@ +./usr/share/man/cat1/ld.so.0 +./usr/share/man/cat1/rtld.0 +./usr/share/man/cat1/screenblank.0 +./usr/share/man/cat3/dlfcn.0 +./usr/share/man/cat3/dlopen.0 +./usr/share/man/cat3/dlclose.0 +./usr/share/man/cat3/dlsym.0 +./usr/share/man/cat3/dlctl.0 +./usr/share/man/cat3/dlerror.0 +./usr/share/man/cat8/eeprom.0 +./usr/share/man/cat8/installboot.0 diff --git a/distrib/sets/lists/man/md.sun3 b/distrib/sets/lists/man/md.sun3 new file mode 100644 index 00000000000..66d808b8cfc --- /dev/null +++ b/distrib/sets/lists/man/md.sun3 @@ -0,0 +1,12 @@ +./usr/share/man/cat1/ld.so.0 +./usr/share/man/cat1/rtld.0 +./usr/share/man/cat3/dlfcn.0 +./usr/share/man/cat3/dlopen.0 +./usr/share/man/cat3/dlclose.0 +./usr/share/man/cat3/dlsym.0 +./usr/share/man/cat3/dlctl.0 +./usr/share/man/cat3/dlerror.0 +./usr/share/man/cat8/dbsym.0 +./usr/share/man/cat8/eeprom.0 +./usr/share/man/cat8/installboot.0 +./usr/share/man/cat1/screenblank.0 diff --git a/distrib/sets/lists/man/md_share b/distrib/sets/lists/man/md_share new file mode 100644 index 00000000000..ef08713b3d5 --- /dev/null +++ b/distrib/sets/lists/man/md_share @@ -0,0 +1,183 @@ +./usr/share/man/cat4/amiga/ae.0 +./usr/share/man/cat4/amiga/afsc.0 +./usr/share/man/cat4/amiga/ahsc.0 +./usr/share/man/cat4/amiga/atzsc.0 +./usr/share/man/cat4/amiga/autoconf.0 +./usr/share/man/cat4/amiga/bah.0 +./usr/share/man/cat4/amiga/console.0 +./usr/share/man/cat4/amiga/ed.0 +./usr/share/man/cat4/amiga/es.0 +./usr/share/man/cat4/amiga/gtsc.0 +./usr/share/man/cat4/amiga/intro.0 +./usr/share/man/cat4/amiga/ite.0 +./usr/share/man/cat4/amiga/kmem.0 +./usr/share/man/cat4/amiga/le.0 +./usr/share/man/cat4/amiga/mem.0 +./usr/share/man/cat4/amiga/mfcs.0 +./usr/share/man/cat4/amiga/mgnsc.0 +./usr/share/man/cat4/amiga/qn.0 +./usr/share/man/cat4/amiga/ser.0 +./usr/share/man/cat4/amiga/wesc.0 +./usr/share/man/cat4/amiga/zssc.0 +./usr/share/man/cat4/hp300/autoconf.0 +./usr/share/man/cat4/hp300/cons.0 +./usr/share/man/cat4/hp300/ct.0 +./usr/share/man/cat4/hp300/dca.0 +./usr/share/man/cat4/hp300/dcl.0 +./usr/share/man/cat4/hp300/dcm.0 +./usr/share/man/cat4/hp300/dv.0 +./usr/share/man/cat4/hp300/gb.0 +./usr/share/man/cat4/hp300/grf.0 +./usr/share/man/cat4/hp300/hil.0 +./usr/share/man/cat4/hp300/intro.0 +./usr/share/man/cat4/hp300/ite.0 +./usr/share/man/cat4/hp300/kmem.0 +./usr/share/man/cat4/hp300/le.0 +./usr/share/man/cat4/hp300/mem.0 +./usr/share/man/cat4/hp300/ppi.0 +./usr/share/man/cat4/hp300/rb.0 +./usr/share/man/cat4/hp300/rd.0 +./usr/share/man/cat4/hp300/rmp.0 +./usr/share/man/cat4/hp300/tc.0 +./usr/share/man/cat4/i386/aha.0 +./usr/share/man/cat4/i386/ahb.0 +./usr/share/man/cat4/i386/aic.0 +./usr/share/man/cat4/i386/ast.0 +./usr/share/man/cat4/i386/autoconf.0 +./usr/share/man/cat4/i386/boca.0 +./usr/share/man/cat4/i386/bt.0 +./usr/share/man/cat4/i386/com.0 +./usr/share/man/cat4/i386/cy.0 +./usr/share/man/cat4/i386/ed.0 +./usr/share/man/cat4/i386/eg.0 +./usr/share/man/cat4/i386/el.0 +./usr/share/man/cat4/i386/ep.0 +./usr/share/man/cat4/i386/ie.0 +./usr/share/man/cat4/i386/intro.0 +./usr/share/man/cat4/i386/kmem.0 +./usr/share/man/cat4/i386/le.0 +./usr/share/man/cat4/i386/lms.0 +./usr/share/man/cat4/i386/lpt.0 +./usr/share/man/cat4/i386/mcd.0 +./usr/share/man/cat4/i386/mem.0 +./usr/share/man/cat4/i386/mms.0 +./usr/share/man/cat4/i386/ncr.0 +./usr/share/man/cat4/i386/npx.0 +./usr/share/man/cat4/i386/pms.0 +./usr/share/man/cat4/i386/rtfps.0 +./usr/share/man/cat4/i386/sea.0 +./usr/share/man/cat4/i386/speaker.0 +./usr/share/man/cat4/i386/uha.0 +./usr/share/man/cat4/i386/wd.0 +./usr/share/man/cat4/i386/wt.0 +./usr/share/man/cat4/pc532/lpt.0 +./usr/share/man/cat4/pc532/plip.0 +./usr/share/man/cat4/sparc/bwtwo.0 +./usr/share/man/cat4/sparc/cgsix.0 +./usr/share/man/cat4/sparc/cgthree.0 +./usr/share/man/cat4/sparc/kmem.0 +./usr/share/man/cat4/sparc/le.0 +./usr/share/man/cat4/sparc/mem.0 +./usr/share/man/cat4/sparc/openprom.0 +./usr/share/man/cat4/sun3 +./usr/share/man/cat4/sun3/bwtwo.0 +./usr/share/man/cat4/sun3/cgfour.0 +./usr/share/man/cat4/sun3/cgtwo.0 +./usr/share/man/cat4/sun3/ie.0 +./usr/share/man/cat4/sun3/kmem.0 +./usr/share/man/cat4/sun3/le.0 +./usr/share/man/cat4/sun3/mem.0 +./usr/share/man/cat4/tahoe/ace.0 +./usr/share/man/cat4/tahoe/autoconf.0 +./usr/share/man/cat4/tahoe/cons.0 +./usr/share/man/cat4/tahoe/cy.0 +./usr/share/man/cat4/tahoe/dr.0 +./usr/share/man/cat4/tahoe/enp.0 +./usr/share/man/cat4/tahoe/ik.0 +./usr/share/man/cat4/tahoe/intro.0 +./usr/share/man/cat4/tahoe/kmem.0 +./usr/share/man/cat4/tahoe/lp.0 +./usr/share/man/cat4/tahoe/mem.0 +./usr/share/man/cat4/tahoe/mtio.0 +./usr/share/man/cat4/tahoe/vd.0 +./usr/share/man/cat4/tahoe/vx.0 +./usr/share/man/cat4/vax/acc.0 +./usr/share/man/cat4/vax/ad.0 +./usr/share/man/cat4/vax/autoconf.0 +./usr/share/man/cat4/vax/cons.0 +./usr/share/man/cat4/vax/crl.0 +./usr/share/man/cat4/vax/css.0 +./usr/share/man/cat4/vax/ct.0 +./usr/share/man/cat4/vax/ddn.0 +./usr/share/man/cat4/vax/de.0 +./usr/share/man/cat4/vax/dh.0 +./usr/share/man/cat4/vax/dhu.0 +./usr/share/man/cat4/vax/dmc.0 +./usr/share/man/cat4/vax/dmf.0 +./usr/share/man/cat4/vax/dmz.0 +./usr/share/man/cat4/vax/dn.0 +./usr/share/man/cat4/vax/dz.0 +./usr/share/man/cat4/vax/ec.0 +./usr/share/man/cat4/vax/en.0 +./usr/share/man/cat4/vax/ex.0 +./usr/share/man/cat4/vax/fl.0 +./usr/share/man/cat4/vax/hdh.0 +./usr/share/man/cat4/vax/hk.0 +./usr/share/man/cat4/vax/hp.0 +./usr/share/man/cat4/vax/ht.0 +./usr/share/man/cat4/vax/hy.0 +./usr/share/man/cat4/vax/ik.0 +./usr/share/man/cat4/vax/il.0 +./usr/share/man/cat4/vax/intro.0 +./usr/share/man/cat4/vax/ix.0 +./usr/share/man/cat4/vax/kg.0 +./usr/share/man/cat4/vax/kmem.0 +./usr/share/man/cat4/vax/lp.0 +./usr/share/man/cat4/vax/mem.0 +./usr/share/man/cat4/vax/mt.0 +./usr/share/man/cat4/vax/mtio.0 +./usr/share/man/cat4/vax/np.0 +./usr/share/man/cat4/vax/pcl.0 +./usr/share/man/cat4/vax/ps.0 +./usr/share/man/cat4/vax/qe.0 +./usr/share/man/cat4/vax/rx.0 +./usr/share/man/cat4/vax/tm.0 +./usr/share/man/cat4/vax/tmscp.0 +./usr/share/man/cat4/vax/ts.0 +./usr/share/man/cat4/vax/tu.0 +./usr/share/man/cat4/vax/uda.0 +./usr/share/man/cat4/vax/up.0 +./usr/share/man/cat4/vax/ut.0 +./usr/share/man/cat4/vax/uu.0 +./usr/share/man/cat4/vax/va.0 +./usr/share/man/cat4/vax/vp.0 +./usr/share/man/cat4/vax/vv.0 +./usr/share/man/cat8/amiga/MAKEDEV.0 +./usr/share/man/cat8/amiga/makedev.0 +./usr/share/man/cat8/boot_hp300.0 +./usr/share/man/cat8/boot_i386.0 +./usr/share/man/cat8/boot_mac68k.0 +./usr/share/man/cat8/boot_pmax.0 +./usr/share/man/cat8/boot_sparc.0 +./usr/share/man/cat8/boot_sun3.0 +./usr/share/man/cat8/boot_tahoe.0 +./usr/share/man/cat8/boot_vax.0 +./usr/share/man/cat8/hp300/MAKEDEV.0 +./usr/share/man/cat8/hp300/crash.0 +./usr/share/man/cat8/hp300/format.0 +./usr/share/man/cat8/hp300/makedev.0 +./usr/share/man/cat8/i386/MAKEDEV.0 +./usr/share/man/cat8/i386/makedev.0 +./usr/share/man/cat8/sparc/MAKEDEV.0 +./usr/share/man/cat8/sparc/makedev.0 +./usr/share/man/cat8/sun3 +./usr/share/man/cat8/sun3/MAKEDEV.0 +./usr/share/man/cat8/sun3/makedev.0 +./usr/share/man/cat8/tahoe/MAKEDEV.0 +./usr/share/man/cat8/tahoe/makedev.0 +./usr/share/man/cat8/vax/MAKEDEV.0 +./usr/share/man/cat8/vax/crash.0 +./usr/share/man/cat8/vax/drtest.0 +./usr/share/man/cat8/vax/format.0 +./usr/share/man/cat8/vax/installboot.0 +./usr/share/man/cat8/vax/makedev.0 diff --git a/distrib/sets/lists/man/mi b/distrib/sets/lists/man/mi new file mode 100644 index 00000000000..59f37ed8af2 --- /dev/null +++ b/distrib/sets/lists/man/mi @@ -0,0 +1,539 @@ +./usr/share/man/cat1/Mail.0 +./usr/share/man/cat1/[.0 +./usr/share/man/cat1/alias.0 +./usr/share/man/cat1/apply.0 +./usr/share/man/cat1/apropos.0 +./usr/share/man/cat1/at.0 +./usr/share/man/cat1/atq.0 +./usr/share/man/cat1/atrm.0 +./usr/share/man/cat1/awk.0 +./usr/share/man/cat1/banner.0 +./usr/share/man/cat1/basename.0 +./usr/share/man/cat1/batch.0 +./usr/share/man/cat1/bc.0 +./usr/share/man/cat1/bdes.0 +./usr/share/man/cat1/bg.0 +./usr/share/man/cat1/biff.0 +./usr/share/man/cat1/cal.0 +./usr/share/man/cat1/calendar.0 +./usr/share/man/cat1/cap_mkdb.0 +./usr/share/man/cat1/cat.0 +./usr/share/man/cat1/cd.0 +./usr/share/man/cat1/chflags.0 +./usr/share/man/cat1/chfn.0 +./usr/share/man/cat1/chgrp.0 +./usr/share/man/cat1/chmod.0 +./usr/share/man/cat1/chpass.0 +./usr/share/man/cat1/chsh.0 +./usr/share/man/cat1/ci.0 +./usr/share/man/cat1/cksum.0 +./usr/share/man/cat1/clear.0 +./usr/share/man/cat1/cmp.0 +./usr/share/man/cat1/co.0 +./usr/share/man/cat1/col.0 +./usr/share/man/cat1/colcrt.0 +./usr/share/man/cat1/colrm.0 +./usr/share/man/cat1/column.0 +./usr/share/man/cat1/comm.0 +./usr/share/man/cat1/compress.0 +./usr/share/man/cat1/cp.0 +./usr/share/man/cat1/cpio.0 +./usr/share/man/cat1/cpp.0 +./usr/share/man/cat1/crontab.0 +./usr/share/man/cat1/csh.0 +./usr/share/man/cat1/ctags.0 +./usr/share/man/cat1/cu.0 +./usr/share/man/cat1/cut.0 +./usr/share/man/cat1/date.0 +./usr/share/man/cat1/dc.0 +./usr/share/man/cat1/dd.0 +./usr/share/man/cat1/df.0 +./usr/share/man/cat1/diff.0 +./usr/share/man/cat1/diff3.0 +./usr/share/man/cat1/dirname.0 +./usr/share/man/cat1/dirs.0 +./usr/share/man/cat1/domainname.0 +./usr/share/man/cat1/du.0 +./usr/share/man/cat1/echo.0 +./usr/share/man/cat1/ed.0 +./usr/share/man/cat1/egrep.0 +./usr/share/man/cat1/env.0 +./usr/share/man/cat1/error.0 +./usr/share/man/cat1/ex.0 +./usr/share/man/cat1/expand.0 +./usr/share/man/cat1/expr.0 +./usr/share/man/cat1/false.0 +./usr/share/man/cat1/fg.0 +./usr/share/man/cat1/fgrep.0 +./usr/share/man/cat1/file.0 +./usr/share/man/cat1/find.0 +./usr/share/man/cat1/finger.0 +./usr/share/man/cat1/fmt.0 +./usr/share/man/cat1/fold.0 +./usr/share/man/cat1/foreach.0 +./usr/share/man/cat1/from.0 +./usr/share/man/cat1/fsplit.0 +./usr/share/man/cat1/fstat.0 +./usr/share/man/cat1/ftp.0 +./usr/share/man/cat1/gcpp.0 +./usr/share/man/cat1/getconf.0 +./usr/share/man/cat1/getopt.0 +./usr/share/man/cat1/grep.0 +./usr/share/man/cat1/groups.0 +./usr/share/man/cat1/gunzip.0 +./usr/share/man/cat1/gzcat.0 +./usr/share/man/cat1/gzexe.0 +./usr/share/man/cat1/gzip.0 +./usr/share/man/cat1/head.0 +./usr/share/man/cat1/hexdump.0 +./usr/share/man/cat1/history.0 +./usr/share/man/cat1/hostname.0 +./usr/share/man/cat1/id.0 +./usr/share/man/cat1/ident.0 +./usr/share/man/cat1/indent.0 +./usr/share/man/cat1/install.0 +./usr/share/man/cat1/intro.0 +./usr/share/man/cat1/ipcrm.0 +./usr/share/man/cat1/ipcs.0 +./usr/share/man/cat1/jobs.0 +./usr/share/man/cat1/join.0 +./usr/share/man/cat1/jot.0 +./usr/share/man/cat1/kdump.0 +./usr/share/man/cat1/kill.0 +./usr/share/man/cat1/ktrace.0 +./usr/share/man/cat1/lam.0 +./usr/share/man/cat1/last.0 +./usr/share/man/cat1/lastcomm.0 +./usr/share/man/cat1/ldd.0 +./usr/share/man/cat1/leave.0 +./usr/share/man/cat1/limit.0 +./usr/share/man/cat1/ln.0 +./usr/share/man/cat1/locate.0 +./usr/share/man/cat1/lock.0 +./usr/share/man/cat1/logger.0 +./usr/share/man/cat1/login.0 +./usr/share/man/cat1/logname.0 +./usr/share/man/cat1/look.0 +./usr/share/man/cat1/lpq.0 +./usr/share/man/cat1/lpr.0 +./usr/share/man/cat1/lprm.0 +./usr/share/man/cat1/lptest.0 +./usr/share/man/cat1/ls.0 +./usr/share/man/cat1/m4.0 +./usr/share/man/cat1/machine.0 +./usr/share/man/cat1/mail.0 +./usr/share/man/cat1/mailq.0 +./usr/share/man/cat1/mailx.0 +./usr/share/man/cat1/make.0 +./usr/share/man/cat1/man.0 +./usr/share/man/cat1/merge.0 +./usr/share/man/cat1/mesg.0 +./usr/share/man/cat1/mkdep.0 +./usr/share/man/cat1/mkdir.0 +./usr/share/man/cat1/mkfifo.0 +./usr/share/man/cat1/more.0 +./usr/share/man/cat1/mset.0 +./usr/share/man/cat1/msgs.0 +./usr/share/man/cat1/mt.0 +./usr/share/man/cat1/mv.0 +./usr/share/man/cat1/netstat.0 +./usr/share/man/cat1/newaliases.0 +./usr/share/man/cat1/nfsstat.0 +./usr/share/man/cat1/nice.0 +./usr/share/man/cat1/nm.0 +./usr/share/man/cat1/nohup.0 +./usr/share/man/cat1/od.0 +./usr/share/man/cat1/page.0 +./usr/share/man/cat1/pagesize.0 +./usr/share/man/cat1/passwd.0 +./usr/share/man/cat1/paste.0 +./usr/share/man/cat1/patch.0 +./usr/share/man/cat1/pax.0 +./usr/share/man/cat1/popd.0 +./usr/share/man/cat1/pr.0 +./usr/share/man/cat1/printenv.0 +./usr/share/man/cat1/printf.0 +./usr/share/man/cat1/ps.0 +./usr/share/man/cat1/pushd.0 +./usr/share/man/cat1/pwd.0 +./usr/share/man/cat1/quota.0 +./usr/share/man/cat1/rcp.0 +./usr/share/man/cat1/rcs.0 +./usr/share/man/cat1/rcsclean.0 +./usr/share/man/cat1/rcsdiff.0 +./usr/share/man/cat1/rcsfreeze.0 +./usr/share/man/cat1/rcsintro.0 +./usr/share/man/cat1/rcsmerge.0 +./usr/share/man/cat1/rdist.0 +./usr/share/man/cat1/rehash.0 +./usr/share/man/cat1/repeat.0 +./usr/share/man/cat1/reset.0 +./usr/share/man/cat1/rev.0 +./usr/share/man/cat1/rlog.0 +./usr/share/man/cat1/rlogin.0 +./usr/share/man/cat1/rm.0 +./usr/share/man/cat1/rmdir.0 +./usr/share/man/cat1/rs.0 +./usr/share/man/cat1/rsh.0 +./usr/share/man/cat1/rup.0 +./usr/share/man/cat1/ruptime.0 +./usr/share/man/cat1/rusers.0 +./usr/share/man/cat1/rwall.0 +./usr/share/man/cat1/rwho.0 +./usr/share/man/cat1/script.0 +./usr/share/man/cat1/sdiff.0 +./usr/share/man/cat1/sed.0 +./usr/share/man/cat1/send-pr.0 +./usr/share/man/cat1/sh.0 +./usr/share/man/cat1/shar.0 +./usr/share/man/cat1/size.0 +./usr/share/man/cat1/skey.0 +./usr/share/man/cat1/skeyaudit.0 +./usr/share/man/cat1/skeyinfo.0 +./usr/share/man/cat1/skeyinit.0 +./usr/share/man/cat1/sleep.0 +./usr/share/man/cat1/sort.0 +./usr/share/man/cat1/source.0 +./usr/share/man/cat1/split.0 +./usr/share/man/cat1/stop.0 +./usr/share/man/cat1/strings.0 +./usr/share/man/cat1/stty.0 +./usr/share/man/cat1/su.0 +./usr/share/man/cat1/sum.0 +./usr/share/man/cat1/suspend.0 +./usr/share/man/cat1/systat.0 +./usr/share/man/cat1/tail.0 +./usr/share/man/cat1/talk.0 +./usr/share/man/cat1/tar.0 +./usr/share/man/cat1/tcopy.0 +./usr/share/man/cat1/tee.0 +./usr/share/man/cat1/telnet.0 +./usr/share/man/cat1/test.0 +./usr/share/man/cat1/tftp.0 +./usr/share/man/cat1/time.0 +./usr/share/man/cat1/tip.0 +./usr/share/man/cat1/tn3270.0 +./usr/share/man/cat1/touch.0 +./usr/share/man/cat1/tput.0 +./usr/share/man/cat1/tr.0 +./usr/share/man/cat1/true.0 +./usr/share/man/cat1/tset.0 +./usr/share/man/cat1/tsort.0 +./usr/share/man/cat1/tty.0 +./usr/share/man/cat1/ul.0 +./usr/share/man/cat1/uname.0 +./usr/share/man/cat1/uncompress.0 +./usr/share/man/cat1/unexpand.0 +./usr/share/man/cat1/unifdef.0 +./usr/share/man/cat1/uniq.0 +./usr/share/man/cat1/units.0 +./usr/share/man/cat1/unvis.0 +./usr/share/man/cat1/uptime.0 +./usr/share/man/cat1/users.0 +./usr/share/man/cat1/uucp.0 +./usr/share/man/cat1/uudecode.0 +./usr/share/man/cat1/uuencode.0 +./usr/share/man/cat1/uustat.0 +./usr/share/man/cat1/uux.0 +./usr/share/man/cat1/vacation.0 +./usr/share/man/cat1/vi.0 +./usr/share/man/cat1/view.0 +./usr/share/man/cat1/vis.0 +./usr/share/man/cat1/w.0 +./usr/share/man/cat1/wait.0 +./usr/share/man/cat1/wall.0 +./usr/share/man/cat1/wc.0 +./usr/share/man/cat1/what.0 +./usr/share/man/cat1/whatis.0 +./usr/share/man/cat1/whereis.0 +./usr/share/man/cat1/which.0 +./usr/share/man/cat1/who.0 +./usr/share/man/cat1/whoami.0 +./usr/share/man/cat1/whois.0 +./usr/share/man/cat1/window.0 +./usr/share/man/cat1/write.0 +./usr/share/man/cat1/xargs.0 +./usr/share/man/cat1/yes.0 +./usr/share/man/cat1/ypcat.0 +./usr/share/man/cat1/ypmatch.0 +./usr/share/man/cat1/yppasswd.0 +./usr/share/man/cat1/ypwhich.0 +./usr/share/man/cat1/zcat.0 +./usr/share/man/cat1/zdiff.0 +./usr/share/man/cat1/zforce.0 +./usr/share/man/cat1/zgrep.0 +./usr/share/man/cat1/zmore.0 +./usr/share/man/cat1/znew.0 +./usr/share/man/cat4/arp.0 +./usr/share/man/cat4/bpf.0 +./usr/share/man/cat4/ccd.0 +./usr/share/man/cat4/clnp.0 +./usr/share/man/cat4/cltp.0 +./usr/share/man/cat4/ddb.0 +./usr/share/man/cat4/drum.0 +./usr/share/man/cat4/esis.0 +./usr/share/man/cat4/fd.0 +./usr/share/man/cat4/icmp.0 +./usr/share/man/cat4/idp.0 +./usr/share/man/cat4/imp.0 +./usr/share/man/cat4/inet.0 +./usr/share/man/cat4/ip.0 +./usr/share/man/cat4/iso.0 +./usr/share/man/cat4/lkm.0 +./usr/share/man/cat4/lo.0 +./usr/share/man/cat4/netintro.0 +./usr/share/man/cat4/networking.0 +./usr/share/man/cat4/ns.0 +./usr/share/man/cat4/nsip.0 +./usr/share/man/cat4/null.0 +./usr/share/man/cat4/pty.0 +./usr/share/man/cat4/route.0 +./usr/share/man/cat4/spp.0 +./usr/share/man/cat4/stderr.0 +./usr/share/man/cat4/stdin.0 +./usr/share/man/cat4/stdout.0 +./usr/share/man/cat4/tb.0 +./usr/share/man/cat4/tcp.0 +./usr/share/man/cat4/termios.0 +./usr/share/man/cat4/tp.0 +./usr/share/man/cat4/tty.0 +./usr/share/man/cat4/udp.0 +./usr/share/man/cat4/unix.0 +./usr/share/man/cat5/a.out.0 +./usr/share/man/cat5/acct.0 +./usr/share/man/cat5/aliases.0 +./usr/share/man/cat5/ar.0 +./usr/share/man/cat5/bootparams.0 +./usr/share/man/cat5/bootptab.0 +./usr/share/man/cat5/core.0 +./usr/share/man/cat5/crontab.0 +./usr/share/man/cat5/dir.0 +./usr/share/man/cat5/dirent.0 +./usr/share/man/cat5/disklabel.0 +./usr/share/man/cat5/disktab.0 +./usr/share/man/cat5/dm.conf.0 +./usr/share/man/cat5/ethers.0 +./usr/share/man/cat5/exports.0 +./usr/share/man/cat5/fs.0 +./usr/share/man/cat5/fstab.0 +./usr/share/man/cat5/gettytab.0 +./usr/share/man/cat5/group.0 +./usr/share/man/cat5/hosts.0 +./usr/share/man/cat5/inetd.0 +./usr/share/man/cat5/inode.0 +./usr/share/man/cat5/lastlog.0 +./usr/share/man/cat5/link.0 +./usr/share/man/cat5/magic.0 +./usr/share/man/cat5/man.conf.0 +./usr/share/man/cat5/map3270.0 +./usr/share/man/cat5/motd.0 +./usr/share/man/cat5/netgroup.0 +./usr/share/man/cat5/networks.0 +./usr/share/man/cat5/passwd.0 +./usr/share/man/cat5/phones.0 +./usr/share/man/cat5/printcap.0 +./usr/share/man/cat5/protocols.0 +./usr/share/man/cat5/ranlib.0 +./usr/share/man/cat5/rcsfile.0 +./usr/share/man/cat5/remote.0 +./usr/share/man/cat5/resolv.conf.0 +./usr/share/man/cat5/rpc.0 +./usr/share/man/cat5/services.0 +./usr/share/man/cat5/shells.0 +./usr/share/man/cat5/stab.0 +./usr/share/man/cat5/syslog.conf.0 +./usr/share/man/cat5/termcap.0 +./usr/share/man/cat5/ttys.0 +./usr/share/man/cat5/types.0 +./usr/share/man/cat5/tzfile.0 +./usr/share/man/cat5/utmp.0 +./usr/share/man/cat5/uuencode.format.0 +./usr/share/man/cat5/vgrindefs.0 +./usr/share/man/cat5/wtmp.0 +./usr/share/man/cat7/ascii.0 +./usr/share/man/cat7/environ.0 +./usr/share/man/cat7/hier.0 +./usr/share/man/cat7/hostname.0 +./usr/share/man/cat7/intro.0 +./usr/share/man/cat7/mailaddr.0 +./usr/share/man/cat7/mdoc.0 +./usr/share/man/cat7/re_format.0 +./usr/share/man/cat7/symlink.0 +./usr/share/man/cat8/ac.0 +./usr/share/man/cat8/accton.0 +./usr/share/man/cat8/adduser.0 +./usr/share/man/cat8/amd.0 +./usr/share/man/cat8/amq.0 +./usr/share/man/cat8/arp.0 +./usr/share/man/cat8/atrun.0 +./usr/share/man/cat8/badsect.0 +./usr/share/man/cat8/bootparamd.0 +./usr/share/man/cat8/bootpd.0 +./usr/share/man/cat8/bootpef.0 +./usr/share/man/cat8/bootpgw.0 +./usr/share/man/cat8/bootptest.0 +./usr/share/man/cat8/ccdconfig.0 +./usr/share/man/cat8/chat.0 +./usr/share/man/cat8/chown.0 +./usr/share/man/cat8/chroot.0 +./usr/share/man/cat8/clri.0 +./usr/share/man/cat8/compat_linux.0 +./usr/share/man/cat8/compat_sunos.0 +./usr/share/man/cat8/comsat.0 +./usr/share/man/cat8/cron.0 +./usr/share/man/cat8/dev_mkdb.0 +./usr/share/man/cat8/disklabel.0 +./usr/share/man/cat8/diskless.0 +./usr/share/man/cat8/diskpart.0 +./usr/share/man/cat8/dm.0 +./usr/share/man/cat8/dmesg.0 +./usr/share/man/cat8/dump.0 +./usr/share/man/cat8/dumpfs.0 +./usr/share/man/cat8/dumplfs.0 +./usr/share/man/cat8/edquota.0 +./usr/share/man/cat8/fastboot.0 +./usr/share/man/cat8/fasthalt.0 +./usr/share/man/cat8/fingerd.0 +./usr/share/man/cat8/fsck.0 +./usr/share/man/cat8/fsdb.0 +./usr/share/man/cat8/fsinfo.0 +./usr/share/man/cat8/ftpd.0 +./usr/share/man/cat8/gettable.0 +./usr/share/man/cat8/getty.0 +./usr/share/man/cat8/halt.0 +./usr/share/man/cat8/htable.0 +./usr/share/man/cat8/identd.0 +./usr/share/man/cat8/ifconfig.0 +./usr/share/man/cat8/inetd.0 +./usr/share/man/cat8/init.0 +./usr/share/man/cat8/intro.0 +./usr/share/man/cat8/iostat.0 +./usr/share/man/cat8/kvm_mkdb.0 +./usr/share/man/cat8/ldconfig.0 +./usr/share/man/cat8/lfs_cleanerd.0 +./usr/share/man/cat8/lpc.0 +./usr/share/man/cat8/lpd.0 +./usr/share/man/cat8/mail.local.0 +./usr/share/man/cat8/makekey.0 +./usr/share/man/cat8/makemap.0 +./usr/share/man/cat8/map-mbone.0 +./usr/share/man/cat8/mfs.0 +./usr/share/man/cat8/mk-amd-map.0 +./usr/share/man/cat8/mknod.0 +./usr/share/man/cat8/modload.0 +./usr/share/man/cat8/modstat.0 +./usr/share/man/cat8/modunload.0 +./usr/share/man/cat8/mount.0 +./usr/share/man/cat8/mount_ados.0 +./usr/share/man/cat8/mount_cd9660.0 +./usr/share/man/cat8/mount_fdesc.0 +./usr/share/man/cat8/mount_ffs.0 +./usr/share/man/cat8/mount_kernfs.0 +./usr/share/man/cat8/mount_lfs.0 +./usr/share/man/cat8/mount_mfs.0 +./usr/share/man/cat8/mount_msdos.0 +./usr/share/man/cat8/mount_nfs.0 +./usr/share/man/cat8/mount_null.0 +./usr/share/man/cat8/mount_portal.0 +./usr/share/man/cat8/mount_procfs.0 +./usr/share/man/cat8/mount_ufs.0 +./usr/share/man/cat8/mount_umap.0 +./usr/share/man/cat8/mount_union.0 +./usr/share/man/cat8/mountd.0 +./usr/share/man/cat8/mrinfo.0 +./usr/share/man/cat8/mrouted.0 +./usr/share/man/cat8/mtrace.0 +./usr/share/man/cat8/mtree.0 +./usr/share/man/cat8/named-xfer.0 +./usr/share/man/cat8/named.0 +./usr/share/man/cat8/netgroup_mkdb.0 +./usr/share/man/cat8/newfs.0 +./usr/share/man/cat8/newlfs.0 +./usr/share/man/cat8/newsyslog.0 +./usr/share/man/cat8/nfsd.0 +./usr/share/man/cat8/nfsiod.0 +./usr/share/man/cat8/nologin.0 +./usr/share/man/cat8/nslookup.0 +./usr/share/man/cat8/pac.0 +./usr/share/man/cat8/pcnfsd.0 +./usr/share/man/cat8/ping.0 +./usr/share/man/cat8/portmap.0 +./usr/share/man/cat8/pppd.0 +./usr/share/man/cat8/pppstats.0 +./usr/share/man/cat8/pstat.0 +./usr/share/man/cat8/pwd_mkdb.0 +./usr/share/man/cat8/quot.0 +./usr/share/man/cat8/quotacheck.0 +./usr/share/man/cat8/quotaoff.0 +./usr/share/man/cat8/quotaon.0 +./usr/share/man/cat8/rarpd.0 +./usr/share/man/cat8/rbootd.0 +./usr/share/man/cat8/rc.0 +./usr/share/man/cat8/rdate.0 +./usr/share/man/cat8/rdconfig.0 +./usr/share/man/cat8/rdump.0 +./usr/share/man/cat8/reboot.0 +./usr/share/man/cat8/renice.0 +./usr/share/man/cat8/repquota.0 +./usr/share/man/cat8/restore.0 +./usr/share/man/cat8/rexecd.0 +./usr/share/man/cat8/rlogind.0 +./usr/share/man/cat8/rmail.0 +./usr/share/man/cat8/rmt.0 +./usr/share/man/cat8/route.0 +./usr/share/man/cat8/routed.0 +./usr/share/man/cat8/rpc.bootparamd.0 +./usr/share/man/cat8/rpc.pcnfsd.0 +./usr/share/man/cat8/rpc.rquotad.0 +./usr/share/man/cat8/rpc.rstatd.0 +./usr/share/man/cat8/rpc.rusersd.0 +./usr/share/man/cat8/rpc.rwalld.0 +./usr/share/man/cat8/rpc.sprayd.0 +./usr/share/man/cat8/rpcinfo.0 +./usr/share/man/cat8/rquotad.0 +./usr/share/man/cat8/rrestore.0 +./usr/share/man/cat8/rshd.0 +./usr/share/man/cat8/rstatd.0 +./usr/share/man/cat8/rusersd.0 +./usr/share/man/cat8/rwalld.0 +./usr/share/man/cat8/rwhod.0 +./usr/share/man/cat8/sa.0 +./usr/share/man/cat8/savecore.0 +./usr/share/man/cat8/sendmail.0 +./usr/share/man/cat8/showmount.0 +./usr/share/man/cat8/shutdown.0 +./usr/share/man/cat8/slattach.0 +./usr/share/man/cat8/slip.0 +./usr/share/man/cat8/sliplogin.0 +./usr/share/man/cat8/slstats.0 +./usr/share/man/cat8/spray.0 +./usr/share/man/cat8/sprayd.0 +./usr/share/man/cat8/sticky.0 +./usr/share/man/cat8/swapon.0 +./usr/share/man/cat8/sync.0 +./usr/share/man/cat8/sysctl.0 +./usr/share/man/cat8/syslogd.0 +./usr/share/man/cat8/talkd.0 +./usr/share/man/cat8/tcpdump.0 +./usr/share/man/cat8/telnetd.0 +./usr/share/man/cat8/tftpd.0 +./usr/share/man/cat8/timed.0 +./usr/share/man/cat8/timedc.0 +./usr/share/man/cat8/traceroute.0 +./usr/share/man/cat8/trpt.0 +./usr/share/man/cat8/trsp.0 +./usr/share/man/cat8/ttyflags.0 +./usr/share/man/cat8/tunefs.0 +./usr/share/man/cat8/umount.0 +./usr/share/man/cat8/update.0 +./usr/share/man/cat8/uucico.0 +./usr/share/man/cat8/uuxqt.0 +./usr/share/man/cat8/vipw.0 +./usr/share/man/cat8/vmstat.0 +./usr/share/man/cat8/vnconfig.0 +./usr/share/man/cat8/yp.0 +./usr/share/man/cat8/ypbind.0 +./usr/share/man/cat8/yppoll.0 +./usr/share/man/cat8/ypset.0 +./usr/share/man/cat8/zdump.0 +./usr/share/man/cat8/zic.0 diff --git a/distrib/sets/lists/misc/md.amiga b/distrib/sets/lists/misc/md.amiga new file mode 100644 index 00000000000..e69de29bb2d --- /dev/null +++ b/distrib/sets/lists/misc/md.amiga diff --git a/distrib/sets/lists/misc/md.atari b/distrib/sets/lists/misc/md.atari new file mode 100644 index 00000000000..e69de29bb2d --- /dev/null +++ b/distrib/sets/lists/misc/md.atari diff --git a/distrib/sets/lists/misc/md.hp300 b/distrib/sets/lists/misc/md.hp300 new file mode 100644 index 00000000000..e69de29bb2d --- /dev/null +++ b/distrib/sets/lists/misc/md.hp300 diff --git a/distrib/sets/lists/misc/md.i386 b/distrib/sets/lists/misc/md.i386 new file mode 100644 index 00000000000..e69de29bb2d --- /dev/null +++ b/distrib/sets/lists/misc/md.i386 diff --git a/distrib/sets/lists/misc/md.mac68k b/distrib/sets/lists/misc/md.mac68k new file mode 100644 index 00000000000..e69de29bb2d --- /dev/null +++ b/distrib/sets/lists/misc/md.mac68k diff --git a/distrib/sets/lists/misc/md.pc532 b/distrib/sets/lists/misc/md.pc532 new file mode 100644 index 00000000000..e69de29bb2d --- /dev/null +++ b/distrib/sets/lists/misc/md.pc532 diff --git a/distrib/sets/lists/misc/md.pmax b/distrib/sets/lists/misc/md.pmax new file mode 100644 index 00000000000..e69de29bb2d --- /dev/null +++ b/distrib/sets/lists/misc/md.pmax diff --git a/distrib/sets/lists/misc/md.sparc b/distrib/sets/lists/misc/md.sparc new file mode 100644 index 00000000000..e69de29bb2d --- /dev/null +++ b/distrib/sets/lists/misc/md.sparc diff --git a/distrib/sets/lists/misc/md.sun3 b/distrib/sets/lists/misc/md.sun3 new file mode 100644 index 00000000000..e69de29bb2d --- /dev/null +++ b/distrib/sets/lists/misc/md.sun3 diff --git a/distrib/sets/lists/misc/mi b/distrib/sets/lists/misc/mi new file mode 100644 index 00000000000..38ee9aed09e --- /dev/null +++ b/distrib/sets/lists/misc/mi @@ -0,0 +1,205 @@ +./usr/share/dict/README +./usr/share/dict/eign +./usr/share/dict/propernames +./usr/share/dict/web2 +./usr/share/dict/web2a +./usr/share/dict/words +./usr/share/doc/psd/00.contents +./usr/share/doc/psd/05.sysman/0.t +./usr/share/doc/psd/05.sysman/1.0.t +./usr/share/doc/psd/05.sysman/1.1.t +./usr/share/doc/psd/05.sysman/1.2.t +./usr/share/doc/psd/05.sysman/1.3.t +./usr/share/doc/psd/05.sysman/1.4.t +./usr/share/doc/psd/05.sysman/1.5.t +./usr/share/doc/psd/05.sysman/1.6.t +./usr/share/doc/psd/05.sysman/1.7.t +./usr/share/doc/psd/05.sysman/2.0.t +./usr/share/doc/psd/05.sysman/2.1.t +./usr/share/doc/psd/05.sysman/2.2.t +./usr/share/doc/psd/05.sysman/2.3.t +./usr/share/doc/psd/05.sysman/2.4.t +./usr/share/doc/psd/05.sysman/2.5.t +./usr/share/doc/psd/05.sysman/Makefile +./usr/share/doc/psd/05.sysman/a.t +./usr/share/doc/psd/12.make/Makefile +./usr/share/doc/psd/12.make/tutorial.ms +./usr/share/doc/psd/18.gprof/Makefile +./usr/share/doc/psd/18.gprof/abstract.me +./usr/share/doc/psd/18.gprof/gathering.me +./usr/share/doc/psd/18.gprof/header.me +./usr/share/doc/psd/18.gprof/intro.me +./usr/share/doc/psd/18.gprof/postp.me +./usr/share/doc/psd/18.gprof/postp1.pic +./usr/share/doc/psd/18.gprof/postp2.pic +./usr/share/doc/psd/18.gprof/postp3.pic +./usr/share/doc/psd/18.gprof/pres1.pic +./usr/share/doc/psd/18.gprof/pres2.pic +./usr/share/doc/psd/18.gprof/present.me +./usr/share/doc/psd/18.gprof/profiling.me +./usr/share/doc/psd/18.gprof/refs.me +./usr/share/doc/psd/19.curses/Makefile +./usr/share/doc/psd/19.curses/Master +./usr/share/doc/psd/19.curses/appen.A +./usr/share/doc/psd/19.curses/appen.B +./usr/share/doc/psd/19.curses/appen.C +./usr/share/doc/psd/19.curses/c_macros +./usr/share/doc/psd/19.curses/doc.I +./usr/share/doc/psd/19.curses/doc.II +./usr/share/doc/psd/19.curses/doc.III +./usr/share/doc/psd/19.curses/doc.IV +./usr/share/doc/psd/19.curses/ex1.c +./usr/share/doc/psd/19.curses/ex2.c +./usr/share/doc/psd/19.curses/fns.doc +./usr/share/doc/psd/19.curses/intro.0 +./usr/share/doc/psd/19.curses/intro.1 +./usr/share/doc/psd/19.curses/intro.2 +./usr/share/doc/psd/19.curses/intro.3 +./usr/share/doc/psd/19.curses/intro.4 +./usr/share/doc/psd/19.curses/intro.5 +./usr/share/doc/psd/19.curses/intro.6 +./usr/share/doc/psd/19.curses/life.c +./usr/share/doc/psd/19.curses/macros +./usr/share/doc/psd/19.curses/twinkle1.c +./usr/share/doc/psd/19.curses/twinkle2.c +./usr/share/doc/psd/19.curses/win_st.c +./usr/share/doc/psd/20.ipctut/Makefile +./usr/share/doc/psd/20.ipctut/dgramread.c +./usr/share/doc/psd/20.ipctut/dgramsend.c +./usr/share/doc/psd/20.ipctut/fig2.pic +./usr/share/doc/psd/20.ipctut/fig3.pic +./usr/share/doc/psd/20.ipctut/fig8.pic +./usr/share/doc/psd/20.ipctut/pipe.c +./usr/share/doc/psd/20.ipctut/socketpair.c +./usr/share/doc/psd/20.ipctut/strchkread.c +./usr/share/doc/psd/20.ipctut/streamread.c +./usr/share/doc/psd/20.ipctut/streamwrite.c +./usr/share/doc/psd/20.ipctut/tutor.me +./usr/share/doc/psd/20.ipctut/udgramread.c +./usr/share/doc/psd/20.ipctut/udgramsend.c +./usr/share/doc/psd/20.ipctut/ustreamread.c +./usr/share/doc/psd/20.ipctut/ustreamwrite.c +./usr/share/doc/psd/21.ipc/0.t +./usr/share/doc/psd/21.ipc/1.t +./usr/share/doc/psd/21.ipc/2.t +./usr/share/doc/psd/21.ipc/3.t +./usr/share/doc/psd/21.ipc/4.t +./usr/share/doc/psd/21.ipc/5.t +./usr/share/doc/psd/21.ipc/Makefile +./usr/share/doc/psd/Makefile +./usr/share/doc/psd/Title +./usr/share/doc/smm/00.contents +./usr/share/doc/smm/01.setup/0.t +./usr/share/doc/smm/01.setup/1.t +./usr/share/doc/smm/01.setup/2.t +./usr/share/doc/smm/01.setup/3.t +./usr/share/doc/smm/01.setup/4.t +./usr/share/doc/smm/01.setup/5.t +./usr/share/doc/smm/01.setup/6.t +./usr/share/doc/smm/01.setup/Makefile +./usr/share/doc/smm/03.fsck/0.t +./usr/share/doc/smm/03.fsck/1.t +./usr/share/doc/smm/03.fsck/2.t +./usr/share/doc/smm/03.fsck/3.t +./usr/share/doc/smm/03.fsck/4.t +./usr/share/doc/smm/03.fsck/Makefile +./usr/share/doc/smm/04.quotas/Makefile +./usr/share/doc/smm/04.quotas/quotas.ms +./usr/share/doc/smm/05.fastfs/0.t +./usr/share/doc/smm/05.fastfs/1.t +./usr/share/doc/smm/05.fastfs/2.t +./usr/share/doc/smm/05.fastfs/3.t +./usr/share/doc/smm/05.fastfs/4.t +./usr/share/doc/smm/05.fastfs/5.t +./usr/share/doc/smm/05.fastfs/6.t +./usr/share/doc/smm/05.fastfs/Makefile +./usr/share/doc/smm/06.nfs/0.t +./usr/share/doc/smm/06.nfs/1.t +./usr/share/doc/smm/06.nfs/2.t +./usr/share/doc/smm/06.nfs/Makefile +./usr/share/doc/smm/06.nfs/ref.t +./usr/share/doc/smm/07.lpd/0.t +./usr/share/doc/smm/07.lpd/1.t +./usr/share/doc/smm/07.lpd/2.t +./usr/share/doc/smm/07.lpd/3.t +./usr/share/doc/smm/07.lpd/4.t +./usr/share/doc/smm/07.lpd/5.t +./usr/share/doc/smm/07.lpd/6.t +./usr/share/doc/smm/07.lpd/7.t +./usr/share/doc/smm/07.lpd/Makefile +./usr/share/doc/smm/08.sendmailop/Makefile +./usr/share/doc/smm/08.sendmailop/op.me +./usr/share/doc/smm/09.sendmail/Makefile +./usr/share/doc/smm/09.sendmail/intro.me +./usr/share/doc/smm/18.net/0.t +./usr/share/doc/smm/18.net/1.t +./usr/share/doc/smm/18.net/2.t +./usr/share/doc/smm/18.net/3.t +./usr/share/doc/smm/18.net/4.t +./usr/share/doc/smm/18.net/5.t +./usr/share/doc/smm/18.net/6.t +./usr/share/doc/smm/18.net/7.t +./usr/share/doc/smm/18.net/8.t +./usr/share/doc/smm/18.net/9.t +./usr/share/doc/smm/18.net/Makefile +./usr/share/doc/smm/18.net/a.t +./usr/share/doc/smm/18.net/b.t +./usr/share/doc/smm/18.net/c.t +./usr/share/doc/smm/18.net/d.t +./usr/share/doc/smm/18.net/e.t +./usr/share/doc/smm/18.net/f.t +./usr/share/doc/smm/Makefile +./usr/share/doc/smm/Title +./usr/share/doc/usd/00.contents +./usr/share/doc/usd/04.csh/Makefile +./usr/share/doc/usd/04.csh/csh.1 +./usr/share/doc/usd/04.csh/csh.2 +./usr/share/doc/usd/04.csh/csh.3 +./usr/share/doc/usd/04.csh/csh.4 +./usr/share/doc/usd/04.csh/csh.a +./usr/share/doc/usd/04.csh/csh.g +./usr/share/doc/usd/04.csh/tabs +./usr/share/doc/usd/07.mail/Makefile +./usr/share/doc/usd/07.mail/mail0.nr +./usr/share/doc/usd/07.mail/mail1.nr +./usr/share/doc/usd/07.mail/mail2.nr +./usr/share/doc/usd/07.mail/mail3.nr +./usr/share/doc/usd/07.mail/mail4.nr +./usr/share/doc/usd/07.mail/mail5.nr +./usr/share/doc/usd/07.mail/mail6.nr +./usr/share/doc/usd/07.mail/mail7.nr +./usr/share/doc/usd/07.mail/mail8.nr +./usr/share/doc/usd/07.mail/mail9.nr +./usr/share/doc/usd/07.mail/maila.nr +./usr/share/doc/usd/11.edit/Makefile +./usr/share/doc/usd/11.edit/edit.vindex +./usr/share/doc/usd/11.edit/edittut.ms +./usr/share/doc/usd/12.vi/Makefile +./usr/share/doc/usd/12.vi/vi.apwh.ms +./usr/share/doc/usd/12.vi/vi.chars +./usr/share/doc/usd/12.vi/vi.in +./usr/share/doc/usd/12.vi/vi.summary +./usr/share/doc/usd/13.ex/Makefile +./usr/share/doc/usd/13.ex/ex.rm +./usr/share/doc/usd/13.ex/ex.summary +./usr/share/doc/usd/13.viref +./usr/share/doc/usd/13.viref/Makefile +./usr/share/doc/usd/13.viref/ex.cmd.roff +./usr/share/doc/usd/13.viref/merge.awk +./usr/share/doc/usd/13.viref/ref.so +./usr/share/doc/usd/13.viref/set.opt.roff +./usr/share/doc/usd/13.viref/spell.ok +./usr/share/doc/usd/13.viref/vi.cmd.roff +./usr/share/doc/usd/13.viref/vi.ref +./usr/share/doc/usd/18.msdiffs/Makefile +./usr/share/doc/usd/18.msdiffs/ms.diffs +./usr/share/doc/usd/19.memacros/Makefile +./usr/share/doc/usd/19.memacros/intro.me +./usr/share/doc/usd/20.meref/Makefile +./usr/share/doc/usd/20.meref/ref.me +./usr/share/doc/usd/30.rogue/Makefile +./usr/share/doc/usd/30.rogue/rogue.me +./usr/share/doc/usd/31.trek/Makefile +./usr/share/doc/usd/31.trek/trek.me +./usr/share/doc/usd/Makefile +./usr/share/doc/usd/Title diff --git a/distrib/sets/lists/secr/md.amiga b/distrib/sets/lists/secr/md.amiga new file mode 100644 index 00000000000..fadabe0059b --- /dev/null +++ b/distrib/sets/lists/secr/md.amiga @@ -0,0 +1,2 @@ +./usr/lib/libcrypt.so.0.0 +./usr/lib/libcrypt_pic.a diff --git a/distrib/sets/lists/secr/md.atari b/distrib/sets/lists/secr/md.atari new file mode 100644 index 00000000000..fadabe0059b --- /dev/null +++ b/distrib/sets/lists/secr/md.atari @@ -0,0 +1,2 @@ +./usr/lib/libcrypt.so.0.0 +./usr/lib/libcrypt_pic.a diff --git a/distrib/sets/lists/secr/md.hp300 b/distrib/sets/lists/secr/md.hp300 new file mode 100644 index 00000000000..fadabe0059b --- /dev/null +++ b/distrib/sets/lists/secr/md.hp300 @@ -0,0 +1,2 @@ +./usr/lib/libcrypt.so.0.0 +./usr/lib/libcrypt_pic.a diff --git a/distrib/sets/lists/secr/md.i386 b/distrib/sets/lists/secr/md.i386 new file mode 100644 index 00000000000..fadabe0059b --- /dev/null +++ b/distrib/sets/lists/secr/md.i386 @@ -0,0 +1,2 @@ +./usr/lib/libcrypt.so.0.0 +./usr/lib/libcrypt_pic.a diff --git a/distrib/sets/lists/secr/md.mac68k b/distrib/sets/lists/secr/md.mac68k new file mode 100644 index 00000000000..fadabe0059b --- /dev/null +++ b/distrib/sets/lists/secr/md.mac68k @@ -0,0 +1,2 @@ +./usr/lib/libcrypt.so.0.0 +./usr/lib/libcrypt_pic.a diff --git a/distrib/sets/lists/secr/md.pc532 b/distrib/sets/lists/secr/md.pc532 new file mode 100644 index 00000000000..e69de29bb2d --- /dev/null +++ b/distrib/sets/lists/secr/md.pc532 diff --git a/distrib/sets/lists/secr/md.pmax b/distrib/sets/lists/secr/md.pmax new file mode 100644 index 00000000000..e69de29bb2d --- /dev/null +++ b/distrib/sets/lists/secr/md.pmax diff --git a/distrib/sets/lists/secr/md.sparc b/distrib/sets/lists/secr/md.sparc new file mode 100644 index 00000000000..fadabe0059b --- /dev/null +++ b/distrib/sets/lists/secr/md.sparc @@ -0,0 +1,2 @@ +./usr/lib/libcrypt.so.0.0 +./usr/lib/libcrypt_pic.a diff --git a/distrib/sets/lists/secr/md.sun3 b/distrib/sets/lists/secr/md.sun3 new file mode 100644 index 00000000000..fadabe0059b --- /dev/null +++ b/distrib/sets/lists/secr/md.sun3 @@ -0,0 +1,2 @@ +./usr/lib/libcrypt.so.0.0 +./usr/lib/libcrypt_pic.a diff --git a/distrib/sets/lists/secr/mi b/distrib/sets/lists/secr/mi new file mode 100644 index 00000000000..09d6b38ebc0 --- /dev/null +++ b/distrib/sets/lists/secr/mi @@ -0,0 +1,5 @@ +./bin/ed +./sbin/init +./usr/bin/bdes +./usr/lib/libcrypt.a +./usr/lib/libcrypt_p.a diff --git a/distrib/sets/lists/text/md.amiga b/distrib/sets/lists/text/md.amiga new file mode 100644 index 00000000000..e69de29bb2d --- /dev/null +++ b/distrib/sets/lists/text/md.amiga diff --git a/distrib/sets/lists/text/md.atari b/distrib/sets/lists/text/md.atari new file mode 100644 index 00000000000..e69de29bb2d --- /dev/null +++ b/distrib/sets/lists/text/md.atari diff --git a/distrib/sets/lists/text/md.hp300 b/distrib/sets/lists/text/md.hp300 new file mode 100644 index 00000000000..e69de29bb2d --- /dev/null +++ b/distrib/sets/lists/text/md.hp300 diff --git a/distrib/sets/lists/text/md.i386 b/distrib/sets/lists/text/md.i386 new file mode 100644 index 00000000000..e69de29bb2d --- /dev/null +++ b/distrib/sets/lists/text/md.i386 diff --git a/distrib/sets/lists/text/md.mac68k b/distrib/sets/lists/text/md.mac68k new file mode 100644 index 00000000000..e69de29bb2d --- /dev/null +++ b/distrib/sets/lists/text/md.mac68k diff --git a/distrib/sets/lists/text/md.pc532 b/distrib/sets/lists/text/md.pc532 new file mode 100644 index 00000000000..e69de29bb2d --- /dev/null +++ b/distrib/sets/lists/text/md.pc532 diff --git a/distrib/sets/lists/text/md.pmax b/distrib/sets/lists/text/md.pmax new file mode 100644 index 00000000000..e69de29bb2d --- /dev/null +++ b/distrib/sets/lists/text/md.pmax diff --git a/distrib/sets/lists/text/md.sparc b/distrib/sets/lists/text/md.sparc new file mode 100644 index 00000000000..e69de29bb2d --- /dev/null +++ b/distrib/sets/lists/text/md.sparc diff --git a/distrib/sets/lists/text/md.sun3 b/distrib/sets/lists/text/md.sun3 new file mode 100644 index 00000000000..e69de29bb2d --- /dev/null +++ b/distrib/sets/lists/text/md.sun3 diff --git a/distrib/sets/lists/text/mi b/distrib/sets/lists/text/mi new file mode 100644 index 00000000000..bf9aaf230c0 --- /dev/null +++ b/distrib/sets/lists/text/mi @@ -0,0 +1,270 @@ +./usr/bin/addftinfo +./usr/bin/checknr +./usr/bin/eqn +./usr/bin/grodvi +./usr/bin/groff +./usr/bin/grog +./usr/bin/grops +./usr/bin/grotty +./usr/bin/indxbib +./usr/bin/lkbib +./usr/bin/lookbib +./usr/bin/neqn +./usr/bin/nroff +./usr/bin/pfbtops +./usr/bin/pic +./usr/bin/psbb +./usr/bin/psroff +./usr/bin/refer +./usr/bin/soelim +./usr/bin/tbl +./usr/bin/tfmtodit +./usr/bin/troff +./usr/bin/vgrind +./usr/libexec/vfontedpr +./usr/share/groff_font/devX100-12/CB +./usr/share/groff_font/devX100-12/CBI +./usr/share/groff_font/devX100-12/CI +./usr/share/groff_font/devX100-12/CR +./usr/share/groff_font/devX100-12/DESC +./usr/share/groff_font/devX100-12/HB +./usr/share/groff_font/devX100-12/HBI +./usr/share/groff_font/devX100-12/HI +./usr/share/groff_font/devX100-12/HR +./usr/share/groff_font/devX100-12/NB +./usr/share/groff_font/devX100-12/NBI +./usr/share/groff_font/devX100-12/NI +./usr/share/groff_font/devX100-12/NR +./usr/share/groff_font/devX100-12/S +./usr/share/groff_font/devX100-12/TB +./usr/share/groff_font/devX100-12/TBI +./usr/share/groff_font/devX100-12/TI +./usr/share/groff_font/devX100-12/TR +./usr/share/groff_font/devX100/CB +./usr/share/groff_font/devX100/CBI +./usr/share/groff_font/devX100/CI +./usr/share/groff_font/devX100/CR +./usr/share/groff_font/devX100/DESC +./usr/share/groff_font/devX100/HB +./usr/share/groff_font/devX100/HBI +./usr/share/groff_font/devX100/HI +./usr/share/groff_font/devX100/HR +./usr/share/groff_font/devX100/NB +./usr/share/groff_font/devX100/NBI +./usr/share/groff_font/devX100/NI +./usr/share/groff_font/devX100/NR +./usr/share/groff_font/devX100/S +./usr/share/groff_font/devX100/TB +./usr/share/groff_font/devX100/TBI +./usr/share/groff_font/devX100/TI +./usr/share/groff_font/devX100/TR +./usr/share/groff_font/devX75-12/CB +./usr/share/groff_font/devX75-12/CBI +./usr/share/groff_font/devX75-12/CI +./usr/share/groff_font/devX75-12/CR +./usr/share/groff_font/devX75-12/DESC +./usr/share/groff_font/devX75-12/HB +./usr/share/groff_font/devX75-12/HBI +./usr/share/groff_font/devX75-12/HI +./usr/share/groff_font/devX75-12/HR +./usr/share/groff_font/devX75-12/NB +./usr/share/groff_font/devX75-12/NBI +./usr/share/groff_font/devX75-12/NI +./usr/share/groff_font/devX75-12/NR +./usr/share/groff_font/devX75-12/S +./usr/share/groff_font/devX75-12/TB +./usr/share/groff_font/devX75-12/TBI +./usr/share/groff_font/devX75-12/TI +./usr/share/groff_font/devX75-12/TR +./usr/share/groff_font/devX75/CB +./usr/share/groff_font/devX75/CBI +./usr/share/groff_font/devX75/CI +./usr/share/groff_font/devX75/CR +./usr/share/groff_font/devX75/DESC +./usr/share/groff_font/devX75/HB +./usr/share/groff_font/devX75/HBI +./usr/share/groff_font/devX75/HI +./usr/share/groff_font/devX75/HR +./usr/share/groff_font/devX75/NB +./usr/share/groff_font/devX75/NBI +./usr/share/groff_font/devX75/NI +./usr/share/groff_font/devX75/NR +./usr/share/groff_font/devX75/S +./usr/share/groff_font/devX75/TB +./usr/share/groff_font/devX75/TBI +./usr/share/groff_font/devX75/TI +./usr/share/groff_font/devX75/TR +./usr/share/groff_font/devascii/B +./usr/share/groff_font/devascii/BI +./usr/share/groff_font/devascii/DESC +./usr/share/groff_font/devascii/I +./usr/share/groff_font/devascii/R +./usr/share/groff_font/devdvi/B +./usr/share/groff_font/devdvi/BI +./usr/share/groff_font/devdvi/CW +./usr/share/groff_font/devdvi/DESC +./usr/share/groff_font/devdvi/EX +./usr/share/groff_font/devdvi/H +./usr/share/groff_font/devdvi/HB +./usr/share/groff_font/devdvi/HI +./usr/share/groff_font/devdvi/I +./usr/share/groff_font/devdvi/MI +./usr/share/groff_font/devdvi/R +./usr/share/groff_font/devdvi/S +./usr/share/groff_font/devdvi/SA +./usr/share/groff_font/devdvi/SB +./usr/share/groff_font/devdvi/generate/CompileFonts +./usr/share/groff_font/devdvi/generate/Makefile +./usr/share/groff_font/devdvi/generate/msam.map +./usr/share/groff_font/devdvi/generate/msbm.map +./usr/share/groff_font/devdvi/generate/texb.map +./usr/share/groff_font/devdvi/generate/texex.map +./usr/share/groff_font/devdvi/generate/texi.map +./usr/share/groff_font/devdvi/generate/texmi.map +./usr/share/groff_font/devdvi/generate/texr.map +./usr/share/groff_font/devdvi/generate/texsy.map +./usr/share/groff_font/devdvi/generate/textt.map +./usr/share/groff_font/devlatin1/B +./usr/share/groff_font/devlatin1/BI +./usr/share/groff_font/devlatin1/DESC +./usr/share/groff_font/devlatin1/I +./usr/share/groff_font/devlatin1/R +./usr/share/groff_font/devps/AB +./usr/share/groff_font/devps/ABI +./usr/share/groff_font/devps/AI +./usr/share/groff_font/devps/AR +./usr/share/groff_font/devps/BMB +./usr/share/groff_font/devps/BMBI +./usr/share/groff_font/devps/BMI +./usr/share/groff_font/devps/BMR +./usr/share/groff_font/devps/CB +./usr/share/groff_font/devps/CBI +./usr/share/groff_font/devps/CI +./usr/share/groff_font/devps/CR +./usr/share/groff_font/devps/DESC +./usr/share/groff_font/devps/HB +./usr/share/groff_font/devps/HBI +./usr/share/groff_font/devps/HI +./usr/share/groff_font/devps/HNB +./usr/share/groff_font/devps/HNBI +./usr/share/groff_font/devps/HNI +./usr/share/groff_font/devps/HNR +./usr/share/groff_font/devps/HR +./usr/share/groff_font/devps/NB +./usr/share/groff_font/devps/NBI +./usr/share/groff_font/devps/NI +./usr/share/groff_font/devps/NR +./usr/share/groff_font/devps/PB +./usr/share/groff_font/devps/PBI +./usr/share/groff_font/devps/PI +./usr/share/groff_font/devps/PR +./usr/share/groff_font/devps/S +./usr/share/groff_font/devps/SS +./usr/share/groff_font/devps/TB +./usr/share/groff_font/devps/TBI +./usr/share/groff_font/devps/TI +./usr/share/groff_font/devps/TR +./usr/share/groff_font/devps/ZCMI +./usr/share/groff_font/devps/ZD +./usr/share/groff_font/devps/ZDR +./usr/share/groff_font/devps/download +./usr/share/groff_font/devps/generate/Makefile +./usr/share/groff_font/devps/generate/afmname +./usr/share/groff_font/devps/generate/dingbatsmap +./usr/share/groff_font/devps/generate/dingbatsrmap +./usr/share/groff_font/devps/generate/lgreekmap +./usr/share/groff_font/devps/generate/symbol.sed +./usr/share/groff_font/devps/generate/symbolchars +./usr/share/groff_font/devps/generate/symbolsl.afm +./usr/share/groff_font/devps/generate/textmap +./usr/share/groff_font/devps/prologue +./usr/share/groff_font/devps/symbolsl.pfa +./usr/share/groff_font/devps/text.enc +./usr/share/groff_font/devps/zapfdr.pfa +./usr/share/man/cat1/addftinfo.0 +./usr/share/man/cat1/checknr.0 +./usr/share/man/cat1/eqn.0 +./usr/share/man/cat1/grodvi.0 +./usr/share/man/cat1/groff.0 +./usr/share/man/cat1/grog.0 +./usr/share/man/cat1/grops.0 +./usr/share/man/cat1/grotty.0 +./usr/share/man/cat1/indxbib.0 +./usr/share/man/cat1/lkbib.0 +./usr/share/man/cat1/lookbib.0 +./usr/share/man/cat1/nroff.0 +./usr/share/man/cat1/pfbtops.0 +./usr/share/man/cat1/pic.0 +./usr/share/man/cat1/psbb.0 +./usr/share/man/cat1/refer.0 +./usr/share/man/cat1/soelim.0 +./usr/share/man/cat1/tbl.0 +./usr/share/man/cat1/tfmtodit.0 +./usr/share/man/cat1/troff.0 +./usr/share/man/cat1/vgrind.0 +./usr/share/man/cat5/groff_font.0 +./usr/share/man/cat5/groff_out.0 +./usr/share/man/cat7/groff_char.0 +./usr/share/man/cat7/groff_mm.0 +./usr/share/man/cat7/groff_mmse.0 +./usr/share/man/cat7/groff_ms.0 +./usr/share/man/cat7/mdoc.samples.0 +./usr/share/man/cat7/me.0 +./usr/share/man/cat7/mm.0 +./usr/share/man/cat7/mmse.0 +./usr/share/man/cat7/ms.0 +./usr/share/me/acm.me +./usr/share/me/chars.me +./usr/share/me/deltext.me +./usr/share/me/eqn.me +./usr/share/me/float.me +./usr/share/me/footnote.me +./usr/share/me/index.me +./usr/share/me/letterhead.me +./usr/share/me/local.me +./usr/share/me/null.me +./usr/share/me/refer.me +./usr/share/me/revisions +./usr/share/me/sh.me +./usr/share/me/tbl.me +./usr/share/me/thesis.me +./usr/share/misc/eqnchar +./usr/share/misc/man.template +./usr/share/misc/mdoc.template +./usr/share/misc/vgrindefs +./usr/share/tmac/eqnrc +./usr/share/tmac/hyphen.us +./usr/share/tmac/man.local +./usr/share/tmac/mm/0.MT +./usr/share/tmac/mm/4.MT +./usr/share/tmac/mm/5.MT +./usr/share/tmac/mm/locale +./usr/share/tmac/mm/ms.cov +./usr/share/tmac/mm/se_locale +./usr/share/tmac/mm/se_ms.cov +./usr/share/tmac/tmac.X +./usr/share/tmac/tmac.Xps +./usr/share/tmac/tmac.an +./usr/share/tmac/tmac.an.old +./usr/share/tmac/tmac.andoc +./usr/share/tmac/tmac.doc +./usr/share/tmac/tmac.doc-common +./usr/share/tmac/tmac.doc-ditroff +./usr/share/tmac/tmac.doc-nroff +./usr/share/tmac/tmac.doc-syms +./usr/share/tmac/tmac.dvi +./usr/share/tmac/tmac.e +./usr/share/tmac/tmac.latin1 +./usr/share/tmac/tmac.m +./usr/share/tmac/tmac.mse +./usr/share/tmac/tmac.pic +./usr/share/tmac/tmac.ps +./usr/share/tmac/tmac.psatk +./usr/share/tmac/tmac.psnew +./usr/share/tmac/tmac.psold +./usr/share/tmac/tmac.pspic +./usr/share/tmac/tmac.s +./usr/share/tmac/tmac.tty +./usr/share/tmac/tmac.tty-char +./usr/share/tmac/tmac.vgrind +./usr/share/tmac/troffrc diff --git a/distrib/sets/makeflist b/distrib/sets/makeflist new file mode 100644 index 00000000000..04b3e39ac57 --- /dev/null +++ b/distrib/sets/makeflist @@ -0,0 +1,25 @@ +#!/bin/csh -f + +set arch=`uname -m` +set listsdir=`pwd`/lists + +set TMPFILE=/tmp/_LIST.$$ + +set lists=(base comp etc games text) +# SPECIAL: man misc +# EXTRA SPECIAL (not done here): secr + +foreach setname ($lists) + cat $listsdir/$setname/mi $listsdir/$setname/md.${arch} >>! $TMPFILE +end + +set setname=man +grep ${arch} $listsdir/man/md_share | \ + cat $listsdir/$setname/mi $listsdir/$setname/md.${arch} - >>! $TMPFILE + +set setname=misc +grep -v ${arch} $listsdir/man/md_share | \ + cat $listsdir/$setname/mi $listsdir/$setname/md.${arch} - >>! $TMPFILE + +sort $TMPFILE +/bin/rm $TMPFILE diff --git a/distrib/sets/maketars b/distrib/sets/maketars new file mode 100644 index 00000000000..3107e5d146f --- /dev/null +++ b/distrib/sets/maketars @@ -0,0 +1,43 @@ +#!/bin/csh -f + +if (! $?RELEASEDIR) then + echo RELEASEDIR must be set + exit 1 +endif + +if (! $?DESTDIR) then + echo DESTDIR must be set + exit 1 +endif + +set arch=`uname -m` +set listsdir=`pwd`/lists +set tardir=$RELEASEDIR +set fsdir=$DESTDIR + +cd $fsdir + +set lists=(base comp etc games text) +# SPECIAL: man misc +# EXTRA SPECIAL (not done here): secr + +foreach setname ($lists) + echo -n "${setname}: " + cat $listsdir/$setname/mi $listsdir/$setname/md.${arch} | sort | \ + pax -w -d | gzip -9 > ${tardir}/$setname.tar.gz + echo "done." +end + +set setname=man +echo -n "${setname}: " +grep ${arch} $listsdir/man/md_share | \ + cat $listsdir/$setname/mi $listsdir/$setname/md.${arch} - | sort | \ + pax -w -d | gzip -9 > ${tardir}/$setname.tar.gz +echo "done." + +set setname=misc +echo -n "${setname}: " +grep -v ${arch} $listsdir/man/md_share | \ + cat $listsdir/$setname/mi $listsdir/$setname/md.${arch} - | sort | \ + pax -w -d | gzip -9 > ${tardir}/$setname.tar.gz +echo "done." diff --git a/distrib/sparc/install.sh b/distrib/sparc/install.sh new file mode 100644 index 00000000000..68f1e320aed --- /dev/null +++ b/distrib/sparc/install.sh @@ -0,0 +1,21 @@ +#!/bin/sh +# $Id: install.sh,v 1.1 1995/10/18 08:37:49 deraadt Exp $ +umask 0 + +TAR="base.tar.gz comp.tar.gz etc.tar.gz games.tar.gz man.tar.gz + misc.tar.gz secr.tar.gz text.tar.gz" + +for i in $TAR +do + if [ -f $i ]; then + echo -n $i... + cat $i | gzip -d | (cd /mnt; gtar xvpf -) + else + echo skipping $i because you do not want it + fi +done +echo +cp netbsd.id3_scsi /mnt/netbsd +chmod 640 /mnt/netbsd; chown root.kmem /mnt/netbsd +cd /mnt/dev; ./MAKEDEV all +mv /mnt/etc/fstab.sd /mnt/etc/fstab diff --git a/distrib/sun3/Makefile b/distrib/sun3/Makefile new file mode 100644 index 00000000000..0a317598577 --- /dev/null +++ b/distrib/sun3/Makefile @@ -0,0 +1,5 @@ +# $NetBSD: Makefile,v 1.2 1995/10/12 21:16:53 gwr Exp $ + +SUBDIR= miniroot ramdisk + +.include <bsd.subdir.mk> diff --git a/distrib/sun3/Makefile.inc b/distrib/sun3/Makefile.inc new file mode 100644 index 00000000000..69f3e1e8cc7 --- /dev/null +++ b/distrib/sun3/Makefile.inc @@ -0,0 +1,10 @@ +# $NetBSD: Makefile.inc,v 1.2 1995/10/13 16:01:02 gwr Exp $ + +# Revision is 1.1 +REV= 11 + +LDSTATIC= -static + +# Hack needed to find kernel images... +BSDSRCDIR?= /usr/src +SRCSYSDIR?= ${BSDSRCDIR}/sys diff --git a/distrib/sun3/common/Make.crunch b/distrib/sun3/common/Make.crunch new file mode 100644 index 00000000000..b89e7576c2c --- /dev/null +++ b/distrib/sun3/common/Make.crunch @@ -0,0 +1,20 @@ +# $NetBSD: Make.crunch,v 1.2 1995/10/13 16:38:20 gwr Exp $ +# +# This is included by subdirectories building a crunched binary. +# Assume the following are already defined: TOP, CBIN + +CBIN?= xxx-crunched +CRUNCHCONF= ${TOP}/common/${CBIN}.conf + +CLEANFILES+= ${CBIN} ${CBIN}.c ${CBIN}.cache ${CBIN}.mk ${CBIN}.syms +CLEANFILES+= *.lo *_stub.o *_stub.c + +# Keep a copy that is not stripped so I can debug... +${CBIN}: ${CBIN}.mk ${CBIN}.cache ${CBIN}.c + make -f ${CBIN}.mk all STRIP=true + cp -p ${CBIN} ${CBIN}.syms + strip ${CBIN} + +${CBIN}.mk ${CBIN}.cache ${CBIN}.c: ${CRUNCHCONF} + crunchgen ${CRUNCHCONF} + diff --git a/distrib/sun3/common/Make.fsimage b/distrib/sun3/common/Make.fsimage new file mode 100644 index 00000000000..53c19d6d192 --- /dev/null +++ b/distrib/sun3/common/Make.fsimage @@ -0,0 +1,42 @@ +# +# $NetBSD: Make.fsimage,v 1.2 1995/10/13 16:38:26 gwr Exp $ +# + +# TOP is assumed to be defined by Makefile including this one. +# These will be defined by it too: + +IMAGE?= xxx-${REV} +CBIN?= xxx-crunched + +TREE?= ${.CURDIR}/${CBIN}.tree +LISTS?= ${.CURDIR}/${CBIN}.list + +MOUNT_POINT?= /mnt +DISKTYPE?= xxx-disktype +BDEV?= /dev/rd0 +CDEV?= /dev/rd0 + +IMAGE_DEPS?= ${CBIN} +CLEANFILES+= ${IMAGE}.fs + +# These are all the parameters for the root fs: +NBLKS?= 512 +# args: old fmt, minfree, opt, ... +NEWFSARGS?= -O -m 0 -o space + +do_mount: + -newfs ${NEWFSARGS} -s ${NBLKS} ${CDEV} ${DISKTYPE} + mount ${BDEV} ${MOUNT_POINT} + +do_files: + mtree -def ${TREE} -p ${MOUNT_POINT}/ -u + TOPDIR=${TOP} CURDIR=${.CURDIR} \ + OBJDIR=${.OBJDIR} TARGDIR=${MOUNT_POINT} \ + sh ${TOP}/common/RunList.sh ${LISTS} + +do_umount: + @echo "" + @df -i ${MOUNT_POINT} + @echo "" + -umount ${MOUNT_POINT} + diff --git a/distrib/sun3/common/Makefile.inc b/distrib/sun3/common/Makefile.inc new file mode 100644 index 00000000000..69eb1490626 --- /dev/null +++ b/distrib/sun3/common/Makefile.inc @@ -0,0 +1,31 @@ +# +# $NetBSD: Makefile.inc,v 1.1.1.1 1995/10/08 23:07:45 gwr Exp $ +# + +# TOP is assumed to be defined by Makefile including this one. + +CBIN?= instbin +COMMONDIR= ${TOP}/common + +MOUNT_POINT?= /mnt +BDEV?= /dev/rd0 +DISKTYPE?= xxx-disktype +IMAGE?= xxx-${REV}.fs +MDEC= ${DESTDIR}/usr/mdec + +LISTS= ${.CURDIR}/list +MTREE= ${.CURDIR}/mtree.conf + +fsimage: + newfs -O -m 0 -o space -i 3052 -c 60 ${BDEV} ${DISKTYPE} + mount ${BDEV} ${MOUNT_POINT} + mtree -def ${MTREE} -p ${MOUNT_POINT}/ -u + TOPDIR=${TOP} CURDIR=${.CURDIR} OBJDIR=${.OBJDIR} \ + TARGDIR=${MOUNT_POINT} sh ${TOP}/Runlist.sh ${LISTS} + @echo "" + @df -i ${MOUNT_POINT} + @echo "" + -umount ${MOUNT_POINT} + +.include <bsd.obj.mk> +.include <bsd.subdir.mk> diff --git a/distrib/sun3/common/RunList.awk b/distrib/sun3/common/RunList.awk new file mode 100644 index 00000000000..e404a702c60 --- /dev/null +++ b/distrib/sun3/common/RunList.awk @@ -0,0 +1,39 @@ +# $NetBSD: RunList.awk,v 1.1.1.1 1995/10/08 23:07:46 gwr Exp $ + +BEGIN { + printf("cd ${CURDIR}\n"); + printf("\n"); +} +/^$/ || /^#/ { + print $0; + next; +} +$1 == "COPY" { + printf("echo '%s'\n", $0); + printf("cp %s ${TARGDIR}/%s\n", $2, $3); + next; +} +$1 == "LINK" { + printf("echo '%s'\n", $0); + printf("(cd ${TARGDIR}; ln %s %s)\n", $2, $3); + next; +} +$1 == "SPECIAL" { + printf("echo '%s'\n", $0); + printf("(cd ${TARGDIR};"); + for (i = 2; i <= NF; i++) + printf(" %s", $i); + printf(")\n"); + next; +} +{ + printf("echo '%s'\n", $0); + printf("echo 'Unknown keyword \"%s\" at line %d of input.'\n", $1, NR); + printf("exit 1\n"); + exit 1; +} +END { + printf("\n"); + printf("exit 0\n"); + exit 0; +} diff --git a/distrib/sun3/common/RunList.sh b/distrib/sun3/common/RunList.sh new file mode 100644 index 00000000000..380cd2512bd --- /dev/null +++ b/distrib/sun3/common/RunList.sh @@ -0,0 +1,14 @@ +#!/bin/sh + +# $NetBSD: RunList.sh,v 1.1.1.1 1995/10/08 23:07:47 gwr Exp $ + +if [ "X$1" = "X-d" ]; then + SHELLCMD=cat + shift +else + SHELLCMD="sh -e" +fi + +cat "$@" | +awk -f ${TOPDIR}/common/RunList.awk | +${SHELLCMD} diff --git a/distrib/sun3/common/dot.cmnutils b/distrib/sun3/common/dot.cmnutils new file mode 100644 index 00000000000..cea610a4478 --- /dev/null +++ b/distrib/sun3/common/dot.cmnutils @@ -0,0 +1,110 @@ +# +# $NetBSD: dot.cmnutils,v 1.1.1.1 1995/10/08 23:07:50 gwr Exp $ +# +# Copyright (c) 1994 Christopher G. Demetriou +# 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 Christopher G. Demetriou. +# 4. The name of the author may not be used to endorse or promote products +# derived from this software without specific prior written permission +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 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. +# + +# Installation utilites (functions), to get NetBSD installed on +# the hard disk. These are meant to be invoked from the shell prompt, +# by people installing NetBSD. + +Set_tmp_dir() +{ + def_tmp_dir=`pwd` + if [ "$def_tmp_dir" = "/" -o "$def_tmp_dir" = "/mnt" ]; then + def_tmp_dir=/mnt/usr/distrib + fi + + echo -n "What directory should be used to find and/or store " + echo "installtion" + echo -n "files? [$def_tmp_dir] " + read tmp_dir + if [ "$tmp_dir" = "" ]; then + tmp_dir=$def_tmp_dir + fi + if [ ! -d "$tmp_dir" ]; then + /bin/rm -rf $tmp_dir + mkdir -p $tmp_dir + fi +} + +Tmp_dir() +{ + if [ "$tmp_dir" = "" ]; then + Set_tmp_dir + fi + cd $tmp_dir +} + +Load_tape() +{ + Tmp_dir + echo -n "Which tape drive will you be using? [rst0] " + read which + if [ "X$which" = "X" ]; then + which=rst0 + fi + echo -n "Insert the tape into the tape drive and hit return to " + echo -n "continue..." + read foo + echo "Extracting files from the tape..." + tar xvfp /dev/$which + echo "Done." +} + +Extract() +{ + Tmp_dir + echo -n "Would you like to list the files as they're extracted? [n] " + read verbose + case $verbose in + y*|Y*) + tarverbose=v + ;; + *) + tarverbose= + ;; + esac + echo -n "Are you installing a '-current' snapshot? [n] " + read snapshot + case $snapshot in + y*|Y*) + snapshot=y + ;; + *) + snapshot=n + ;; + esac + if [ $snapshot = n ] + then + cat "$1".??? | gunzip | (cd / ; tar xfp$tarverbose -) + else + cat "$1".tar.gz | gunzip | (cd /mnt ; tar xfp$tarverbose -) + fi +} diff --git a/distrib/sun3/common/install.sh b/distrib/sun3/common/install.sh new file mode 100644 index 00000000000..c687b726bb3 --- /dev/null +++ b/distrib/sun3/common/install.sh @@ -0,0 +1,280 @@ +#!/bin/sh +# +# $NetBSD: install.sh,v 1.1.1.1 1995/10/08 23:07:50 gwr Exp $ +# +# Copyright (c) 1994 Christopher G. Demetriou +# 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 Christopher G. Demetriou. +# 4. The name of the author may not be used to endorse or promote products +# derived from this software without specific prior written permission +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 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. +# + +# NetBSD installation script. +# In a perfect world, this would be a nice C program, with a reasonable +# user interface. + +FSTABDIR=/mnt/etc # /mnt/etc +#DONTDOIT=echo + +VERSION=1.0 +FSTAB=${FSTABDIR}/fstab + +getresp() { + read resp + if [ "X$resp" = "X" ]; then + resp=$1 + fi +} + +getvar() { + echo $(eval $(echo "echo \$$1")) +} + +shiftvar() { + local - var + var="$1" + list="$(getvar $var)" + set -- $list + shift + setvar $var "$*" +} + +getparts() { + disklabel $1 2>/dev/null | sed -e '/^[ ][ ][ad-p]/!d' | + sed -e 's,^[ ]*\([a-p]\):[ ]*[0-9]*[ ]*[0-9]*[ ][ ]*\([a-zA-Z0-9.]*\).*,\1 \2,' | + sed -e ':a + N;${s/\n/ /g;p;d;} + ba' +} + +getdrives() { + local du thispart + for du in /dev/r${drivetype}?a; do + dd if=$du of=/dev/null bs=1b count=1 >/dev/null 2>&1 + if [ $? -eq 0 ]; then + thisunit=`echo $du | sed -e 's,/dev/r\(...\)a,\1,g'` + driveunits="$driveunits $thisunit" + else + continue; + fi + setvar $thisunit "$(getparts $thisunit)" + export $thisunit + done + export drivenunits +} + +prepdrive() { + echo "which drive would you like to prepare next?" + echo "choices are: ${driveunits}" + echo "" + getresp + case $resp in + *) ;; + esac +} + +echo "Welcome to the NetBSD ${VERSION} installation program." +echo "" +echo "This program is designed to help you put NetBSD on your hard disk," +echo "in a simple and rational way. Its main objective is to format," +echo "mount and create an fstab for your root (/) and user (/usr)" +echo "partitions." +echo "" +echo "As with anything which modifies your hard drive's contents, this" +echo "program can cause SIGNIFICANT data loss, and you are advised" +echo "to make sure your hard drive is backed up before beginning the" +echo "installation process." +echo "" +echo "Default answers are displyed in brackets after the questions." +echo "You can hit Control-C at any time to quit, but if you do so at a" +echo "prompt, you may have to hit return. Also, quitting in the middle of" +echo "installation may leave your system in an inconsistent state." +echo "" +echo -n "Proceed with installation? [n] " +getresp "n" +case "$resp" in + y*|Y*) + echo "scanning for the root device" + ;; + *) + echo ' +OK, then. Enter "halt" at the prompt to halt the machine. +If you have set the default boot device using the "eeprom" +command, you can use the "reboot" command now. Otherwise, +you may need to specify a boot device for the PROM monitor.' + exit + ;; +esac + +drivetype=sd +sect_fwd="" + +# find out what units are possible for that disk, and query the user. +getdrives +for du in $driveunits; do + set -- $(getvar $du) + if [ $# -ge 2 -a "$1" = "a" -a "`echo $2 | sed -e 's,.*BSD.*,BSD,'`" = "BSD" ]; then + rdev=$du + fi +done + +echo "" +echo "The root device you have chosen is on: ${rdev}" +echo "" +# driveunits=`ls /dev/${drivetype}?a | sed -e 's,/dev/\(...\)a,\1,g'` +if [ "X${driveunits}" = "X" ]; then + echo "FATAL ERROR:" + echo "No devices for disks of type '${drivetype}'." + echo "This is probably a bug in the install disks." + echo "Exiting install program." + exit +fi + +echo "" +echo "THIS IS YOUR LAST CHANCE!!!" +echo "" +echo "(answering yes will format your root partition on $rdev)" +echo -n "Are you SURE you want NetBSD installed on your hard drive? (yes/no) " +answer="" +while [ "$answer" = "" ]; do + getresp + case $resp in + yes|YES) + echo "" + answer=yes + ;; + no|NO) + echo ' +OK, then. enter "halt" or "reboot" at the prompt.' + exit + ;; + *) + echo -n "I want a yes or no answer... well? " + ;; + esac +done +echo "Initializing / (root) filesystem, and mounting..." +$DONTDOIT newfs /dev/r${rdev}a $name +$DONTDOIT mount_ffs /dev/${rdev}a /mnt +echo "" +echo -n "Creating a fstab..." +mkdir -p $FSTABDIR +echo "/dev/${rdev}a / ffs rw 1 1" > $FSTAB + +# get rid of this partition +shiftvar $rdev +shiftvar $rdev + +echo "" +echo "Now lets setup your /usr file system" +echo "(Once a valid input for drive and partition is seen" +echo "it will be FORMATTED and inserted in the fstab.)" +while [ "X$usrpart" = "X" ]; do + resp="" + drivename="" + while [ "X$resp" = "X" ]; do + echo "choices: $driveunits" + echo "which drive do you want /usr on?" + getresp + set -- $driveunits + while [ $# -gt 0 ]; do + if [ "X$resp" = "X$1" ]; then + drivename=$1 + break; + else + shift + fi + done + if [ "X$drivename" != "X" ]; then + break + fi + done + + usrpart="" + echo "You have selected $drivename" + echo "here is a list of partitions on $drivename" + disklabel $drivename 2>/dev/null | sed -e '/^[ ][ ][ad-p]:/p;/^#[ \t]*size/p;d' + echo "which partition would you like to format and have" + echo -n "mounted as /usr? (supply the letter): " + getresp + if [ "X$resp" = "X" ]; then + continue; + fi + + list=$(getvar $drivename) + set -- $list + while [ $# -gt 0 ]; do + if [ "$resp" = "$1" ]; then + if [ "`echo $2 | sed -e 's,.*BSD.*,BSD,'`" != "BSD" ]; then + echo "" + echo -n "$drivename$resp is of type $2 which is not" + echo " a BSD filesystem type" + break + fi + usrpart=$drivename$resp + break + else + shift + shift + fi + done + if [ "X$usrpart" = "X" ]; then + echo "$resp is not a valid input." + echo "" + fi +done + +echo "" +echo "Initializing /usr filesystem, and mounting..." +$DONTDOIT newfs /dev/r${usrpart} $name +$DONTDOIT mkdir -p /mnt/usr +$DONTDOIT mount_ffs /dev/${usrpart} /mnt/usr +echo "" +echo -n "Adding to fstab..." +echo "/dev/${usrpart} /usr ffs rw 1 2" >> $FSTAB +sync +echo " done." + +echo ' +You might want to set the PROM default boot device. +The current settings can be examined using: + eeprom bootdev + eeprom default_boot +and they can be modified by adding "=value" i.e.: + eeprom bootdev=sd(0,0,0) + eeprom default_boot=true +' + +echo ' +OK! The preliminary work of setting up your disk is now complete, +and you can install the actual NetBSD software. + +Right now, your root is mounted on /mnt and your usr on /mnt/usr. +You should consult the installation notes to determine how to load +and install the NetBSD distribution sets, and how to configure your +system when you are done. + +GOOD LUCK! +' diff --git a/distrib/sun3/common/mini_bin.list b/distrib/sun3/common/mini_bin.list new file mode 100644 index 00000000000..0d10ae1d43b --- /dev/null +++ b/distrib/sun3/common/mini_bin.list @@ -0,0 +1,39 @@ +# +# $NetBSD: mini_bin.list,v 1.1.1.1 1995/10/08 23:07:48 gwr Exp $ +# + +# miniroot files from /bin: + +# Note: /bin/rcp is handled in mini_usr.list (crunched with rsh) +# Everything else here is just copied from ${DESTDIR} + +COPY ${DESTDIR}/bin/cat bin +COPY ${DESTDIR}/bin/chmod bin +COPY ${DESTDIR}/bin/cp bin +# COPY ${DESTDIR}/bin/csh bin +COPY ${DESTDIR}/bin/date bin +COPY ${DESTDIR}/bin/dd bin +COPY ${DESTDIR}/bin/df bin +COPY ${DESTDIR}/bin/echo bin +COPY ${DESTDIR}/bin/ed bin +COPY ${DESTDIR}/bin/expr bin +COPY ${DESTDIR}/bin/kill bin +COPY ${DESTDIR}/bin/ln bin +COPY ${DESTDIR}/bin/ls bin +COPY ${DESTDIR}/bin/mkdir bin +COPY ${DESTDIR}/bin/mt bin +COPY ${DESTDIR}/bin/mv bin +COPY ${DESTDIR}/bin/pax bin +COPY ${DESTDIR}/bin/ps bin +COPY ${DESTDIR}/bin/pwd bin +# COPY ${DESTDIR}/bin/rcp # See mini_usr.list +COPY ${DESTDIR}/bin/rm bin + +COPY ${DESTDIR}/bin/rmdir bin +COPY ${DESTDIR}/bin/sh bin +COPY ${DESTDIR}/bin/stty bin +COPY ${DESTDIR}/bin/sync bin + +COPY ${DESTDIR}/bin/test bin +LINK bin/test bin/[ + diff --git a/distrib/sun3/common/mini_sbin.list b/distrib/sun3/common/mini_sbin.list new file mode 100644 index 00000000000..9325fa7ef0a --- /dev/null +++ b/distrib/sun3/common/mini_sbin.list @@ -0,0 +1,38 @@ +# +# $NetBSD: mini_sbin.list,v 1.1.1.1 1995/10/08 23:07:50 gwr Exp $ +# + +# XXX - Need these? ping, + +# miniroot files from /sbin: + +COPY ${DESTDIR}/sbin/disklabel sbin +COPY ${DESTDIR}/sbin/dmesg sbin + +COPY ${DESTDIR}/sbin/edlabel sbin + +COPY ${DESTDIR}/sbin/fsck sbin +COPY ${DESTDIR}/sbin/ifconfig sbin +COPY ${DESTDIR}/sbin/init sbin +COPY ${DESTDIR}/sbin/mknod sbin + +COPY ${DESTDIR}/sbin/mount sbin +COPY ${DESTDIR}/sbin/mount_cd9660 sbin +COPY ${DESTDIR}/sbin/mount_ffs sbin +LINK sbin/mount_ffs sbin/mount_ufs + +COPY ${DESTDIR}/sbin/mount_nfs sbin +COPY ${DESTDIR}/sbin/newfs sbin +COPY ${DESTDIR}/sbin/ping sbin +COPY ${DESTDIR}/sbin/reboot sbin +LINK sbin/reboot sbin/halt + +COPY ${DESTDIR}/sbin/restore sbin +LINK sbin/restore sbin/rrestore + +COPY ${DESTDIR}/sbin/route sbin +COPY ${DESTDIR}/sbin/shutdown sbin +COPY ${DESTDIR}/sbin/slattach sbin +COPY ${DESTDIR}/sbin/swapon sbin +COPY ${DESTDIR}/sbin/umount sbin + diff --git a/distrib/sun3/common/mini_usr.conf b/distrib/sun3/common/mini_usr.conf new file mode 100644 index 00000000000..46223f0608c --- /dev/null +++ b/distrib/sun3/common/mini_usr.conf @@ -0,0 +1,25 @@ +# +# $NetBSD: mini_usr.conf,v 1.1.1.1 1995/10/08 23:07:50 gwr Exp $ +# +# common/mini_usr.conf +# +# The only real purpose of this crunched binary is to +# provide statically linked versions of some programs +# that would normally reside in usr/bin or usr/sbin. +# A few related ones are thrown in to save space: +# chgrp, rcp +# + +srcdirs /usr/src/bin /usr/src/sbin /usr/src/usr.bin /usr/src/usr.sbin + +progs chown chroot cksum cmp eeprom ftp more printf +progs rcp rsh sed strings tftp tip update + +ln chown chgrp + +# These are linked -static so they are not needed here. +# srcdirs /usr/src/gnu/usr.bin +# progs gzip, tar +# ln gzip gzcat gunzip + +libs -ltermcap diff --git a/distrib/sun3/common/mini_usr.list b/distrib/sun3/common/mini_usr.list new file mode 100644 index 00000000000..268a18569bf --- /dev/null +++ b/distrib/sun3/common/mini_usr.list @@ -0,0 +1,42 @@ +# +# $NetBSD: mini_usr.list,v 1.1.1.1 1995/10/08 23:07:46 gwr Exp $ +# + +# copy the crunched binary, link to it, and kill it + +COPY ${OBJDIR}/mini_usr mini_usr + +# Note: On the miniroot, /usr is part of the root fs, +# so we can just make a link for /bin/rcp +LINK mini_usr bin/rcp + +# usr/sbin: + +LINK mini_usr usr/sbin/chown +LINK mini_usr usr/sbin/chroot +LINK mini_usr usr/sbin/eeprom +LINK mini_usr usr/sbin/update + +# usr/bin: + +LINK mini_usr usr/bin/chgrp +LINK mini_usr usr/bin/cksum +LINK mini_usr usr/bin/cmp +LINK mini_usr usr/bin/ftp +LINK mini_usr usr/bin/more +LINK mini_usr usr/bin/printf +LINK mini_usr usr/bin/rsh +LINK mini_usr usr/bin/sed +LINK mini_usr usr/bin/strings +LINK mini_usr usr/bin/tftp +LINK mini_usr usr/bin/tip + +SPECIAL rm mini_usr + +# These are linked statically, so just copy from ${DESTDIR}: + +COPY ${DESTDIR}/usr/bin/tar usr/bin +COPY ${DESTDIR}/usr/bin/gzip usr/bin +LINK usr/bin/gzip usr/bin/gunzip +LINK usr/bin/gzip usr/bin/gzcat + diff --git a/distrib/sun3/common/miniroot.list b/distrib/sun3/common/miniroot.list new file mode 100644 index 00000000000..008b928a31f --- /dev/null +++ b/distrib/sun3/common/miniroot.list @@ -0,0 +1,41 @@ +# $NetBSD: miniroot.list,v 1.1.1.1 1995/10/08 23:07:48 gwr Exp $ + +# From usr/mdec: +COPY ${DESTDIR}/usr/mdec/bootxx usr/mdec +COPY ${DESTDIR}/usr/mdec/installboot usr/mdec +COPY ${DESTDIR}/usr/mdec/netboot usr/mdec +COPY ${DESTDIR}/usr/mdec/ufsboot usr/mdec +LINK usr/mdec/ufsboot ufsboot +# XXX - How to do installboot? + +# various files that we need in /etc for the install +COPY ${DESTDIR}/etc/disktab etc +COPY ${DESTDIR}/etc/group etc +COPY ${DESTDIR}/etc/master.passwd etc +COPY ${DESTDIR}/etc/passwd etc +COPY ${DESTDIR}/etc/protocols etc +COPY ${DESTDIR}/etc/pwd.db etc +COPY ${DESTDIR}/etc/services etc +COPY ${DESTDIR}/etc/spwd.db etc + +# copy the MAKEDEV script and make some devices +COPY ${DESTDIR}/dev/MAKEDEV dev/MAKEDEV +SPECIAL cd dev; sh MAKEDEV std rd0 sd0 sd2 st0 +SPECIAL /bin/rm dev/MAKEDEV +SPECIAL mkfifo dev/pipe + +# and the common installation tools +COPY ${TOPDIR}/common/dot.cmnutils .cmnutils + +# the disktab explanation file (XXX need this?) +# COPY ${TOPDIR}/common/mr.disktab etc/disktab.preinstall + +# and the miniroot installation tools +COPY ${TOPDIR}/common/mr.instutils .instutils +COPY ${TOPDIR}/common/mr.profile .profile +COPY ${TOPDIR}/common/mr.termcap usr/share/misc/termcap + +# and the "install" command +COPY ${TOPDIR}/common/install.sh install +SPECIAL chmod 755 install + diff --git a/distrib/sun3/common/miniroot.tree b/distrib/sun3/common/miniroot.tree new file mode 100644 index 00000000000..9e66a282636 --- /dev/null +++ b/distrib/sun3/common/miniroot.tree @@ -0,0 +1,74 @@ +# +# $NetBSD: miniroot.tree,v 1.1.1.1 1995/10/08 23:07:47 gwr Exp $ +# + +/set type=dir uname=root gname=wheel mode=0755 +# . +. + +# ./bin +bin +# ./bin +.. + +# ./dev +dev +# ./dev +.. + +# ./etc +etc +# ./etc +.. + +# ./mnt +mnt +# ./mnt +.. + +# ./mnt2 +mnt2 +# ./mnt2 +.. + +# ./sbin +sbin +# ./sbin +.. + +# ./tmp +tmp +# ./tmp +.. + +# ./usr +usr + +# ./usr/bin +bin +# ./usr/bin +.. + +# ./usr/mdec +mdec +# ./usr/mdec +.. + +# ./usr/sbin +sbin +# ./usr/sbin +.. + +# ./usr/share +share + +# ./usr/share/misc +misc +# ./usr/share/misc +.. + +# ./usr/share +.. + +# ./usr +.. diff --git a/distrib/sun3/common/mr.disktab b/distrib/sun3/common/mr.disktab new file mode 100644 index 00000000000..91768474fad --- /dev/null +++ b/distrib/sun3/common/mr.disktab @@ -0,0 +1,32 @@ +# +# $NetBSD: mr.disktab,v 1.1.1.1 1995/10/08 23:07:47 gwr Exp $ +# +# Disk geometry and partition layout tables. +# Key: +# dt controller type +# ty type of disk (fixed, removeable, simulated) +# d[0-4] drive-type-dependent parameters +# ns #sectors/track +# nt #tracks/cylinder +# nc #cylinders/disk +# sc #sectors/cylinder, nc*nt default +# su #sectors/unit, sc*nc default +# se sector size, DEV_BSIZE default +# rm rpm, 3600 default +# sf supports bad144-style bad sector forwarding +# sk sector skew per track, default 0 +# cs sector skew per cylinder, default 0 +# hs headswitch time, default 0 +# ts one-cylinder seek time, default 0 +# il sector interleave (n:1), 1 default +# bs boot block size, default BBSIZE +# sb superblock size, default SBSIZE +# o[a-h] partition offsets in sectors +# p[a-h] partition sizes in sectors +# b[a-h] partition block sizes in bytes +# f[a-h] partition fragment sizes in bytes +# t[a-h] partition types (filesystem, swap, etc) +# +# All partition sizes reserve space for bad sector tables. +# (5 cylinders needed for maintenance + replacement sectors) +# diff --git a/distrib/sun3/common/mr.etc.rc b/distrib/sun3/common/mr.etc.rc new file mode 100644 index 00000000000..272302f54b3 --- /dev/null +++ b/distrib/sun3/common/mr.etc.rc @@ -0,0 +1,9 @@ +#!/bin/sh +# $NetBSD: mr.etc.rc,v 1.2 1995/10/13 16:38:27 gwr Exp $ + +# This is run by /sbin/init as: +# /bin/sh /etc/rc +# Just force init to go single-user... + +echo "/etc/rc: miniroot forces single-user mode..." +exit 1 diff --git a/distrib/sun3/common/mr.instutils b/distrib/sun3/common/mr.instutils new file mode 100644 index 00000000000..9d509f857fe --- /dev/null +++ b/distrib/sun3/common/mr.instutils @@ -0,0 +1,148 @@ +# +# $NetBSD: mr.instutils,v 1.1.1.1 1995/10/08 23:07:46 gwr Exp $ +# +# Copyright (c) 1994 Christopher G. Demetriou +# 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 Christopher G. Demetriou. +# 4. The name of the author may not be used to endorse or promote products +# derived from this software without specific prior written permission +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 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. +# + +# Installation configuration utilites (functions), to get NetBSD configured +# reasonably once it is installed on the hard disk. These are meant to be +# invoked from the shell prompt, by people installing NetBSD. + +Configure() +{ + DEV=/mnt/dev + ETC=/mnt/etc + + echo "You will now be prompted for information about this" + echo "machine. If you hit return, the default answer (in" + echo "brackets) will be used." + + echo "" + echo -n "What is this machine's hostname? [unknown.host.domain] " + read hname + if [ "$hname" = "" ]; then + hname=unknown.host.domain + fi + echo $hname > ${ETC}/myname + proto_domain=`echo $hname | sed -e 's/[^.]*\.//'` + + echo "" + echo "What domain is this machine in (this is NOT its YP" + echo -n "domain name)? [$proto_domain] " + read dname + if [ "$dname" = "" ]; then + dname=$proto_domain + fi + + echo "" + if [ -e ${ETC}/sendmail.cf ]; then + echo "WARNING: A default sendmail.cf exists, and probably" + echo "needs to be tuned and/or replaced, to work properly at" + echo "your site!" + else + echo "WARNING: No default sendmail.cf installed. Did you" + echo "forget to install the 'etc' distribution?" + fi + + echo "127.0.0.1 localhost localhost.$dname" > ${ETC}/hosts + + echo "" + echo -n "Does this machine have an ethernet interface? [y] " + read resp + case "$resp" in + n*) + ;; + *) + intf= + while [ "$intf" = "" ]; do + echo -n "What is the primary interface name " + echo -n "(e.g. ed0, ep0, etc)? " + read intf + done + echo -n "What is the hostname for this interface? [$hname] " + read ifname + if [ "$ifname" = "" ]; then + ifname=$hname + fi + ifaddr= + while [ "$ifaddr" = "" ]; do + echo -n "What is the IP address associated with " + echo -n "interface ${intf}? " + read ifaddr + done + echo "$ifaddr $ifname `echo $ifname | sed -e s/\.$dname//`" \ + >> ${ETC}/hosts + + echo -n "Does this interface have a special netmask? [n] " + read resp + case "$resp" in + y*) + echo -n "What is the netmask? [0xffffff00] " + read ifnetmask + if [ "$ifnetmask" = "" ]; then + ifnetmask=0xffffff00 + fi + ;; + *) + ifnetmask= + ;; + esac + + echo -n "Does this interface need additional flags? [n] " + read resp + case "$resp" in + y*) + echo -n "What flags? [link0] " + read ifflags + if [ "$ifflags" = "" ]; then + ifflags=link0 + fi + ;; + *) + ifflags= + ;; + esac + echo "inet $ifname $ifnetmask $ifflags" > ${ETC}/hostname.$intf + + echo "" + echo -n "WARNING: if you have any more ethernet interfaces, " + echo "you will have to configure" + echo -n "them by hand. Read the comments in /etc/netstart to" + echo "learn how to do this." + ;; + esac + + echo "" + echo -n "Making device nodes..." + cd ${DEV} + sh MAKEDEV all + echo " done." + + sync +} diff --git a/distrib/sun3/common/mr.profile b/distrib/sun3/common/mr.profile new file mode 100644 index 00000000000..8aa3bafd9cc --- /dev/null +++ b/distrib/sun3/common/mr.profile @@ -0,0 +1,52 @@ +# +# $NetBSD: mr.profile,v 1.1.1.1 1995/10/08 23:07:47 gwr Exp $ +# +# Copyright (c) 1994 Christopher G. Demetriou +# 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 Christopher G. Demetriou. +# 4. The name of the author may not be used to endorse or promote products +# derived from this software without specific prior written permission +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 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. +# + +PATH=/sbin:/bin:/usr/sbin:/usr/bin:/ +export PATH +TERM=ansi +export TERM + +# set up some sane defaults +echo 'erase ^?, werase ^H, kill ^U, intr ^C' +stty newcrt werase '^H' intr '^C' kill '^U' erase '^?' +echo '' + +# start running update, so that installed software is written as it goes. +update + +# pull in the function definitions that people will use from the shell prompt. +. /.cmnutils +. /.instutils + +# run the installation script. +umask 022 +install diff --git a/distrib/sun3/common/mr.termcap b/distrib/sun3/common/mr.termcap new file mode 100644 index 00000000000..360e98bcfc7 --- /dev/null +++ b/distrib/sun3/common/mr.termcap @@ -0,0 +1,91 @@ +# +# $NetBSD: mr.termcap,v 1.1.1.1 1995/10/08 23:07:47 gwr Exp $ +# + +# +# Customized for installation on Sun machines. +# + +dumb:\ + :am:\ + :co#80:\ + :bl=^G:cr=^M:do=^J:sf=^J: +unknown:\ + :gn:\ + :tc=dumb: +other|none of the above, but not exactly unknown:\ + :am:gn:\ + :co#80:\ + :cl=^M^J:do=^J:ho=^M: + +arpanet|bussiplexer|dialup|ethernet|network|net|patch|plugboard|switch|network switch or dialup:\ + :tc=unknown: +lpr|printer|print|printing|line printer:\ + :hc:os:\ + :co#132:li#66:\ + :bl=^G:cr=^M:do=^J:ff=^L:le=^H:sf=^J: + +#### ANSI terminals and terminal emulators +# +# See near the end of this file for details on ANSI conformance. +# Don't mess with these entries! Lots of other entries depend on them! +# + +# (ansi: changed ":pt:" to ":it#8:" -- esr) +ansi|any ansi terminal with pessimistic assumptions:\ + :am:bs:\ + :co#80:it#8:li#24:\ + :ce=\E[K:cl=\E[;H\E[2J:cm=\E[%i%d;%dH:do=\E[B:\ + :ho=\E[H:le=\E[D:nd=\E[C:up=\E[A: +# +vt100|dec-vt100|vt100-am|vt100am|dec vt100:\ + :bl=^G:cr=^M:it#8:\ + :do=^J:co#80:li#24:cl=50\E[;H\E[2J:sf=2*\ED:\ + :le=^H:bs:am:cm=5\E[%i%d;%dH:nd=2\E[C:up=2\E[A:cb=3\E[1K:\ + :ce=3\E[K:cd=50\E[J:so=2\E[7m:se=2\E[m:us=2\E[4m:ue=2\E[m:\ + :md=2\E[1m:mr=2\E[7m:mb=2\E[5m:me=2\E[m:is=\E[1;24r\E[24;1H:\ + :if=/usr/share/tabset/vt100:\ + :rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:ks=\E[?1h\E=:ke=\E[?1l\E>:\ + :ku=\EOA:kd=\EOB:kr=\EOC:kl=\EOD:kb=^H:\ + :ho=\E[H:k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:pt:sr=2*\EM:vt#3:xn:\ + :sc=\E7:rc=\E8:cs=\E[%i%d;%dr: +# +sun|Sun Microsystems Workstation console:\ + :am:bs:km:mi:ms:pt:\ + :co#80:it#8:li#34:\ + :AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:IC=\E[%d@:al=\E[L:\ + :bl=^G:cd=\E[J:ce=\E[K:cl=^L:cm=\E[%i%d;%dH:cr=^M:\ + :dc=\E[P:dl=\E[M:do=\E[B:ei=:ic=\E[@:im=:is=\E[1r:\ + :k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:kd=\E[B:kh=\E[H:\ + :kl=\E[D:kr=\E[C:ku=\E[A:le=^H:nd=\E[C:rs=\E[1r:\ + :se=\E[m:sf=^J:so=\E[7m:ta=^I:up=\E[A: +# +xterm|vs100|xterm terminal emulator (X11R6 Window System):\ + :am:bs:km:mi:ms:pt:xn:xo:\ + :co#80:it#8:li#65:\ + :@7=\E[[:AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:F1=\E[23~:\ + :F2=\E[24~:IC=\E[%d@:LE=\E[%dD:UP=\E[%dA:\ + :ac=++\054\054..00II--``aaffgghhjjkkllmmnnooqqssttuuvvwwxx~~:\ + :ae=\E(B:al=\E[L:as=\E(0:bl=^G:cd=\E[J:ce=\E[K:\ + :cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ + :ct=\E[3k:dc=\E[P:dl=\E[M:do=^J:ei=\E[4l:ho=\E[H:\ + :ic=\E[@:im=\E[4h:\ + :is=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l:\ + :k1=\E[11~:k2=\E[12~:k3=\E[13~:k4=\E[14~:k5=\E[15~:\ + :k6=\E[17~:k7=\E[18~:k8=\E[19~:k9=\E[20~:k;=\E[21~:\ + :kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=^H:kd=\EOB:\ + :ke=\E[?1l\E>:kh=\E[@:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:\ + :ku=\EOA:le=^H:md=\E[1m:me=\E[m:mr=\E[7m:nd=\E[C:\ + :r2=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l\E<:\ + :rc=\E8:sc=\E7:se=\E[m:sf=^J:so=\E[7m:sr=\EM:ta=^I:\ + :te=\E[2J\E[?47l\E8:ti=\E7\E[?47h:u6=\E[%d;%dR:\ + :u7=\E[6n:u8=\E[?1;2c:u9=\E[c:ue=\E[m:up=\E[A:\ + :us=\E[4m: +xterm24|vs100-24|xterm terminal emulator (24 lines) (X11R6 window system):\ + :co#80:li#24:\ + :tc=xterm: +xterm25|vs100-25|xterm terminal emulator (25 lines) (X11R6 window system):\ + :co#80:li#24:\ + :tc=xterm: +xterms|vs100s|xterm terminal emulator (small) (X11R6 window system):\ + :tc=xterm24: diff --git a/distrib/sun3/common/ramdisk.list b/distrib/sun3/common/ramdisk.list new file mode 100644 index 00000000000..3d8e29ec80a --- /dev/null +++ b/distrib/sun3/common/ramdisk.list @@ -0,0 +1,21 @@ +# $NetBSD: ramdisk.list,v 1.1.1.1 1995/10/08 23:07:46 gwr Exp $ + +# copy the MAKEDEV script and make some devices +COPY ${DESTDIR}/dev/MAKEDEV dev/MAKEDEV +SPECIAL cd dev; sh MAKEDEV std rd0 sd0 sd2 st0 +SPECIAL /bin/rm dev/MAKEDEV +SPECIAL mkfifo dev/pipe +SPECIAL ln -s . usr + +# various files that we need in /etc for the install + +COPY ${TOPDIR}/common/rd.disktab etc/disktab +COPY ${TOPDIR}/common/rd.fstab etc/fstab +COPY ${TOPDIR}/common/rd.protocols etc/protocols +COPY ${TOPDIR}/common/rd.services etc/services +COPY ${TOPDIR}/common/rd.passwd etc/passwd + +# and the RC file +COPY ${TOPDIR}/common/rd.sshrc .sshrc +COPY ${TOPDIR}/common/rd.welcome .welcome + diff --git a/distrib/sun3/common/ramdisk.tree b/distrib/sun3/common/ramdisk.tree new file mode 100644 index 00000000000..a242e6aa48b --- /dev/null +++ b/distrib/sun3/common/ramdisk.tree @@ -0,0 +1,39 @@ +# +# $NetBSD: ramdisk.tree,v 1.1.1.1 1995/10/08 23:07:48 gwr Exp $ +# + +/set type=dir uname=root gname=wheel mode=0755 +# . +. + +# ./bin +bin +# ./bin +.. + +# ./dev +dev +# ./dev +.. + +# ./etc +etc +# ./etc +.. + +# ./mnt +mnt +# ./mnt +.. + +# ./sbin +sbin +# ./sbin +.. + +# ./tmp +tmp +# ./tmp +.. + +# ./usr will be a link to root diff --git a/distrib/sun3/common/rd.disktab b/distrib/sun3/common/rd.disktab new file mode 100644 index 00000000000..76067644074 --- /dev/null +++ b/distrib/sun3/common/rd.disktab @@ -0,0 +1,2 @@ +# $NetBSD: rd.disktab,v 1.2 1995/10/13 16:38:29 gwr Exp $ +# The ramdisk has no need for disktab (yet) diff --git a/distrib/sun3/common/rd.fstab b/distrib/sun3/common/rd.fstab new file mode 100644 index 00000000000..78bfa72a8b0 --- /dev/null +++ b/distrib/sun3/common/rd.fstab @@ -0,0 +1,2 @@ +# $NetBSD: rd.fstab,v 1.2 1995/10/13 16:38:31 gwr Exp $ +/dev/rd0 / ufs rw 1 1 diff --git a/distrib/sun3/common/rd.passwd b/distrib/sun3/common/rd.passwd new file mode 100644 index 00000000000..b524734954a --- /dev/null +++ b/distrib/sun3/common/rd.passwd @@ -0,0 +1 @@ +root::0:0:NetBSD RAM-disk root:/root:/bin/sh diff --git a/distrib/sun3/common/rd.protocols b/distrib/sun3/common/rd.protocols new file mode 100644 index 00000000000..0a0432edded --- /dev/null +++ b/distrib/sun3/common/rd.protocols @@ -0,0 +1,6 @@ +# +# etc/protocols (ramdisk version) +# $NetBSD: rd.protocols,v 1.1.1.1 1995/10/08 23:07:49 gwr Exp $ +# +ip 0 IP +icmp 1 ICMP diff --git a/distrib/sun3/common/rd.services b/distrib/sun3/common/rd.services new file mode 100644 index 00000000000..15e200020c7 --- /dev/null +++ b/distrib/sun3/common/rd.services @@ -0,0 +1,56 @@ +# +# etc/services (ramdisk version) +# $NetBSD: rd.services,v 1.1.1.1 1995/10/08 23:07:49 gwr Exp $ +# +tcpmux 1/tcp +echo 7/tcp +echo 7/udp +discard 9/tcp sink null +discard 9/udp sink null +systat 11/tcp users +daytime 13/tcp +daytime 13/udp +netstat 15/tcp +chargen 19/tcp ttytst source +chargen 19/udp ttytst source +ftp-data 20/tcp +ftp 21/tcp +telnet 23/tcp +smtp 25/tcp mail +time 37/tcp timserver +time 37/udp timserver +nameserver 42/tcp name # IEN 116 +whois 43/tcp nicname +domain 53/tcp nameserver +domain 53/udp nameserver +bootps 67/udp +bootpc 68/udp +tftp 69/udp +# +rje 77/tcp netrjs +finger 79/tcp +link 87/tcp ttylink +kerberos 88/tcp krb5 # Kerberos v5 +kerberos 88/udp +supdup 95/tcp +# 100 - reserved +hostnames 101/tcp hostname +iso-tsap 102/tcp tsap +# +sunrpc 111/tcp +sunrpc 111/udp + +# +# UNIX specific services +# +exec 512/tcp +biff 512/udp comsat +login 513/tcp +who 513/udp whod +shell 514/tcp cmd +syslog 514/udp +printer 515/tcp spooler +talk 517/udp +ntalk 518/udp +route 520/udp router routed + diff --git a/distrib/sun3/common/rd.sshrc b/distrib/sun3/common/rd.sshrc new file mode 100644 index 00000000000..1964fc43814 --- /dev/null +++ b/distrib/sun3/common/rd.sshrc @@ -0,0 +1,4 @@ +# .sshrc +# $NetBSD: rd.sshrc,v 1.2 1995/10/13 16:38:34 gwr Exp $ +path /sbin:/bin +run cat /.welcome diff --git a/distrib/sun3/common/rd.welcome b/distrib/sun3/common/rd.welcome new file mode 100644 index 00000000000..b0600385aa5 --- /dev/null +++ b/distrib/sun3/common/rd.welcome @@ -0,0 +1,24 @@ + + Welcome to the NetBSD/sun3 RAMDISK root! + +This environment is designed to do only three things: +1: Partititon your disk (use the command: edlabel /dev/rsd0c) +2: Copy a miniroot image into the swap partition (/dev/rsd0b) +3: Reboot (using the swap partition, i.e. /dev/sd?b). + +Copying the miniroot can be done several ways, allowing +the source of the miniroot image to be on any of these: + boot tape, NFS server, TFTP server, rsh server + +The easiest is loading from tape, which is done as follows: + mt -f /dev/nrst0 rewind + mt -f /dev/nrst0 fsf 1 + dd bs=16k if=/dev/nrst0 of=/dev/rsd0b +(For help with other methods, please see the install notes.) + +To reboot using the swap partition, first use "halt", +then at the PROM monitor prompt use a command like: + b sd(0,0,1)netbsd -s + ^-- 1 selects the swap partition + +To view this message again, type: cat /.welcome diff --git a/distrib/sun3/common/rd_bin.conf b/distrib/sun3/common/rd_bin.conf new file mode 100644 index 00000000000..fa40e778c99 --- /dev/null +++ b/distrib/sun3/common/rd_bin.conf @@ -0,0 +1,83 @@ +# +# $NetBSD: rd_bin.conf,v 1.1.1.1 1995/10/08 23:07:47 gwr Exp $ +# +# common/rd_bin.conf - unified binary for the ramdisk. +# +# The ramdisk root has to stay small enough so the kernel +# can be loaded in less than one megabyte of ram, including +# uninitialized data (bss). Otherwise it will not work on +# the Sun3/50. This is not too hard, because the ONLY +# tools needed in this root are those that one might use +# to initialize the disk label and copy a miniroot image +# into the swap partiton. Everything else is done after +# the machine is rebooted from the miniroot. +# +# Note that the "ln" directives below are not really about +# filesystem links, but rather the ability of the resulting +# crunched binary to select the right program when argv[0] +# matches the names on right of the "ln prog" directive. +# For example, the shell can be run with argv[0]="-sh" +# (login shell convention) but no such file will exist. +# Similarly, one may want to run "init" as "oinit"... +# +# Notes about what is included (or not) and why: +# +# Include mknod incase I forgot some device nodes... +# Support copying miniroot from NFS, TFTP, or CDROM. +# Need mount_ffs, mount_ufs to remount the ramdisk. +# +# Might use cat to look at files (it's small anyway). +# Need for copying miniroot from tape: dd, mt +# Keep to allow minor fixes: ln, mkdir, mv +# Small and handy: cat, echo, pwd, sync +# +# Note: ssh has no "if", so "test" is useless. Also, +# left out: cp, chmod, rm. The ramdisk does not really +# need them, and they pull in fts_* from libc. +# +# Might use these to get the miniroot: rsh, tftp +# +# Assume gunzip can run elsewhere, i.e.: +# rsh gzcat sun3.miniroot.gz +# No need to extract archives either... +# + +# +# Here are all the programs, ordered by source location: + +# Special programs used to save space... +#srcdirs /usr/src/distrib/utils +srcdirs ../../utils +progs init_s ssh tls +ln init_s init oinit +ln ssh sh +ln ssh -sh # login shell (not actual file name) +ln tls ls +# These are built with special flags to save a little space. +# The x_ prefix is just to make them unique among all srcdirs. +progs x_dd x_ifconfig +ln x_dd dd +ln x_ifconfig ifconfig + +srcdirs /usr/src/sbin +progs edlabel mknod mount +progs mount_cd9660 mount_ffs mount_nfs +progs reboot umount +ln mount_ffs ffs mount_ufs ufs +ln mount_nfs nfs +ln mount_cd9660 cd9660 +ln reboot halt + +srcdirs /usr/src/bin +progs cat echo ln mkdir mt mv pwd sync + +srcdirs /usr/src/usr.bin +progs rsh tftp + +# srcdirs /usr/src/usr.sbin + +# srcdirs /usr/src/gnu/usr.bin +# progs cpio, gzip, tar +# ln gzip gzcat gunzip + +libs libhack.o -lutil diff --git a/distrib/sun3/common/rd_bin.list b/distrib/sun3/common/rd_bin.list new file mode 100644 index 00000000000..7c7c855d1f6 --- /dev/null +++ b/distrib/sun3/common/rd_bin.list @@ -0,0 +1,44 @@ +# +# $NetBSD: rd_bin.list,v 1.2 1995/10/13 16:38:36 gwr Exp $ +# + +# copy the crunched binary, link to it, and kill it + +COPY ${OBJDIR}/rd_bin rd_bin + +# From /usr/src/distrib/utils: +LINK rd_bin sbin/init +LINK rd_bin sbin/ifconfig +LINK rd_bin sbin/edlabel +LINK rd_bin bin/dd +LINK rd_bin bin/ls +LINK rd_bin bin/rsh +LINK rd_bin bin/sh +LINK rd_bin bin/ssh +LINK rd_bin bin/tftp + +# From /usr/src/sbin: +LINK rd_bin sbin/halt +LINK rd_bin sbin/mknod +LINK rd_bin sbin/mount +LINK rd_bin sbin/mount_cd9660 +LINK rd_bin sbin/mount_ffs +LINK rd_bin sbin/mount_nfs +LINK rd_bin sbin/mount_ufs +LINK rd_bin sbin/reboot +LINK rd_bin sbin/umount + +# From /usr/src/bin: +LINK rd_bin bin/cat +# LINK rd_bin bin/chmod +# LINK rd_bin bin/cp +LINK rd_bin bin/echo +LINK rd_bin bin/ln +LINK rd_bin bin/mkdir +LINK rd_bin bin/mt +LINK rd_bin bin/mv +LINK rd_bin bin/pwd +# LINK rd_bin bin/rm +LINK rd_bin bin/sync + +SPECIAL rm rd_bin diff --git a/distrib/sun3/common/rdsetroot.c b/distrib/sun3/common/rdsetroot.c new file mode 100644 index 00000000000..ba0575c1f51 --- /dev/null +++ b/distrib/sun3/common/rdsetroot.c @@ -0,0 +1,230 @@ +/* $NetBSD: rdsetroot.c,v 1.2 1995/10/13 16:38:39 gwr Exp $ */ + +/* + * Copyright (c) 1994 Gordon W. Ross + * 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. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 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. + * + * $Id: rdsetroot.c,v 1.1 1995/10/18 08:37:51 deraadt Exp $ + */ + +/* + * Copy a ramdisk image into the space reserved for it. + * Kernel variables: rd_root_size, rd_root_image + */ + +#include <sys/types.h> +#include <sys/file.h> +#include <sys/mman.h> + +#include <stdio.h> +#include <a.out.h> + +extern off_t lseek(); + +struct exec head; +char *file; + +/* Virtual addresses of the symbols we frob. */ +long rd_root_image_va, rd_root_size_va; + +/* Offsets relative to start of data segment. */ +long rd_root_image_off, rd_root_size_off; + +/* value in the location at rd_root_size_off */ +int rd_root_size_val; + +/* pointers to pieces of mapped file */ +char *dataseg; + +/* and lengths */ +int data_len; +int data_off; +int data_pgoff; + +main(argc,argv) + char **argv; +{ + int fd, n; + int *ip; + char *cp; + + if (argc < 2) { + printf("%s: missing file name\n", argv[0]); + exit(1); + } + file = argv[1]; + + fd = open(file, O_RDWR); + if (fd < 0) { + perror(file); + exit(1); + } + + n = read(fd, &head, sizeof(head)); + if (n < sizeof(head)) { + printf("%s: reading header\n", file); + exit(1); + } + + if (N_BADMAG(head)) { + printf("%s: bad magic number\n"); + exit(1); + } + +#ifdef DEBUG + printf(" text: %9d\n", head.a_text); + printf(" data: %9d\n", head.a_data); + printf(" bss: %9d\n", head.a_bss); + printf(" syms: %9d\n", head.a_syms); + printf("entry: 0x%08X\n", head.a_entry); + printf("trsiz: %9d\n", head.a_trsize); + printf("drsiz: %9d\n", head.a_drsize); +#endif + + if (head.a_syms <= 0) { + printf("%s: no symbols\n", file); + exit(1); + } + if (head.a_trsize || + head.a_drsize) + { + printf("%s: has relocations\n"); + exit(1); + } + + find_rd_root_image(file); + + /* + * Map in the whole data segment. + * The file offset needs to be page aligned. + */ + data_off = N_DATOFF(head); + data_len = head.a_data; + /* align... */ + data_pgoff = N_PAGSIZ(head) - 1; + data_pgoff &= data_off; + data_off -= data_pgoff; + data_len += data_pgoff; + /* map in in... */ + dataseg = mmap(NULL, /* any address is ok */ + data_len, /* length */ + PROT_READ | PROT_WRITE, + MAP_SHARED, + fd, data_off); + if ((long)dataseg == -1) { + printf("%s: can not map data seg\n", file); + perror(file); + exit(1); + } + dataseg += data_pgoff; + + /* + * Find value in the location: rd_root_size + */ + ip = (int*) (dataseg + rd_root_size_off); + rd_root_size_val = *ip; +#ifdef DEBUG + printf("rd_root_size val: 0x%08X (%d blocks)\n", + rd_root_size_val, (rd_root_size_val >> 9)); +#endif + + /* + * Copy the symbol table and string table. + */ +#ifdef DEBUG + printf("copying root image...\n"); +#endif + n = read(0, dataseg + rd_root_image_off, + rd_root_size_val); + if (n < 0) { + perror("read"); + exit(1); + } + + msync(dataseg - data_pgoff, data_len +#ifdef sun + ,0 +#endif + ); + +#ifdef DEBUG + printf("...copied %d bytes\n", n); +#endif + close(fd); + exit(0); +} + + +/* + * Find locations of the symbols to patch. + */ +struct nlist wantsyms[] = { + { "_rd_root_size", 0 }, + { "_rd_root_image", 0 }, + { NULL, 0 }, +}; + +find_rd_root_image(file) + char *file; +{ + int data_va; + int std_entry; + + if (nlist(file, wantsyms)) { + printf("%s: no rd_root_image symbols?\n", file); + exit(1); + } + std_entry = N_TXTADDR(head) + + (head.a_entry & (N_PAGSIZ(head)-1)); + data_va = N_DATADDR(head); + if (head.a_entry != std_entry) { + printf("%s: warning: non-standard entry point: 0x%08x\n", + file, head.a_entry); + printf("\texpecting entry=0x%X\n", std_entry); + data_va += (head.a_entry - std_entry); + } + + rd_root_size_off = wantsyms[0].n_value - data_va; + rd_root_image_off = wantsyms[1].n_value - data_va; +#ifdef DEBUG + printf(".data segment va: 0x%08X\n", data_va); + printf("rd_root_size va: 0x%08X\n", wantsyms[0].n_value); + printf("rd_root_image va: 0x%08X\n", wantsyms[1].n_value); + printf("rd_root_size off: 0x%08X\n", rd_root_size_off); + printf("rd_root_image off: 0x%08X\n", rd_root_image_off); +#endif + + /* + * Sanity check locations of db_* symbols + */ + if (rd_root_image_off < 0 || rd_root_image_off >= head.a_data) { + printf("%s: rd_root_image not in data segment?\n", file); + exit(1); + } + if (rd_root_size_off < 0 || rd_root_size_off >= head.a_data) { + printf("%s: rd_root_size not in data segment?\n", file); + exit(1); + } +} diff --git a/distrib/sun3/miniroot/Makefile b/distrib/sun3/miniroot/Makefile new file mode 100644 index 00000000000..b3defc8ae66 --- /dev/null +++ b/distrib/sun3/miniroot/Makefile @@ -0,0 +1,57 @@ +# $NetBSD: Makefile,v 1.2 1995/10/13 16:46:47 gwr Exp $ + +TOP= ${.CURDIR}/.. + +# This include just sets REV=XX +.include "${TOP}/Makefile.inc" + +IMAGE= miniroot +CBIN= mini_usr + +TREE= ${TOP}/common/${IMAGE}.tree + +LISTS= ${TOP}/common/mini_sbin.list \ + ${TOP}/common/mini_bin.list \ + ${TOP}/common/${CBIN}.list \ + ${TOP}/common/${IMAGE}.list + +MOUNT_POINT= /mnt +DISKTYPE= miniroot +BDEV= /dev/sd2b +CDEV= /dev/rsd2b + +KERNEL=${SRCSYSDIR}/arch/sun3/compile/GENERIC/netbsd + +# These are all the parameters for the miniroot: (6MB) +NBLKS= 12288 +# old format, minfree, opt, b/i trks, sects, cpg +NEWFSARGS= -O -m 0 -o space -i 8192 -t 8 -u 32 -c 16 + +${IMAGE}.fs: ${CBIN} do_mount do_files do_bootxx do_kernel do_umount + dd if=${CDEV} of=$@ bs=64b count=`expr ${NBLKS} / 64` + +# Only do these for the miniroot, not the ramdisk. +do_bootxx: + sync ; sleep 1 ; sync + cd ${MOUNT_POINT} ;\ + usr/mdec/installboot -v ufsboot usr/mdec/bootxx ${CDEV} + +# Copy the generic kernel +do_kernel: + cp -p ${KERNEL} ${MOUNT_POINT}/netbsd + +# Do not delete this if I change my mind and kill make... +.PRECIOUS: ${IMAGE}.fs + +# Rules used making ${IMAGE}.fs (do_*) +.include "${TOP}/common/Make.fsimage" + +# Rules for making ${CBIN} ... +.include "${TOP}/common/Make.crunch" + +clean cleandir: + -rm -f a.out core *.core *.o + -rm -f ${CLEANFILES} + +# Standard rules needed by the above... +.include <bsd.obj.mk> diff --git a/distrib/sun3/ramdisk/Findrefs b/distrib/sun3/ramdisk/Findrefs new file mode 100644 index 00000000000..2a098b5df7a --- /dev/null +++ b/distrib/sun3/ramdisk/Findrefs @@ -0,0 +1,12 @@ +#!/bin/sh +# $NetBSD: Findrefs,v 1.2 1995/10/13 16:51:28 gwr Exp $ + +# Small helper to find out who pulls in X + +[ "$1" ] || { echo "$0: match_string" ; exit 1; } + +for f in *.lo +do + nm -p $f | grep "$1" && echo $f +done + diff --git a/distrib/sun3/ramdisk/Makefile b/distrib/sun3/ramdisk/Makefile new file mode 100644 index 00000000000..0a7294833bb --- /dev/null +++ b/distrib/sun3/ramdisk/Makefile @@ -0,0 +1,61 @@ +# $NetBSD: Makefile,v 1.2 1995/10/13 16:51:30 gwr Exp $ + +TOP= ${.CURDIR}/.. + +# This include just sets REV=XX +.include "${TOP}/Makefile.inc" + +IMAGE= ramdisk +CBIN= rd_bin + +TREE= ${TOP}/common/${IMAGE}.tree + +LISTS= ${TOP}/common/${CBIN}.list \ + ${TOP}/common/${IMAGE}.list + +MOUNT_POINT= /mnt +DISKTYPE= rdroot +BDEV= /dev/rd0 +CDEV?= /dev/rd0 + +KERNEL=${SRCSYSDIR}/arch/sun3/compile/RAMDISK/netbsd + +# These are all the parameters for the root fs: (256K) +NBLKS= 512 +# args: old fmt, minfree, opt, b/i trks, sects, cpg +NEWFSARGS= -O -m 0 -o space -i 2048 -t 2 -u 16 -c 16 + +CLEANFILES= netbsd-rd rdsetroot + +netbsd-rd : rdsetroot ${IMAGE}.fs + cp ${KERNEL} netbsd-tmp + ./rdsetroot netbsd-tmp < ${IMAGE}.fs + -mv -f netbsd-tmp $@ + +rdsetroot: ${TOP}/common/rdsetroot.c + $(CC) -o $@ -DDEBUG ${TOP}/common/rdsetroot.c + +${IMAGE}.fs: ${CBIN} do_mount do_files do_umount + dd if=${CDEV} of=$@ count=${NBLKS} + +# Do not delete this if I change my mind and kill make... +.PRECIOUS: ${IMAGE}.fs + +# Rules used making ${IMAGE}.fs (do_*) +.include "${TOP}/common/Make.fsimage" + +# Rules for making ${CBIN} ... +.include "${TOP}/common/Make.crunch" + +${CBIN} : libhack.o + +# Use stubs to eliminate some large stuff from libc +HACKSRC=${TOP}/../utils/libhack +.include "${HACKSRC}/Makefile.inc" + +clean cleandir: + -rm -f a.out core *.core *.o + -rm -f ${CLEANFILES} + +# Standard rules needed by the above... +.include <bsd.obj.mk> diff --git a/distrib/sun3/ramdisk/Showsyms b/distrib/sun3/ramdisk/Showsyms new file mode 100644 index 00000000000..a854d3ce55c --- /dev/null +++ b/distrib/sun3/ramdisk/Showsyms @@ -0,0 +1,9 @@ +#!/bin/sh +# $NetBSD: Showsyms,v 1.2 1995/10/13 16:51:31 gwr Exp $ +# Small helper to print out symbols in a useful order. + +nm -n rd_bin.syms |grep -i ' a ' +nm -n rd_bin.syms |grep -i ' t ' +nm -n rd_bin.syms |grep -i ' d ' +nm -n rd_bin.syms |grep -i ' b ' +nm -p rd_bin.syms |grep -i ' c ' diff --git a/distrib/utils/Makefile b/distrib/utils/Makefile new file mode 100644 index 00000000000..3fac6077dae --- /dev/null +++ b/distrib/utils/Makefile @@ -0,0 +1,5 @@ +# $NetBSD: Makefile,v 1.2 1995/10/13 18:10:06 gwr Exp $ + +SUBDIR= libhack init_s ssh tls x_dd x_ifconfig + +.include <bsd.subdir.mk> diff --git a/distrib/utils/Makefile.inc b/distrib/utils/Makefile.inc new file mode 100644 index 00000000000..0b9a8e7d181 --- /dev/null +++ b/distrib/utils/Makefile.inc @@ -0,0 +1,9 @@ +# $NetBSD: Makefile.inc,v 1.2 1995/10/13 18:10:07 gwr Exp $ +# utils one might want in a crunched binary + +BSDSRCDIR?= /usr/src +LDSTATIC= -static + +install: + @echo "install not expected" + diff --git a/distrib/utils/README b/distrib/utils/README new file mode 100644 index 00000000000..6a940c065ca --- /dev/null +++ b/distrib/utils/README @@ -0,0 +1,43 @@ +From: "Gordon W. Ross" <gwr> +Date: Tue, 3 Oct 95 16:37:39 EDT +Subject: New ramdisk, tiny shell, etc. +[ edited since the original mail ] + +As part of my efforts to build a RAM-disk root kernel for the +sun3 port, I've developed some things that others may want: + +New RAM-disk: [ see sys/dev/ramdisk.c ] + +New "small/tiny" tools, to replace some of the larger +programs that one usually wants on a ramdisk root: + +ssh: (small shell) + * Consumes only about 8K of memory on an m68k! + (saves about 100K in the ramdisk...) + * Can run programs, possibly with I/O redirection + * Just enough to let you run the programs needed + while partitioning and copying miniroot to swap. + +tls: (tiny ls) + * Consumes only about 4K of memory on an m68k! + (saves about 10K in the ramdisk...) + * Long format only, nothing fancy. + +Also, in the new "src/distrib/utils" area, I've made build +directories for some programs that build smaller versions, +usually by adding special CFLAGS + +init_s: (built with -DLETS_GET_SMALL) + * Forces single-user mode + * Eliminates unnecessary code + +libhack: small implementation of some libc functions + * Needs only /etc/passwd (not pwd.db, spwd.db) + * Reduces size of an m68k crunched binary by about 64K + +x_dd: built with -DNO_CONV (no conv=* options) + +x_ifconfig: supports inet only + +The x_ prefix on the above is to make the names unique so +crunchgen will not confuse them with the real sources. diff --git a/distrib/utils/init_s/Makefile b/distrib/utils/init_s/Makefile new file mode 100644 index 00000000000..60a638bab4f --- /dev/null +++ b/distrib/utils/init_s/Makefile @@ -0,0 +1,18 @@ +# $NetBSD: Makefile,v 1.3 1995/10/13 18:35:17 gwr Exp $ +# Build a "small init" (i.e. for boot media) + +PROG= init +NOMAN= + +# Need -lutil for: logout, logwtmp, login_tty +DPADD= ${LIBUTIL} +LDADD= -lutil + +SRCDIR= ${BSDSRCDIR}/sbin/init +CFLAGS+= -DLETS_GET_SMALL -I${SRCDIR} + +all: ${PROG} + +.include <bsd.prog.mk> + +.PATH: ${SRCDIR} diff --git a/distrib/utils/libhack/Makefile b/distrib/utils/libhack/Makefile new file mode 100644 index 00000000000..907ee043651 --- /dev/null +++ b/distrib/utils/libhack/Makefile @@ -0,0 +1,19 @@ +# $NetBSD: Makefile,v 1.2 1995/10/13 18:10:19 gwr Exp $ +# +# Stubs to kill off some things from libc: +# This save space on a boot system. +# + +LIB= hack +SRCS= getgrent.c gethost.c getnetgr.c getpwent.c + +NOPIC= +NOPROFILE= + +all: libhack.a + +tpwent: getpwent.c + $(CC) -g -o $@.o -DTEST_MAIN -c getpwent.c + $(CC) -o $@ $@.o + +.include <bsd.lib.mk> diff --git a/distrib/utils/libhack/Makefile.inc b/distrib/utils/libhack/Makefile.inc new file mode 100644 index 00000000000..586153eda55 --- /dev/null +++ b/distrib/utils/libhack/Makefile.inc @@ -0,0 +1,25 @@ +# $NetBSD: Makefile.inc,v 1.2 1995/10/13 18:10:20 gwr Exp $ +# Include this fragment to build libhack.o +# It is .o and not .a to make sure these are the +# objects you get (and not the ones in libc.a) + +HACKOBJS= gethost.o getpwent.o getgrent.o getnetgr.o + +libhack.o : $(HACKOBJS) + $(LD) -r -o $@ $(HACKOBJS) + +gethost.o : ${HACKSRC}/gethost.c + $(CC) -c ${HACKSRC}/gethost.c + +getpwent.o : ${HACKSRC}/getpwent.c + $(CC) -c ${HACKSRC}/getpwent.c + +getgrent.o : ${HACKSRC}/getgrent.c + $(CC) -c ${HACKSRC}/getgrent.c + +getnetgr.o : ${HACKSRC}/getnetgr.c + $(CC) -c ${HACKSRC}/getnetgr.c + +yplib.o : ${HACKSRC}/yplib.c + $(CC) -c ${HACKSRC}/yplib.c + diff --git a/distrib/utils/libhack/getgrent.c b/distrib/utils/libhack/getgrent.c new file mode 100644 index 00000000000..66e65987609 --- /dev/null +++ b/distrib/utils/libhack/getgrent.c @@ -0,0 +1,187 @@ +/* $NetBSD: getgrent.c,v 1.2 1995/10/13 18:10:23 gwr Exp $ */ + +/* + * Copyright (c) 1989, 1993 + * The Regents of the University of California. All rights reserved. + * Portions Copyright (c) 1994, Jason Downs. 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 the University of + * California, Berkeley and its contributors. + * 4. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS 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 REGENTS 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. + */ + +/* + * Copied from: lib/libc/gen/getgrent.c + * and then gutted, leaving only /etc/group support. + */ + +#include <sys/types.h> +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#include <grp.h> + +static FILE *_gr_fp; +static struct group _gr_group; +static int _gr_stayopen; +static int grscan(), start_gr(); + +#define MAXGRP 200 +static char *members[MAXGRP]; +#define MAXLINELENGTH 1024 +static char line[MAXLINELENGTH]; + +struct group * +getgrent() +{ + if (!_gr_fp && !start_gr() || !grscan(0, 0, NULL)) + return(NULL); + return(&_gr_group); +} + +struct group * +getgrnam(name) + const char *name; +{ + int rval; + + if (!start_gr()) + return(NULL); + rval = grscan(1, 0, name); + if (!_gr_stayopen) + endgrent(); + return(rval ? &_gr_group : NULL); +} + +struct group * +#ifdef __STDC__ +getgrgid(gid_t gid) +#else +getgrgid(gid) + gid_t gid; +#endif +{ + int rval; + + if (!start_gr()) + return(NULL); + rval = grscan(1, gid, NULL); + if (!_gr_stayopen) + endgrent(); + return(rval ? &_gr_group : NULL); +} + +static int +start_gr() +{ + if (_gr_fp) { + rewind(_gr_fp); + return(1); + } + return((_gr_fp = fopen(_PATH_GROUP, "r")) ? 1 : 0); +} + +void +setgrent() +{ + (void) setgroupent(0); +} + +int +setgroupent(stayopen) + int stayopen; +{ + if (!start_gr()) + return(0); + _gr_stayopen = stayopen; + return(1); +} + +void +endgrent() +{ + if (_gr_fp) { + (void)fclose(_gr_fp); + _gr_fp = NULL; + } +} + +static int +grscan(search, gid, name) + register int search, gid; + register char *name; +{ + register char *cp, **m; + char *bp; + + for (;;) { + if (!fgets(line, sizeof(line), _gr_fp)) + return(0); + bp = line; + /* skip lines that are too big */ + if (!strchr(line, '\n')) { + int ch; + + while ((ch = getc(_gr_fp)) != '\n' && ch != EOF) + ; + continue; + } + _gr_group.gr_name = strsep(&bp, ":\n"); + if (search && name && strcmp(_gr_group.gr_name, name)) + continue; + _gr_group.gr_passwd = strsep(&bp, ":\n"); + if (!(cp = strsep(&bp, ":\n"))) + continue; + _gr_group.gr_gid = atoi(cp); + if (search && name == NULL && _gr_group.gr_gid != gid) + continue; + cp = NULL; + if (bp == NULL) + continue; + for (m = _gr_group.gr_mem = members;; bp++) { + if (m == &members[MAXGRP - 1]) + break; + if (*bp == ',') { + if (cp) { + *bp = '\0'; + *m++ = cp; + cp = NULL; + } + } else if (*bp == '\0' || *bp == '\n' || *bp == ' ') { + if (cp) { + *bp = '\0'; + *m++ = cp; + } + break; + } else if (cp == NULL) + cp = bp; + } + *m = NULL; + return(1); + } + /* NOTREACHED */ +} diff --git a/distrib/utils/libhack/gethost.c b/distrib/utils/libhack/gethost.c new file mode 100644 index 00000000000..8a2d3649e35 --- /dev/null +++ b/distrib/utils/libhack/gethost.c @@ -0,0 +1,266 @@ +/* $NetBSD: gethost.c,v 1.2 1995/10/13 18:10:25 gwr Exp $ */ + +/*- + * Copyright (c) 1985, 1988, 1993 + * The Regents of the University of California. 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 the University of + * California, Berkeley and its contributors. + * 4. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS 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 REGENTS 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. + * - + * Portions Copyright (c) 1993 by Digital Equipment Corporation. + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies, and that + * the name of Digital Equipment Corporation not be used in advertising or + * publicity pertaining to distribution of the document or software without + * specific, written prior permission. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND DIGITAL EQUIPMENT CORP. DISCLAIMS ALL + * WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL DIGITAL EQUIPMENT + * CORPORATION BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL + * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR + * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS + * ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS + * SOFTWARE. + * - + * --Copyright-- + */ + +/* + * Copied from: lib/libc/net/gethostnamadr.c + * and then gutted, leaving only /etc/hosts support. + */ + +#include <sys/param.h> +#include <sys/socket.h> +#include <netinet/in.h> +#include <arpa/inet.h> +#include <arpa/nameser.h> +#include <netdb.h> +#include <resolv.h> +#include <stdio.h> +#include <ctype.h> +#include <errno.h> +#include <string.h> + +#define MAXALIASES 35 +#define MAXADDRS 35 + +static char *h_addr_ptrs[MAXADDRS + 1]; + +static struct hostent host; +static char *host_aliases[MAXALIASES]; +static char hostbuf[BUFSIZ+1]; +static struct in_addr host_addr; +static FILE *hostf = NULL; +static int stayopen = 0; + +#if PACKETSZ > 1024 +#define MAXPACKET PACKETSZ +#else +#define MAXPACKET 1024 +#endif + +extern int h_errno; + +struct hostent * +gethostbyname(name) + const char *name; +{ + register const char *cp; + int n, i; + extern struct hostent *_gethtbyname(); + + /* + * disallow names consisting only of digits/dots, unless + * they end in a dot. + */ + if (isdigit(name[0])) + for (cp = name;; ++cp) { + if (!*cp) { + if (*--cp == '.') + break; + /* + * All-numeric, no dot at the end. + * Fake up a hostent as if we'd actually + * done a lookup. + */ + if (!inet_aton(name, &host_addr)) { + h_errno = HOST_NOT_FOUND; + return((struct hostent *) NULL); + } + host.h_name = (char *)name; + host.h_aliases = host_aliases; + host_aliases[0] = NULL; + host.h_addrtype = AF_INET; + host.h_length = sizeof(u_int32_t); + h_addr_ptrs[0] = (char *)&host_addr; + h_addr_ptrs[1] = NULL; + host.h_addr_list = h_addr_ptrs; + return (&host); + } + if (!isdigit(*cp) && *cp != '.') + break; + } + + /* XXX - Force host table lookup. */ + return (_gethtbyname(name)); +} + +struct hostent * +gethostbyaddr(addr, len, type) + const char *addr; + int len, type; +{ + int n, i; + char qbuf[MAXDNAME]; + extern struct hostent *_gethtbyaddr(); + + if (type != AF_INET) + return ((struct hostent *) NULL); + (void)sprintf(qbuf, "%u.%u.%u.%u.in-addr.arpa", + ((unsigned)addr[3] & 0xff), + ((unsigned)addr[2] & 0xff), + ((unsigned)addr[1] & 0xff), + ((unsigned)addr[0] & 0xff)); + + /* XXX - Force host table lookup. */ + return (_gethtbyaddr(addr, len, type)); +} + +void +_sethtent(f) + int f; +{ + if (hostf == NULL) + hostf = fopen(_PATH_HOSTS, "r" ); + else + rewind(hostf); + stayopen = f; +} + +void +_endhtent() +{ + if (hostf && !stayopen) { + (void) fclose(hostf); + hostf = NULL; + } +} + +struct hostent * +_gethtent() +{ + char *p; + register char *cp, **q; + + if (hostf == NULL && (hostf = fopen(_PATH_HOSTS, "r" )) == NULL) + return (NULL); +again: + if ((p = fgets(hostbuf, BUFSIZ, hostf)) == NULL) + return (NULL); + if (*p == '#') + goto again; + cp = strpbrk(p, "#\n"); + if (cp == NULL) + goto again; + *cp = '\0'; + cp = strpbrk(p, " \t"); + if (cp == NULL) + goto again; + *cp++ = '\0'; + /* THIS STUFF IS INTERNET SPECIFIC */ + h_addr_ptrs[0] = (char *)&host_addr; + h_addr_ptrs[1] = NULL; + (void) inet_aton(p, &host_addr); + host.h_addr_list = h_addr_ptrs; + host.h_length = sizeof(u_int32_t); + host.h_addrtype = AF_INET; + while (*cp == ' ' || *cp == '\t') + cp++; + host.h_name = cp; + q = host.h_aliases = host_aliases; + cp = strpbrk(cp, " \t"); + if (cp != NULL) + *cp++ = '\0'; + while (cp && *cp) { + if (*cp == ' ' || *cp == '\t') { + cp++; + continue; + } + if (q < &host_aliases[MAXALIASES - 1]) + *q++ = cp; + cp = strpbrk(cp, " \t"); + if (cp != NULL) + *cp++ = '\0'; + } + *q = NULL; + return (&host); +} + +struct hostent * +_gethtbyname(name) + char *name; +{ + register struct hostent *p; + register char **cp; + + _sethtent(0); + while (p = _gethtent()) { + if (strcasecmp(p->h_name, name) == 0) + break; + for (cp = p->h_aliases; *cp != 0; cp++) + if (strcasecmp(*cp, name) == 0) + goto found; + } +found: + _endhtent(); + if (p==NULL) + h_errno = HOST_NOT_FOUND; + return (p); +} + +struct hostent * +_gethtbyaddr(addr, len, type) + const char *addr; + int len, type; +{ + register struct hostent *p; + + _sethtent(0); + while (p = _gethtent()) + if (p->h_addrtype == type && !bcmp(p->h_addr, addr, len)) + break; + _endhtent(); + if (p==NULL) + h_errno = HOST_NOT_FOUND; + return (p); +} + diff --git a/distrib/utils/libhack/getnetgr.c b/distrib/utils/libhack/getnetgr.c new file mode 100644 index 00000000000..31a928c1e45 --- /dev/null +++ b/distrib/utils/libhack/getnetgr.c @@ -0,0 +1,33 @@ +/* $NetBSD: getnetgr.c,v 1.2 1995/10/13 18:10:26 gwr Exp $ */ + +/* + * Just stub these out, so it looks like + * we are not in any any netgroups. + */ + +void +endnetgrent() +{ +} + +void +setnetgrent(ng) + const char *ng; +{ +} + +int +getnetgrent(host, user, domain) + const char **host; + const char **user; + const char **domain; +{ + return 0; +} + +int +innetgr(grp, host, user, domain) + const char *grp, *host, *user, *domain; +{ + return 0; +} diff --git a/distrib/utils/libhack/getpwent.c b/distrib/utils/libhack/getpwent.c new file mode 100644 index 00000000000..2d730bd6abf --- /dev/null +++ b/distrib/utils/libhack/getpwent.c @@ -0,0 +1,171 @@ +/* $NetBSD: getpwent.c,v 1.2 1995/10/13 18:10:27 gwr Exp $ */ + +/* + * Copyright (c) 1995 Gordon W. Ross + * 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. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * 4. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by Gordon W. Ross + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 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. + */ + +/* + * Smaller replacement for: libc/gen/getpwent.c + * Needed by programs like: rsh, rlogin + */ + +#include <stdio.h> +#include <string.h> +#include <pwd.h> + +#define PWNULL (struct passwd *)0 +#define MAXFIELD 8 + +static char *pw_file = "/etc/passwd"; +static FILE *pw_fp; +static char pw_line[128]; +static struct passwd pw_ent; + +/* + * Open passwd file if necessary, and + * get the next entry. + */ +struct passwd * +getpwent() +{ + char *fv[MAXFIELD]; + char *p; + int fc; + + /* Open passwd file if not already. */ + if (pw_fp == NULL) + pw_fp = fopen(pw_file, "r"); + /* Still NULL. No passwd file? */ + if (pw_fp == NULL) + return PWNULL; + +readnext: + /* Read the next line... */ + if (fgets(pw_line, sizeof(pw_line), pw_fp) == NULL) + return PWNULL; + + /* ...and parse it. */ + p = pw_line; + fc = 0; + while (fc < MAXFIELD) { + fv[fc] = strsep(&p, ":\n"); + if (fv[fc] == NULL) + break; + fc++; + } + + /* Need at least 0..5 */ + if (fc < 6) + goto readnext; + while (fc < MAXFIELD) + fv[fc++] = ""; + + /* Build the pw entry... */ + pw_ent.pw_name = fv[0]; + pw_ent.pw_passwd = fv[1]; + pw_ent.pw_uid = atoi(fv[2]); + pw_ent.pw_gid = atoi(fv[3]); + pw_ent.pw_gecos = fv[4]; + pw_ent.pw_dir = fv[5]; + pw_ent.pw_shell = fv[6]; + + return (&pw_ent); +} + +/* internal for setpwent() */ +int +setpassent(stayopen) + int stayopen; +{ + if (pw_fp) + rewind(pw_fp); +} + +/* rewind to the beginning. */ +void +setpwent() +{ + (void) setpassent(0); +} + +/* done with the passwd file */ +void +endpwent() +{ + if (pw_fp) { + fclose(pw_fp); + pw_fp = NULL; + } +} + +struct passwd * +getpwnam(name) + const char *name; +{ + struct passwd *pw; + + setpwent(); + while ((pw = getpwent()) != PWNULL) + if (!strcmp(pw->pw_name, name)) + break; + + endpwent(); + return(pw); +} + +struct passwd * +getpwuid(uid) + uid_t uid; +{ + struct passwd *pw; + + setpwent(); + while ((pw = getpwent()) != PWNULL) + if (pw->pw_uid == uid) + break; + + endpwent(); + return(pw); +} + +#ifdef TEST_MAIN +main() { + struct passwd *pw; + + printf("#name, password, uid, gid, comment, dir, shell\n"); + + while ((pw = getpwent()) != NULL) { + printf("%s:%s:", pw->pw_name, pw->pw_passwd); + printf("%d:%d:", pw->pw_uid, pw->pw_gid); + printf("%s:", pw->pw_gecos); + printf("%s:", pw->pw_dir); + printf("%s\n", pw->pw_shell); + } +} +#endif diff --git a/distrib/utils/libhack/yplib.c b/distrib/utils/libhack/yplib.c new file mode 100644 index 00000000000..4b787e056a9 --- /dev/null +++ b/distrib/utils/libhack/yplib.c @@ -0,0 +1,222 @@ +/* $NetBSD: yplib.c,v 1.1.1.1 1995/10/08 23:08:48 gwr Exp $ */ + +/* + * Copyright (c) 1992, 1993 Theo de Raadt <deraadt@fsa.ca> + * 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 Theo de Raadt. + * 4. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 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. + */ + +/* + * This file provides "stubs" for all the YP library functions. + * It is not needed unless you pull in things that call YP, and + * if you use all the get* files here then the YP stuff should + * not get dragged in. But if it does, one can use this. + * + * This was copied from: + * lib/libc/yp/yplib.c + * (and then completely gutted! 8^) + */ + +#include <sys/types.h> + +/* #include <rpcsvc/yp_prot.h> */ +#define YP_TRUE ((long)1) /* general purpose success code */ +#define YP_FALSE ((long)0) /* general purpose failure code */ + +/* #include <rpcsvc/ypclnt.h> */ +#define YPERR_DOMAIN 3 /* can't bind to a server for domain */ +#define YPERR_YPERR 6 /* some internal YP server or client error */ +#define YPERR_YPBIND 10 /* can't communicate with ypbind */ +#define YPERR_NODOM 12 /* local domain name not set */ + +#ifndef NULL +#define NULL (void*)0 +#endif + + +static char _yp_domain[256]; + +int +_yp_dobind(dom, ypdb) + const char *dom; + void **ypdb; +{ + return YPERR_YPBIND; +} + +int +yp_bind(dom) + const char *dom; +{ + return _yp_dobind(dom, NULL); +} + +void +yp_unbind(dom) + const char *dom; +{ +} + +int +yp_match(indomain, inmap, inkey, inkeylen, outval, outvallen) + const char *indomain; + const char *inmap; + const char *inkey; + int inkeylen; + char **outval; + int *outvallen; +{ + *outval = NULL; + *outvallen = 0; + + return YPERR_DOMAIN; +} + +int +yp_get_default_domain(domp) + char **domp; +{ + *domp = NULL; + if (_yp_domain[0] == '\0') + if (getdomainname(_yp_domain, sizeof(_yp_domain))) + return YPERR_NODOM; + *domp = _yp_domain; + return 0; +} + +int +yp_first(indomain, inmap, outkey, outkeylen, outval, outvallen) + const char *indomain; + const char *inmap; + char **outkey; + int *outkeylen; + char **outval; + int *outvallen; +{ + + *outkey = *outval = NULL; + *outkeylen = *outvallen = 0; + + return YPERR_DOMAIN; +} + +int +yp_next(indomain, inmap, inkey, inkeylen, outkey, outkeylen, outval, outvallen) + const char *indomain; + const char *inmap; + const char *inkey; + int inkeylen; + char **outkey; + int *outkeylen; + char **outval; + int *outvallen; +{ + *outkey = *outval = NULL; + *outkeylen = *outvallen = 0; + + return YPERR_DOMAIN; +} + +int +yp_all(indomain, inmap, incallback) + const char *indomain; + const char *inmap; + void *incallback; +{ + return YPERR_DOMAIN; +} + +int +yp_order(indomain, inmap, outorder) + const char *indomain; + const char *inmap; + int *outorder; +{ + return YPERR_DOMAIN; +} + +int +yp_master(indomain, inmap, outname) + const char *indomain; + const char *inmap; + char **outname; +{ + return YPERR_DOMAIN; +} + +int +yp_maplist(indomain, outmaplist) + const char *indomain; + struct ypmaplist **outmaplist; +{ + return YPERR_DOMAIN; +} + +char * +yperr_string(incode) + int incode; +{ + static char err[80]; + + if (incode == 0) + return "Success"; + + sprintf(err, "YP FAKE error %d\n", incode); + return err; +} + +int +ypprot_err(incode) + unsigned int incode; +{ + switch (incode) { + case YP_TRUE: /* success */ + return 0; + case YP_FALSE: /* failure */ + return YPERR_YPBIND; + } + return YPERR_YPERR; +} + +int +_yp_check(dom) + char **dom; +{ + char *unused; + + if (_yp_domain[0] == '\0') + if (yp_get_default_domain(&unused)) + return 0; + + if (dom) + *dom = _yp_domain; + + if (yp_bind(_yp_domain) == 0) + return 1; + return 0; +} diff --git a/distrib/utils/ssh/Makefile b/distrib/utils/ssh/Makefile new file mode 100644 index 00000000000..98bf174717e --- /dev/null +++ b/distrib/utils/ssh/Makefile @@ -0,0 +1,9 @@ +# $NetBSD: Makefile,v 1.1.1.1 1995/10/08 23:08:46 gwr Exp $ +# Small Shell (i.e. for boot media) + +PROG= ssh +NOMAN= + +all: ${PROG} + +.include <bsd.prog.mk> diff --git a/distrib/utils/ssh/ssh.c b/distrib/utils/ssh/ssh.c new file mode 100644 index 00000000000..3bdd00da282 --- /dev/null +++ b/distrib/utils/ssh/ssh.c @@ -0,0 +1,608 @@ +/* $NetBSD: ssh.c,v 1.1.1.1 1995/10/08 23:08:46 gwr Exp $ */ + +/* + * Copyright (c) 1995 Gordon W. Ross + * 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. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * 4. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by Gordon W. Ross + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 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. + */ + +/* + * Small Shell - Nothing fancy. Just runs programs. + * The RAMDISK root uses this to save space. + */ + +#include <errno.h> +#include <fcntl.h> +#include <setjmp.h> +#include <signal.h> +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#include <unistd.h> + +#include <sys/param.h> +#include <sys/wait.h> + +/* XXX - SunOS hacks... */ +#ifndef WCOREDUMP +#define WCOREDUMP(x) ((x) & 0200) +#endif + +#ifndef __P +#ifdef __STDC__ +#define __P(x) x +#else /* STDC */ +#define __P(x) () +#endif /* STDC */ +#endif /* __P */ + +extern char *optarg; +extern int optind, opterr; + +#define MAXLINE 256 +#define MAXARGS 32 + +#define MAXPATH 256 +char cur_path[MAXPATH] = "PATH=/bin:/usr/bin"; + +char rc_name[] = ".sshrc"; +char *prompt = "ssh: "; + +int eflag; /* exit on cmd failure */ +int iflag; /* interactive mode (catch interrupts) */ +int sflag; /* read from stdin (ignore file arg) */ +int xflag; /* execution trace */ + +/* Command file: name, line number, arg count, arg vector */ +char *cf_name; +int cf_line; +int cf_argc; +char **cf_argv; + +int def_omode = 0666; +int run_bg_pid; + +jmp_buf next_cmd; + +void catchsig __P((int sig)); +void child_newfd __P((int setfd, char *file, int otype)); +int find_in_path __P((char *cmd, char *filebuf)); +void print_termsig __P((FILE *fp, int cstat)); +int runfile __P((FILE *fp)); + + +main(argc, argv) + int argc; + char **argv; +{ + struct sigaction sa; + FILE *cfp; /* command file ptr */ + int c, sig; + int error = 0; + + while ((c = getopt(argc, argv, "eisx")) != -1) { + switch (c) { + case 'e': + eflag++; + break; + case 'i': + eflag++; + break; + case 's': + sflag++; + break; + case 'x': + xflag++; + break; + case '?': + error++; + break; + } + } + if (error) { + fprintf(stderr, "usage: ssh [-eisx] [cmd_file [...]]\n"); + exit(1); + } + cf_argc = argc - optind; + cf_argv = &argv[optind]; + + /* If this is a login shell, run the rc file. */ + if (argv[0] && argv[0][0] == '-') { + cf_line = 0; + cf_name = rc_name; + if ((cfp = fopen(cf_name, "r")) != NULL) { + error = runfile(cfp); + fclose(cfp); + } + } + + /* If no file names, read commands from stdin. */ + if (cf_argc == 0) + sflag++; + /* If stdin is a tty, be interactive. */ + if (sflag && isatty(fileno(stdin))) + iflag++; + + /* Maybe run a command file... */ + if (!sflag && cf_argc) { + cf_line = 0; + cf_name = cf_argv[0]; + cfp = fopen(cf_name, "r"); + if (cfp == NULL) { + perror(cf_name); + exit(1); + } + error = runfile(cfp); + fclose(cfp); + exit(error); + } + + /* Read commands from stdin. */ + cf_line = 0; + cf_name = "(stdin)"; + if (iflag) { + eflag = 0; /* don't kill shell on error. */ + sig = setjmp(next_cmd); + if (sig == 0) { + /* Initialization... */ + sa.sa_handler = catchsig; + sa.sa_flags = 0; + sigemptyset(&sa.sa_mask); + sigaction(SIGINT, &sa, NULL); + sigaction(SIGQUIT, &sa, NULL); + sigaction(SIGTERM, &sa, NULL); + } else { + /* Got here via longjmp. */ + fprintf(stderr, " signal %d\n", sig); + sigemptyset(&sa.sa_mask); + sigprocmask(SIG_SETMASK, &sa.sa_mask, NULL); + } + } + error = runfile(stdin); + exit (error); +} + +void +catchsig(sig) + int sig; +{ + longjmp(next_cmd, sig); +} + +/* + * Run command from the passed stdio file pointer. + * Returns exit status. + */ +int +runfile(cfp) + FILE *cfp; +{ + char ibuf[MAXLINE]; + char *argv[MAXARGS]; + char *p; + int i, argc, exitcode, cpid, cstat; + + /* The command loop. */ + exitcode = 0; + for (;;) { + if (iflag) { + fprintf(stderr, prompt); + fflush(stderr); + } + + if ((fgets(ibuf, sizeof(ibuf), cfp)) == NULL) + break; + cf_line++; + + argc = 0; + p = ibuf; + + while (argc < MAXARGS-1) { + /* skip blanks or tabs */ + while ((*p == ' ') || (*p == '\t')) { + next_token: + *p++ = '\0'; + } + /* end of line? */ + if ((*p == '\n') || (*p == '#')) { + *p = '\0'; + break; /* to eol */ + } + if (*p == '\0') + break; + /* save start of token */ + argv[argc++] = p; + /* find end of token */ + while (*p) { + if ((*p == '\n') || (*p == '#')) { + *p = '\0'; + goto eol; + } + if ((*p == ' ') || (*p == '\t')) + goto next_token; + p++; + } + } + eol: + + if (argc > 0) { + if (xflag) { + fprintf(stderr, "x"); + for (i = 0; i < argc; i++) { + fprintf(stderr, " %s", argv[i]); + } + fprintf(stderr, "\n"); + } + argv[argc] = NULL; + exitcode = cmd_eval(argc, argv); + } + + /* Collect children. */ + while ((cpid = waitpid(0, &cstat, WNOHANG)) > 0) { + if (iflag) { + fprintf(stderr, "[%d] ", cpid); + if (WTERMSIG(cstat)) { + print_termsig(stderr, cstat); + } else { + fprintf(stderr, "Exited, status %d\n", + WEXITSTATUS(cstat)); + } + } + } + + if (exitcode && eflag) + break; + } + /* return status of last command */ + return (exitcode); +} + + +/**************************************************************** + * Table of buildin commands + * for cmd_eval() to search... + ****************************************************************/ + +struct cmd { + char *name; + int (*func)(); + char *help; +}; +struct cmd cmd_table[]; + +/* + * Evaluate a command named as argv[0] + * with arguments argv[1],argv[2]... + * Returns exit status. + */ +int +cmd_eval(argc, argv) + int argc; + char **argv; +{ + struct cmd *cp; + + /* + * Do linear search for a builtin command. + * Performance does not matter here. + */ + for (cp = cmd_table; cp->name; cp++) { + if (!strcmp(cp->name, argv[0])) { + /* Pass only args to builtin. */ + --argc; argv++; + return (cp->func(argc, argv)); + } + } + + /* + * If no matching builtin, let "run ..." + * have a chance to try an external. + */ + return (cmd_run(argc, argv)); +} + +/***************************************************************** + * Here are the actual commands. For these, + * the command name has been skipped, so + * argv[0] is the first arg (if any args). + * All return an exit status. + ****************************************************************/ + +char help_cd[] = "cd [dir]"; + +int +cmd_cd(argc, argv) + int argc; + char **argv; +{ + char *dir; + int err; + + if (argc > 0) + dir = argv[0]; + else { + dir = getenv("HOME"); + if (dir == NULL) + dir = "/"; + } + if (chdir(dir)) { + perror(dir); + return (1); + } + return(0); +} + +char help_exit[] = "exit [n]"; + +int +cmd_exit(argc, argv) + int argc; + char **argv; +{ + int val = 0; + + if (argc > 0) + val = atoi(argv[0]); + exit(val); +} + +char help_help[] = "help [command]"; + +int +cmd_help(argc, argv) + int argc; + char **argv; +{ + struct cmd *cp; + + if (argc > 0) { + for (cp = cmd_table; cp->name; cp++) { + if (!strcmp(cp->name, argv[0])) { + printf("usage: %s\n", cp->help); + return (0); + } + } + printf("%s: no such command\n", argv[0]); + } + + printf("Builtin commands: "); + for (cp = cmd_table; cp->name; cp++) { + printf(" %s", cp->name); + } + printf("\nFor specific usage: help [command]\n"); + return (0); +} + +char help_path[] = "path [dir1:dir2:...]"; + +int +cmd_path(argc, argv) + int argc; + char **argv; +{ + int i; + + if (argc <= 0) { + printf("%s\n", cur_path); + return(0); + } + + strncpy(cur_path+5, argv[0], MAXPATH-6); + putenv(cur_path); + + return (0); +} + +/***************************************************************** + * The "run" command is the big one. + * Does fork/exec/wait, redirection... + * Returns exit status of child + * (or zero for a background job) + ****************************************************************/ + +char help_run[] = "\ +run [-bg] [-i ifile] [-o ofile] [-e efile] program [args...]\n\ +or simply: program [args...]"; + +int +cmd_run(argc, argv) + int argc; + char **argv; +{ + struct sigaction sa; + int pid, err, cstat, fd; + char file[MAXPATHLEN]; + int background; + char *opt, *ifile, *ofile, *efile; + extern char **environ; + + /* + * Parse options: + * -b : background + * -i : input file + * -o : output file + * -e : error file + */ + background = 0; + ifile = ofile = efile = NULL; + while ((argc > 0) && (argv[0][0] == '-')) { + opt = argv[0]; + --argc; argv++; + switch (opt[1]) { + case 'b': + background++; + break; + case 'i': + ifile = argv[0]; + goto shift; + case 'o': + ofile = argv[0]; + goto shift; + case 'e': + efile = argv[0]; + goto shift; + default: + fprintf(stderr, "run %s: bad option\n", opt); + return (1); + shift: + --argc; argv++; + } + } + + if (argc <= 0) { + fprintf(stderr, "%s:%d run: missing command\n", + cf_name, cf_line); + return (1); + } + + /* Commands containing '/' get no path search. */ + if (strchr(argv[0], '/')) { + strncpy(file, argv[0], sizeof(file)-1); + if (access(file, X_OK)) { + perror(file); + return (1); + } + } else { + if (find_in_path(argv[0], file)) { + fprintf(stderr, "%s: command not found\n", argv[0]); + return (1); + } + } + + pid = fork(); + if (pid == 0) { + /* child runs this */ + /* handle redirection options... */ + if (ifile) + child_newfd(0, ifile, O_RDONLY); + if (ofile) + child_newfd(1, ofile, O_WRONLY|O_CREAT); + if (efile) + child_newfd(2, efile, O_WRONLY|O_CREAT); + if (background) { + /* Ignore SIGINT, SIGQUIT */ + sa.sa_handler = SIG_IGN; + sa.sa_flags = 0; + sigemptyset(&sa.sa_mask); + sigaction(SIGINT, &sa, NULL); + sigaction(SIGQUIT, &sa, NULL); + } + err = execve(file, argv, environ); + perror(argv[0]); + return (1); + } + /* parent */ + /* Handle background option... */ + if (background) { + fprintf(stderr, "[%d]\n", pid); + run_bg_pid = pid; + return (0); + } + if (waitpid(pid, &cstat, 0) < 0) { + perror("waitpid"); + return (1); + } + if (WTERMSIG(cstat)) { + print_termsig(stderr, cstat); + } + return (WEXITSTATUS(cstat)); +} + +/***************************************************************** + * table of builtin commands + ****************************************************************/ +struct cmd cmd_table[] = { + { "cd", cmd_cd, help_cd }, + { "exit", cmd_exit, help_exit }, + { "help", cmd_help, help_help }, + { "path", cmd_path, help_path }, + { "run", cmd_run, help_run }, + { 0 }, +}; + +/***************************************************************** + * helper functions for the "run" command + ****************************************************************/ + +int +find_in_path(cmd, filebuf) + char *cmd; + char *filebuf; +{ + char *dirp, *endp, *bufp; /* dir, end */ + + dirp = cur_path + 5; + while (*dirp) { + endp = dirp; + bufp = filebuf; + while (*endp && (*endp != ':')) + *bufp++ = *endp++; + *bufp++ = '/'; + strcpy(bufp, cmd); + if (access(filebuf, X_OK) == 0) + return (0); + if (*endp == ':') + endp++; + dirp = endp; /* next dir */ + } + return (-1); +} + +/* + * Set the file descriptor SETFD to FILE, + * which was opened with OTYPE and MODE. + */ +void +child_newfd(setfd, file, otype) + int setfd; /* what to set (i.e. 0,1,2) */ + char *file; + int otype; /* O_RDONLY, etc. */ +{ + int newfd; + + close(setfd); + if ((newfd = open(file, otype, def_omode)) < 0) { + perror(file); + exit(1); + } + if (newfd != setfd) { + dup2(newfd, setfd); + close(newfd); + } +} + +void +print_termsig(fp, cstat) + FILE *fp; + int cstat; +{ + fprintf(fp, "Terminated, signal %d", + WTERMSIG(cstat)); + if (WCOREDUMP(cstat)) + fprintf(fp, " (core dumped)"); + fprintf(fp, "\n"); +} diff --git a/distrib/utils/tls/Makefile b/distrib/utils/tls/Makefile new file mode 100644 index 00000000000..b91891dbdc2 --- /dev/null +++ b/distrib/utils/tls/Makefile @@ -0,0 +1,9 @@ +# $NetBSD: Makefile,v 1.1.1.1 1995/10/08 23:08:47 gwr Exp $ +# Tiny ls (i.e. for boot media) + +PROG= tls +NOMAN= + +all: ${PROG} + +.include <bsd.prog.mk> diff --git a/distrib/utils/tls/tls.c b/distrib/utils/tls/tls.c new file mode 100644 index 00000000000..96ffa759d42 --- /dev/null +++ b/distrib/utils/tls/tls.c @@ -0,0 +1,154 @@ +/* $NetBSD: tls.c,v 1.1.1.1 1995/10/08 23:08:47 gwr Exp $ */ + +/* + * Copyright (c) 1995 Gordon W. Ross + * 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. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * 4. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by Gordon W. Ross + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 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. + */ + +#include <sys/types.h> +#include <sys/stat.h> + +#include <dirent.h> +#include <stdio.h> +#include <time.h> + +int iflag; + +void show_long(char *fname); + +main(argc, argv) + int argc; + char **argv; +{ + DIR *dfp; + struct dirent *d; + + /* If given an arg, just cd there first. */ + if (argc > 1) { + if (chdir(argv[1])) { + perror(argv[1]); + exit(1); + } + } + if (argc > 2) + fprintf(stderr, "extra args ignored\n"); + + dfp = opendir("."); + if (dfp == NULL) { + perror("opendir"); + return; + } + + while ((d = readdir(dfp)) != NULL) + show_long(d->d_name); + + closedir(dfp); + exit(0); +} + +/* XXX - This is system dependent... */ +char ifmt_name[16] = { + '?', /* 0: nothing */ + 'P', /* 1: fifo (pipe) */ + 'C', /* 2: chr device */ + '?', /* 3: ? */ + 'D', /* 4: dir */ + '?', /* 5: ? */ + 'B', /* 6: blk device */ + '?', /* 7: ? */ + 'F', /* 8: file */ + '?', /* 9: ? */ + 'L', /* A: link */ + '?', /* B: ? */ + 'S', /* C: socket */ + '?', /* D: ? */ + 'W', /* E: whiteout */ + '?' /* F: ? */ +}; + +void +show_long(fname) + char *fname; +{ + struct stat st; + int ifmt; + char ifmt_c; + char *date; + + if (lstat(fname, &st)) { + perror(fname); + return; + } + ifmt = (st.st_mode >> 12) & 15; + ifmt_c = ifmt_name[ifmt]; + + if (iflag) { + /* inode number */ + printf("%6d ", st.st_ino); + } + + /* fmt/mode */ + printf("%c:", ifmt_c); + printf("%04o ", st.st_mode & 07777); + + /* nlinks, uid, gid */ + printf("%2d ", st.st_nlink); + printf("%4d ", st.st_uid); + printf("%4d ", st.st_gid); + + /* size or major/minor */ + if ((ifmt_c == 'B') || (ifmt_c == 'C')) { + printf("%2d, ", major(st.st_rdev)); + printf("%3d ", minor(st.st_rdev)); + } else { + printf("%7d ", (int) st.st_size); + } + + /* date */ + date = ctime(&st.st_mtime); + date += 4; /* skip day-of-week */ + date[12] = '\0'; /* to the minute */ + printf("%s ", date); + + /* name */ + printf("%s", fname); + + if (ifmt_c == 'L') { + char linkto[256]; + int n; + + n = readlink(fname, linkto, sizeof(linkto)-1); + if (n < 0) { + perror(fname); + return; + } + linkto[n] = '\0'; + printf(" -> %s", linkto); + } + printf("\n"); +} diff --git a/distrib/utils/x_dd/Makefile b/distrib/utils/x_dd/Makefile new file mode 100644 index 00000000000..208facc52ad --- /dev/null +++ b/distrib/utils/x_dd/Makefile @@ -0,0 +1,18 @@ +# $NetBSD: Makefile,v 1.3 1995/10/13 18:35:26 gwr Exp $ +# Build a smaller dd (i.e. for boot media) + +PROG= dd +NOMAN= + +SRCDIR= ${BSDSRCDIR}/bin/dd + +SRCS= args.c conv.c dd.c misc.c position.c +# SRCS+= conv_tab.c (not used) + +CFLAGS+= -DNO_CONV -I${SRCDIR} + +all: ${PROG} + +.include <bsd.prog.mk> + +.PATH: ${SRCDIR} diff --git a/distrib/utils/x_ifconfig/Makefile b/distrib/utils/x_ifconfig/Makefile new file mode 100644 index 00000000000..1a778e00fe1 --- /dev/null +++ b/distrib/utils/x_ifconfig/Makefile @@ -0,0 +1,14 @@ +# $NetBSD: Makefile,v 1.3 1995/10/13 18:35:28 gwr Exp $ +# Build a smaller ifconfig (i.e. for boot media) + +PROG= ifconfig +NOMAN= + +SRCDIR= ${BSDSRCDIR}/sbin/ifconfig +CFLAGS+= -DINET_ONLY -I${SRCDIR} + +all: ${PROG} + +.include <bsd.prog.mk> + +.PATH: ${SRCDIR} diff --git a/distrib/vax/Makefile b/distrib/vax/Makefile new file mode 100644 index 00000000000..078cbf559f1 --- /dev/null +++ b/distrib/vax/Makefile @@ -0,0 +1,5 @@ +# $NetBSD: Makefile,v 1.1 1995/10/01 21:22:13 ragge Exp $ + +SUBDIR= inst tk50 rx50 rx33 + +.include <bsd.subdir.mk> diff --git a/distrib/vax/Makefile.inc b/distrib/vax/Makefile.inc new file mode 100644 index 00000000000..002fe3895cb --- /dev/null +++ b/distrib/vax/Makefile.inc @@ -0,0 +1,4 @@ +# $Id: Makefile.inc,v 1.1 1995/10/18 08:37:54 deraadt Exp $ + +# Revision is 1.0 +REV= 10A diff --git a/distrib/vax/inst-common/Makefile.inc b/distrib/vax/inst-common/Makefile.inc new file mode 100644 index 00000000000..e7dbaa55dde --- /dev/null +++ b/distrib/vax/inst-common/Makefile.inc @@ -0,0 +1,66 @@ +# $Id: Makefile.inc,v 1.1 1995/10/18 08:37:54 deraadt Exp $ + +# TOP is assumed to be defined by Makefile including this one. + +CBIN= instbin +COMMONDIR= ${TOP}/inst-common + +MOUNT_POINT?= /mnt +VND?= vnd0 +VND_DEV= /dev/${VND}c +VND_RDEV= /dev/r${VND}c +IMAGE?= miniroot-${REV}.fs +BOOTSYS= bootroot-${REV}.fs +MDEC= ${DESTDIR}/usr/mdec + +LISTS= ${COMMONDIR}/list ${.CURDIR}/list +CRUNCHCONF= ${COMMONDIR}/${CBIN}.conf +MTREE= ${COMMONDIR}/mtree.conf + +all: ${CBIN} bootroot + dd if=/dev/zero of=${IMAGE} bs=64k count=32 + vnconfig -v -c ${VND_DEV} ${IMAGE} + newfs -O -m 0 -o space -i 8192 ${VND_RDEV} miniroot + mount ${VND_DEV} ${MOUNT_POINT} + mtree -def ${MTREE} -p ${MOUNT_POINT}/ -u + TOPDIR=${TOP} CURDIR=${.CURDIR} OBJDIR=${.OBJDIR} \ + TARGDIR=${MOUNT_POINT} sh ${TOP}/runlist.sh ${LISTS} + @echo "" + @df -i ${MOUNT_POINT} + @echo "" + umount -f ${MOUNT_POINT} + vnconfig -u ${VND_DEV} + +bootroot: edlabel copy xxboot boot + dd if=/dev/zero of=${BOOTSYS} bs=64k count=4 + vnconfig -v -c ${VND_DEV} ${BOOTSYS} + newfs -O -m 0 -o space -i 8192 ${VND_RDEV} bootroot + dd if=xxboot of=/dev/rvnd0a count=16 + mount ${VND_DEV} ${MOUNT_POINT} + cp edlabel copy boot ${MOUNT_POINT} + umount -f ${MOUNT_POINT} + vnconfig -u ${VND_DEV} + +edlabel copy xxboot boot: + (cd /sys/arch/vax/boot;make) + cp /sys/arch/vax/boot/edlabel . + cp /sys/arch/vax/boot/copy . + cp /sys/arch/vax/boot/xxboot . + cp /sys/arch/vax/boot/boot . + +unconfig: + -umount -f ${MOUNT_POINT} + -vnconfig -u ${VND_DEV} ${IMAGE} + -/bin/rm -f ${IMAGE} + +${CBIN}.mk ${CBIN}.cache ${CBIN}.c: ${CRUNCHCONF} + crunchgen ${CRUNCHCONF} + +${CBIN}: ${CBIN}.mk ${CBIN}.cache ${CBIN}.c + make -f ${CBIN}.mk + +clean cleandir: + /bin/rm -f core ${IMAGE} ${CBIN} ${CBIN}.mk ${CBIN}.cache *.o *.lo *.c + +.include <bsd.obj.mk> +.include <bsd.subdir.mk> diff --git a/distrib/vax/inst-common/dot.commonutils b/distrib/vax/inst-common/dot.commonutils new file mode 100644 index 00000000000..53ca17fc97c --- /dev/null +++ b/distrib/vax/inst-common/dot.commonutils @@ -0,0 +1,113 @@ +# +# Copyright (c) 1994 Christopher G. Demetriou +# 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 Christopher G. Demetriou. +# 4. The name of the author may not be used to endorse or promote products +# derived from this software without specific prior written permission +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 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. +$ +$ $Id: dot.commonutils,v 1.1 1995/10/18 08:37:54 deraadt Exp $ + +# Installation utilites (functions), to get NetBSD installed on +# the hard disk. These are meant to be invoked from the shell prompt, +# by people installing NetBSD. + +Set_tmp_dir() +{ + def_tmp_dir=`pwd` + if [ "$def_tmp_dir" = "/" -o "$def_tmp_dir" = "/mnt" ]; then + def_tmp_dir=/mnt/usr/distrib + fi + + echo -n "What directory should be used to find and/or store " + echo "installtion" + echo -n "files? [$def_tmp_dir] " + read tmp_dir + if [ "$tmp_dir" = "" ]; then + tmp_dir=$def_tmp_dir + fi + if [ ! -d "$tmp_dir" ]; then + /bin/rm -rf $tmp_dir + mkdir -p $tmp_dir + fi +} + +Tmp_dir() +{ + if [ "$tmp_dir" = "" ]; then + Set_tmp_dir + fi + cd $tmp_dir +} + +Load_fd() +{ + Tmp_dir + which= + while [ "$which" != "a" -a "$which" != "b" ]; do + echo -n "Read from which floppy drive ('a' or 'b')? [a] " + read which + if [ "X$which" = "X" ]; then + which=a + fi + done + while echo -n "Insert floppy (hit ^C to terminate, enter to load): " + do + mount -t msdos /dev/fd0$which /mnt2 + cp -rp /mnt2/* . + umount /mnt2 + done +} + +Load_tape() +{ + Tmp_dir + echo -n "Which tape drive will you be using? [rst0] " + read which + if [ "X$which" = "X" ]; then + which=rst0 + fi + echo -n "Insert the tape into the tape drive and hit return to " + echo -n "continue..." + read foo + echo "Extracting files from the tape..." + tar xvfp /dev/$which + echo "Done." +} + +Extract() +{ + Tmp_dir + echo -n "Would you like to list the files as they're extracted? [n] " + read verbose + case $verbose in + y*|Y*) + tarverbose=v + ;; + *) + tarverbose= + ;; + esac + cat "$1".??? | gunzip | (cd / ; tar xfp$tarverbose -) +} diff --git a/distrib/vax/inst-common/instbin.conf b/distrib/vax/inst-common/instbin.conf new file mode 100644 index 00000000000..d8378a91b69 --- /dev/null +++ b/distrib/vax/inst-common/instbin.conf @@ -0,0 +1,23 @@ +# +# kcbin.conf - unified binary for the kc floppy +# $Id: instbin.conf,v 1.1 1995/10/18 08:37:54 deraadt Exp $ +# + +srcdirs /usr/src/bin /usr/src/sbin /usr/src/usr.bin /usr/src/usr.sbin +srcdirs /usr/src/gnu/usr.bin + +progs gawk cat chmod chown chroot cp df disklabel ed expr fsck ftp +progs gzip ifconfig init ln ls mkdir mknod more mount mt dd +progs mount_ffs mount_nfs mv newfs reboot rm route sed sh shutdown +progs slattach strings stty sync tar test umount update + +ln chown chgrp +ln gzip gzcat gunzip +ln mount_ffs ffs +ln mount_nfs nfs +ln gawk awk +ln sh -sh # init invokes the shell this way +ln test [ +ln reboot halt + +libs -ledit -lutil -ltermcap -lcrypt -ll -lm diff --git a/distrib/vax/inst-common/list b/distrib/vax/inst-common/list new file mode 100644 index 00000000000..6f9a778ef5d --- /dev/null +++ b/distrib/vax/inst-common/list @@ -0,0 +1,75 @@ +# $Id: list,v 1.1 1995/10/18 08:37:54 deraadt Exp $ + +# copy the crunched binary, link to it, and kill it +COPY ${OBJDIR}/instbin instbin +LINK instbin bin/cat +LINK instbin bin/chmod +LINK instbin bin/cp +LINK instbin bin/dd +LINK instbin bin/df +LINK instbin bin/ed +LINK instbin bin/expr +LINK instbin bin/ln +LINK instbin bin/ls +LINK instbin bin/mkdir +LINK instbin bin/mv +LINK instbin bin/mt +LINK instbin bin/rm +LINK instbin bin/sh +LINK instbin bin/-sh +LINK instbin bin/stty +LINK instbin bin/sync +LINK instbin bin/test +LINK instbin bin/[ +LINK instbin sbin/disklabel +LINK instbin sbin/fsck +LINK instbin sbin/halt +LINK instbin sbin/ifconfig +LINK instbin sbin/init +LINK instbin sbin/mknod +LINK instbin sbin/mount +LINK instbin sbin/mount_ffs +LINK instbin sbin/mount_nfs +LINK instbin sbin/newfs +LINK instbin sbin/reboot +LINK instbin sbin/route +LINK instbin sbin/shutdown +LINK instbin sbin/slattach +LINK instbin sbin/umount +LINK instbin usr/bin/awk +LINK instbin usr/bin/chgrp +LINK instbin usr/bin/ftp +LINK instbin usr/bin/gunzip +LINK instbin usr/bin/gzcat +LINK instbin usr/bin/gzip +LINK instbin usr/bin/more +LINK instbin usr/bin/sed +LINK instbin usr/bin/strings +LINK instbin usr/bin/tar +# LINK instbin usr/sbin/bad144 +LINK instbin usr/sbin/chown +LINK instbin usr/sbin/chroot +LINK instbin usr/sbin/update +SPECIAL /bin/rm instbin + +# copy the MAKEDEV script and make some devices +COPY ${DESTDIR}/dev/MAKEDEV dev/MAKEDEV +SPECIAL cd dev; sh MAKEDEV std tms0 ra0 ra1 ra2 ra3 ra4 ra5 ra6 ra7 + +# we need the contents of /usr/mdec (XXX) +# COPY ${DESTDIR}/usr/mdec/* usr/mdec + +# various files that we need in /etc for the install +COPY ${DESTDIR}/etc/group etc +COPY ${DESTDIR}/etc/master.passwd etc +COPY ${DESTDIR}/etc/passwd etc +COPY ${DESTDIR}/etc/protocols etc +COPY ${DESTDIR}/etc/pwd.db etc +COPY ${DESTDIR}/etc/services etc +COPY ${DESTDIR}/etc/spwd.db etc + +# and the common installation tools +COPY ${TOPDIR}/inst-common/termcap.vt usr/share/misc/termcap + +COPY /gennetbsd . +COPY /boot . diff --git a/distrib/vax/inst-common/mtree.conf b/distrib/vax/inst-common/mtree.conf new file mode 100644 index 00000000000..f9283142efe --- /dev/null +++ b/distrib/vax/inst-common/mtree.conf @@ -0,0 +1,72 @@ +# $Id: mtree.conf,v 1.1 1995/10/18 08:37:54 deraadt Exp $ + +/set type=dir uname=root gname=wheel mode=0755 +# . +. + +# ./bin +bin +# ./bin +.. + +# ./dev +dev +# ./dev +.. + +# ./etc +etc +# ./etc +.. + +# ./mnt +mnt +# ./mnt +.. + +# ./mnt2 +mnt2 +# ./mnt2 +.. + +# ./sbin +sbin +# ./sbin +.. + +# ./tmp +tmp +# ./tmp +.. + +# ./usr +usr + +# ./usr/bin +bin +# ./usr/bin +.. + +# ./usr/mdec +mdec +# ./usr/mdec +.. + +# ./usr/sbin +sbin +# ./usr/sbin +.. + +# ./usr/share +share + +# ./usr/share/misc +misc +# ./usr/share/misc +.. + +# ./usr/share +.. + +# ./usr +.. diff --git a/distrib/vax/inst-common/termcap.vt b/distrib/vax/inst-common/termcap.vt new file mode 100644 index 00000000000..b885de9d0a6 --- /dev/null +++ b/distrib/vax/inst-common/termcap.vt @@ -0,0 +1,64 @@ +# Copyright (c) 1980, 1985, 1989 The Regents of the University of California. +# 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 the University of +# California, Berkeley and its contributors. +# 4. Neither the name of the University nor the names of its contributors +# may be used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE REGENTS 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 REGENTS 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. +# +# @(#)termcap.src 5.109 (Berkeley) 3/8/93 +# +vt200|vt220|dec-vt220|vt200-js|vt220-js|dec vt200 series with jump scroll:\ + :AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:IC=\E[%d@:LE=\E[%dD:\ + :RI=\E[%dC:UP=\E[%dA:ae=^O:al=\E[L:as=^N:ct=\E[3g:dc=\E[P:dl=\E[M:\ + :ei=\E[4l:im=\E[4h:k1=\E[17~:k2=\E[18~:k3=\E[19~:k4=\E[20~:\ + :k5=\E[21~:k6=\E[23~:k7=\E[24~:k8=\E[25~:kD=\E[3~:kH=\E[4~:\ + :kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=\177:kh=\E[1~:km:mi:ms:\ + :if=/usr/share/tabset/vt100:se=\E[27m:st=\EH:ue=\E[24m:\ + :tc=vt100: +vt100|dec-vt100|vt100-am|vt100am|dec vt100:\ + :bl=^G:cr=^M:it#8:\ + :do=^J:co#80:li#24:cl=50\E[;H\E[2J:sf=2*\ED:\ + :le=^H:bs:am:cm=5\E[%i%d;%dH:nd=2\E[C:up=2\E[A:cb=3\E[1K:\ + :ce=3\E[K:cd=50\E[J:so=2\E[7m:se=2\E[m:us=2\E[4m:ue=2\E[m:\ + :md=2\E[1m:mr=2\E[7m:mb=2\E[5m:me=2\E[m:is=\E[1;24r\E[24;1H:\ + :if=/usr/share/tabset/vt100:\ + :rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:ks=\E[?1h\E=:ke=\E[?1l\E>:\ + :ku=\EOA:kd=\EOB:kr=\EOC:kl=\EOD:kb=^H:\ + :ho=\E[H:k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:pt:sr=2*\EM:vt#3:xn:\ + :sc=\E7:rc=\E8:cs=\E[%i%d;%dr: +vt300|vt320|vt300-80|VT 300 with 80 columns, on VMS:\ + :AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:IC=\E[%d@:\ + :LE=\E[%dD:RI=\E[%dC:SR=1*\E[%dM:UP=\E[%dA:al=\E[L:\ + :am:bl=^G:bs:cd=2*\E[J:ce=2*\E[K:cl=45\E[H\E[2J:\ + :cm=%i\E[%d;%dH:co#80:cr=\r:cs=\E[%i%d;%dr:ct=\E[3g:\ + :dc=\E[P:dl=\E[M:dm=:do=\ED:ec=\E[%dX:ed=:ei=\E[4l:\ + :ho=\E[H:ic:im=\E[4h:it#8:k1=\EOP:k2=\EOQ:k3=\EOR:\ + :k4=\EOS:kd=\E[B:ke=\E[?1l\E>:kl=\E[D:kn#4:kr=\E[C:ks=\E[?1h\E=:\ + :ku=\E[A:le=^H:li#24:mb=\E[5m:md=\E[1m:me=\E[0m:mi:\ + :mr=\E[7m:ms:nd=\E[C:nl=\ED:nw=\EE:pf=\E[?4i:po=\E[?5i:\ + :ps=\E[i:rc=\E8:sc=\E7:se=\E[27m:sf=1*\ED:so=\E[7m:\ + :sr=1*\EM:st=\EH:ue=\E[24m:up=\EM:us=\E[4m:xn: diff --git a/distrib/vax/inst/Makefile b/distrib/vax/inst/Makefile new file mode 100644 index 00000000000..fdf54525970 --- /dev/null +++ b/distrib/vax/inst/Makefile @@ -0,0 +1,8 @@ +# $Id: Makefile,v 1.1 1995/10/18 08:37:54 deraadt Exp $ + +TOP= ${.CURDIR}/.. + +.include "${TOP}/Makefile.inc" +IMAGE= miniroot-${REV}.fs + +.include "${TOP}/inst-common/Makefile.inc" diff --git a/distrib/vax/inst/disktab.preinstall b/distrib/vax/inst/disktab.preinstall new file mode 100644 index 00000000000..5fe26a7d81c --- /dev/null +++ b/distrib/vax/inst/disktab.preinstall @@ -0,0 +1,29 @@ +# Disk geometry and partition layout tables. +# Key: +# dt controller type +# ty type of disk (fixed, removeable, simulated) +# d[0-4] drive-type-dependent parameters +# ns #sectors/track +# nt #tracks/cylinder +# nc #cylinders/disk +# sc #sectors/cylinder, nc*nt default +# su #sectors/unit, sc*nc default +# se sector size, DEV_BSIZE default +# rm rpm, 3600 default +# sf supports bad144-style bad sector forwarding +# sk sector skew per track, default 0 +# cs sector skew per cylinder, default 0 +# hs headswitch time, default 0 +# ts one-cylinder seek time, default 0 +# il sector interleave (n:1), 1 default +# bs boot block size, default BBSIZE +# sb superblock size, default SBSIZE +# o[a-h] partition offsets in sectors +# p[a-h] partition sizes in sectors +# b[a-h] partition block sizes in bytes +# f[a-h] partition fragment sizes in bytes +# t[a-h] partition types (filesystem, swap, etc) +# +# All partition sizes reserve space for bad sector tables. +# (5 cylinders needed for maintenance + replacement sectors) +# diff --git a/distrib/vax/inst/dot.profile b/distrib/vax/inst/dot.profile new file mode 100644 index 00000000000..a4bd1fdfa81 --- /dev/null +++ b/distrib/vax/inst/dot.profile @@ -0,0 +1,15 @@ +PATH=/sbin:/bin:/usr/bin:/usr/sbin:/ export PATH +TERM=vt100 export TERM + +# set up some sane defaults +echo 'erase ^?, werase ^H, kill ^U, intr ^C' +stty newcrt werase ^H intr ^C kill ^U erase ^? +echo +echo "Now when NetBSD is booted you're on your own." +echo "Remember to write bootblocks and to make devices" +echo "in dev in your new root filesystem before booting." +echo "Also remember to copy /gennetbsd and /boot to the" +echo "new root; it's not there by default." +echo +echo "Good luck!" +echo diff --git a/distrib/vax/inst/list b/distrib/vax/inst/list new file mode 100644 index 00000000000..a36d92e3a00 --- /dev/null +++ b/distrib/vax/inst/list @@ -0,0 +1,7 @@ +# $Id: list,v 1.1 1995/10/18 08:37:55 deraadt Exp $ + +# the disktab explanation file +COPY disktab.preinstall etc + +# and the installation tools +COPY dot.profile .profile diff --git a/distrib/vax/list2sh.awk b/distrib/vax/list2sh.awk new file mode 100644 index 00000000000..239c42f5133 --- /dev/null +++ b/distrib/vax/list2sh.awk @@ -0,0 +1,39 @@ +# $Id: list2sh.awk,v 1.1 1995/10/18 08:37:54 deraadt Exp $ + +BEGIN { + printf("cd ${CURDIR}\n"); + printf("\n"); +} +/^$/ || /^#/ { + print $0; + next; +} +$1 == "COPY" { + printf("echo '%s'\n", $0); + printf("cp %s ${TARGDIR}/%s\n", $2, $3); + next; +} +$1 == "LINK" { + printf("echo '%s'\n", $0); + printf("(cd ${TARGDIR}; ln %s %s)\n", $2, $3); + next; +} +$1 == "SPECIAL" { + printf("echo '%s'\n", $0); + printf("(cd ${TARGDIR};"); + for (i = 2; i <= NF; i++) + printf(" %s", $i); + printf(")\n"); + next; +} +{ + printf("echo '%s'\n", $0); + printf("echo 'Unknown keyword \"%s\" at line %d of input.'\n", $1, NR); + printf("exit 1\n"); + exit 1; +} +END { + printf("\n"); + printf("exit 0\n"); + exit 0; +} diff --git a/distrib/vax/runlist.sh b/distrib/vax/runlist.sh new file mode 100644 index 00000000000..d49ed331c55 --- /dev/null +++ b/distrib/vax/runlist.sh @@ -0,0 +1,13 @@ +# $Id: runlist.sh,v 1.1 1995/10/18 08:37:54 deraadt Exp $ + +if [ "X$1" = "X-d" ]; then + SHELLCMD=cat + shift +else + SHELLCMD="sh -e" +fi + +( while [ "X$1" != "X" ]; do + cat $1 + shift +done ) | awk -f ${TOPDIR}/list2sh.awk | ${SHELLCMD} diff --git a/distrib/vax/rx33/Makefile b/distrib/vax/rx33/Makefile new file mode 100644 index 00000000000..11686216ea5 --- /dev/null +++ b/distrib/vax/rx33/Makefile @@ -0,0 +1,14 @@ +# $NetBSD: Makefile,v 1.1 1995/10/01 21:22:40 ragge Exp $ +# +# Create RX33 floppies. + +.include "../Makefile.inc" + +all: + cp ../inst/bootroot-${REV}.fs rx33-bootdisk-${REV} + dd if=../inst/miniroot-${REV}.fs of=rx33-copy1-${REV} bs=512 count=2400 + dd if=../inst/miniroot-${REV}.fs of=rx33-copy2-${REV} \ + bs=512 skip=2400 count=2400 + +.include <bsd.obj.mk> +.include <bsd.subdir.mk> diff --git a/distrib/vax/rx50/Makefile b/distrib/vax/rx50/Makefile new file mode 100644 index 00000000000..bad9e556713 --- /dev/null +++ b/distrib/vax/rx50/Makefile @@ -0,0 +1,22 @@ +# $NetBSD: Makefile,v 1.1 1995/10/01 21:22:42 ragge Exp $ +# +# Create RX50 floppies. + +.include "../Makefile.inc" + +all: + cp ../inst/bootroot-${REV}.fs rx50-bootdisk-${REV} + dd if=../inst/miniroot-${REV}.fs of=rx50-copy1-${REV} bs=512 count=800 + dd if=../inst/miniroot-${REV}.fs of=rx50-copy2-${REV} \ + bs=512 skip=800 count=800 + dd if=../inst/miniroot-${REV}.fs of=rx50-copy3-${REV} \ + bs=512 skip=1600 count=800 + dd if=../inst/miniroot-${REV}.fs of=rx50-copy4-${REV} \ + bs=512 skip=2400 count=800 + dd if=../inst/miniroot-${REV}.fs of=rx50-copy5-${REV} \ + bs=512 skip=3200 count=800 + dd if=../inst/miniroot-${REV}.fs of=rx50-copy6-${REV} \ + bs=512 skip=4000 count=800 + +.include <bsd.obj.mk> +.include <bsd.subdir.mk> diff --git a/distrib/vax/tk50/Makefile b/distrib/vax/tk50/Makefile new file mode 100644 index 00000000000..c56af1ddf52 --- /dev/null +++ b/distrib/vax/tk50/Makefile @@ -0,0 +1,40 @@ +# $NetBSD: Makefile,v 1.1 1995/10/01 21:22:45 ragge Exp $ +# +# Create TK50 files and tapes. + +TAPEDEV=mt8 + +.include "../Makefile.inc" + +all: + cp ../inst/bootroot-${REV}.fs tk50-file1-${REV} + cp ../inst/miniroot-${REV}.fs tk50-file2-${REV} + +tape: +.if !defined(DESTDIR) + @echo 'DESTDIR' must be defined \(will make distribution\). + @false + +.else + mt -f /dev/r${TAPEDEV} rewind + dd if=tk50-file1-${REV} of=/dev/nr${TAPEDEV} bs=512 + dd if=tk50-file2-${REV} of=/dev/nr${TAPEDEV} bs=512 + dd if=${DESTDIR}/snapshot/bin.tar.gz of=/dev/nr${TAPEDEV} bs=64k + dd if=${DESTDIR}/snapshot/dev.tar.gz of=/dev/nr${TAPEDEV} bs=64k + dd if=${DESTDIR}/snapshot/etc.tar.gz of=/dev/nr${TAPEDEV} bs=64k + dd if=${DESTDIR}/snapshot/sbin.tar.gz of=/dev/nr${TAPEDEV} bs=64k + dd if=${DESTDIR}/snapshot/usr.bin.tar.gz of=/dev/nr${TAPEDEV} bs=64k + dd if=${DESTDIR}/snapshot/usr.games.tar.gz of=/dev/nr${TAPEDEV} bs=64k + dd if=${DESTDIR}/snapshot/usr.include.tar.gz of=/dev/nr${TAPEDEV} bs=64k + dd if=${DESTDIR}/snapshot/usr.lib.tar.gz of=/dev/nr${TAPEDEV} bs=64k + dd if=${DESTDIR}/snapshot/usr.libexec.tar.gz of=/dev/nr${TAPEDEV} bs=64k + dd if=${DESTDIR}/snapshot/usr.misc.tar.gz of=/dev/nr${TAPEDEV} bs=64k + dd if=${DESTDIR}/snapshot/usr.sbin.tar.gz of=/dev/nr${TAPEDEV} bs=64k + dd if=${DESTDIR}/snapshot/usr.share.tar.gz of=/dev/nr${TAPEDEV} bs=64k + dd if=${DESTDIR}/snapshot/var.tar.gz of=/dev/nr${TAPEDEV} bs=64k + mt -f /dev/r${TAPEDEV} rewind + @echo Distribution tape is ready. +.endif + +.include <bsd.obj.mk> +.include <bsd.subdir.mk> |