diff options
-rw-r--r-- | distrib/macppc/ramdisk/install.md | 7 | ||||
-rw-r--r-- | distrib/mvmeppc/ramdisk/install.md | 321 |
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 } |