summaryrefslogtreecommitdiff
path: root/distrib
diff options
context:
space:
mode:
authorPer Fogelstrom <pefo@cvs.openbsd.org>1997-10-10 10:16:57 +0000
committerPer Fogelstrom <pefo@cvs.openbsd.org>1997-10-10 10:16:57 +0000
commit62cd04e2e3f25962dc0617f023483a30f50edfc8 (patch)
treeca0c3040d5ec2af9b84e16cc223f18eff7a68a5e /distrib
parenta9b7114581cd9391a75faae7a6a832479fbbe157 (diff)
PowerPC ramdisk stuff. "list" and scripts still needs work. This is only the
first "work copy"...
Diffstat (limited to 'distrib')
-rw-r--r--distrib/powerpc/ramdisk/Makefile101
-rw-r--r--distrib/powerpc/ramdisk/Makefile.inc4
-rw-r--r--distrib/powerpc/ramdisk/dot.instutils156
-rw-r--r--distrib/powerpc/ramdisk/dot.profile57
-rw-r--r--distrib/powerpc/ramdisk/install.md389
-rw-r--r--distrib/powerpc/ramdisk/list97
-rw-r--r--distrib/powerpc/ramdisk/mtree.conf95
7 files changed, 899 insertions, 0 deletions
diff --git a/distrib/powerpc/ramdisk/Makefile b/distrib/powerpc/ramdisk/Makefile
new file mode 100644
index 00000000000..68d9bc38c8e
--- /dev/null
+++ b/distrib/powerpc/ramdisk/Makefile
@@ -0,0 +1,101 @@
+# $OpenBSD: Makefile,v 1.1 1997/10/10 10:16:54 pefo 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 $$$$
+REALIMAGE!= echo /var/tmp/image.${PID}
+
+
+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 makeing a ramdisk!
+ @false
+.else
+
+all: ${BSD_RD}
+
+${BSD_RD}: ${CBIN} ${IMAGE} bsd rdsetroot
+ cp bsd ${BSD_RD}
+ ${.OBJDIR}/rdsetroot ${BSD_RD} < ${IMAGE}
+ rm ${IMAGE}
+
+${IMAGE}: rd_setup do_files rd_teardown
+
+.endif
+
+bsd:
+ cd ${.TOP}/../../sys/arch/power4e/conf && config RAMDISK
+ cd ${.TOP}/../../sys/arch/power4e/compile/RAMDISK && \
+ make clean && make
+ cp ${.TOP}/../../sys/arch/power4e/compile/RAMDISK/bsd bsd
+
+rd_setup:
+ dd if=/dev/zero of=${REALIMAGE} bs=512 count=${NBLKS}
+ vnconfig -v -c ${VND} ${REALIMAGE}
+ 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}
+ 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}
+
+${CBIN}.conf: ${LISTS}
+ awk -f ${UTILS}/makeconf.awk CBIN=${CBIN} ${LISTS} > ${CBIN}.conf
+
+${CBIN}.mk ${CBIN}.cache ${CBIN}.c: ${CBIN}.conf
+ crunchgen -E -D ${.CURDIR}/../../.. -L ${DESTDIR}/usr/lib ${CBIN}.conf
+
+${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 ${LISTS}
+
+clean cleandir:
+ /bin/rm -f core ${IMAGE} ${CBIN} ${CBIN}.conf ${CBIN}.mk ${CBIN}.cache \
+ *.o *.lo *.c bsd ${BSD_RD} ${BSD_RD}.elf rdsetroot
+
+beforeinstall:
+ cp ${BSD.RD} ${DESTDIR}/snapshot
+
+.include <bsd.obj.mk>
+.include <bsd.subdir.mk>
diff --git a/distrib/powerpc/ramdisk/Makefile.inc b/distrib/powerpc/ramdisk/Makefile.inc
new file mode 100644
index 00000000000..3000e414ea4
--- /dev/null
+++ b/distrib/powerpc/ramdisk/Makefile.inc
@@ -0,0 +1,4 @@
+# $OpenBSD: Makefile.inc,v 1.1 1997/10/10 10:16:54 pefo Exp $
+
+CRUNCHGENOPTS= -E
+
diff --git a/distrib/powerpc/ramdisk/dot.instutils b/distrib/powerpc/ramdisk/dot.instutils
new file mode 100644
index 00000000000..b88122cd0f3
--- /dev/null
+++ b/distrib/powerpc/ramdisk/dot.instutils
@@ -0,0 +1,156 @@
+# $OpenBSD: dot.instutils,v 1.1 1997/10/10 10:16:55 pefo 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 OpenBSD configured
+# reasonably once it is installed on the hard disk. These are meant to be
+# invoked from the shell prompt, by people installing OpenBSD.
+
+Configure()
+{
+ DEV=/dev
+ ETC=/etc
+ if [ ! -f /etc/fstab ]; then
+ DEV=/mnt/dev
+ ETC=/mnt/etc
+ fi
+
+ echo "You will now be prompted for information about this"
+ echo "machine. If you hit return, the default answer (in"
+ echo "brackets) will be used."
+
+ echo ""
+ echo -n "What is this machine's hostname? [unknown.host.domain] "
+ read hname
+ if [ "$hname" = "" ]; then
+ hname=unknown.host.domain
+ fi
+ echo $hname > ${ETC}/myname
+ proto_domain=`echo $hname | sed -e 's/[^.]*\.//'`
+
+ echo ""
+ echo "What domain is this machine in (this is NOT its YP"
+ echo -n "domain name)? [$proto_domain] "
+ read dname
+ if [ "$dname" = "" ]; then
+ dname=$proto_domain
+ fi
+
+ echo ""
+ if [ -e $ETC/sendmail.cf ]; then
+ echo "WARNING: A default sendmail.cf exists, and probably"
+ echo "needs to be tuned and/or replaced, to work properly at"
+ echo "your site!"
+ else
+ echo "WARNING: No default sendmail.cf installed. Did you"
+ echo "forget to install the 'etc' distribution?"
+ fi
+
+ echo "127.0.0.1 localhost localhost.$dname" > ${ETC}/hosts
+
+ echo ""
+ echo -n "Does this machine have an ethernet interface? [y] "
+ read resp
+ case "$resp" in
+ n*)
+ ;;
+ *)
+ intf=
+ while [ "$intf" = "" ]; do
+ echo -n "What is the primary interface name "
+ echo -n "(e.g. ed0, ep0, etc)? "
+ read intf
+ done
+ echo -n "What is the hostname for this interface? [$hname] "
+ read ifname
+ if [ "$ifname" = "" ]; then
+ ifname=$hname
+ fi
+ ifaddr=
+ while [ "$ifaddr" = "" ]; do
+ echo -n "What is the IP address associated with "
+ echo -n "interface ${intf}? "
+ read ifaddr
+ done
+ echo "$ifaddr $ifname `echo $ifname | sed -e s/\.$dname//`" \
+ >> ${ETC}/hosts
+
+ echo -n "Does this interface have a special netmask? [n] "
+ read resp
+ case "$resp" in
+ y*)
+ echo -n "What is the netmask? [0xffffff00] "
+ read ifnetmask
+ if [ "$ifnetmask" = "" ]; then
+ ifnetmask=0xffffff00
+ fi
+ ;;
+ *)
+ ifnetmask=
+ ;;
+ esac
+
+ echo -n "Does this interface need additional flags? [n] "
+ read resp
+ case "$resp" in
+ y*)
+ echo -n "What flags? [link0] "
+ read ifflags
+ if [ "$ifflags" = "" ]; then
+ ifflags=link0
+ fi
+ ;;
+ *)
+ ifflags=
+ ;;
+ esac
+ echo "inet $ifname $ifnetmask $ifflags" > ${ETC}/hostname.$intf
+
+ echo ""
+ echo -n "WARNING: if you have any more ethernet interfaces, "
+ echo "you will have to configure"
+ echo -n "them by hand. Read the comments in /etc/netstart to "
+ echo "learn how to do this."
+ ;;
+ esac
+
+ echo ""
+ echo -n "Making device nodes (may take a while)..."
+ cd ${DEV}
+ sh MAKEDEV all
+ echo " done."
+
+ sync
+
+ echo ""
+ echo "If you haven't already installed a kernel on the hard drive"
+ echo "using your kernel-copy floppy, do so now. Kernel"
+ echo "installation instructions can be found in the"
+ echo "installation notes."
+}
diff --git a/distrib/powerpc/ramdisk/dot.profile b/distrib/powerpc/ramdisk/dot.profile
new file mode 100644
index 00000000000..5dd53d514e4
--- /dev/null
+++ b/distrib/powerpc/ramdisk/dot.profile
@@ -0,0 +1,57 @@
+# $OpenBSD: dot.profile,v 1.1 1997/10/10 10:16:55 pefo Exp $
+#
+# Copyright (c) 1994 Christopher G. Demetriou
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+# 3. All advertising materials mentioning features or use of this software
+# must display the following acknowledgement:
+# This product includes software developed by Christopher G. Demetriou.
+# 4. The name of the author may not be used to endorse or promote products
+# derived from this software without specific prior written permission
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+#
+
+PATH=/sbin:/bin:/usr/bin:/usr/sbin:/
+export PATH
+HOME=/
+export HOME
+
+umask 022
+
+if [ "X${DONEPROFILE}" = "X" ]; then
+ DONEPROFILE=YES
+
+ # set up some sane defaults
+ echo 'erase ^?, werase ^W, kill ^U, intr ^C'
+ stty newcrt werase ^W intr ^C kill ^U erase ^? 9600
+ echo ''
+
+ mount /dev/rd0a /
+
+ # mount the kern_fs so that we can examine the dmesg state
+ mount -t kernfs /kern /kern
+
+ # pull in the functions that people will use from the shell prompt.
+ . /.instutils
+
+ echo "Follow the installation directions to install or upgrade"
+ echo "the OpenBSD distribution sets."
+fi
diff --git a/distrib/powerpc/ramdisk/install.md b/distrib/powerpc/ramdisk/install.md
new file mode 100644
index 00000000000..88a82090821
--- /dev/null
+++ b/distrib/powerpc/ramdisk/install.md
@@ -0,0 +1,389 @@
+# $OpenBSD: install.md,v 1.1 1997/10/10 10:16:56 pefo Exp $
+#
+#
+# Copyright rc) 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"
+
+md_set_term() {
+ if [ ! -z "$TERM" ]; then
+ return
+ fi
+ echo -n "Specify terminal type [pc3]: "
+ getresp "pc3"
+ TERM="$resp"
+ export TERM
+}
+
+md_makerootwritable() {
+}
+
+md_machine_arch() {
+ cat /kern/machine
+}
+
+md_get_diskdevs() {
+ # return available disk devices
+ cat /kern/msgbuf | egrep "^[sw]d[0-9] " | cut -d" " -f1 | sort -u
+}
+
+md_get_cddevs() {
+ # return available CDROM devices
+ cat /kern/msgbuf | egrep "^a?cd[0-9] " | cut -d" " -f1 | sort -u
+}
+
+md_get_ifdevs() {
+ # return available network devices
+ cat /kern/msgbuf | egrep "^?de[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 in the msdos partition /dev/${1}i"
+ if mount -t msdos /dev/${1}i /mnt2 ; then
+# do the copy.....
+ umount /mnt2
+ else
+ echo "Failed, you will not be able to boot from /dev/${1}."
+ fi
+}
+
+md_native_fstype() {
+ echo "msdos"
+}
+
+md_native_fsopts() {
+ echo "ro"
+}
+
+md_init_mbr() {
+ # $1 is the disk to init
+ echo
+ echo "You will now be asked if you want to initialize the disk with a 5Mb"
+ echo "MSDOS partition. This is the recomended setup and will allow you to"
+ echo "store about three to four different bootable kernels on the disk."
+ echo "If you want to have a different setup, exit 'install' now and do"
+ echo "the MBR initialization by hand using the 'fdisk' program. You may"
+ echo "also use any vendor specific program to set up the disk. Consult"
+ echo "your ARC system manuals for doing setup this way."
+ echo
+ echo -n "Do you want to init the MBR and the MSDOS partition? [y]"
+ getresp "y"
+ case "$resp" in
+ n*|N*)
+ exit 0;;
+ *)
+ echo
+ echo "A MBR record with an OpenBSD usable partition table will now be copied"
+ echo "to your disk. Unless you have special requirements you will not need"
+ echo "to edit this MBR. After the MBR is copied an empty 5Mb MSDOS partition"
+ echo "will be created on the disk. You *MUST* setup the OpenBSD disklabel"
+ echo "to have a partition covering this MSDOS partition."
+ echo "You will probably see a few '...: no disk label' messages"
+ echo "It's completly normal. The disk has no label yet."
+ echo "This will take a minute or two..."
+ sleep 2
+ dd if=/usr/mdec/mbr of=/dev/r$1c >/dev/null 2>&1
+ gunzip < /usr/mdec/msdos5mb.gz | dd of=/dev/r$1c bs=512 seek=32 >/dev/null 2>&1
+ ;;
+ esac
+}
+
+md_checkfordisklabel() {
+ # $1 is the disk to check
+ local rval
+
+ echo
+ echo "Power.4e systems need a MBR and MSDOS partition on the boot disk."
+ echo "This is necessary because the OpenFirmware doesn't know nothing"
+ echo "about OpenBSD and have to boot the system from a BSD partition."
+ echo "Install will put a boot program with the name 'ofwboot' in there"
+ echo "that you later should use to boot OpenBSD."
+ echo
+ echo -n "Have initialized a MSDOS partition with OpenFirmware? [n]"
+ getresp "n"
+ case "$resp" in
+ n*|N*)
+ md_init_mbr $1;;
+ *)
+ echo
+ echo "You may keep your current setup if you want to be able to use any"
+ echo "already loaded OS. However you will be asked to prepare an empty"
+ echo "partition for OpenBSD later. There must also be ~0.5Mb free space"
+ echo "in the boot partition to hold the OpenBSD kernel boot."
+ echo "Also note that the boot partition must be included as partition"
+ echo "'i' in the OpenBSD disklabel."
+ echo
+ echo -n "Do You want to keep the current MSDOS partition setup? [y]"
+ getresp "y"
+ case "$resp" in
+ n*|N*)
+ md_init_mbr $1;;
+ *)
+ ;;
+ esac
+ ;;
+ esac
+
+
+ disklabel -r $1 > /dev/null 2> /tmp/checkfordisklabel
+ if grep "no disk label" /tmp/checkfordisklabel; then
+ rval=1
+ elif grep "disk label corrupted" /tmp/checkfordisklabel; then
+ rval=2
+ else
+ rval=0
+ fi
+
+ rm -f /tmp/checkfordisklabel
+ return $rval
+}
+
+md_prep_fdisk()
+{
+ local _disk
+ local _done
+
+ _disk=$1
+ echo
+ echo "This disk has not previously been used with OpenBSD. You may share"
+ echo "this disk with other operating systems." Anyhow, to be able to boot"
+ echo "the system you will need a small DOS partition in the begining of
+ echo "the disk to hold the kernel boot. This has been taken care of if"
+ echo "you choosed to do that initialization just before."
+ echo
+ echo "WARNING: Wrong information in the BIOS partition table might"
+ echo "render the disk unusable."
+
+ echo -n "Press [Enter] to continue "
+ getresp ""
+
+ echo
+ echo "Current partition information is:"
+ fdisk ${_disk}
+ echo -n "Press [Enter] to continue "
+ getresp ""
+
+ _done=0
+ while [ $_done = 0 ]; do
+ echo
+ cat << \__md_prep_fdisk_1
+
+An OpenBSD partition should have type 166 (A6), and should be the only
+partition marked as active. Also make sure that the size of the partition
+to be used by OpenBSD is correct, otherwise OpenBSD disklabel installation
+will fail. Furthermore, the partitions must NOT overlap each others. fdisk
+will be started in update mode, and you will be able to add this information
+as needed. If you make a mistake, exit fdisk without storing the new
+information, and you will be allowed to start over.
+__md_prep_fdisk_1
+ echo -n "Press [Enter] to continue "
+ getresp ""
+
+ fdisk -u ${_disk}
+
+ echo
+ echo "The new partition information is:"
+ fdisk ${_disk}
+
+ echo
+ echo "Is this information correct (if not, you will be permitted to "
+ echo -n "edit it again)? [n] "
+ getresp "n"
+
+ case "$resp" in
+ n*|N*) ;;
+ *) _done=1 ;;
+ esac
+ done
+
+ echo "Please take note of the offset and size of the OpenBSD partition"
+ echo "*AND* the MSDOS partitions you may want to access from OpenBSD."
+ echo "At least the MSDOS partition used for booting must be accessible"
+ echo "by OpenBSD as partition 'i'. You may need this information to "
+ echo "fill in the OpenBSD disk label later."
+ echo -n "Press [Enter] to continue "
+ getresp ""
+}
+
+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)
+ md_prep_fdisk ${_disk}
+ 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 may look like once
+you have entered the disklabel editor. Disk partition sizes and offsets
+are in sector (most likely 512 bytes) units. You may set these size/offset
+pairs on cylinder boundaries (the number of sector per cylinder is given
+in the `sectors/cylinder' entry, which is not shown here).
+Also, you *must* make sure that the 'i' partition points at the MSDOS
+partition that will be used for booting. The 'c' partition shall start
+at offset 0 and include the entire disk. This is most likely correct when
+you see the default label in the editor.
+
+Do not change any parameters except the partition layout and the label name.
+
+[Example]
+10 partitions:
+# size offset fstype [fsize bsize cpg]
+ a: 120832 10240 4.2BSD 1024 8192 16 # (Cyl. 11*- 142*)
+ b: 131072 131072 swap # (Cyl. 142*- 284*)
+ c: 6265200 0 unused 1024 8192 # (Cyl. 0 - 6809)
+ e: 781250 262144 4.2BSD 1024 8192 16 # (Cyl. 284*- 1134*)
+ f: 1205000 1043394 4.2BSD 1024 8192 16 # (Cyl. 1134*- 2443*)
+ g: 2008403 2248394 4.2BSD 1024 8192 16 # (Cyl. 2443*- 4626*)
+ h: 2008403 4256797 4.2BSD 1024 8192 16 # (Cyl. 4626*- 6809*)
+ i: 10208 32 MSDOS # (Cyl. 0*- 11*)
+[End of example]
+__md_prep_disklabel_1
+ echo -n "Press [Enter] to continue "
+ getresp ""
+ disklabel -W ${_disk}
+ disklabel ${_disk} >/tmp/label.$$
+ disklabel -r -R ${_disk} /tmp/label.$$
+ rm -f /tmp/label.$$
+ disklabel -e ${_disk}
+}
+
+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/PowerPC ${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/PowerPC ${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 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
+}
diff --git a/distrib/powerpc/ramdisk/list b/distrib/powerpc/ramdisk/list
new file mode 100644
index 00000000000..5981955ed78
--- /dev/null
+++ b/distrib/powerpc/ramdisk/list
@@ -0,0 +1,97 @@
+# $OpenBSD: list,v 1.1 1997/10/10 10:16:56 pefo Exp $
+
+SRCDIRS distrib/special
+SRCDIRS usr.bin bin sbin usr.sbin gnu/usr.bin
+SRCDIRS usr.bin/vi usr.sbin/pppd
+
+# copy the crunched binary, link to it, and kill it
+COPY ${OBJDIR}/instbin instbin
+LINK instbin bin/cat
+LINK instbin bin/chmod
+LINK instbin bin/cp
+LINK instbin bin/dd
+LINK instbin bin/df
+LINK instbin bin/ed
+LINK instbin bin/expr
+LINK instbin bin/hostname
+LINK instbin bin/ln
+LINK instbin bin/ls
+LINK instbin bin/mkdir
+LINK instbin bin/mt
+LINK instbin bin/mv
+LINK instbin bin/pax bin/tar bin/cpio
+LINK instbin bin/rm
+LINK instbin bin/pdksh bin/sh
+ARGVLINK pdksh -sh
+LINK instbin bin/sleep
+LINK instbin bin/stty
+LINK instbin bin/sync
+LINK instbin bin/test bin/[
+LINK instbin sbin/disklabel
+LINK instbin sbin/fdisk
+LINK instbin sbin/fsck sbin/fsck_ffs
+LINK instbin sbin/reboot sbin/halt
+LINK instbin sbin/ifconfig
+LINK instbin sbin/init
+LINK instbin sbin/mknod
+LINK instbin sbin/mount
+LINK instbin sbin/mount_cd9660
+LINK instbin sbin/mount_ffs
+LINK instbin sbin/mount_msdos
+LINK instbin sbin/mount_nfs
+LINK instbin sbin/mount_kernfs
+LINK instbin sbin/mount_ext2fs
+LINK instbin sbin/newfs sbin/mount_mfs
+LINK instbin sbin/ping
+LINK instbin sbin/restore
+LINK instbin sbin/route
+LINK instbin sbin/slattach
+LINK instbin sbin/scsi
+LINK instbin sbin/umount
+LINK instbin usr/bin/cut
+LINK instbin usr/bin/grep usr/bin/fgrep usr/bin/egrep
+LINK instbin usr/bin/ftp
+LINK instbin usr/bin/gzip usr/bin/gunzip usr/bin/gzcat
+LINK instbin usr/bin/less usr/bin/more
+LINK instbin usr/bin/rsh
+LINK instbin usr/bin/sed
+LINK instbin usr/bin/sort
+LINK instbin usr/bin/tip
+LINK instbin usr/sbin/chat
+LINK instbin usr/sbin/chown usr/sbin/chgrp
+LINK instbin usr/sbin/pppd
+SYMLINK ../../instbin usr/sbin/chown usr/bin/chgrp
+SYMLINK ../../instbin usr/bin/ftp
+SYMLINK ../../instbin usr/bin/gzip usr/bin/gunzip usr/bin/gzcat
+SYMLINK ../../instbin usr/bin/sed
+SYMLINK ../../instbin usr/bin/build usr/bin/vi
+
+# copy the MAKEDEV script and make some devices
+COPY ${DESTDIR}/dev/MAKEDEV dev/MAKEDEV
+SPECIAL cd dev; sh MAKEDEV ramdisk
+SPECIAL /bin/rm dev/MAKEDEV
+
+# we need the contents of /usr/mdec XXX needs to be fixed......
+#COPY ${DESTDIR}/usr/mdec/mbr usr/mdec/mbr
+#COPY ${DESTDIR}/usr/mdec/msdos5mb.gz usr/mdec/msdos5mb.gz
+
+# various files that we need in /etc for the install
+COPY ${DESTDIR}/etc/group etc/group
+COPY ${DESTDIR}/etc/protocols etc/protocols
+COPY ${DESTDIR}/etc/services etc/services
+COPY ${DESTDIR}/etc/spwd.db etc/spwd.db
+
+COPYDIR ${DESTDIR}/etc/ppp etc/ppp
+
+# and the common installation tools
+COPY ${TOPDIR}/inst-common/termcap.vt usr/share/misc/termcap
+COPY ${DESTDIR}/usr/share/misc/scsi_modes usr/share/misc/scsi_modes
+
+# and the installation tools
+COPY dot.profile .profile
+COPY dot.instutils .instutils
+COPY install.md install.md
+COPY ${CURDIR}/../../miniroot/install.sh install
+COPY ${CURDIR}/../../miniroot/upgrade.sh upgrade
+SPECIAL sed "/^VERSION=/s/=.*/=${REV}/" < ${CURDIR}/../../miniroot/install.sub > install.sub
+SPECIAL chmod 755 install
diff --git a/distrib/powerpc/ramdisk/mtree.conf b/distrib/powerpc/ramdisk/mtree.conf
new file mode 100644
index 00000000000..19a09111979
--- /dev/null
+++ b/distrib/powerpc/ramdisk/mtree.conf
@@ -0,0 +1,95 @@
+# $OpenBSD: mtree.conf,v 1.1 1997/10/10 10:16:56 pefo Exp $
+
+/set type=dir uname=root gname=wheel mode=0755
+# .
+.
+
+# ./bin
+bin
+# ./bin
+..
+
+# ./dev
+dev
+# ./dev
+..
+
+# ./etc
+etc
+
+# ./etc/ppp
+ppp
+# ./etc/ppp
+..
+
+# ./etc
+..
+
+# ./mnt
+mnt
+# ./mnt
+..
+
+# ./mnt2
+mnt2
+# ./mnt2
+..
+
+# ./kern
+kern
+# ./kern
+..
+
+# ./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
+..