diff options
author | Jason Wright <jason@cvs.openbsd.org> | 2001-09-18 14:27:33 +0000 |
---|---|---|
committer | Jason Wright <jason@cvs.openbsd.org> | 2001-09-18 14:27:33 +0000 |
commit | 81930bb2e9838eb45908a9e482c5ca42196d9cdf (patch) | |
tree | 6050fbab17630da94495375c3411936f52edfaa6 | |
parent | 5efa71bdbc1a1a5b3f6f82657881c68933a7dd0b (diff) |
initial cut at building ramdisk... will no doubt need tweaking
-rw-r--r-- | distrib/sparc64/Makefile | 5 | ||||
-rw-r--r-- | distrib/sparc64/Makefile.inc | 6 | ||||
-rw-r--r-- | distrib/sparc64/install.md | 232 | ||||
-rw-r--r-- | distrib/sparc64/list2sh.awk | 69 | ||||
-rw-r--r-- | distrib/sparc64/miniroot/Makefile.inc | 4 | ||||
-rw-r--r-- | distrib/sparc64/miniroot/dot.profile | 92 | ||||
-rw-r--r-- | distrib/sparc64/miniroot/list | 56 | ||||
-rw-r--r-- | distrib/sparc64/ramdisk/Makefile | 95 | ||||
-rw-r--r-- | distrib/sparc64/ramdisk/Makefile.inc | 11 | ||||
-rw-r--r-- | distrib/sparc64/ramdisk/dot.profile | 92 | ||||
-rw-r--r-- | distrib/sparc64/ramdisk/instbin.conf | 33 | ||||
-rw-r--r-- | distrib/sparc64/ramdisk/list | 39 | ||||
-rw-r--r-- | distrib/sparc64/ramdisk/mtree.conf | 90 | ||||
-rw-r--r-- | distrib/sparc64/runlist.sh | 13 |
14 files changed, 837 insertions, 0 deletions
diff --git a/distrib/sparc64/Makefile b/distrib/sparc64/Makefile new file mode 100644 index 00000000000..a6b8ce1c8e3 --- /dev/null +++ b/distrib/sparc64/Makefile @@ -0,0 +1,5 @@ +# $OpenBSD: Makefile,v 1.1 2001/09/18 14:27:32 jason Exp $ + +SUBDIR+= ramdisk + +.include <bsd.subdir.mk> diff --git a/distrib/sparc64/Makefile.inc b/distrib/sparc64/Makefile.inc new file mode 100644 index 00000000000..9f8e7b8b719 --- /dev/null +++ b/distrib/sparc64/Makefile.inc @@ -0,0 +1,6 @@ +# $OpenBSD: Makefile.inc,v 1.1 2001/09/18 14:27:32 jason Exp $ + +REV= ${OSrev} + +BSDSRCDIR?= /usr/src +SRCSYSDIR?= ${BSDSRCDIR}/sys diff --git a/distrib/sparc64/install.md b/distrib/sparc64/install.md new file mode 100644 index 00000000000..a3a7c9c8b99 --- /dev/null +++ b/distrib/sparc64/install.md @@ -0,0 +1,232 @@ +# $OpenBSD: install.md,v 1.1 2001/09/18 14:27:32 jason Exp $ +# $NetBSD: install.md,v 1.3.2.5 1996/08/26 15:45:28 gwr 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. +# + +# Machine-dependent install sets +MDSETS="kernel xbin xman xinc xcon" +ARCH=ARCH + +md_set_term() { + test -n "$TERM" && return + echo -n "Specify terminal type [sun]: " + getresp sun + TERM=$resp + export TERM +} + +md_get_msgbuf() { + # Only want to see one boot's worth of info + dmesg > /tmp/msgbuf + sed -n -f /dev/stdin /tmp/msgbuf <<- OOF + /^OpenBSD /h + /^OpenBSD /!H + \${ + g + p + } + OOF +} + +md_get_diskdevs() { + # return available disk devices + md_get_msgbuf | sed -n -e '/^sd[0-9] /{s/ .*//;p;}' \ + -e '/^wd[0-9] /{s/ .*//;p;}' +} + +md_get_cddevs() { + # return available CDROM devices + md_get_msgbuf | sed -n -e '/^cd[0-9] /{s/ .*//;p;}' +} + +md_get_partition_range() { + # return range of valid partition letters + echo [a-p] +} + +md_questions() { + : +} + +md_installboot() { + local _rawdev _prefix + + if [ -z "$1" ]; then + echo No disk device specified, you must run installboot manually. + return + fi + _rawdev=/dev/r${1}c + + # use extracted mdec if it exists (may be newer) + if [ -e /mnt/usr/mdec/boot ]; then + _prefix=/mnt/usr/mdec + elif [ -e /usr/mdec/boot ]; then + _prefix=/usr/mdec + else + echo No boot block prototypes found, you must run installboot manually. + return + fi + + echo Installing boot block... + cp ${_prefix}/boot /mnt/boot + sync; sync; sync + installboot -v /mnt/boot ${_prefix}/bootxx ${_rawdev} +} + +md_native_fstype() { + : +} + +md_native_fsopts() { + : +} + +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=$1 + + md_checkfordisklabel $_disk + case $? in + 0) + ;; + 1) + echo WARNING: Label on disk $_disk has no label. You will be creating a new one. + echo + ;; + 2) + echo WARNING: Label on disk $_disk is corrupted. You will be repairing. + echo + ;; + esac + + # display example + cat << __EOT +If you are unsure of how to use multiple partitions properly +(ie. separating /, /usr, /tmp, /var, /usr/local, and other things) +just split the space into a root and swap partition for now. + +__EOT + disklabel -W ${_disk} + disklabel -f /tmp/fstab.${_disk} -E ${_disk} +} + +md_welcome_banner() { +{ + if [ "$MODE" = install ]; then + cat << __EOT +Welcome to the OpenBSD/sparc64 ${VERSION_MAJOR}.${VERSION_MINOR} installation program. + +This program is designed to help you put OpenBSD on your disk in a simple and +rational way. + +__EOT + + else + cat << __EOT +echo Welcome to the OpenBSD/sparc64 ${VERSION} upgrade program. + +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. + +__EOT + fi + +cat << __EOT + +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. + +__EOT +} | more +} + +md_not_going_to_install() { + cat << __EOT + +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. + +__EOT +} + +md_congrats() { + local what; + if [ "$MODE" = install ]; then + what=installed + else + what=upgraded + fi + cat << __EOT + +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. + +__EOT +} diff --git a/distrib/sparc64/list2sh.awk b/distrib/sparc64/list2sh.awk new file mode 100644 index 00000000000..263579a2e41 --- /dev/null +++ b/distrib/sparc64/list2sh.awk @@ -0,0 +1,69 @@ +# $OpenBSD: list2sh.awk,v 1.1 2001/09/18 14:27:32 jason Exp $ + +BEGIN { + printf("cd ${CURDIR}\n"); + printf("\n"); +} +/^$/ || /^#/ { + print $0; + next; +} +$1 == "COPY" { + printf("echo '%s'\n", $0); + printf("rm -fr ${TARGDIR}/%s\n", $3); + printf("cp %s ${TARGDIR}/%s\n", $2, $3); + next; +} +$1 == "LINK" { + printf("echo '%s'\n", $0); + for (i = 3; i <= NF; i++) { + printf("rm -f ${TARGDIR}/%s\n", $i); + printf("(cd ${TARGDIR}; ln %s %s)\n", $2, $i); + } + next; +} +$1 == "SYMLINK" { + printf("echo '%s'\n", $0); + for (i = 3; i <= NF; i++) { + printf("rm -f ${TARGDIR}/%s\n", $i); + printf("(cd ${TARGDIR}; ln -s %s %s)\n", $2, $i); + } + next; +} +$1 == "ARGVLINK" { + # crunchgen directive; ignored here + next; +} +$1 == "SRCDIRS" { + # crunchgen directive; ignored here + next; +} +$1 == "CRUNCHSPECIAL" { + # crunchgen directive; ignored here + next; +} +$1 == "COPYDIR" { + printf("echo '%s'\n", $0); + printf("(cd ${TARGDIR}/%s && find . ! -name . | xargs /bin/rm -rf)\n", + $3); + printf("(cd %s && find . ! -name . | cpio -pdamu ${TARGDIR}/%s)\n", $2, + $3); + next; +} +$1 == "SPECIAL" { + printf("echo %s\n", $0); + sub(/^[ \t]*SPECIAL[ \t]*/, ""); + printf("(cd ${TARGDIR}; %s)\n", $0); + 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/sparc64/miniroot/Makefile.inc b/distrib/sparc64/miniroot/Makefile.inc new file mode 100644 index 00000000000..cb610f93897 --- /dev/null +++ b/distrib/sparc64/miniroot/Makefile.inc @@ -0,0 +1,4 @@ +# $OpenBSD: Makefile.inc,v 1.1 2001/09/18 14:27:32 jason Exp $ + +RAWLABEL= +IMAGESIZE?= 12288 # 6MB in 512 byte blocks diff --git a/distrib/sparc64/miniroot/dot.profile b/distrib/sparc64/miniroot/dot.profile new file mode 100644 index 00000000000..64e5a962020 --- /dev/null +++ b/distrib/sparc64/miniroot/dot.profile @@ -0,0 +1,92 @@ +# $OpenBSD: dot.profile,v 1.1 2001/09/18 14:27:32 jason 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=sun + +if [ "X${DONEPROFILE}" = "X" ]; then + DONEPROFILE=YES + + mount_ffs -o update /dev/rd0a / + + # set up some sane defaults + echo 'erase ^?, werase ^W, kill ^U, intr ^C, status ^T' + stty newcrt werase ^W intr ^C kill ^U erase ^? status ^T 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 + + # 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 diff --git a/distrib/sparc64/miniroot/list b/distrib/sparc64/miniroot/list new file mode 100644 index 00000000000..5c98c14e368 --- /dev/null +++ b/distrib/sparc64/miniroot/list @@ -0,0 +1,56 @@ +# $OpenBSD: list,v 1.1 2001/09/18 14:27:32 jason Exp $ +# $NetBSD: list,v 1.2.4.2 1996/06/26 19:25:00 pk Exp $ + +# Sparc extra's +LINK instbin sbin/disklabel +LINK instbin sbin/dhclient + +SYMLINK ../../instbin usr/bin/basename +SYMLINK ../../instbin usr/bin/cksum usr/bin/sum +SYMLINK ../../instbin usr/bin/cut +SYMLINK ../../instbin usr/bin/getopt +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/strings +SYMLINK ../../instbin usr/bin/tset usr/bin/reset +SYMLINK ../../instbin usr/bin/less usr/bin/more +SYMLINK ../../instbin usr/sbin/installboot +SYMLINK ../../instbin usr/sbin/sysctl + +SRCDIRS sys/arch/sparc/stand + +# crunchgen source directory specials +#CRUNCHSPECIAL installboot srcdir sys/arch/sparc/stand/installboot + +# Minimize use of MFS +SYMLINK /tmp var/tmp + +# copy the MAKEDEV script and make some devices +COPY ${DESTDIR}/dev/MAKEDEV dev/MAKEDEV +COPY ${DESTDIR}/dev/MAKEDEV.local dev/MAKEDEV.local +SPECIAL cd dev; sh MAKEDEV all +#SPECIAL /bin/rm dev/MAKEDEV + +# we need the contents of /usr/mdec +COPYDIR ${DESTDIR}/usr/mdec usr/mdec +SPECIAL rm -f usr/mdec/binstall usr/mdec/installboot + +# and a few useful bits of the termcap file (512K and still growing 8-) +SPECIAL tic -C ${CURDIR}/../../share/termtypes/termtypes.master | sed -n -e 's,/usr/share/lib/tabset,/usr/share/tabset,g' -e 's,/usr/lib/tabset,/usr/share/tabset,g' -e '/^dumb|/,/:[ ]*$/p' -e '/^unknown|/,/:[ ]*$/p' -e '/^sun.*|/,/:[ ]*$/p' -e '/^vt.*|/,/:[ ]*$/p' -e '/^pc3|/,/:[ ]*$/p' -e '/^pcvt.*|/,/:[ ]*$/p' > 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 +SPECIAL sed -e '/^#[ ].*$/d' -e "s/^ARCH=ARCH$/ARCH=`arch -s`/" < ${ARCHDIR}/../install.md > install.md +COPY ${DESTDIR}/usr/mdec/boot boot +SPECIAL sync; ${DESTDIR}/usr/mdec/binstall -v ffs ${TARGDIR} diff --git a/distrib/sparc64/ramdisk/Makefile b/distrib/sparc64/ramdisk/Makefile new file mode 100644 index 00000000000..136b48a829f --- /dev/null +++ b/distrib/sparc64/ramdisk/Makefile @@ -0,0 +1,95 @@ +# $OpenBSD: Makefile,v 1.1 2001/09/18 14:27:32 jason Exp $ + +TOP= ${.CURDIR}/.. + +.include "${TOP}/Makefile.inc" +BSD_RD= bsd.rd +IMAGE= mr.fs +CBIN?= instbin +LISTS= ${.CURDIR}/list +UTILS?= ${.CURDIR}/../../miniroot + +MOUNT_POINT= /mnt +MTREE= ${.CURDIR}/mtree.conf + +VND?= svnd0 +VND_DEV= /dev/${VND}a +VND_RDEV= /dev/r${VND}a +VND_CRDEV= /dev/r${VND}c +PID!= echo $$$$ + + +DISKTYPE= rdroot +NBLKS= 8192 +# minfree, opt, b/i trks, sects, cpg +NEWFSARGS= -m 0 -o space -c 16 -i 4096 + +.ifndef DESTDIR +all ${IMAGE}: + @echo setenv DESTDIR before making a ramdisk! + @false +.else + +# mix config is not needed. +all: ${BSD_RD} + +${BSD_RD}: ${CBIN} ${IMAGE} bsd rdsetroot + cp bsd ${BSD_RD} + ${.OBJDIR}/rdsetroot ${BSD_RD} < ${IMAGE} + +${IMAGE}: rd_setup do_files rd_teardown + +.endif + +bsd: + cd ${TOP}/../../sys/arch/sparc64/conf && config RAMDISK + cd ${TOP}/../../sys/arch/sparc64/compile/RAMDISK && \ + make clean && make depend && make + cp ${TOP}/../../sys/arch/sparc64/compile/RAMDISK/bsd bsd + +rd_setup: + dd if=/dev/zero of=${IMAGE} bs=512 count=${NBLKS} + vnconfig -v -c ${VND} ${IMAGE} + disklabel -w -r ${VND} ${DISKTYPE} + newfs ${NEWFSARGS} ${VND_RDEV} + fsck ${VND_RDEV} + mount ${VND_DEV} ${MOUNT_POINT} + +rd_teardown: + @df -i ${MOUNT_POINT} + -umount ${MOUNT_POINT} + -vnconfig -u ${VND} + +rdsetroot: ${TOP}/common/rdsetroot.c + ${HOSTCC} -DDEBUG -o rdsetroot ${TOP}/common/rdsetroot.c + +unconfig: + -umount -f ${MOUNT_POINT} + -vnconfig -u ${VND} + +.PRECIOUS: ${IMAGE} + +install: + cp ${BSD_RD} cd${REV}.fs ${DESTDIR}/snapshot/ + +${CBIN}.mk ${CBIN}.cache ${CBIN}.c: ${CBIN}.conf + crunchgen -E -D ${.CURDIR}/../../.. -L ${DESTDIR}/usr/lib ${.ALLSRC} + +${CBIN}: ${CBIN}.mk ${CBIN}.cache ${CBIN}.c + make -f ${CBIN}.mk all + +do_files: + mtree -def ${MTREE} -p ${MOUNT_POINT}/ -u + TOPDIR=${TOP} CURDIR=${.CURDIR} OBJDIR=${.OBJDIR} \ + REV=${REV} TARGDIR=${MOUNT_POINT} sh ${TOP}/runlist.sh -d ${LISTS} + +clean cleandir: + /bin/rm -f core ${IMAGE} ${CBIN} ${CBIN}.mk ${CBIN}.cache \ + *.o *.lo *.c bsd ${BSD_RD} \ + rdsetroot + +beforeinstall: + cp ${BSD.RD} cd${REV}.fs ${DESTDIR}/snapshot + +.include <bsd.obj.mk> +.include <bsd.subdir.mk> diff --git a/distrib/sparc64/ramdisk/Makefile.inc b/distrib/sparc64/ramdisk/Makefile.inc new file mode 100644 index 00000000000..7b5b0b5b19a --- /dev/null +++ b/distrib/sparc64/ramdisk/Makefile.inc @@ -0,0 +1,11 @@ +# $OpenBSD: Makefile.inc,v 1.1 2001/09/18 14:27:32 jason Exp $ +# $OpenBSD: Makefile.inc,v 1.1 2001/09/18 14:27:32 jason Exp $ + +IMAGESIZE?= 5352 +GZIP?= gzip +GZIPFLAGS?= -9v +GZIPEXT?= .gz +MAKEFLOPPY= 1 +RAWLABEL= +BOOT= ${DESTDIR}/usr/mdec/boot +INSTALLBOOT= ${DESTDIR}/usr/mdec/installboot diff --git a/distrib/sparc64/ramdisk/dot.profile b/distrib/sparc64/ramdisk/dot.profile new file mode 100644 index 00000000000..64e5a962020 --- /dev/null +++ b/distrib/sparc64/ramdisk/dot.profile @@ -0,0 +1,92 @@ +# $OpenBSD: dot.profile,v 1.1 2001/09/18 14:27:32 jason 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=sun + +if [ "X${DONEPROFILE}" = "X" ]; then + DONEPROFILE=YES + + mount_ffs -o update /dev/rd0a / + + # set up some sane defaults + echo 'erase ^?, werase ^W, kill ^U, intr ^C, status ^T' + stty newcrt werase ^W intr ^C kill ^U erase ^? status ^T 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 + + # 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 diff --git a/distrib/sparc64/ramdisk/instbin.conf b/distrib/sparc64/ramdisk/instbin.conf new file mode 100644 index 00000000000..b63322cbc60 --- /dev/null +++ b/distrib/sparc64/ramdisk/instbin.conf @@ -0,0 +1,33 @@ +# $OpenBSD: instbin.conf,v 1.1 2001/09/18 14:27:32 jason Exp $ +# +# instbin.conf - unified binary for the inst/upgr floppies +# + +srcdirs distrib/special +srcdirs usr.bin bin sbin usr.sbin gnu/usr.bin + +progs dd mount_cd9660 df dhclient mount sync restore newfs_msdos +progs stty ln disklabel pax ping cat ifconfig dmesg ls +progs less mount_nfs grep umount mount_msdos rsh fsck +progs scsi mknod route ftp mount_ffs reboot ed +progs cp gzip chmod fsck_ffs sort init newfs +progs tip rm mt mkdir sed ksh sleep +progs mv expr test hostname +progs mg + +ln mt eject +ln chmod chgrp +ln chmod chown +ln pax tar +ln pax cpio +ln less more +ln grep fgrep +ln grep egrep +ln reboot halt +ln gzip gunzip +ln gzip gzcat +ln ksh sh +ln ksh -sh +ln test [ + +libs -ledit -lutil -lcurses -ll -lm -lkvm -lz -lkrb -ldes diff --git a/distrib/sparc64/ramdisk/list b/distrib/sparc64/ramdisk/list new file mode 100644 index 00000000000..fbc0ce4044d --- /dev/null +++ b/distrib/sparc64/ramdisk/list @@ -0,0 +1,39 @@ +# $OpenBSD: list,v 1.1 2001/09/18 14:27:32 jason Exp $ +# $NetBSD: list,v 1.2.4.2 1996/06/26 19:25:00 pk Exp $ + +# Sparc extra's +LINK instbin sbin/disklabel + +SYMLINK ../../instbin usr/bin/basename +SYMLINK ../../instbin usr/bin/grep usr/bin/egrep usr/bin/fgrep +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/installboot + +SRCDIRS sys/arch/sparc/stand + +# Minimize use of MFS +SYMLINK /tmp var/tmp + +# copy the MAKEDEV script and make some devices +COPY ${DESTDIR}/dev/MAKEDEV dev/MAKEDEV +SPECIAL cd dev; sh MAKEDEV ramdisk + +# we need the contents of /usr/mdec (but not boot or binstall) +COPYDIR ${DESTDIR}/usr/mdec usr/mdec +SPECIAL rm -f usr/mdec/binstall usr/mdec/installboot + +# and a few useful bits of the termcap file (512K and still growing 8-) +SPECIAL tic -C ${CURDIR}/../../../share/termtypes/termtypes.master | sed -n -e 's,/usr/share/lib/tabset,/usr/share/tabset,g' -e 's,/usr/lib/tabset,/usr/share/tabset,g' -e '/^dumb|/,/:[ ]*$/p' -e '/^unknown|/,/:[ ]*$/p' -e '/^sun.*|/,/:[ ]*$/p' -e '/^vt.*|/,/:[ ]*$/p' -e '/^pc3|/,/:[ ]*$/p' -e '/^pcvt.*|/,/:[ ]*$/p' > usr/share/misc/termcap + +# 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}/../ramdisk/dot.profile .profile +SPECIAL sed -e '/^#[ ].*$/d' -e "s/^ARCH=ARCH$/ARCH=`arch -s`/" < ${ARCHDIR}/../install.md > install.md diff --git a/distrib/sparc64/ramdisk/mtree.conf b/distrib/sparc64/ramdisk/mtree.conf new file mode 100644 index 00000000000..a56bed09a51 --- /dev/null +++ b/distrib/sparc64/ramdisk/mtree.conf @@ -0,0 +1,90 @@ +# $OpenBSD: mtree.conf,v 1.1 2001/09/18 14:27:32 jason Exp $ + +/set type=dir uname=root gname=wheel mode=0755 +# . +. + +# ./bin +bin +# ./bin +.. + +# ./dev +dev +# ./dev +.. + +# ./etc +etc + +# ./etc +.. + +# ./mnt +mnt +# ./mnt +.. + +# ./mnt2 +mnt2 +# ./mnt2 +.. + +# ./sbin +sbin +# ./sbin +.. + +# ./tmp +tmp mode=01777 +# ./tmp +.. + +# ./usr +usr + +# ./usr/bin +bin +# ./usr/bin +.. + +# ./usr/mdec +mdec +# ./usr/mdec +.. + +# ./usr/sbin +sbin +# ./usr/sbin +.. + +# ./usr/share +share + +# ./usr/share/misc +misc +# ./usr/share/misc +.. + +# ./usr/share +.. + +# ./usr +.. + +# ./var +var + +# ./var/tmp +tmp mode=0177 + +# ./var/tmp +.. + +# ./var/db +db +# ./var/db +.. + +# ./var +.. diff --git a/distrib/sparc64/runlist.sh b/distrib/sparc64/runlist.sh new file mode 100644 index 00000000000..8c5cf4f39a2 --- /dev/null +++ b/distrib/sparc64/runlist.sh @@ -0,0 +1,13 @@ +# $OpenBSD: runlist.sh,v 1.1 2001/09/18 14:27:32 jason 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} |