summaryrefslogtreecommitdiff
path: root/distrib/macppc/ramdisk
diff options
context:
space:
mode:
Diffstat (limited to 'distrib/macppc/ramdisk')
-rw-r--r--distrib/macppc/ramdisk/install.md35
1 files changed, 25 insertions, 10 deletions
diff --git a/distrib/macppc/ramdisk/install.md b/distrib/macppc/ramdisk/install.md
index 1c55eff41a5..d93f7b3a8eb 100644
--- a/distrib/macppc/ramdisk/install.md
+++ b/distrib/macppc/ramdisk/install.md
@@ -1,4 +1,4 @@
-# $OpenBSD: install.md,v 1.35 2009/01/15 17:53:57 todd Exp $
+# $OpenBSD: install.md,v 1.36 2009/04/10 23:11:17 krw Exp $
#
#
# Copyright (c) 1996 The NetBSD Foundation, Inc.
@@ -138,13 +138,17 @@ __EOT
}
md_prep_disklabel() {
- local _disk=$1 _q
+ local _disk=$1 _f _op
md_prep_disk $_disk
case $disklabeltype in
- HFS) ;;
- MBR) cat <<__EOT
+ HFS) return ;;
+ MBR) ;;
+ *) echo "$_disk has no HFS or MBR partition table." ; exit ;;
+ esac
+
+ cat <<__EOT
You *MUST* setup the OpenBSD disklabel to include the MSDOS-formatted boot
partition as the 'i' partition. If the 'i' partition is missing or not the
@@ -152,14 +156,25 @@ MSDOS-formatted boot partition, then the 'ofwboot' file required to boot
OpenBSD cannot be installed.
__EOT
- ;;
- *) echo "Disk label type ('$disklabeltype') is not 'HFS' or 'MBR'."
- exit
- ;;
- esac
disklabel -W $_disk >/dev/null 2>&1
- disklabel -c -f /tmp/fstab.$_disk -E $_disk
+ _f=/tmp/fstab.$_disk
+ if [[ $_disk == $ROOTDISK ]]; then
+ while :; do
+ echo "The auto-allocated layout for $_disk is:"
+ disklabel -f $_f -p g -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
+ disklabel -f $_f -E $_disk
}
md_congrats() {