summaryrefslogtreecommitdiff
path: root/distrib/palm/ramdisk/install.md
diff options
context:
space:
mode:
authorMarek Vasut <marex@cvs.openbsd.org>2009-09-05 02:06:49 +0000
committerMarek Vasut <marex@cvs.openbsd.org>2009-09-05 02:06:49 +0000
commitd23dd4225fbb3647a87277ea3599a25e22e95388 (patch)
treea1ce1ca33afb905212e5e2c4df8aa94ea7c5ef7b /distrib/palm/ramdisk/install.md
parent496068838e25c8ac25d8a2dd751bf7af2fedc413 (diff)
Palm: initial commit of distrib/palm
OK deraadt@
Diffstat (limited to 'distrib/palm/ramdisk/install.md')
-rw-r--r--distrib/palm/ramdisk/install.md137
1 files changed, 137 insertions, 0 deletions
diff --git a/distrib/palm/ramdisk/install.md b/distrib/palm/ramdisk/install.md
new file mode 100644
index 00000000000..b98be612553
--- /dev/null
+++ b/distrib/palm/ramdisk/install.md
@@ -0,0 +1,137 @@
+# $OpenBSD: install.md,v 1.1 2009/09/05 02:06:48 marex 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.
+#
+# 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.
+#
+
+MDXDM=y
+
+md_installboot() {
+}
+
+md_prep_fdisk() {
+ local _disk=$1 _q _d
+
+ while :; do
+ _d=whole
+ if [[ -n $(fdisk $_disk | grep 'Signature: 0xAA55') ]]; then
+ fdisk $_disk
+ if [[ -n $(fdisk $_disk | grep '^..: A6 ') ]]; then
+ _q=", use the (O)penBSD area,"
+ _d=OpenBSD
+ fi
+ else
+ echo "MBR has invalid signature; not showing it."
+ fi
+ ask "Use (W)hole disk$_q or (E)dit the MBR?" "$_d"
+ case $resp in
+ w*|W*)
+ echo -n "Setting OpenBSD MBR partition to whole $_disk..."
+ fdisk -e ${_disk} <<__EOT >/dev/null
+reinit
+update
+write
+quit
+__EOT
+ echo "done."
+ return ;;
+ e*|E*)
+ # Manually configure the MBR.
+ cat <<__EOT
+
+You will now create a single MBR partition to contain your OpenBSD data. This
+partition must have an id of 'A6'; must *NOT* overlap other partitions; and
+must be marked as the only active partition. Inside the fdisk command, the
+'manual' command describes all the fdisk commands in detail.
+
+$(fdisk ${_disk})
+__EOT
+ fdisk -e ${_disk}
+ [[ -n $(fdisk $_disk | grep ' A6 ') ]] && return
+ echo No OpenBSD partition in MBR, try again. ;;
+ o*|O*) return ;;
+ esac
+ done
+}
+
+md_prep_disklabel() {
+ local _disk=$1 _f _op
+
+ md_prep_fdisk $_disk
+
+ disklabel -W $_disk >/dev/null 2>&1
+ _f=/tmp/fstab.$_disk
+ if [[ $_disk == $ROOTDISK ]]; then
+ while :; do
+ echo "The auto-allocated layout for $_disk is:"
+ disklabel -h -A $_disk | egrep "^# |^ [a-p]:"
+ ask "Use (A)uto layout, (E)dit auto layout, or create (C)ustom layout?" a
+ case $resp in
+ a*|A*) _op=-w ; AUTOROOT=y ;;
+ e*|E*) _op=-E ;;
+ c*|C*) break ;;
+ *) continue ;;
+ esac
+ disklabel -f $_f $_op -A $_disk
+ return
+ done
+ fi
+
+ cat <<__EOT
+
+You will now create an OpenBSD disklabel inside the OpenBSD MBR
+partition. The disklabel defines how OpenBSD splits up the MBR partition
+into OpenBSD partitions in which filesystems and swap space are created.
+You must provide each filesystem's mountpoint in this program.
+
+The offsets used in the disklabel are ABSOLUTE, i.e. relative to the
+start of the disk, NOT the start of the OpenBSD MBR partition.
+
+__EOT
+
+ disklabel -f $_f -E $_disk
+}
+
+md_congrats() {
+}
+
+md_consoleinfo() {
+ local _u _d=com
+
+ for _u in $(scan_dmesg "/^$_d\([0-9]\) .*/s//\1/p"); do
+ if [[ $_d$_u == $CONSOLE || -z $CONSOLE ]]; then
+ CDEV=$_d$_u
+ CPROM=com$_u
+ CTTY=tty0$_u
+ return
+ fi
+ done
+}