diff options
27 files changed, 1732 insertions, 0 deletions
diff --git a/distrib/powerpc/Makefile b/distrib/powerpc/Makefile new file mode 100644 index 00000000000..b0ce0865ae0 --- /dev/null +++ b/distrib/powerpc/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/powerpc/Makefile.inc b/distrib/powerpc/Makefile.inc new file mode 100644 index 00000000000..c56430a9ec2 --- /dev/null +++ b/distrib/powerpc/Makefile.inc @@ -0,0 +1,7 @@ +# $NetBSD: Makefile.inc,v 1.1 1995/07/18 04:12:57 briggs Exp $ + +# Revision is 1.0 +REV= 10 + +BSDSRCDIR?= /usr/src +SRCSYSDIR?= ${BSDSRCDIR}/sys diff --git a/distrib/powerpc/inst-common/Makefile.inc b/distrib/powerpc/inst-common/Makefile.inc new file mode 100644 index 00000000000..28e7b7e6002 --- /dev/null +++ b/distrib/powerpc/inst-common/Makefile.inc @@ -0,0 +1,39 @@ +# +# $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?= ${TOP}/inst/fs + +LISTS= ${COMMONDIR}/list ${.CURDIR}/list +CRUNCHCONF= ${COMMONDIR}/${CBIN}.conf +MTREE= ${COMMONDIR}/mtree.conf + +all: ${CBIN} + rm -rf ${MOUNT_POINT} + mkdir -p ${MOUNT_POINT} + mtree -def ${MTREE} -p ${MOUNT_POINT}/ -u + TOPDIR=${TOP} CURDIR=${.CURDIR} OBJDIR=${.OBJDIR} \ + TARGDIR=${MOUNT_POINT} sh ${TOP}/runlist.sh ${LISTS} + mkcdfs ${IMAGE} ${MOUNT_POINT} + +unconfig: + -/bin/rm -f ${IMAGE} + -/bin/rm -rf ${MOUNT_POINT} + +${CBIN}.mk ${CBIN}.cache ${CBIN}.c: ${CRUNCHCONF} + crunchgen -E -D ${BSDSRCDIR} -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 + /bin/rm -rf ${MOUNT_POINT} + +.include <bsd.obj.mk> +.include <bsd.subdir.mk> diff --git a/distrib/powerpc/inst-common/dot.commonutils b/distrib/powerpc/inst-common/dot.commonutils new file mode 100644 index 00000000000..64f840321c8 --- /dev/null +++ b/distrib/powerpc/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/powerpc/inst-common/list b/distrib/powerpc/inst-common/list new file mode 100644 index 00000000000..253709c187b --- /dev/null +++ b/distrib/powerpc/inst-common/list @@ -0,0 +1,78 @@ +# +# $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 +#COPY ${OBJDIR}/sh bin/sh +LINK raminst bin/sh +LINK bin/sh bin/-sh +LINK raminst bin/stty +LINK raminst bin/sync +LINK raminst bin/test +LINK raminst bin/[ +LINK raminst sbin/disklabel +LINK raminst sbin/fdisk +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/mount_mfs +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/pax +LINK raminst usr/bin/tip +LINK raminst usr/sbin/chown +LINK raminst usr/sbin/chroot +SPECIAL /bin/rm raminst + +# copy the MAKEDEV script and make some devices +COPY ${DESTDIR}/dev/MAKEDEV dev/MAKEDEV +SPECIAL cd dev; sh MAKEDEV raminst + +# 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/powerpc/inst-common/mtree.conf b/distrib/powerpc/inst-common/mtree.conf new file mode 100644 index 00000000000..b348b9773a3 --- /dev/null +++ b/distrib/powerpc/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/powerpc/inst-common/raminst.conf b/distrib/powerpc/inst-common/raminst.conf new file mode 100644 index 00000000000..62a6753fd83 --- /dev/null +++ b/distrib/powerpc/inst-common/raminst.conf @@ -0,0 +1,23 @@ +# +# $NetBSD: raminst.conf,v 1.3 1995/09/30 20:00:47 briggs Exp $ +# +# ram.conf - unified binary for the RAM disk +# + +srcdirs bin sbin usr.bin usr.sbin +srcdirs gnu/usr.bin + +progs cat chmod chown chroot cp dd df disklabel ed expr fdisk fsck_ffs 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 +progs sed sh shutdown slattach strings stty sync pax test tip umount # update + +ln chown chgrp +ln fsck_ffs fsck +ln gzip gzcat gunzip +ln sh -sh # init invokes the shell this way +ln test [ +ln mount_ffs ffs +ln newfs mount_mfs + +libs -ledit -lutil -ltermcap -lcompat -lcrypt -ll -lm -lz diff --git a/distrib/powerpc/inst-common/termcap.vt b/distrib/powerpc/inst-common/termcap.vt new file mode 100644 index 00000000000..d0c58f1022b --- /dev/null +++ b/distrib/powerpc/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/powerpc/inst/Makefile b/distrib/powerpc/inst/Makefile new file mode 100644 index 00000000000..2e19d860c8a --- /dev/null +++ b/distrib/powerpc/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/powerpc/inst/disktab.preinstall b/distrib/powerpc/inst/disktab.preinstall new file mode 100644 index 00000000000..81a0bb0a052 --- /dev/null +++ b/distrib/powerpc/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/powerpc/inst/dot.instutils b/distrib/powerpc/inst/dot.instutils new file mode 100644 index 00000000000..94a55659fe5 --- /dev/null +++ b/distrib/powerpc/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/powerpc/inst/dot.profile b/distrib/powerpc/inst/dot.profile new file mode 100644 index 00000000000..ae680ce4b40 --- /dev/null +++ b/distrib/powerpc/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/powerpc/inst/install.sh b/distrib/powerpc/inst/install.sh new file mode 100644 index 00000000000..1eec1d88717 --- /dev/null +++ b/distrib/powerpc/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/powerpc/inst/list b/distrib/powerpc/inst/list new file mode 100644 index 00000000000..c5cf8207ae7 --- /dev/null +++ b/distrib/powerpc/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/powerpc/kc-common/Makefile.inc b/distrib/powerpc/kc-common/Makefile.inc new file mode 100644 index 00000000000..b2acf64471a --- /dev/null +++ b/distrib/powerpc/kc-common/Makefile.inc @@ -0,0 +1,38 @@ +# +# $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}/kc-common + +MOUNT_POINT?= ${TOP}/kc/fs + +LISTS= ${COMMONDIR}/list ${.CURDIR}/list +CRUNCHCONF= ${COMMONDIR}/${CBIN}.conf +MTREE= ${COMMONDIR}/mtree.conf + +all: ${CBIN} + mkdir -p ${MOUNT_POINT} + mtree -def ${MTREE} -p ${MOUNT_POINT}/ -u + TOPDIR=${TOP} CURDIR=${.CURDIR} OBJDIR=${.OBJDIR} \ + TARGDIR=${MOUNT_POINT} sh ${TOP}/runlist.sh ${LISTS} + mkcdfs ${IMAGE} ${MOUNT_POINT} + +unconfig: + -/bin/rm -f ${IMAGE} + -/bin/rm -rf ${MOUNT_POINT} + +${CBIN}.mk ${CBIN}.cache ${CBIN}.c: ${CRUNCHCONF} + crunchgen -E -D ${BSDSRCDIR} -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 + /bin/rm -rf ${MOUNT_POINT} + +.include <bsd.obj.mk> +.include <bsd.subdir.mk> diff --git a/distrib/powerpc/kc-common/list b/distrib/powerpc/kc-common/list new file mode 100644 index 00000000000..5e9677ab9ee --- /dev/null +++ b/distrib/powerpc/kc-common/list @@ -0,0 +1,32 @@ +# +# $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/cp +LINK raminst bin/pwd +LINK raminst bin/sh +LINK bin/sh bin/-sh +LINK raminst bin/stty +LINK raminst bin/sync +LINK raminst bin/test +LINK raminst bin/[ +LINK raminst sbin/init +LINK raminst sbin/mount +LINK raminst sbin/mount_ffs +LINK raminst sbin/reboot +LINK raminst sbin/shutdown +LINK raminst sbin/umount +LINK raminst usr/bin/printf +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 + +# various files that we need in /etc for the install + +# and the common installation tools diff --git a/distrib/powerpc/kc-common/mtree.conf b/distrib/powerpc/kc-common/mtree.conf new file mode 100644 index 00000000000..b348b9773a3 --- /dev/null +++ b/distrib/powerpc/kc-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/powerpc/kc-common/raminst.conf b/distrib/powerpc/kc-common/raminst.conf new file mode 100644 index 00000000000..0560fc94403 --- /dev/null +++ b/distrib/powerpc/kc-common/raminst.conf @@ -0,0 +1,19 @@ +# +# $NetBSD: raminst.conf,v 1.3 1995/09/30 20:00:47 briggs Exp $ +# +# ram.conf - unified binary for the RAM disk +# + +srcdirs bin sbin usr.bin usr.sbin +srcdirs gnu/usr.bin + +progs cat cp expr +progs init mount +progs mount_ffs printf pwd reboot +progs sh shutdown stty sync test umount # update + +ln sh -sh # init invokes the shell this way +ln test [ +ln mount_ffs ffs + +libs -ledit -lutil -ltermcap -lcompat -lcrypt -ll -lm -lz diff --git a/distrib/powerpc/kc-common/termcap.vt b/distrib/powerpc/kc-common/termcap.vt new file mode 100644 index 00000000000..d0c58f1022b --- /dev/null +++ b/distrib/powerpc/kc-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/powerpc/kc/.tmp_raminst022552 b/distrib/powerpc/kc/.tmp_raminst022552 new file mode 100644 index 00000000000..572633ce921 --- /dev/null +++ b/distrib/powerpc/kc/.tmp_raminst022552 @@ -0,0 +1,6 @@ +.include "/proj/openbsd/src/usr.sbin/chroot/Makefile" +.if defined(PROG) && !defined(OBJS) +OBJS=${PROG}.o +.endif +crunchgen_objs: + @echo 'OBJS= '${OBJS} diff --git a/distrib/powerpc/kc/Makefile b/distrib/powerpc/kc/Makefile new file mode 100644 index 00000000000..e858bd10388 --- /dev/null +++ b/distrib/powerpc/kc/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= kc-${REV}.fs + +.include "${TOP}/kc-common/Makefile.inc" diff --git a/distrib/powerpc/kc/dot.instutils b/distrib/powerpc/kc/dot.instutils new file mode 100644 index 00000000000..94a55659fe5 --- /dev/null +++ b/distrib/powerpc/kc/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/powerpc/kc/dot.profile b/distrib/powerpc/kc/dot.profile new file mode 100644 index 00000000000..ae680ce4b40 --- /dev/null +++ b/distrib/powerpc/kc/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/powerpc/kc/install.sh b/distrib/powerpc/kc/install.sh new file mode 100644 index 00000000000..1eec1d88717 --- /dev/null +++ b/distrib/powerpc/kc/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/powerpc/kc/list b/distrib/powerpc/kc/list new file mode 100644 index 00000000000..c5cf8207ae7 --- /dev/null +++ b/distrib/powerpc/kc/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/powerpc/list2sh.awk b/distrib/powerpc/list2sh.awk new file mode 100644 index 00000000000..43008da5be9 --- /dev/null +++ b/distrib/powerpc/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/powerpc/runlist.sh b/distrib/powerpc/runlist.sh new file mode 100644 index 00000000000..8693fe51865 --- /dev/null +++ b/distrib/powerpc/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" +fi + +( while [ "X$1" != "X" ]; do + cat $1 + shift +done ) | awk -f ${TOPDIR}/list2sh.awk | ${SHELLCMD} |