1
0
mirror of https://github.com/openbsd/src.git synced 2024-12-22 16:42:56 -08:00

commit to add upport for mvme88k.

This commit is contained in:
smurph 1998-12-17 02:16:29 +00:00
parent f5866d492d
commit 4992c68368
39 changed files with 3844 additions and 2 deletions

View File

@ -1,7 +1,7 @@
# $OpenBSD: Makefile,v 1.8 1997/10/20 00:25:38 deraadt Exp $
# $OpenBSD: Makefile,v 1.9 1998/12/17 02:16:29 smurph Exp $
.if make(obj)
SUBDIR= special alpha amiga arc crunch hp300 i386 mac68k mvme68k \
SUBDIR= special alpha amiga arc crunch hp300 i386 mac68k mvme68k mvme88k\
pmax powerpc sparc
.elif !make(install)
SUBDIR= special

5
distrib/mvme88k/Makefile Normal file
View File

@ -0,0 +1,5 @@
# $OpenBSD: Makefile,v 1.1 1998/12/17 02:16:29 smurph Exp $
SUBDIR=ramdisk
.include <bsd.subdir.mk>

View File

@ -0,0 +1,10 @@
# $OpenBSD: Makefile.inc,v 1.1 1998/12/17 02:16:29 smurph Exp $
# Revision is 1.2
REV=12
LDSTATIC=-static
# Hack needed to find kernel images...
BSDSRCDIR?=/usr/src
SRCSYSDIR?=${BSDSRCDIR}/sys

View File

@ -0,0 +1,129 @@
#
# $OpenBSD: dot.commonutils,v 1.1 1998/12/17 02:16:30 smurph 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
}

View File

