diff options
Diffstat (limited to 'distrib/macppc/ramdisk')
-rw-r--r-- | distrib/macppc/ramdisk/install.md | 35 |
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() { |