From: niklas Date: Sat, 3 May 1997 22:27:09 +0000 (+0000) Subject: Add amiga md parts of the miniroot stuff X-Git-Url: http://artulab.com/gitweb/?a=commitdiff_plain;h=413fa1f455822daf1cc91bead71a6255d9441ca3;p=openbsd Add amiga md parts of the miniroot stuff --- diff --git a/distrib/amiga/install.md b/distrib/amiga/install.md new file mode 100644 index 00000000000..bd66dfe9936 --- /dev/null +++ b/distrib/amiga/install.md @@ -0,0 +1,218 @@ +# $OpenBSD: install.md,v 1.1 1997/05/03 22:27:09 niklas 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="xbin xman xinc xcon" + +md_set_term() { + if [ ! -z "$TERM" ]; then + return + fi + echo -n "Specify terminal type [vt220]: " + getresp "vt220" + TERM="$resp" + export TERM +} + +md_makerootwritable() { + # Was: do_mfs_mount "/tmp" "2048" + # /tmp is the mount point + # 2048 is the size in DEV_BIZE blocks + + umount /tmp > /dev/null 2>&1 + if ! mount_mfs -s 2048 swap /tmp ; then + cat << \__mfs_failed_1 + +FATAL ERROR: Can't mount the memory filesystem. + +__mfs_failed_1 + exit + fi + + # Bleh. Give mount_mfs a chance to DTRT. + sleep 2 +} + +md_get_diskdevs() { + # return available disk devices + dmesg | egrep "^[sw]d[0-9] " | cut -d" " -f1 | sort -u +} + +md_get_cddevs() { + # return available CDROM devices + dmesg | grep "^a?cd[0-9] " | cut -d" " -f1 | sort -u +} + +md_get_ifdevs() { + # return available network devices + dmesg | egrep "(^[al]e[0-9] |^(isa)?ed[0-9] |^qn[0-9] |^bah[0-9] |^es[0-9] )" | cut -d" " -f1 | sort -u +} + +md_get_partition_range() { + # return range of valid partition letters + echo "[a-p]" +} + +md_installboot() { +# echo "Installing boot block..." +} + +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 + + _disk=$1 + md_checkfordisklabel $_disk + case $? in + 0) + ;; + 1) + echo "ERROR: Disk $_disk is not partitioned, read the" + echo "preparation document on how to go about doing this." + ;; + 2) + echo "WARNING: Label on disk $_disk is corrupted. Maybe" + echo "you should interrupt the install process and recheck" + echo "your disk partitioning in AmigaOS?"" + ;; + esac +} + +md_copy_kernel() { + echo -n "Copying kernel..." + cp -p /bsd /mnt/bsd + echo "done." +} + +md_welcome_banner() { +{ + if [ "$MODE" = "install" ]; then + echo "" + echo "Welcome to the OpenBSD/amiga ${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/amiga ${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 +} | more +} + +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 and you'll get back to AmigaOS. + +__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, enter AmigaOS and boot via loadbsd +without the -b flag, per the install document. + +__congratulations_1 +} diff --git a/distrib/amiga/miniroot/Makefile.inc b/distrib/amiga/miniroot/Makefile.inc new file mode 100644 index 00000000000..53d702b2e83 --- /dev/null +++ b/distrib/amiga/miniroot/Makefile.inc @@ -0,0 +1,4 @@ +# $OpenBSD: Makefile.inc,v 1.1 1997/05/03 22:27:10 niklas Exp $ + +NEWFSOPTS= -i 2048 +NEWFS_WILL_FAIL= true diff --git a/distrib/amiga/miniroot/dot.profile b/distrib/amiga/miniroot/dot.profile new file mode 100644 index 00000000000..bfe193c15ee --- /dev/null +++ b/distrib/amiga/miniroot/dot.profile @@ -0,0 +1,102 @@ +# $OpenBSD: dot.profile,v 1.1 1997/05/03 22:27:10 niklas 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. +# + +PATH=/sbin:/bin:/usr/bin:/usr/sbin:/ +export PATH + +TERM=vt220 +export TERM + +umask 022 + +if [ "X${DONEPROFILE}" = "X" ]; then + DONEPROFILE=YES + + # set up some sane defaults + echo 'erase ^H, werase ^W, kill ^U, intr ^C' + stty newcrt werase ^W intr ^C kill ^U erase ^H 9600 + + # get the terminal type + _forceloop="" + while [ "X${_forceloop}" = X"" ]; do + eval `tset -s -m ":?$TERM"` + if [ "X${TERM}" != X"unknown" ]; then + _forceloop="done" + fi + done + export TERM + + # get the editor preference + EDITOR=vi + _forceloop="" + while [ "X${_forceloop}" = X"" ]; do + echo -n "text editor - vi or ed? [$EDITOR] " + read _forceloop + case "$_forceloop" in + vi|"") + EDITOR=vi + _forceloop=$EDITOR + ;; + + ed) + EDITOR=ed + ;; + + *) + echo "sorry, no $_forceloop available" + _forceloop="" + ;; + esac + done + export EDITOR + + # Installing or upgrading? + _forceloop="" + while [ "X${_forceloop}" = X"" ]; do + echo -n '(I)nstall or (U)pgrade? ' + read _forceloop + case "$_forceloop" in + i*|I*) + /install + ;; + + u*|U*) + /upgrade + ;; + + *) + _forceloop="" + ;; + esac + done +fi diff --git a/distrib/amiga/miniroot/list b/distrib/amiga/miniroot/list new file mode 100644 index 00000000000..3a50a0ec164 --- /dev/null +++ b/distrib/amiga/miniroot/list @@ -0,0 +1,58 @@ +# $OpenBSD: list,v 1.1 1997/05/03 22:27:11 niklas 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/dmesg +LINK instbin sbin/mount_ados + +SYMLINK ../../instbin usr/bin/basename +SYMLINK ../../instbin usr/bin/cksum usr/bin/sum +SYMLINK ../../instbin usr/bin/cut +SYMLINK ../../instbin usr/bin/awk +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 + +# crunchgen source directory specials +#CRUNCHSPECIAL installboot srcdir sys/arch/amiga/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 + +# the zoneinfo +COPYDIR ${DESTDIR}/usr/share/zoneinfo usr/share/zoneinfo + +# and the termcap file +COPY ${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 +#COPY ${DESTDIR}/usr/mdec/boot boot +#SPECIAL sync; ${DESTDIR}/usr/mdec/binstall -v ffs ${TARGDIR}