@ -0,0 +1,226 @@
/* $OpenBSD: rdsetroot.c,v 1.1 1998/12/17 02:16:30 smurph 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 1998/12/17 02:16:30 smurph 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, 0);
#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);
}
}

View File

@ -0,0 +1,67 @@
#
# $OpenBSD: termcap.vt,v 1.1 1998/12/17 02:16:30 smurph 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:

View File

@ -0,0 +1,39 @@
# $OpenBSD: list2sh.awk,v 1.1 1998/12/17 02:16:30 smurph 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;
}

View File

@ -0,0 +1,5 @@
# $OpenBSD: Makefile.inc,v 1.1 1998/12/17 02:16:31 smurph Exp $
IMAGESIZE= 8192
NEWFSOPTS= -i 2048
NEWFS_WILL_FAIL= true

View File

@ -0,0 +1,139 @@
# $OpenBSD: dot.profile,v 1.1 1998/12/17 02:16:31 smurph Exp $
# $NetBSD: dot.profile,v 1.1 1995/12/18 22:54:43 pk 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.
#
export PATH=/sbin:/bin:/usr/bin:/usr/sbin:/
export HISTFILE=/.sh_history
umask 022
set -o emacs # emacs-style command line editing
# XXX
# the TERM/EDITOR stuff is really well enough parameterized to be moved
# into install.sub where it could use the routines there and be invoked
# from the various (semi) MI install and upgrade scripts
# terminals believed to be in termcap, default TERM
TERMS="sun vt* pcvt* pc3 dumb"
TERM=vt220
# editors believed to be in $EDITBIN, smart and dumb defaults
EDITORS="vi ed"
EDITOR=vi
DUMB=ed
EDITBIN=/bin
EDITUBIN=/usr/bin
if [ "X${DONEPROFILE}" = "X" ]; then
DONEPROFILE=YES
# mount kernfs and re-mount the boot media (perhaps r/w)
mount_kernfs /kern /kern
mount_ffs -o update /kern/rootdev /
# 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
# get the terminal type
_forceloop=""
while [ "X$_forceloop" = X"" ]; do
echo "Supported terminals are: $TERMS"
eval `tset -s -m ":?$TERM"`
if [ "X$TERM" != X"unknown" ]; then
_forceloop="done"
fi
done
export TERM
# get the editor preference
if [ "X$TERM" = "Xdumb" -o "X$TERM" = "Xunknown" ]; then
echo -n "$TERM can't handle $EDITOR"
EDITOR="$DUMB"
echo ", using $EDITOR as text editor!"
elif [ "X$EDITOR" = "X$EDITORS" ]; then
echo "Only one editor available, you get to use $EDITOR!"
else
_forceloop=""
while [ "X$_forceloop" = X"" ]; do
echo "Supported editors are: $EDITORS"
echo -n "text editor? [$EDITOR] "
read _choice
if [ "X$_choice" = "X" ]; then
_choice="$EDITOR"
_forceloop="$_choice"
else
for _editor in $EDITORS; do
if [ "X$_choice" = "X$_editor" ]; then
_forceloop="$_choice"
break
fi
done
fi
if [ "X$_forceloop" != "X" -a \
! \( -x $EDITBIN/$_choice -o \
-x $EDITUBIN/$_choice \) ]; then
_forceloop=""
fi
if [ "X$_forceloop" = "X" ]; then
echo "Sorry, $_choice isn't available."
_forceloop=""
fi
done
EDITOR="$_choice"
fi
export EDITOR
# Installing or upgrading?
_forceloop=""
while [ "X$_forceloop" = X"" ]; do
echo -n '(I)nstall, (U)pgrade, or (S)hell? '
read _forceloop
case "$_forceloop" in
i*|I*)
/install
;;
u*|U*)
/upgrade
;;
s*|S*)
;;
*)
_forceloop=""
;;
esac
done
fi

View File

@ -0,0 +1,43 @@
# $OpenBSD: list,v 1.1 1998/12/17 02:16:31 smurph Exp $
# $NetBSD: list,v 1.2.4.2 1996/06/26 19:25:00 pk Exp $
# Amiga extra's
LINK instbin sbin/disklabel
LINK instbin sbin/mount_ados
LINK instbin sbin/mount_msdos
SYMLINK ../../instbin usr/bin/basename
SYMLINK ../../instbin usr/bin/cksum usr/bin/sum
SYMLINK ../../instbin usr/bin/grep usr/bin/egrep usr/bin/fgrep
SYMLINK ../../instbin usr/bin/netstat
SYMLINK ../../instbin usr/bin/rsh
SYMLINK ../../instbin usr/bin/tset usr/bin/reset
SYMLINK ../../instbin usr/bin/less usr/bin/more
SYMLINK ../../instbin usr/sbin/sysctl
# 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
# and a few useful bits of the termcap file (512K and still growing 8-)
# COPY ${CURDIR}/../../share/termcap/termcap.src usr/share/misc/termcap
SPECIAL sed -n -e '/^dumb|/,/:[ ]*$/p' -e '/^unknown|/,/:[ ]*$/p' -e '/^vt.*|/,/:[ ]*$/p' ${CURDIR}/../../share/termcap/termcap.src > usr/share/misc/termcap
# copy the kernel
COPY bsd bsd
# various files that we need in /etc for the install
COPY ${DESTDIR}/etc/disktab etc/disktab.shadow
SYMLINK /tmp/disktab.shadow etc/disktab
SYMLINK /tmp/fstab.shadow etc/fstab
SYMLINK /tmp/resolv.conf.shadow etc/resolv.conf
SYMLINK /tmp/hosts etc/hosts
# and the installation tools
COPY ${ARCHDIR}/dot.profile .profile
COPY ${ARCHDIR}/../install.md install.md

View File

@ -0,0 +1,99 @@
# $OpenBSDBSD: Makefile,v 1.1 1995/07/18 04:13:06 briggs Exp $
# $NetBSD: Makefile,v 1.1 1995/07/18 04:13:06 briggs Exp $
TOP= ${.CURDIR}/..
.include "${TOP}/Makefile.inc"
IMAGE= mr.fs
CRUNCHCONF?= ${.CURDIR}/${CBIN}.conf
BASE=mr
MOUNT_POINT= /mnt
#FS= ramdisk.fs
VND?= svnd0
VND_DEV= /dev/${VND}a
VND_RDEV= /dev/r${VND}a
VND_CRDEV= /dev/r${VND}c
PID!= echo $$$$
REALIMAGE!= echo /tmp/image.${PID}
LISTFLOPPY= ${.CURDIR}/list_ramdisk
.include "Makefile.inc"
all: bsd.rd
#${FS}: bsd.gz
# dd if=/dev/zero of=${REALIMAGE} count=4096
# vnconfig -v -c ${VND} ${REALIMAGE}
# disklabel -w ${VND} rdroot
# newfs -m 0 -o space -i 8192 -c 80 ${VND_RDEV}
# mount ${VND_DEV} ${MOUNT_POINT}
# TOPDIR=${TOP} CURDIR=${.CURDIR} OBJDIR=${.OBJDIR} \
# TARGDIR=${MOUNT_POINT} sh ${TOP}/runlist.sh ${LISTFLOPPY}
# /usr/mdec/installboot -v /mnt/boot ${DESTDIR}/usr/mdec/biosboot ${VND_CRDEV}
# @echo ""
# @df -i ${MOUNT_POINT}
# @echo ""
# umount ${MOUNT_POINT}
# vnconfig -u ${VND}
# cp ${REALIMAGE} ${FS}
DISKTYPE= rdroot
NBLKS= 8192
# old format, minfree, opt, b/i trks, sects, cpg
#NEWFSARGS= -t ffs -m 0 -o space -u 32 -c 16
#NEWFSARGS= -m 0 -o space -u 32 -c 16
NEWFSARGS=
bsd.gz: bsd.rd
gzip -c9 bsd.rd > bsd.gz
bsd.rd: ${IMAGE} bsd rdsetroot
cp bsd bsd.rd
${.CURDIR}/${__objdir}/rdsetroot bsd.rd < ${IMAGE}
bsd:
# cd ${.CURDIR}/../../../sys/arch/mvme88k/conf && config RAMDISK
# cd ${.CURDIR}/../../../sys/arch/mvme88k/compile/RAMDISK && \
# make clean && make
cp ${.CURDIR}/../../../sys/arch/mvme88k/compile/RAMDISK/bsd bsd
${IMAGE}: ${CBIN} rd_setup do_files rd_teardown
rd_setup: ${CBIN}
dd if=/dev/zero of=${REALIMAGE} bs=512 count=${NBLKS}
vnconfig -v -c ${VND} ${REALIMAGE}
disklabel -w ${VND} ${DISKTYPE}
newfs ${NEWFSARGS} ${VND_RDEV}
fsck -f -y ${VND_RDEV} > /dev/null
fsck -f -y ${VND_RDEV} > /dev/null
fsck -f -y ${VND_RDEV} > /dev/null
fsck -f -y ${VND_RDEV} > /dev/null
fsck -f -y ${VND_RDEV} > /dev/null
fsck -f -y ${VND_RDEV} > /dev/null
fsck -f -y ${VND_RDEV} > /dev/null
fsck -f -y ${VND_RDEV} > /dev/null
fsck -f -y ${VND_RDEV} > /dev/null
fsck -f -y ${VND_RDEV} > /dev/null
fsck -f -y ${VND_RDEV} > /dev/null
mount ${VND_DEV} ${MOUNT_POINT}
rd_teardown:
@df -i ${MOUNT_POINT}
-umount ${MOUNT_POINT}
-vnconfig -u ${VND}
cp ${REALIMAGE} ${IMAGE}
rm ${REALIMAGE}
rdsetroot: ${TOP}/common/rdsetroot.c
${HOSTCC} -DDEBUG -o rdsetroot ${TOP}/common/rdsetroot.c
unconfig:
-umount -f ${MOUNT_POINT}
-vnconfig -u ${VND}
-/bin/rm -f ${IMAGE}
.PRECIOUS: ${IMAGE}
install:
cp bsd.rd ${DESTDIR}/snapshot/bsd.rd

View File

@ -0,0 +1,33 @@
#
# $OpenBSD: Makefile.inc,v 1.1 1998/12/17 02:16:31 smurph Exp $
#
# TOP is assumed to be defined by Makefile including this one.
CBIN?= raminst
COMMONDIR= ${TOP}/ramdisk
MOUNT_POINT?= ${TOP}/${BASE}/fs
LISTS= ${.CURDIR}/list
CRUNCHCONF?= ${COMMONDIR}/${CBIN}.conf
MTREE= ${COMMONDIR}/mtree.conf
RAWLABEL=
${CBIN}.mk ${CBIN}.cache ${CBIN}.c: ${CRUNCHCONF}
crunchgen -D ${BSDSRCDIR} -L ${DESTDIR}/usr/lib ${CRUNCHCONF}
${CBIN}: ${CBIN}.mk ${CBIN}.cache ${CBIN}.c
make -f ${CBIN}.mk all
do_files:
mtree -def ${MTREE} -p ${MOUNT_POINT}/ -U
@echo mtree done...
TOPDIR=${TOP} CURDIR=${.CURDIR} OBJDIR=${.OBJDIR} \
TARGDIR=${MOUNT_POINT} sh ${TOP}/runlist.sh ${LISTS}
clean cleandir:
/bin/rm -f core ${IMAGE} ${CBIN} ${CBIN}.mk ${CBIN}.cache *.o *.lo *.c
.include <bsd.obj.mk>
.include <bsd.subdir.mk>

View File

@ -0,0 +1,32 @@
#
# $OpenBSD: disktab.preinstall,v 1.1 1998/12/17 02:16:31 smurph 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)
#

View File

@ -0,0 +1,32 @@
#
# $OpenBSD: disktab.shadow,v 1.1 1998/12/17 02:16:31 smurph 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)
#

View File

@ -0,0 +1,156 @@
#
# $OpenBSD: dot.instutils,v 1.1 1998/12/17 02:16:32 smurph 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."
}

View File

@ -0,0 +1,53 @@
#
# $OpenBSD: dot.profile,v 1.1 1998/12/17 02:16:32 smurph 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.
#
export PATH=/sbin:/bin:/usr/bin:/usr/sbin:/
export HISTFILE=/.sh_history
export TERM=vt200
umask 022
set -o emacs # emacs-style command line editing
# set up some sane defaults
echo 'erase ^?, werase ^H, kill ^U, intr ^C'
stty newcrt werase ^H intr ^C kill ^U erase ^? 9600
echo ''
# pull in the function definitions that people will use from the shell prompt.
. /.commonutils
. /.instutils
mount -u /dev/rd0a /
# run the installation script.
install

View File

@ -0,0 +1,300 @@
# $OpenBSD: install.md,v 1.1 1998/12/17 02:16:32 smurph Exp $
# Copyright (c) 1996 The NetBSD Foundation, Inc.
# All rights reserved.
#
# This code is derived from software contributed to The NetBSD Foundation
# by Jason R. Thorpe.
#
# 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 NetBSD
# Foundation, Inc. and its contributors.
# 4. Neither the name of The NetBSD Foundation 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 NETBSD FOUNDATION, INC. 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.
#
#
# machine dependent section of installation/upgrade script.
#
#
TMPWRITEABLE=/tmp/writeable
KERNFSMOUNTED=/tmp/kernfsmounted
md_copy_kernel() {
if [ ! -s /mnt/bsd ]; then
echo ""
echo "Warning, no kernel installed!"
echo "You did not unpack a file set containing a kernel."
echo "This is needed to boot. Please note that the install"
echo "install kernel is not suitable for general use."
echo -n "Escape to shell add /mnt/bsd by hand? [y] "
getresp "y"
case "$resp" in
y*|Y*)
echo "Type 'exit' to return to install."
sh
;;
*)
;;
esac
fi
}
md_set_term() {
if [ ! -z "$TERM" ]; then
return
fi
echo -n "Specify terminal type [xterm]: "
getresp "xterm"
TERM="$resp"
export TERM
}
md_machine_arch() {
cat /kern/machine
}
md_get_diskdevs() {
egrep "^sd[0-9] " < /kern/msgbuf
}
md_get_cddevs() {
egrep "^cd[0-9] " < /kern/msgbuf
}
md_get_ifdevs() {
# return available network devices
egrep "(^ie[0-9] )|(^le[0-9] )"< /kern/msgbuf | cut -d" " -f1 | sort -u
}
md_get_partition_range() {
# return range of valid partition letters
echo "[a-p]"
}
md_installboot() {
local _rawdev
if [ "X${1}" = X"" ]; then
echo "No disk device specified, you must run installboot manually."
return
fi
_rawdev=/dev/r${1}a
# use extracted mdec if it exists (may be newer)
if [ -d /mnt/usr/mdec ]; then
cp /mnt/usr/mdec/boot /mnt/bootsd
/mnt/usr/mdec/installboot -v /mnt/bootsd /mnt/usr/mdec/bootxx $_rawdev
elif [ -d /usr/mdec ]; then
cp /usr/mdec/boot /mnt/bootsd
/usr/mdec/installboot -v /mnt/bootsd /usr/mdec/bootxx $_rawdev
else
echo "No boot block prototypes found, you must run installboot manually."
fi
}
md_labeldisk() {
echo "huh"
}
md_checkfordisklabel() {
# $1 is the disk to check
local rval
disklabel $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
return $rval
}
md_prep_disklabel()
{
local _disk
_disk=$1
md_checkfordisklabel $_disk
case $? in
0)
echo -n "Do you wish to edit the disklabel on $_disk? [y] "
;;
1)
echo "WARNING: Disk $_disk has no label"
echo -n "Do you want to create one with the disklabel editor? [y] "
;;
2)
echo "WARNING: Label on disk $_disk is corrupted"
echo -n "Do you want to try and repair the damage using the disklabel editor? [y] "
;;
esac
getresp "y"
case "$resp" in
y*|Y*) ;;
*) return ;;
esac
# display example
cat << \__md_prep_disklabel_1
Here is an example of what the partition information will look like once
you have entered the disklabel editor. Disk partition sizes and offsets
are in sector (most likely 512 bytes) units. Make sure these size/offset
pairs are on cylinder boundaries (the number of sector per cylinder is
given in the `sectors/cylinder' entry, which is not shown here).
Do not change any parameters except the partition layout and the label name.
It's probably also wisest not to touch the `8 partitions:' line, even
in case you have defined less than eight partitions.
[Example]
8 partitions:
# size offset fstype [fsize bsize cpg]
a: 50176 0 4.2BSD 1024 8192 16 # (Cyl. 0 - 111)
b: 64512 50176 swap # (Cyl. 112 - 255)
c: 640192 0 unknown # (Cyl. 0 - 1428)
d: 525504 114688 4.2BSD 1024 8192 16 # (Cyl. 256 - 1428)
[End of example]
__md_prep_disklabel_1
echo -n "Press [Enter] to continue "
getresp ""
disklabel -W ${_disk}
disklabel -E ${_disk}
}
md_welcome_banner() {
if [ "$MODE" = "install" ]; then
echo ""
echo "Welcome to the OpenBSD/mvme88k ${VERSION} installation program."
cat << \__welcome_banner_1
This program is designed to help you put OpenBSD on your 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.
__welcome_banner_1
else
echo ""
echo "Welcome to the OpenBSD/mvme88k ${VERSION} upgrade program."
cat << \__welcome_banner_2
This program is designed to help you upgrade your OpenBSD system in a
simple and rational way.
As a reminder, installing the `etc' binary set is NOT recommended.
Once the rest of your system has been upgraded, you should manually
merge any changes to files in the `etc' set into those files which
already exist on your system.
__welcome_banner_2
fi
cat << \__welcome_banner_3
As with anything which modifies your disk's contents, this
program can cause SIGNIFICANT data loss, and you are advised
to make sure your data is backed up before beginning the
installation process.
Default answers are displayed 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_3
}
md_not_going_to_install() {
cat << \__not_going_to_install_1
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.
__not_going_to_install_1
}
md_congrats() {
local what;
if [ "$MODE" = "install" ]; then
what="installed";
else
what="upgraded";
fi
cat << __congratulations_1
CONGRATULATIONS! You have successfully $what OpenBSD!
To boot the installed system, enter halt at the command prompt. Once the
system has halted, reset the machine and boot from the disk.
__congratulations_1
}
md_native_fstype() {
}
md_makerootwritable() {
if [ -e ${TMPWRITEABLE} ]
then
md_mountkernfs
return
fi
umount /tmp >> /dev/null 2>&1
if ! mount -t ffs -u /dev/rd0a / ; then
cat << \__rd0_failed_1
FATAL ERROR: Can't mount the ram filesystem.
__rd0_failed_1
exit
fi
# Bleh. Give mount_mfs a chance to DTRT.
sleep 2
> ${TMPWRITEABLE}
md_mountkernfs
}
md_mountkernfs() {
if [ -e ${KERNFSMOUNTED} ]
then
return
fi
if ! mount -t kernfs /kern /kern
then
cat << \__kernfs_failed_1
FATAL ERROR: Can't mount kernfs filesystem
__kernfs_failed_1
exit
fi
> ${KERNFSMOUNTED}
}

View File

@ -0,0 +1,409 @@
#!/bin/sh
# $OpenBSD: install.sh,v 1.1 1998/12/17 02:16:32 smurph Exp $
#
# Copyright (c) 1996 The NetBSD Foundation, Inc.
# All rights reserved.
#
# This code is derived from software contributed to The NetBSD Foundation
# by Jason R. Thorpe.
#
# 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 NetBSD
# Foundation, Inc. and its contributors.
# 4. Neither the name of The NetBSD Foundation 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 NETBSD FOUNDATION, INC. 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.
#
# NetBSD installation script.
# In a perfect world, this would be a nice C program, with a reasonable
# user interface.
FILESYSTEMS="/tmp/filesystems" # used thoughout
FQDN="" # domain name
trap "umount /tmp >> /dev/null 2>&1" 0
MODE="install"
# include machine-dependent functions
# The following functions must be provided:
# md_copy_kernel() - copy a kernel to the installed disk
# md_get_diskdevs() - return available disk devices
# md_get_cddevs() - return available CD-ROM devices
# md_get_ifdevs() - return available network interfaces
# md_get_partition_range() - return range of valid partition letters
# md_installboot() - install boot-blocks on disk
# md_labeldisk() - put label on a disk
# md_prep_disklabel() - label the root disk
# md_welcome_banner() - display friendly message
# md_not_going_to_install() - display friendly message
# md_congrats() - display friendly message
# md_native_fstype() - native filesystem type for disk installs
# md_native_fsopts() - native filesystem options for disk installs
# md_makerootwritable() - make root writable (at least /tmp)
# include machine dependent subroutines
. install.md
# include common subroutines
. install.sub
# which sets?
THESETS="$ALLSETS"
# Good {morning,afternoon,evening,night}.
md_welcome_banner
echo -n "Proceed with installation? [n] "
getresp "n"
case "$resp" in
y*|Y*)
echo "Cool! Let's get to it..."
;;
*)
md_not_going_to_install
exit
;;
esac
# XXX Work around vnode aliasing bug (thanks for the tip, Chris...)
ls -l /dev >> /dev/null 2>&1
# Deal with terminal issues
md_set_term
# Get timezone info
get_timezone
# Make sure we can write files (at least in /tmp)
# This might make an MFS mount on /tmp, or it may
# just re-mount the root with read-write enabled.
md_makerootwritable
# 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
# Deal with disklabels, including editing the root disklabel
# and labeling additional disks. This is machine-dependent since
# some platforms may not be able to provide this functionality.
md_prep_disklabel ${ROOTDISK}
# 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=`firstchar ${_mount_point}`
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*)
${EDITOR} ${FILESYSTEMS}
;;
*)
;;
esac
# Loop though the file, place filesystems on each device.
echo "Creating filesystems..."
(
while read _device_name _junk; do
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*)
resp="" # force at least one iteration
if [ -f /etc/myname ]; then
resp=`cat /etc/myname`
fi
echo -n "Enter system hostname: [$resp] "
while [ "X${resp}" = X"" ]; do
getresp "$resp"
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
configurenetwork
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 -n "Enter IP address of primary nameserver: [none] "
getresp "none"
if [ "X${resp}" != X"none" ]; then
echo "domain $FQDN" > /tmp/resolv.conf
echo "nameserver $resp" >> /tmp/resolv.conf
echo "search $FQDN" >> /tmp/resolv.conf
echo -n "Would you like to use the nameserver now? [y] "
getresp "y"
case "$resp" in
y*|Y*)
cp /tmp/resolv.conf \
/tmp/resolv.conf.shadow
;;
*)
;;
esac
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*)
${EDITOR} /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.
(
while read _dev _mp; do
if [ "$mp" = "/" ]; then
echo /dev/$_dev $_mp ffs rw 1 1
else
echo /dev/$_dev $_mp ffs rw 1 2
fi
done
) < ${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*)
${EDITOR} /tmp/fstab
;;
*)
;;
esac
echo ""
munge_fstab /tmp/fstab /tmp/fstab.shadow
mount_fs /tmp/fstab.shadow
mount | while read line; do
set -- $line
if [ "$2" = "/" -a "$3" = "nfs" ]; then
echo "You appear to be running diskless."
echo -n "Are the install sets on one of your currently mounted filesystems? [n] "
getresp "n"
case "$resp" in
y*|Y*)
get_localdir
;;
*)
;;
esac
fi
done
install_sets $ALLSETS $MDSETS
# Copy in configuration information and make devices in target root.
(
cd /tmp
for file in fstab hostname.* hosts myname mygate resolv.conf; do
if [ -f $file ]; then
echo -n "Copying $file..."
cp $file /mnt/etc/$file
echo "done."
fi
done
# If no zoneinfo on the installfs, give them a second chance
if [ ! -e /usr/share/zoneinfo ]; then
get_timezone
fi
if [ ! -e /mnt/usr/share/zoneinfo ]; then
echo "Cannot install timezone link..."
else
echo -n "Installing timezone link..."
rm -f /mnt/etc/localtime
ln -s /usr/share/zoneinfo/$TZ /mnt/etc/localtime
echo "done."
fi
if [ ! -x /mnt/dev/MAKEDEV ]; then
echo "No /dev/MAKEDEV installed, something is wrong here..."
else
echo -n "Making devices..."
pid=`twiddle`
cd /mnt/dev
sh MAKEDEV all
kill $pid
echo "done."
fi
md_copy_kernel
md_installboot ${ROOTDISK}
)
unmount_fs /tmp/fstab.shadow
# Pat on the back.
md_congrats
# ALL DONE!
exit 0

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,97 @@
# $OpenBSD: list,v 1.1 1998/12/17 02:16:33 smurph Exp $
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/kill
LINK raminst bin/hostname
LINK raminst bin/mkdir
LINK raminst bin/mt
LINK raminst bin/mv
LINK raminst bin/pwd
LINK raminst bin/rm
LINK raminst bin/sh
LINK bin/sh bin/-sh
LINK bin/sh bin/bash
LINK raminst bin/stty
LINK raminst bin/sleep
LINK raminst bin/sync
LINK raminst bin/test
LINK raminst bin/pax bin/tar bin/cpio
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_kernfs
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/slattach
LINK raminst sbin/umount
LINK raminst usr/bin/chgrp
LINK raminst usr/bin/cut
LINK raminst usr/bin/ftp
LINK raminst usr/bin/egrep
LINK raminst usr/bin/grep
LINK raminst usr/bin/gzip
LINK raminst usr/bin/more
LINK raminst usr/bin/less
LINK raminst usr/bin/sed
LINK raminst usr/bin/sort
LINK raminst usr/bin/tar
LINK raminst usr/bin/pax
LINK raminst usr/bin/tip
LINK raminst usr/sbin/chown
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}/common/dot.commonutils .commonutils
COPY ${TOPDIR}/common/termcap.vt usr/share/misc/termcap
# the disktab explanation file
COPY disktab.preinstall etc
# and the installation tools
LINK sbin/init usr/bin/vi
COPY dot.profile .profile
COPY dot.instutils .instutils
COPY install.sh install
COPY install.md install.md
COPY install.sub install.sub
COPY disktab.shadow etc/disktab.shadow
COPY ${DESTDIR}/usr/mdec/installboot usr/mdec
COPY ${DESTDIR}/usr/mdec/bootxx usr/mdec
COPY ${DESTDIR}/usr/mdec/bootsd usr/mdec
SPECIAL chmod 755 install

View File

@ -0,0 +1,79 @@
#
# $OpenBSD: mtree.conf,v 1.1 1998/12/17 02:16:33 smurph 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
..
# ./kern
kern
# ./kern
..
# ./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
..

View File

@ -0,0 +1,29 @@
#
# $OpenBSD: raminst.conf,v 1.1 1998/12/17 02:16:33 smurph Exp $
#
# ram.conf - unified binary for the RAM disk
#
srcdirs distrib/special
srcdirs bin sbin usr.bin usr.sbin usr.bin/vi
srcdirs gnu/usr.bin
progs cat chmod chown cut cp dd df disklabel ed grep expr fsck_ffs ftp
progs gzip ifconfig init hostname kill ln ls mkdir mknod less mount
progs mount_cd9660 mount_kernfs mount_ffs mount_msdos mount_nfs mt
progs mv newfs pwd reboot rm route sed sleep ksh slattach sort stty
progs sync pax test tip umount build
ln build vi
ln pax tar
ln pax cpio
ln chown chgrp
ln fsck_ffs fsck
ln less more
ln ksh sh
ln ksh -sh # init invokes the shell this way
ln test [
ln reboot halt
ln grep egrep
libs -lutil -lcurses -ll -lm -ltermlib

View File

@ -0,0 +1,6 @@
#
# $OpenBSD: start_rdconfig.sh,v 1.1 1998/12/17 02:16:33 smurph Exp $
echo rdconfig ${1} ${2}
rdconfig ${1} ${2} &
echo $! >rd.pid

View File

@ -0,0 +1,13 @@
# $OpenBSD: runlist.sh,v 1.1 1998/12/17 02:16:30 smurph 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}

View File

@ -0,0 +1,30 @@
TopPart
OpenBSDdistsets
OpenBSDbsd
OpenBSDrd
DistributionDescription
OpenBSDbase(11.2M,33.9M)
OpenBSDcomp(7.0M,23.5M)
OpenBSDetc(92K,490K)
OpenBSDgame(2.7M,6.7M)
OpenBSDman(2.4M,9.2M)
OpenBSDmisc(1.7M,5.9M)
OpenBSDtext(946K,3.5M)
OpenBSDxbase
OpenBSDxfont
OpenBSDxserv

View File

@ -0,0 +1,28 @@
OpenBSD/MACHINE OSREV runs on the following classes of machines:
- MVME187 - Motorola with 88100
The minimal configuration requires 4M of RAM and ~80M of disk space.
To install the entire system requires much more disk space, and to
compile the system, more RAM is recommended. (OpenBSD 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-:}:
MVME187
serial:
on-board tty00 - tty03 - Cirrus Logic CD2401
ethernet:
on-board Intel 82596CA ethernet ("ie0")
SCSI:
on-board SCSI controller NCR53c710
Parallel:
Not supported
VME:
drivers for short I/O access
SRAM:
supported

View File

@ -0,0 +1,227 @@
Installing OpenBSD 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 OpenBSD onto a disk. The easiest way
in terms of preliminary setup is to use the OpenBSD ramdisk kernel that can
be booted from tape. Alternatively, if your mvme88k is hooked up in a
network you can find a server and arrange for a diskless setup which is a
convenient way to install on a machine whose disk does not currently hold
a usable operating system (see the section `Installing using a diskless
setup' below).
Installing using the OpenBSD ramdisk kernel.
The ramdisk kernel is a kernel that containes an OpenBSD filesystem holding
all utilities necessary to install OpenBSD on a local disk. It is distributed
as a binary file with the name bsd.rd.
After the initial probe messages you'll asked to start the install
or upgrade procedure. Proceed to the section `Running the installation
scripts' below.
Installing using a diskless setup.
First, you must setup a diskless client configuration on a server. If
you are using a OpenBSD system as the boot-server, have a look at the
diskless(8) manual page for guidelines on how to proceed with this.
If the server runs another operating system, you'll have to consult
documentation that came with it (on SunOS systems, add_client(8) is a
good start).
Your mvme88k expects to be able to download a second stage bootstrap
program via TFTP after having acquired its IP address through RevARP when
instructed to boot "over the net". It will look for a filename composed of
the machine's IP address followed by the machine's architecture, separated
by a period. For example, a sun4c machine which has been assigned IP
address 130.115.144.11, will make an TFTP request for a file that has
been named in the nvram. Normally, this file is a second-stage
boot program, which should be located in a place where the TFTP daemon
can find it (remember, many TFTP daemons run in a chroot'ed environment).
You can find the boot program in `/usr/mdec/netboot' in the OpenBSD/mvme88k
distribution.
After the boot program has been loaded into memory and given control by
the PROM, it starts locating the machine's remote root directory through
the BOOTPARAM protocol. First a BOOTPARAM WHOAMI request is broadcast
on the local net. The answer to this request (if it comes in) contains
the client's name. This name is used in next step, a BOOTPARAM GETFILE
request -- sent to the server that responded to the WHOAMI request --
requesting the name and address of the machine that will serve the client's
root directory, as well as the path of the client's root on that server.
Finally, this information (if it comes in) is used to issue a REMOTE MOUNT
request to the client's root filesystem server, asking for an NFS file
handle corresponding to the root filesystem. If successful, the boot
program starts reading from the remote root filesystem in search of the
kernel which is then read into memory.
As noted above in the section `Preparing your System for OpenBSD Installation',
you have several options when choosing a location to store the installation
filesets. However, the easiest way is to put the *.tar.gz files you want
to install into the root directory for your client on the server.
Next, unpack `base.tar.gz' and `etc.tar.gz' on the server in the root
directory for your machine. If you elect to use a separately NFS-mounted
filesystem for `/usr' with your diskless setup, make sure the "./usr" base
files in base.tar.gz end up in the correct location. One way to do this is
to temporarily use a loopback mount on the server, re-routing <root>/usr to
your server's exported OpenBSD "/usr" directory. Also put the kernel and the
install/upgrade scripts into the root directory.
A few configuration files need to be edited:
<root>/etc/hosts
Add the IP addresses of both server and client.
<root>/etc/myname
This files contains the client's hostname; use the same
name as in <root>/etc/hosts.
<root>/etc/fstab
Enter the entries for the remotely mounted filesystems.
For example:
server:/export/root/client / nfs rw 0 0
server:/export/exec/sun4.OpenBSD /usr nfs rw 0 0
Now you must populate the the `/dev' directory for your client. If you server
runs SunOS 4.x, you can simply change your working directory to `<root>/dev'
and run the MAKEDEV script: `sh MAKEDEV all'.
On SunOS 5.x systems, MAKEDEV can also be used, but there'll be error
messages about unknown user and groups. These errors are inconsequential
for the purpose of installing OpenBSD. However, you may want to correct them
if you plan to the diskless setup regularly. In that case, you may re-run
MAKEDEV on your OpenBSD machine once it has booted.
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:
187-bug> nbo 00 00 bsd -s
This will boot the OpenBSD kernel in single-user mode.
If you use a diskless setup with a separately NFS-mounted /usr filesystem,
mount /usr by hand now:
OpenBSD# mount /usr
At this point, it's worth checking the disk label and partition sizes on
the disk you want to install OpenBSD onto. OpenBSD understands SunOS-style
disklabels, so if your disk was previously used by SunOS there will be
a usable label on it. Use `disklabel -e <disk>' (where <disk> is the
device name assigned by the OpenBSD kernel, e.g. `sd0') to view and
modify the partition sizes. See the section `Preparing your System for
OpenBSD Installation' above for suggestions about disk partition sizes.
Make sure all your partitions start and end on cylinder boundaries.
NOTE: if you are installing on a SCSI disk that does *not* have a SunOS
or OpenBSD label on it, you may still be able to use disklabel(8) but you'll
have to create all partitions from scratch. If your disk is listed in
`/etc/disktab', you may use the entry (which in most cases only defines
a `c' partition to describe the whole disk) to put an initial label on
the disk. DO NOT USE `disklabel -r ...' TO INITIALIZE YOUR DISK LABEL;
THIS WILL LEAD TO UNPREDICTABLE RESULTS. This deficiency will be fixed
in a next release.
Here follows an example of what you'll see while in the disklabel editor.
Do not touch any of the parameters except for the `label: ' entry and
the actual partition size information at the bottom (the lines starting
with `a:', `b:', ...).
The size and offset fields are given in sector units. Be sure to make
these numbers multiples of the of the number of sectors per cylinder:
the kernel might be picky about these things, but aside from this you'll
have the least chance of wasting disk space.
Partitions on which you intend to have a mountable filesystem, should
be given fstype `4.2BSD'. Remember, the `c' partition should describe
the whole disk.
The `(Cyl. x - y)' info that appears after the hash (`#') character is
treated as a comment and need not be filled in when altering partitions.
Special note: the line containing `8 partitions:' is best left alone,
even if you {:-define-:} less then eight partitions. If this line displays
a different number and the program complains about it (after you leave
the editor), then try setting it to `8 partitions:'.
<BEGIN SAMPLE DISKLABEL SCREEN>
OpenBSD# disklabel sd2
# /dev/rsd2c:
type: SCSI
disk: SCSI disk
label: Hold Your Breath
flags:
bytes/sector: 512
sectors/track: 64
tracks/cylinder: 7
sectors/cylinder: 448
cylinders: 1429
rpm: 3600
interleave: 1
trackskew: 0
cylinderskew: 0
headswitch: 0 # milliseconds
track-to-track seek: 0 # milliseconds
drivedata: 0
8 partitions:
# size offset fstype [fsize bsize cpg]
a: 50176 0 4.2BSD 0 0 0 # (Cyl. 0 - 111)
b: 64512 50176 swap # (Cyl. 112 - 255)
c: 640192 0 unknown # (Cyl. 0 - 1428)
d: 525504 114688 4.2BSD 0 0 0 # (Cyl. 256 - 1428)
<END SAMPLE DISKLABEL SCREEN>
If you are upgrading a OpenBSD installation, start the upgrade script:
OpenBSD# sh upgrade.sh
else, start the installation script:
OpenBSD# sh install.sh
These scripts 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. If your system has more than one disk, you may want
to look at the output of the dmesg(8) command to see how your disks
have been identified by the kernel.
The installation script goes through the following phases:
- determination of the disk to install OpenBSD on
- checking of the partition information on the disk
- creating and mounting the OpenBSD 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 "bo bsd -bs", then try multiuser after that.
if you boot single-user the OpenBSD incantation to make the root
filesystem writable is
OpenBSD# mount -u /dev/sd0a /
Congratulations, you have successfully installed OpenBSD OSREV. When you
reboot into OpenBSD, 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 OpenBSD OSREV 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.

View File

@ -0,0 +1,17 @@
;
; This section should talk about setting up the NVRAM environment
; on the various models.
;
MVME187:
Be sure to use the SET command to set the date before trying
to use the ethernet support in the 187-Bug.
187-Bug> env
Local SCSI Bus Reset on Debugger Startup [Y/N] = N? y
Network Auto Boot Enable [Y/N] = N? y
Network Auto Boot at power-up only [Y/N] = Y? n
Network Auto Boot Abort Delay = 5? 2
Network Auto Boot Configuration Parameters Pointer (NVRAM) = 00000000? fffc0080
Update Non-Volatile RAM (Y/N)? y
Reset Local System (CPU) (Y/N)? y

View File

@ -0,0 +1,6 @@
To upgrade to OpenBSD OSREV from a previous version follow the instructions
in the section "Installing OpenBSD", but run the script `upgrade.sh'
in stead of `install.sh'.
The upgrade script will use the existing disk partitions to install the
new system in, and also preserves the files in `/etc'.

View File

@ -0,0 +1,6 @@
OpenBSD/mvme88k 2.3 was written because the MVME187 existed in a computer
company basement. Nivas Madhur started the port. Steve Murphree, Jr.
finished the port in December 1998. Code by Dale Rahn, Theo de Raadt,
and Chuck Cranor was used as a starting point. Currently this port runs
on MVME187 and perhaps other models also.

View File

@ -0,0 +1,96 @@
Installation is supported from several media types, including:
NFS partitions
FTP
Tape
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 NFS partition:
Place the OpenBSD 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
OpenBSD 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 OpenBSD machine,
if the NFS server is not on a network which is
directly attached to the OpenBSD machine.
If you are using a diskless setup to install OpenBSD on
your machine, you can take advantage of the fact that
the above has already been done on your machine's server.
So, you can conveniently put the OpenBSD filesets in your
machine's root filesystem on the server where the install
program can find them.
Once you have done this, you can proceed to the next
step in the installation process, preparing your
system for OpenBSD 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 OpenBSD 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 OpenBSD installation.
To prepare for installing via a tape:
To install OpenBSD from a tape, you need to somehow
make a boot tape on the appropriate kind of tape.
The files needed for this are:
stboot - The Motorola VID block
bootst - The bootstrap program
bsd.rd.gz - The ramdisk installation kernel
If you're making the tape on a UN*X system, the easiest
way to do so is:
dd obs=512 if=stboot of=<no-rewind tape_device>
dd obs=512 if=bootst of=<no-rewind tape_device>
dd conv=sync obs=512 if=bsd.rd.gz of=<no-rewind tape_device>
where "<no-rewind 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-).
Now you need to get the OpenBSD 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 again, we make no guarantees 8-).
Under SunOS 5.x, this would be something like /dev/rmt/0mbn.
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 OpenBSD installation.

View File

@ -0,0 +1,16 @@
./usr/include/mvme88k
./usr/include/readline
./usr/lib/gcc-lib/m88k-unknown-openbsd2.3
./usr/lib/gcc-lib/m88k-unknown-openbsd2.3/2.8.1
./usr/lib/gcc-lib/m88k-unknown-openbsd2.3/2.8.1/include
./usr/lib/gcc-lib/m88k-unknown-openbsd2.3/2.8.1/include/objc
./usr/m88k-unknown-openbsd2.3
./usr/m88k-unknown-openbsd2.3/bin
./usr/m88k-unknown-openbsd2.3/lib
./usr/m88k-unknown-openbsd2.3/lib/ldscripts
./usr/mdec/bootsd
./usr/mdec/bootst
./usr/mdec/bootxx
./usr/mdec/installboot
./usr/mdec/netboot
./usr/mdec/stboot

View File

@ -0,0 +1,82 @@
./usr/include/machine/ansi.h
./usr/include/machine/asm.h
./usr/include/machine/asm_macro.h
./usr/include/machine/assert.h
./usr/include/machine/autoconf.h
./usr/include/machine/board.h
./usr/include/machine/bug.h
./usr/include/machine/bugio.h
./usr/include/machine/cdefs.h
./usr/include/machine/cpu.h
./usr/include/machine/cpus.h
./usr/include/machine/db_machdep.h
./usr/include/machine/disklabel.h
./usr/include/machine/endian.h
./usr/include/machine/exception_vectors.h
./usr/include/machine/exec.h
./usr/include/machine/float.h
./usr/include/machine/frame.h
./usr/include/machine/ieee.h
./usr/include/machine/ieeefp.h
./usr/include/machine/limits.h
./usr/include/machine/locore.h
./usr/include/machine/m88100.h
./usr/include/machine/m882xx.h
./usr/include/machine/mioctl.h
./usr/include/machine/mmu.h
./usr/include/machine/param.h
./usr/include/machine/pcb.h
./usr/include/machine/pcctworeg.h
./usr/include/machine/pmap.h
./usr/include/machine/pmap_table.h
./usr/include/machine/proc.h
./usr/include/machine/profile.h
./usr/include/machine/prom.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/va-m88k.h
./usr/include/machine/varargs.h
./usr/include/machine/vid.h
./usr/include/machine/vmparam.h
./usr/lib/gcc-lib/m88k-unknown-openbsd2.3/2.8.1
./usr/lib/gcc-lib/m88k-unknown-openbsd2.3/2.8.1/SYSCALLS.c.X
./usr/lib/gcc-lib/m88k-unknown-openbsd2.3/2.8.1/cc1
./usr/lib/gcc-lib/m88k-unknown-openbsd2.3/2.8.1/cc1obj
./usr/lib/gcc-lib/m88k-unknown-openbsd2.3/2.8.1/cc1plus
./usr/lib/gcc-lib/m88k-unknown-openbsd2.3/2.8.1/cpp
./usr/lib/gcc-lib/m88k-unknown-openbsd2.3/2.8.1/f771
./usr/lib/gcc-lib/m88k-unknown-openbsd2.3/2.8.1/include
./usr/lib/gcc-lib/m88k-unknown-openbsd2.3/2.8.1/include/README
./usr/lib/gcc-lib/m88k-unknown-openbsd2.3/2.8.1/include/f2c.h
./usr/lib/gcc-lib/m88k-unknown-openbsd2.3/2.8.1/include/float.h
./usr/lib/gcc-lib/m88k-unknown-openbsd2.3/2.8.1/include/limits.h
./usr/lib/gcc-lib/m88k-unknown-openbsd2.3/2.8.1/include/objc
./usr/lib/gcc-lib/m88k-unknown-openbsd2.3/2.8.1/include/objc/NXConstStr.h
./usr/lib/gcc-lib/m88k-unknown-openbsd2.3/2.8.1/include/objc/Object.h
./usr/lib/gcc-lib/m88k-unknown-openbsd2.3/2.8.1/include/objc/Protocol.h
./usr/lib/gcc-lib/m88k-unknown-openbsd2.3/2.8.1/include/objc/encoding.h
./usr/lib/gcc-lib/m88k-unknown-openbsd2.3/2.8.1/include/objc/hash.h
./usr/lib/gcc-lib/m88k-unknown-openbsd2.3/2.8.1/include/objc/objc-api.h
./usr/lib/gcc-lib/m88k-unknown-openbsd2.3/2.8.1/include/objc/objc-list.h
./usr/lib/gcc-lib/m88k-unknown-openbsd2.3/2.8.1/include/objc/objc.h
./usr/lib/gcc-lib/m88k-unknown-openbsd2.3/2.8.1/include/objc/sarray.h
./usr/lib/gcc-lib/m88k-unknown-openbsd2.3/2.8.1/include/objc/thr.h
./usr/lib/gcc-lib/m88k-unknown-openbsd2.3/2.8.1/include/objc/typedstream.h
./usr/lib/gcc-lib/m88k-unknown-openbsd2.3/2.8.1/include/syslimits.h
./usr/lib/gcc-lib/m88k-unknown-openbsd2.3/2.8.1/libf2c.a
./usr/lib/gcc-lib/m88k-unknown-openbsd2.3/2.8.1/libgcc.a
./usr/lib/gcc-lib/m88k-unknown-openbsd2.3/2.8.1/libobjc.a
./usr/lib/gcc-lib/m88k-unknown-openbsd2.3/2.8.1/specs
./usr/lib/libbfd.a
./usr/lib/libopcodes.a
./usr/lib/libreadline.a
./usr/lib/crt0.o
./usr/lib/gcrt0.o
./usr/lib/c++rt0.o

View File

View File

View File

@ -0,0 +1,3 @@
./usr/share/man/cat5/ar.0
./usr/share/man/cat5/ranlib.0
./usr/share/man/cat8/installboot.0

View File

View File

View File