summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--distrib/macppc/ramdisk/install.md7
-rw-r--r--distrib/mvmeppc/ramdisk/install.md321
2 files changed, 166 insertions, 162 deletions
diff --git a/distrib/macppc/ramdisk/install.md b/distrib/macppc/ramdisk/install.md
index 74da657d7f2..ad7511046ba 100644
--- a/distrib/macppc/ramdisk/install.md
+++ b/distrib/macppc/ramdisk/install.md
@@ -1,4 +1,4 @@
-# $OpenBSD: install.md,v 1.19 2003/03/02 16:09:55 krw Exp $
+# $OpenBSD: install.md,v 1.20 2003/09/19 02:40:11 krw Exp $
#
#
# Copyright (c) 1996 The NetBSD Foundation, Inc.
@@ -128,7 +128,7 @@ the Apple software, the "Unused" section must be changed to type "OpenBSD" name
then be edited normally.
WARNING: the MBR partitioning code will HAPPILY overwrite/destroy any HFS
- partitions on the disk, including the partition table. Choose the
+ partitions on the disk, including the partition table. Choose the
MBR option carefully, knowing this fact.
__EOT
@@ -172,7 +172,7 @@ __EOT
case $resp in
n*|N*) md_init_mbr $_disk;;
esac
- ;;
+ ;;
esac
disklabel -r $_disk > /dev/null 2> /tmp/checkfordisklabel
@@ -270,7 +270,6 @@ md_prep_disklabel() {
2) echo "WARNING: The disklabel on $_disk is invalid."
ask "Do you want to try and repair the damage using the disklabel editor?" y
;;
-
esac
case $resp in
diff --git a/distrib/mvmeppc/ramdisk/install.md b/distrib/mvmeppc/ramdisk/install.md
index 0b4b6fd70ed..7c45b5674ce 100644
--- a/distrib/mvmeppc/ramdisk/install.md
+++ b/distrib/mvmeppc/ramdisk/install.md
@@ -1,4 +1,4 @@
-# $OpenBSD: install.md,v 1.17 2003/08/16 20:37:24 krw Exp $
+# $OpenBSD: install.md,v 1.18 2003/09/19 02:40:11 krw Exp $
#
#
# Copyright (c) 1996 The NetBSD Foundation, Inc.
@@ -47,124 +47,135 @@ md_set_term() {
}
md_installboot() {
- if [[ $disklabeltype = "HFS" ]]
- then
- echo "the 'ofwboot' program needs to be copied to the first HFS partition"
- echo "of the disk to allow booting of OpenBSD"
- elif [[ $disklabeltype = "MBR" ]]
- then
- echo "Installing boot in the msdos partition /dev/${1}i"
- if mount -t msdos /dev/${1}i /mnt2 ; then
+ local _disk=$1
+
+ case $disklabeltype in
+ HFS) cat << __EOT
+The 'ofwboot' program needs to be copied to the first HFS partition of $_disk
+to allow booting of OpenBSD.
+__EOT
+ ;;
+
+ MBR) echo "Installing boot in the msdos partition ${_disk}i"
+ if mount -t msdos /dev/${_disk}i /mnt2 ; then
cp /usr/mdec/ofwboot /mnt2
umount /mnt2
else
- echo "Failed, you will not be able to boot from /dev/${1}."
+ echo "Failed, you will not be able to boot from $_disk."
fi
- fi
+ ;;
+ esac
}
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 1MB"
- echo "MSDOS partition. This is the recommended setup and will allow you to"
- echo "store the boot and other interesting things here."
- echo
- echo "If you want to have a different setup, exit 'install' now and do"
- echo "the MBR initialization by hand using the 'fdisk' program."
- echo
- echo "If you choose to manually setup the MSDOS partition, "
- echo "consult your PowerPC OpenFirmware manual -and- the"
- echo "PowerPC OpenBSD Installation Guide for doing setup this way."
- echo
- ask "Do you want to init the MBR and the MSDOS partition?" y
- case "$resp" in
- n*|N*) exit 0;;
- *) echo
- echo "An 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 1MB MSDOS partition"
- echo "will be created on the disk. You *MUST* setup the OpenBSD disklabel"
- echo "to have a partition include this MSDOS partition."
- echo "You will have an opportunity to do this shortly."
- echo
- echo "You will probably see a few '...: no disk label' messages"
- echo "It's completely normal. The disk has no label yet."
- echo "This will take a minute or two..."
- sleep 2
- echo -n "Creating Master Boot Record (MBR)..."
- fdisk -i -f /usr/mdec/mbr $1
- echo "done."
- echo -n "Copying 1MB MSDOS partition to disk..."
- gunzip < /usr/mdec/msdos1mb.gz | dd of=/dev/r$1c bs=512 seek=1 >/dev/null 2>&1
- echo "done."
- ;;
+ local _disk=$1
+
+ cat << __EOT
+
+You will now be asked if you want to initialize $_disk with a 1MB MSDOS
+partition. This is the recommended setup and will allow you to store the boot
+and other interesting things here.
+
+If you want to have a different setup, exit 'install' now and do the MBR
+initialization by hand using the 'fdisk' program.
+
+If you choose to manually setup the MSDOS partition, consult your PowerPC
+OpenFirmware manual -and- the PowerPC OpenBSD Installation Guide for doing
+setup this way.
+
+__EOT
+ ask "Do you want to initialize the MBR and the MSDOS partition?" y
+ case $resp in
+ n*|N*) exit 0 ;;
+ *) ;;
esac
-}
-md_init_hfs() {
- pdisk /dev/${1}c
+ cat << __EOT
+An MBR record with an OpenBSD usable partition table will now be copied to your
+disk. Unless you have special requirements, you will not need to edit this MBR.
+After the MBR is copied an empty 1MB MSDOS partition will be created on the
+disk. You *MUST* setup the OpenBSD disklabel to have a partition include this
+MSDOS partition. You will have an opportunity to do this shortly.
+
+You will probably see a few '...: no disk label' messages. It's completely
+normal. The disk has no label yet. This may take a minute or two...
+__EOT
+ sleep 2
+
+ echo -n "Creating Master Boot Record (MBR)..."
+ fdisk -i -f /usr/mdec/mbr $_disk
+ echo "done."
+
+ echo -n "Copying 1MB MSDOS partition to disk..."
+ gunzip < /usr/mdec/msdos1mb.gz | dd of=/dev/r${_disk}c bs=512 seek=1 >/dev/null 2>&1
+ echo "done."
}
+
md_checkfordisklabel() {
- # $1 is the disk to check
- local rval
-
- echo
- echo "Apple systems have two methods to label/partition a boot disk."
- echo "Either the disk can be partitioned with Apple HFS partition"
- echo "tools to contain an \"Unused\" partition, or without any"
- echo "MacOS tools, the disk can be labled using an MBR partition table"
- echo "If the HFS (DPME) partition table is used, after the disk is"
- echo "partitioned with the Apple software, the \"Unused\" section"
- echo "must be changed to type \"OpenBSD\" name \"OpenBSD\" using the"
- echo "pdisk tool contained on this ramdisk. The disklabel can"
- echo "then be edited normally"
- echo "WARNING: the MBR partitioning code will HAPPILY overwrite/destroy"
- echo "any HFS partitions on the disk, including the partition table."
- echo "Choose the MBR option carefully, knowing this fact."
-
- ask "Do you want to choose (H)FS labeling or (M)BR labeling?" H
- case "$resp" in
+ local rval _disk=$1
+
+ cat << __EOT
+
+Apple systems have two methods to label/partition a boot disk.
+
+Either the disk can be partitioned with Apple HFS partition tools to contain an
+"Unused" partition, or without any MacOS tools, the disk can be labeled using
+an MBR partition table.
+
+If the HFS (DPME) partition table is used, after the disk is partitioned with
+the Apple software, the "Unused" section must be changed to type "OpenBSD" name
+"OpenBSD" using the pdisk tool contained on this ramdisk. The disklabel can
+then be edited normally.
+
+WARNING: the MBR partitioning code will HAPPILY overwrite/destroy any HFS
+ partitions on the disk, including the partition table. Choose the
+ MBR option carefully, knowing this fact.
+__EOT
+
+ ask "Do you want to use (H)FS labeling or (M)BR labeling" H
+ case $resp in
m*|M*) export disklabeltype=MBR
- md_checkforMBRdisklabel $1
+ md_checkforMBRdisklabel $_disk
rval=$?
;;
*) export disklabeltype=HFS
- md_init_hfs $1
+ pdisk /dev/${_disk}c
rval=$?
;;
esac
return $rval
}
+
md_checkforMBRdisklabel() {
+ local _disk=$1
- echo "You have chosen to put a MBR disklabel on the disk."
- ask "Is this correct?" n
- case "$resp" in
+ ask "Are you *sure* you want to put a MBR disklabel on the disk?" n
+ case $resp in
n*|N*) echo "aborting install"
exit 0;;
esac
ask "Have you initialized an MSDOS partition using OpenFirmware?" 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 at least ~0.5MB free space"
- echo "in the boot partition to hold the OpenBSD bootloader."
- echo
- echo "Also note that the boot partition must be included as partition"
- echo "'i' in the OpenBSD disklabel."
- echo
+ case $resp in
+ n*|N*) md_init_mbr $_disk;;
+ *) cat << __EOT
+You may keep your current setup if you want to be able to use any already
+loaded OS. However you will be asked to prepare an empty partition for OpenBSD
+later. There must also be at least ~0.5MB free space in the boot partition to
+hold the OpenBSD bootloader.
+
+Also note that the boot partition must be included as partition 'i' in the
+OpenBSD disklabel.
+
+__EOT
ask "Do you want to keep the current MSDOS partition setup?" y
- case "$resp" in
- n*|N*) md_init_mbr $1;;
+ case $resp in
+ n*|N*) md_init_mbr $_disk;;
esac
;;
esac
- disklabel -r $1 > /dev/null 2> /tmp/checkfordisklabel
+ disklabel -r $_disk > /dev/null 2> /tmp/checkfordisklabel
if grep "no disk label" /tmp/checkfordisklabel; then
rval=1
elif grep "disk label corrupted" /tmp/checkfordisklabel; then
@@ -177,95 +188,91 @@ md_checkforMBRdisklabel() {
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. However, to be able to boot"
- echo "the system you will need a small DOS partition in the beginning of"
- echo "the disk to hold the kernel boot. OpenFirmware understands"
- echo "how to read an MSDOS style format from the disk."
- echo
- echo "This DOS style partitioning has been taken care of if"
- echo "you chose to do that initialization earlier in the install."
- echo
- echo "WARNING: Wrong information in the BIOS partition table might"
- echo "render the disk unusable."
+md_prep_fdisk() {
+ local _disk=$1
+
+ cat << __EOT
+
+This disk has not previously been used with OpenBSD. You may share this disk
+with other operating systems. However, to be able to boot the system you will
+need a small DOS partition in the beginning of the disk to hold the kernel
+boot. OpenFirmware understands how to read an MSDOS style format from the disk.
+
+This DOS style partitioning has been taken care of if you chose to do that
+initialization earlier in the install.
+
+WARNING: Wrong information in the BIOS partition table might render the disk
+ unusable.
+__EOT
ask "Press [Enter] to continue"
- echo
- echo "Current partition information is:"
- fdisk ${_disk}
+ echo "\nCurrent partition information is:"
+ fdisk $_disk
ask "Press [Enter] to continue"
- _done=0
- while [ $_done = 0 ]; do
- echo
+ while : ; do
cat << __EOT
-An OpenBSD partition should have type (i.d.) of 166 (A6), and should be the
+An OpenBSD partition should have a type (id) of 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.
+to be used by OpenBSD is correct, otherwise OpenBSD disklabel installation will
+fail. Furthermore, the partitions must NOT overlap each others.
+
+The fdisk utility will be started update mode (interactive.) You will be able
+to add / modify this information as needed. If you make a mistake, simply exit
+fdisk without storing the new information, and you will be allowed to start
+over.
-The fdisk utility will be started update mode (interactive.)
-You will be able to add / modify this information as needed.
-If you make a mistake, simply exit fdisk without storing the new
-information, and you will be allowed to start over.
__EOT
- echo
ask "Press [Enter] to continue"
- fdisk -e ${_disk}
+ fdisk -e $_disk
+ cat << __EOT
+
+The new partition information is:
- echo
- echo "The new partition information is:"
- fdisk ${_disk}
+$(fdisk $_disk)
- echo
- echo "(You will be permitted to edit this information again.)"
- echo "-------------------------------------------------------"
+(You will be permitted to edit this information again.)
+-------------------------------------------------------
+__EOT
ask "Is the above information correct?" n
- case "$resp" in
+ case $resp in
n*|N*) ;;
- *) _done=1 ;;
+ *) break ;;
esac
done
- echo
- 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."
+ cat << __EOT
+
+Please take note of the offset and size of the OpenBSD partition *AND* the
+MSDOS partitions you may want to access from OpenBSD. At least the MSDOS
+partition used for booting must be accessible by OpenBSD as partition 'i'. You
+may need this information to fill in the OpenBSD disklabel later.
+
+__EOT
ask "Press [Enter] to continue"
}
-md_prep_disklabel()
-{
- local _disk
+md_prep_disklabel() {
+ local _disk=$1
- _disk=$1
md_checkfordisklabel $_disk
case $? in
- 0) ask "Do you wish to edit the disklabel on $_disk?" y
+ 0) ask "Do you wish to edit the existing disklabel on $_disk?" y
;;
- 1) md_prep_fdisk ${_disk}
- echo "WARNING: Disk $_disk has no label"
+ 1) md_prep_fdisk $_disk
+ echo "WARNING: $_disk has no label"
ask "Do you want to create one with the disklabel editor?" y
;;
- 2) echo "WARNING: Label on disk $_disk is corrupted"
+ 2) echo "WARNING: The disklabel on $_disk is invalid."
ask "Do you want to try and repair the damage using the disklabel editor?" y
;;
esac
- case "$resp" in
+ case $resp in
y*|Y*) ;;
*) return ;;
esac
@@ -277,10 +284,10 @@ 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.
+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.
@@ -299,16 +306,14 @@ Do not change any parameters except the partition layout and the label name.
__EOT
ask "Press [Enter] to continue"
- if [[ $disklabeltype = "HFS" ]]
- then
- disklabel -c -f /tmp/fstab.${_disk} -E ${_disk}
- elif [[ $disklabeltype = "MBR" ]]
- then
- disklabel -W ${_disk}
- disklabel ${_disk} >/tmp/label.$$
- disklabel -r -R ${_disk} /tmp/label.$$
+ if [[ $disklabeltype == HFS ]]; then
+ disklabel -c -f /tmp/fstab.$_disk -E $_disk
+ elif [[ $disklabeltype == MBR ]]; then
+ disklabel -W $_disk
+ disklabel $_disk >/tmp/label.$$
+ disklabel -r -R $_disk /tmp/label.$$
rm -f /tmp/label.$$
- disklabel -f /tmp/fstab.${_disk} -E ${_disk}
+ disklabel -f /tmp/fstab.$_disk -E $_disk
else
echo "unknown disk label type"
fi
@@ -317,7 +322,7 @@ __EOT
md_congrats() {
cat << __EOT
-Once the machine has rebooted use Open Firmware to boot into OpenBSD,
-as described in the install document.
+Once the machine has rebooted use Open Firmware to boot into OpenBSD, as
+described in the install document.
__EOT
}