diff options
author | Dale Rahn <drahn@cvs.openbsd.org> | 2004-02-02 21:01:20 +0000 |
---|---|---|
committer | Dale Rahn <drahn@cvs.openbsd.org> | 2004-02-02 21:01:20 +0000 |
commit | 0b1d7a45dde482cf9f9f5cd80e8ad4d9dd0a1e56 (patch) | |
tree | eb941e70823228c37bafa6671fe2d14b07084329 /distrib | |
parent | 2c2562bfae4fe214117a9145bb995dad97da3f69 (diff) |
dont let files patch themselves into existance multiple time, and use
the correct version.
Diffstat (limited to 'distrib')
-rw-r--r-- | distrib/cats/ramdisk/Makefile | 211 | ||||
-rw-r--r-- | distrib/cats/ramdisk/Makefile.inc | 10 | ||||
-rw-r--r-- | distrib/cats/ramdisk/install.md | 572 | ||||
-rw-r--r-- | distrib/cats/ramdisk/list | 172 |
4 files changed, 8 insertions, 957 deletions
diff --git a/distrib/cats/ramdisk/Makefile b/distrib/cats/ramdisk/Makefile index 26e79d441c5..fb2ea9f6c1e 100644 --- a/distrib/cats/ramdisk/Makefile +++ b/distrib/cats/ramdisk/Makefile @@ -1,4 +1,4 @@ -# $OpenBSD: Makefile,v 1.1 2004/02/01 05:15:48 drahn Exp $ +# $OpenBSD: Makefile,v 1.2 2004/02/02 21:01:19 drahn Exp $ REV= ${OSrev} @@ -103,212 +103,3 @@ beforeinstall: .include <bsd.obj.mk> .include <bsd.subdir.mk> -# $OpenBSD: Makefile,v 1.1 2004/02/01 05:15:48 drahn Exp $ - -REV= ${OSrev} - -TOP= ${.CURDIR}/.. - -BSD_RD= bsd.rd -IMAGE= mr.fs -CBIN?= instbin -CRUNCHCONF?= ${CBIN}.conf -CRUNCHCONFS?= ${.CURDIR}/../common/crunch.conf -LISTS= ${.CURDIR}/list -UTILS?= ${.CURDIR}/../../miniroot - -MOUNT_POINT= /mnt -MTREE= ${UTILS}/mtree.conf - -VND?= svnd0 -VND_DEV= /dev/${VND}a -VND_RDEV= /dev/r${VND}a -VND_CRDEV= /dev/r${VND}c -PID!= echo $$$$ - - -DISKTYPE= rdrootcats -NBLKS= 8192 -# minfree, opt, b/i trks, sects, cpg -NEWFSARGS= -m 0 -o space -c 16 -i 4096 - -.ifndef DESTDIR -all ${IMAGE}: - @echo setenv DESTDIR before making a ramdisk! - @false -.else - -# mix config is not needed. -all: ${BSD_RD} - -${BSD_RD}: ${CBIN} ${IMAGE} bsd rdsetroot - cp bsd ${BSD_RD} - ${.OBJDIR}/rdsetroot ${BSD_RD} < ${IMAGE} - -${IMAGE}: rd_setup do_files rd_teardown - -.endif - -bsd: - cd ${TOP}/../../sys/arch/cats/conf && config RAMDISK - cd ${TOP}/../../sys/arch/cats/compile/RAMDISK && \ - make clean && make depend && make - cp ${TOP}/../../sys/arch/cats/compile/RAMDISK/bsd bsd - -rd_setup: - dd if=/dev/zero of=${IMAGE} bs=512 count=${NBLKS} - vnconfig -v -c ${VND} ${IMAGE} - disklabel -w -r ${VND} ${DISKTYPE} - newfs ${NEWFSARGS} ${VND_RDEV} - fsck ${VND_RDEV} - mount ${VND_DEV} ${MOUNT_POINT} - -rd_teardown: - @df -i ${MOUNT_POINT} - -umount ${MOUNT_POINT} - -vnconfig -u ${VND} - -rdsetroot: ${TOP}/../common/elfrdsetroot.c - ${HOSTCC} -DDEBUG -o rdsetroot ${TOP}/../common/elfrdsetroot.c - -unconfig: - -umount -f ${MOUNT_POINT} - -vnconfig -u ${VND} - -.PRECIOUS: ${IMAGE} - -install: - cp ${BSD_RD} cd${REV}.iso ${DESTDIR}/snapshot/ - -${CBIN}.mk ${CBIN}.cache ${CBIN}.c: ${CRUNCHCONF} - crunchgen -E -D ${.CURDIR}/../../.. -L ${DESTDIR}/usr/lib ${.ALLSRC} - -${CBIN}: ${CBIN}.mk ${CBIN}.cache ${CBIN}.c - make -f ${CBIN}.mk all - -${CRUNCHCONF}: ${LISTS} - awk -f ${UTILS}/makeconf.awk CBIN=${CBIN} ${LISTS} > ${CBIN}.conf - -do_files: - mtree -def ${MTREE} -p ${MOUNT_POINT}/ -u - TOPDIR=${TOP} CURDIR=${.CURDIR} OBJDIR=${.OBJDIR} \ - REV=${REV} TARGDIR=${MOUNT_POINT} UTILS=${UTILS} \ - sh ${TOP}/../miniroot/runlist.sh ${LISTS} - rm ${MOUNT_POINT}/${CBIN} - -clean cleandir: - /bin/rm -f core ${IMAGE} ${CBIN} ${CBIN}.mk ${CBIN}.cache \ - *.o *.lo *.c bsd ${BSD_RD} cd${REV}.iso \ - rdsetroot - rm -f instbin.conf - rm -rf cd-dir - -beforeinstall: - cp ${BSD.RD} cd${REV}.iso ${DESTDIR}/snapshot - -.include <bsd.obj.mk> -.include <bsd.subdir.mk> -# $OpenBSD: Makefile,v 1.1 2004/02/01 05:15:48 drahn Exp $ - -REV= ${OSrev} - -TOP= ${.CURDIR}/.. - -BSD_RD= bsd.rd -IMAGE= mr.fs -CBIN?= instbin -CRUNCHCONF?= ${CBIN}.conf -CRUNCHCONFS?= ${.CURDIR}/../common/crunch.conf -LISTS= ${.CURDIR}/list -UTILS?= ${.CURDIR}/../../miniroot - -MOUNT_POINT= /mnt -MTREE= ${UTILS}/mtree.conf - -VND?= svnd0 -VND_DEV= /dev/${VND}a -VND_RDEV= /dev/r${VND}a -VND_CRDEV= /dev/r${VND}c -PID!= echo $$$$ - - -DISKTYPE= rdroot -NBLKS= 8192 -# minfree, opt, b/i trks, sects, cpg -NEWFSARGS= -m 0 -o space -c 16 -i 4096 - -.ifndef DESTDIR -all ${IMAGE}: - @echo setenv DESTDIR before making a ramdisk! - @false -.else - -# mix config is not needed. -all: ${BSD_RD} - -${BSD_RD}: ${CBIN} ${IMAGE} bsd rdsetroot - cp bsd ${BSD_RD} - ${.OBJDIR}/rdsetroot ${BSD_RD} < ${IMAGE} - -${IMAGE}: rd_setup do_files rd_teardown - -.endif - -bsd: - cd ${TOP}/../../sys/arch/cats/conf && config RAMDISK - cd ${TOP}/../../sys/arch/cats/compile/RAMDISK && \ - make clean && make depend && make - cp ${TOP}/../../sys/arch/cats/compile/RAMDISK/bsd bsd - -rd_setup: - dd if=/dev/zero of=${IMAGE} bs=512 count=${NBLKS} - vnconfig -v -c ${VND} ${IMAGE} - disklabel -w -r ${VND} ${DISKTYPE} - newfs ${NEWFSARGS} ${VND_RDEV} - fsck ${VND_RDEV} - mount ${VND_DEV} ${MOUNT_POINT} - -rd_teardown: - @df -i ${MOUNT_POINT} - -umount ${MOUNT_POINT} - -vnconfig -u ${VND} - -rdsetroot: ${TOP}/../common/elfrdsetroot.c - ${HOSTCC} -DDEBUG -o rdsetroot ${TOP}/../common/elfrdsetroot.c - -unconfig: - -umount -f ${MOUNT_POINT} - -vnconfig -u ${VND} - -.PRECIOUS: ${IMAGE} - -install: - cp ${BSD_RD} cd${REV}.iso ${DESTDIR}/snapshot/ - -${CBIN}.mk ${CBIN}.cache ${CBIN}.c: ${CRUNCHCONF} - crunchgen -E -D ${.CURDIR}/../../.. -L ${DESTDIR}/usr/lib ${.ALLSRC} - -${CBIN}: ${CBIN}.mk ${CBIN}.cache ${CBIN}.c - make -f ${CBIN}.mk all - -${CRUNCHCONF}: ${LISTS} - awk -f ${UTILS}/makeconf.awk CBIN=${CBIN} ${LISTS} > ${CBIN}.conf - -do_files: - mtree -def ${MTREE} -p ${MOUNT_POINT}/ -u - TOPDIR=${TOP} CURDIR=${.CURDIR} OBJDIR=${.OBJDIR} \ - REV=${REV} TARGDIR=${MOUNT_POINT} UTILS=${UTILS} \ - sh ${TOP}/../miniroot/runlist.sh ${LISTS} - rm ${MOUNT_POINT}/${CBIN} - -clean cleandir: - /bin/rm -f core ${IMAGE} ${CBIN} ${CBIN}.mk ${CBIN}.cache \ - *.o *.lo *.c bsd ${BSD_RD} cd${REV}.iso \ - rdsetroot - rm -rf cd-dir - -beforeinstall: - cp ${BSD.RD} cd${REV}.iso ${DESTDIR}/snapshot - -.include <bsd.obj.mk> -.include <bsd.subdir.mk> diff --git a/distrib/cats/ramdisk/Makefile.inc b/distrib/cats/ramdisk/Makefile.inc index 74570801ef2..f20aa0580d0 100644 --- a/distrib/cats/ramdisk/Makefile.inc +++ b/distrib/cats/ramdisk/Makefile.inc @@ -1,12 +1,4 @@ -# $OpenBSD: Makefile.inc,v 1.1 2004/02/01 05:15:48 drahn Exp $ - -CRUNCHGENOPTS= -E - -# $OpenBSD: Makefile.inc,v 1.1 2004/02/01 05:15:48 drahn Exp $ - -CRUNCHGENOPTS= -E - -# $OpenBSD: Makefile.inc,v 1.1 2004/02/01 05:15:48 drahn Exp $ +# $OpenBSD: Makefile.inc,v 1.2 2004/02/02 21:01:19 drahn Exp $ CRUNCHGENOPTS= -E diff --git a/distrib/cats/ramdisk/install.md b/distrib/cats/ramdisk/install.md index 2e718155a55..c593b4727e9 100644 --- a/distrib/cats/ramdisk/install.md +++ b/distrib/cats/ramdisk/install.md @@ -1,4 +1,4 @@ -# $OpenBSD: install.md,v 1.1 2004/02/01 05:15:48 drahn Exp $ +# $OpenBSD: install.md,v 1.2 2004/02/02 21:01:19 drahn Exp $ # # # Copyright (c) 1996 The NetBSD Foundation, Inc. @@ -70,567 +70,16 @@ md_prep_disk() { cat << __EOT -$_disk must be partitioned using an HFS or an MBR partition table. - -HFS partition tables are created with MacOS. Existing partitions in the HFS -partition table can be modified by OpenBSD for use by OpenBSD. - -MBR partition tables are created with OpenBSD. MacOS *cannot* be booted from a -disk partitioned with an MBR partition table. - -__EOT - - while : ; do - ask "Use HFS or MBR partition table?" HFS - _resp=$resp - case $_resp in - m|mbr) export disklabeltype=MBR - md_prep_MBR $_disk - break - ;; - h|hfs) export disklabeltype=HFS - md_prep_HFS $_disk - break - ;; - esac - done -} - -md_prep_MBR() { - local _disk=$1 - - if [[ -n $(disklabel -c $_disk 2>/dev/null | grep ' HFS ') ]]; then - cat << __EOT - -WARNING: putting an MBR partition table on $_disk will DESTROY the existing HFS - partitions and HFS partition table. - -__EOT - ask_yn "Are you *sure* you want an MBR partition table on $_disk?" - [[ $resp == n ]] && exit - fi - - ask_yn "Use *all* of $_disk for OpenBSD?" - if [[ $resp == y ]]; then - echo -n "Creating Master Boot Record (MBR)..." - fdisk -e $_disk >/dev/null 2>&1 << __EOT -reinit -update -write -quit -__EOT - echo "done." - - echo -n "Formatting 1MB MSDOS boot partition..." - gunzip < /usr/mdec/msdos1mb.gz | \ - dd of=/dev/r${_disk}c bs=512 seek=1 >/dev/null 2>&1 - echo "done." - - return - fi - - # Manual MBR setup. The user is basically on their own. Give a few - # hints and let the user rip. - cat << __EOT - -**** NOTE **** - -A valid MBR for an OpenBSD bootable disk must contain at least: - -a) One DOS (id '06') partition at least 1MB in size. This is where OpenFirmware -will look for the 'ofwboot' program used to boot OpenBSD. Consult your PowerPC -OpenFirmware manual -and- the INSTALL.$ARCH file for directions on setting up -this partition correctly. - -b) One OpenBSD (id 'A6') partition. - -************** - -Current partition information is: - -$(fdisk $_disk) - -__EOT - - fdisk -e $_disk - - cat << __EOT -Here is the MBR configuration you chose: - -$(fdisk $_disk) - -Please take note of the offsets and sizes of the DOS partition, the OpenBSD -partition, and any other partitions you want to access from OpenBSD. You will -need this information to fill in the OpenBSD disklabel. - -__EOT -} - -md_prep_HFS() { - local _disk=$1 - - cat << __EOT - -You must modify an existing partition to be of type "OpenBSD" and have the name -"OpenBSD". If the partition does not exist you must create it with the Apple -MacOS tools before attempting to install OpenBSD. - -__EOT - - #pdisk /dev/${_disk}c -} - -md_prep_disklabel() { - local _disk=$1 _q - - md_prep_disk $_disk - - case $disklabeltype in - HFS) ;; - MBR) 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 -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 -} - -md_congrats() { - if [[ $disklabeltype == HFS ]]; then - cat << __EOT - -To boot OpenBSD, the 'ofwboot' program must be present in the first HFS -partition of $ROOTDISK. If it is not currently present you must boot MacOS and -use MacOS tools to copy it from the OpenBSD install media. Then reboot the -machine. -__EOT - fi - - cat << __EOT - -Once the machine has rebooted use OpenFirmware to boot into OpenBSD, as -described in the INSTALL.$ARCH document. The command to boot OpenBSD will be -something like 'boot hd:,ofwboot /bsd'. - -__EOT -} -# $OpenBSD: install.md,v 1.1 2004/02/01 05:15:48 drahn 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. -# 3. All advertising materials mentioning features or use of this software -# must display the following acknowledgement: -# This product includes software developed by the NetBSD -# Foundation, Inc. and its contributors. -# 4. Neither the name of The NetBSD Foundation nor the names of its -# contributors may be used to endorse or promote products derived -# from this software without specific prior written permission. -# -# 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. -# - -MDFSTYPE=msdos -MDXAPERTURE=2 -ARCH=ARCH - -md_set_term() { -} - -md_installboot() { - local _disk=$1 - - [[ $disklabeltype == MBR ]] || return - - echo -n "Copying 'ofwboot' to the boot partition (${_disk}i)..." - if mount -t msdos /dev/${_disk}i /mnt2 ; then - if cp /usr/mdec/ofwboot /mnt2; then - umount /mnt2 - echo "done." - return - fi - fi - - echo "FAILED.\nYou will not be able to boot OpenBSD from $_disk." - exit -} - -md_prep_disk() { - local _disk=$1 _resp - typeset -l _resp - - cat << __EOT - -$_disk must be partitioned using an HFS or an MBR partition table. - -HFS partition tables are created with MacOS. Existing partitions in the HFS -partition table can be modified by OpenBSD for use by OpenBSD. - -MBR partition tables are created with OpenBSD. MacOS *cannot* be booted from a -disk partitioned with an MBR partition table. - -__EOT - - while : ; do - ask "Use HFS or MBR partition table?" HFS - _resp=$resp - case $_resp in - m|mbr) export disklabeltype=MBR - md_prep_MBR $_disk - break - ;; - h|hfs) export disklabeltype=HFS - md_prep_HFS $_disk - break - ;; - esac - done -} - -md_prep_MBR() { - local _disk=$1 - - if [[ -n $(disklabel -c $_disk 2>/dev/null | grep ' HFS ') ]]; then - cat << __EOT - -WARNING: putting an MBR partition table on $_disk will DESTROY the existing HFS - partitions and HFS partition table. - -__EOT - ask_yn "Are you *sure* you want an MBR partition table on $_disk?" - [[ $resp == n ]] && exit - fi - - ask_yn "Use *all* of $_disk for OpenBSD?" - if [[ $resp == y ]]; then - echo -n "Creating Master Boot Record (MBR)..." - fdisk -e $_disk >/dev/null 2>&1 << __EOT -reinit -update -write -quit -__EOT - echo "done." - - echo -n "Formatting 1MB MSDOS boot partition..." - gunzip < /usr/mdec/msdos1mb.gz | \ - dd of=/dev/r${_disk}c bs=512 seek=1 >/dev/null 2>&1 - echo "done." - - return - fi - - # Manual MBR setup. The user is basically on their own. Give a few - # hints and let the user rip. - cat << __EOT - -**** NOTE **** - -A valid MBR for an OpenBSD bootable disk must contain at least: - -a) One DOS (id '06') partition at least 1MB in size. This is where OpenFirmware -will look for the 'ofwboot' program used to boot OpenBSD. Consult your PowerPC -OpenFirmware manual -and- the INSTALL.$ARCH file for directions on setting up -this partition correctly. - -b) One OpenBSD (id 'A6') partition. - -************** - -Current partition information is: - -$(fdisk $_disk) - -__EOT - - fdisk -e $_disk - - cat << __EOT -Here is the MBR configuration you chose: - -$(fdisk $_disk) - -Please take note of the offsets and sizes of the DOS partition, the OpenBSD -partition, and any other partitions you want to access from OpenBSD. You will -need this information to fill in the OpenBSD disklabel. - -__EOT -} - -md_prep_HFS() { - local _disk=$1 - - cat << __EOT - -You must modify an existing partition to be of type "OpenBSD" and have the name -"OpenBSD". If the partition does not exist you must create it with the Apple -MacOS tools before attempting to install OpenBSD. - -__EOT - - #pdisk /dev/${_disk}c -} - -md_prep_disklabel() { - local _disk=$1 _q - - md_prep_disk $_disk - - case $disklabeltype in - HFS) ;; - MBR) 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 -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 -} - -md_congrats() { - if [[ $disklabeltype == HFS ]]; then - cat << __EOT - -To boot OpenBSD, the 'ofwboot' program must be present in the first HFS -partition of $ROOTDISK. If it is not currently present you must boot MacOS and -use MacOS tools to copy it from the OpenBSD install media. Then reboot the -machine. -__EOT - fi - - cat << __EOT - -Once the machine has rebooted use OpenFirmware to boot into OpenBSD, as -described in the INSTALL.$ARCH document. The command to boot OpenBSD will be -something like 'boot hd:,ofwboot /bsd'. - -__EOT -} -# $OpenBSD: install.md,v 1.1 2004/02/01 05:15:48 drahn 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. -# 3. All advertising materials mentioning features or use of this software -# must display the following acknowledgement: -# This product includes software developed by the NetBSD -# Foundation, Inc. and its contributors. -# 4. Neither the name of The NetBSD Foundation nor the names of its -# contributors may be used to endorse or promote products derived -# from this software without specific prior written permission. -# -# 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. -# - -MDFSTYPE=msdos -MDXAPERTURE=2 -ARCH=ARCH - -md_set_term() { -} - -md_installboot() { - local _disk=$1 - - [[ $disklabeltype == MBR ]] || return - - echo -n "Copying 'ofwboot' to the boot partition (${_disk}i)..." - if mount -t msdos /dev/${_disk}i /mnt2 ; then - if cp /usr/mdec/ofwboot /mnt2; then - umount /mnt2 - echo "done." - return - fi - fi - - echo "FAILED.\nYou will not be able to boot OpenBSD from $_disk." - exit -} - -md_prep_disk() { - local _disk=$1 _resp - typeset -l _resp - - cat << __EOT - -$_disk must be partitioned using an HFS or an MBR partition table. - -HFS partition tables are created with MacOS. Existing partitions in the HFS -partition table can be modified by OpenBSD for use by OpenBSD. +$_disk must be partitioned using an MBR partition table. MBR partition tables are created with OpenBSD. MacOS *cannot* be booted from a disk partitioned with an MBR partition table. __EOT - while : ; do - ask "Use HFS or MBR partition table?" HFS - _resp=$resp - case $_resp in - m|mbr) export disklabeltype=MBR - md_prep_MBR $_disk - break - ;; - h|hfs) export disklabeltype=HFS - md_prep_HFS $_disk - break - ;; - esac - done + md_prep_MBR $_disk } -md_prep_MBR() { - local _disk=$1 - - if [[ -n $(disklabel -c $_disk 2>/dev/null | grep ' HFS ') ]]; then - cat << __EOT - -WARNING: putting an MBR partition table on $_disk will DESTROY the existing HFS - partitions and HFS partition table. - -__EOT - ask_yn "Are you *sure* you want an MBR partition table on $_disk?" - [[ $resp == n ]] && exit - fi - - ask_yn "Use *all* of $_disk for OpenBSD?" - if [[ $resp == y ]]; then - echo -n "Creating Master Boot Record (MBR)..." - fdisk -e $_disk >/dev/null 2>&1 << __EOT -reinit -update -write -quit -__EOT - echo "done." - - echo -n "Formatting 1MB MSDOS boot partition..." - gunzip < /usr/mdec/msdos1mb.gz | \ - dd of=/dev/r${_disk}c bs=512 seek=1 >/dev/null 2>&1 - echo "done." - - return - fi - - # Manual MBR setup. The user is basically on their own. Give a few - # hints and let the user rip. - cat << __EOT - -**** NOTE **** - -A valid MBR for an OpenBSD bootable disk must contain at least: - -a) One DOS (id '06') partition at least 1MB in size. This is where OpenFirmware -will look for the 'ofwboot' program used to boot OpenBSD. Consult your PowerPC -OpenFirmware manual -and- the INSTALL.$ARCH file for directions on setting up -this partition correctly. - -b) One OpenBSD (id 'A6') partition. - -************** - -Current partition information is: - -$(fdisk $_disk) - -__EOT - - fdisk -e $_disk - - cat << __EOT -Here is the MBR configuration you chose: - -$(fdisk $_disk) - -Please take note of the offsets and sizes of the DOS partition, the OpenBSD -partition, and any other partitions you want to access from OpenBSD. You will -need this information to fill in the OpenBSD disklabel. - -__EOT -} - -md_prep_HFS() { - local _disk=$1 - - cat << __EOT - -You must modify an existing partition to be of type "OpenBSD" and have the name -"OpenBSD". If the partition does not exist you must create it with the Apple -MacOS tools before attempting to install OpenBSD. - -__EOT - - pdisk /dev/${_disk}c -} md_prep_disklabel() { local _disk=$1 _q @@ -638,7 +87,6 @@ md_prep_disklabel() { md_prep_disk $_disk case $disklabeltype in - HFS) ;; MBR) cat << __EOT You *MUST* setup the OpenBSD disklabel to include the MSDOS-formatted boot @@ -648,7 +96,7 @@ OpenBSD cannot be installed. __EOT ;; - *) echo "Disk label type ('$disklabeltype') is not 'HFS' or 'MBR'." + *) echo "Disk label type ('$disklabeltype') is not 'MBR'." exit ;; esac @@ -658,21 +106,11 @@ __EOT } md_congrats() { - if [[ $disklabeltype == HFS ]]; then - cat << __EOT - -To boot OpenBSD, the 'ofwboot' program must be present in the first HFS -partition of $ROOTDISK. If it is not currently present you must boot MacOS and -use MacOS tools to copy it from the OpenBSD install media. Then reboot the -machine. -__EOT - fi - cat << __EOT Once the machine has rebooted use OpenFirmware to boot into OpenBSD, as described in the INSTALL.$ARCH document. The command to boot OpenBSD will be -something like 'boot hd:,ofwboot /bsd'. +something like 'boot (hd0)bsd'. __EOT } diff --git a/distrib/cats/ramdisk/list b/distrib/cats/ramdisk/list index 947c01196e9..8175bd773fe 100644 --- a/distrib/cats/ramdisk/list +++ b/distrib/cats/ramdisk/list @@ -1,4 +1,4 @@ -# $OpenBSD: list,v 1.1 2004/02/01 05:15:48 drahn Exp $ +# $OpenBSD: list,v 1.2 2004/02/02 21:01:19 drahn Exp $ SRCDIRS distrib/special SRCDIRS gnu/usr.bin usr.bin bin sbin usr.sbin @@ -81,173 +81,3 @@ SCRIPT ${CURDIR}/../../miniroot/upgrade.sh upgrade SCRIPT ${CURDIR}/../../miniroot/install.sh install SCRIPT ${CURDIR}/../../miniroot/install.sub install.sub SPECIAL chmod 755 install upgrade sbin/dhclient-script -# $OpenBSD: list,v 1.1 2004/02/01 05:15:48 drahn Exp $ - -SRCDIRS distrib/special -SRCDIRS gnu/usr.bin usr.bin bin sbin usr.sbin - -# copy the crunched binary, link to it, and kill it -COPY ${OBJDIR}/instbin instbin -LINK instbin bin/cat -LINK instbin bin/chmod bin/chgrp sbin/chown -LINK instbin bin/cp -LINK instbin bin/dd -LINK instbin bin/df -LINK instbin bin/ed -LINK instbin bin/expr -LINK instbin bin/hostname -LINK instbin bin/ln -LINK instbin bin/ls -LINK instbin bin/mkdir -LINK instbin bin/mt bin/eject -LINK instbin bin/mv -LINK instbin bin/pax bin/tar bin/cpio -LINK instbin bin/rm -LINK instbin bin/ksh bin/sh -ARGVLINK ksh -sh -LINK instbin bin/sleep -LINK instbin bin/stty -LINK instbin bin/sync -LINK instbin bin/test bin/[ -LINK instbin sbin/disklabel -LINK instbin sbin/fdisk -LINK instbin sbin/fsck_ffs sbin/fsck -LINK instbin sbin/fsck_ext2fs -LINK instbin sbin/reboot sbin/halt -LINK instbin sbin/ifconfig -LINK instbin sbin/init -LINK instbin sbin/dhclient -LINK instbin sbin/dmesg -LINK instbin sbin/mknod -LINK instbin sbin/mount -LINK instbin sbin/mount_cd9660 -LINK instbin sbin/mount_ffs -LINK instbin sbin/mount_msdos -LINK instbin sbin/mount_nfs -LINK instbin sbin/mount_ext2fs -LINK instbin sbin/newfs -LINK instbin sbin/newfs_msdos -LINK instbin sbin/ping -LINK instbin sbin/ping6 -LINK instbin sbin/route -LINK instbin sbin/rtsol -LINK instbin sbin/umount -LINK instbin sbin/wicontrol -LINK instbin usr/bin/grep usr/bin/fgrep usr/bin/egrep -LINK instbin usr/bin/ftp -LINK instbin usr/bin/gzip usr/bin/gunzip usr/bin/gzcat -LINK instbin usr/bin/less usr/bin/more -LINK instbin usr/bin/sed - -# copy the MAKEDEV script and make some devices -SCRIPT ${DESTDIR}/dev/MAKEDEV dev/MAKEDEV -SPECIAL cd dev; sh MAKEDEV ramdisk - -# various files that we need in /etc for the install -COPY ${DESTDIR}/etc/group etc/group -COPY ${DESTDIR}/etc/spwd.db etc/spwd.db -COPY ${CURDIR}/../../miniroot/protocols etc/protocols -COPY ${CURDIR}/../../miniroot/services etc/services -SYMLINK /tmp/disktab.shadow etc/disktab -SYMLINK /tmp/fstab.shadow etc/fstab -SYMLINK /tmp/resolv.conf.shadow etc/resolv.conf -SYMLINK /tmp/hosts etc/hosts -TERMCAP vt100,vt220,dumb usr/share/misc/termcap - -# dhcp things -SCRIPT ${DESTDIR}/sbin/dhclient-script sbin/dhclient-script - -# and the installation tools -SCRIPT ${CURDIR}/../../miniroot/dot.profile .profile -SCRIPT ${CURDIR}/install.md install.md -SCRIPT ${CURDIR}/../../miniroot/upgrade.sh upgrade -SCRIPT ${CURDIR}/../../miniroot/install.sh install -SCRIPT ${CURDIR}/../../miniroot/install.sub install.sub -SPECIAL chmod 755 install upgrade sbin/dhclient-script -# $OpenBSD: list,v 1.1 2004/02/01 05:15:48 drahn Exp $ - -SRCDIRS distrib/special -SRCDIRS gnu/usr.bin usr.bin bin sbin usr.sbin - -# copy the crunched binary, link to it, and kill it -COPY ${OBJDIR}/instbin instbin -LINK instbin bin/cat -LINK instbin bin/chmod bin/chgrp sbin/chown -LINK instbin bin/cp -LINK instbin bin/dd -LINK instbin bin/df -LINK instbin bin/ed -LINK instbin bin/expr -LINK instbin bin/hostname -LINK instbin bin/ln -LINK instbin bin/ls -LINK instbin bin/mkdir -LINK instbin bin/mt bin/eject -LINK instbin bin/mv -LINK instbin bin/pax bin/tar bin/cpio -LINK instbin bin/rm -LINK instbin bin/ksh bin/sh -ARGVLINK ksh -sh -LINK instbin bin/sleep -LINK instbin bin/stty -LINK instbin bin/sync -LINK instbin bin/test bin/[ -LINK instbin sbin/disklabel -LINK instbin sbin/pdisk -LINK instbin sbin/fdisk -LINK instbin sbin/fsck_ffs sbin/fsck -LINK instbin sbin/reboot sbin/halt -LINK instbin sbin/ifconfig -LINK instbin sbin/init -LINK instbin sbin/dhclient -LINK instbin sbin/dmesg -LINK instbin sbin/mknod -LINK instbin sbin/mount -LINK instbin sbin/mount_cd9660 -LINK instbin sbin/mount_ffs -LINK instbin sbin/mount_msdos -LINK instbin sbin/mount_nfs -LINK instbin sbin/newfs -LINK instbin sbin/newfs_msdos -LINK instbin sbin/ping -LINK instbin sbin/ping6 -LINK instbin sbin/route -LINK instbin sbin/rtsol -LINK instbin sbin/umount -LINK instbin sbin/wicontrol -LINK instbin usr/bin/grep usr/bin/fgrep usr/bin/egrep -LINK instbin usr/bin/ftp -LINK instbin usr/bin/gzip usr/bin/gunzip usr/bin/gzcat -LINK instbin usr/bin/less usr/bin/more -LINK instbin usr/bin/sed - -# copy the MAKEDEV script and make some devices -SCRIPT ${DESTDIR}/dev/MAKEDEV dev/MAKEDEV -SPECIAL cd dev; sh MAKEDEV ramdisk - -# we need the contents of /usr/mdec -COPY ${DESTDIR}/usr/mdec/ofwboot usr/mdec/ofwboot -COPY ${DESTDIR}/usr/mdec/mbr usr/mdec/mbr -COPY ${DESTDIR}/usr/mdec/msdos1mb.gz usr/mdec/msdos1mb.gz - -# various files that we need in /etc for the install -COPY ${DESTDIR}/etc/group etc/group -COPY ${DESTDIR}/etc/spwd.db etc/spwd.db -COPY ${CURDIR}/../../miniroot/protocols etc/protocols -COPY ${CURDIR}/../../miniroot/services etc/services -SYMLINK /tmp/disktab.shadow etc/disktab -SYMLINK /tmp/fstab.shadow etc/fstab -SYMLINK /tmp/resolv.conf.shadow etc/resolv.conf -SYMLINK /tmp/hosts etc/hosts -TERMCAP vt100,vt220,dumb usr/share/misc/termcap - -# dhcp things -SCRIPT ${DESTDIR}/sbin/dhclient-script sbin/dhclient-script - -# and the installation tools -SCRIPT ${CURDIR}/../../miniroot/dot.profile .profile -SCRIPT ${CURDIR}/install.md install.md -SCRIPT ${CURDIR}/../../miniroot/upgrade.sh upgrade -SCRIPT ${CURDIR}/../../miniroot/install.sh install -SCRIPT ${CURDIR}/../../miniroot/install.sub install.sub -SPECIAL chmod 755 install upgrade sbin/dhclient-script |