diff options
author | Per Fogelstrom <pefo@cvs.openbsd.org> | 2004-08-06 22:30:03 +0000 |
---|---|---|
committer | Per Fogelstrom <pefo@cvs.openbsd.org> | 2004-08-06 22:30:03 +0000 |
commit | 52b5b91eb30760371a8232ca1c18416df69873db (patch) | |
tree | 25826b50f8c3819e6f5706db7322478a46d1df4f | |
parent | db322b47296d44b4ae905d43b061d931f3b34532 (diff) |
sgi install ramdisk
-rw-r--r-- | distrib/arc/ramdisk/Makefile | 101 | ||||
-rw-r--r-- | distrib/arc/ramdisk/Makefile.inc | 4 | ||||
-rw-r--r-- | distrib/arc/ramdisk/install.md | 136 | ||||
-rw-r--r-- | distrib/arc/ramdisk/list | 81 | ||||
-rw-r--r-- | distrib/sgi/Makefile | 5 |
5 files changed, 327 insertions, 0 deletions
diff --git a/distrib/arc/ramdisk/Makefile b/distrib/arc/ramdisk/Makefile new file mode 100644 index 00000000000..2eb9f5743fb --- /dev/null +++ b/distrib/arc/ramdisk/Makefile @@ -0,0 +1,101 @@ +# $OpenBSD: Makefile,v 1.10 2004/08/06 22:30:02 pefo 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 makeing a ramdisk! + @false +.else + +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/sgi/conf && config RAMDISK + cd ${.TOP}/../../sys/arch/sgi/compile/RAMDISK && \ + make clean && make + cp ${.TOP}/../../sys/arch/sgi/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/rdsetroot.c + ${HOSTCC} -DDEBUG -o rdsetroot ${TOP}/../common/elfrdsetroot.c + +unconfig: + -umount -f ${MOUNT_POINT} + -vnconfig -u ${VND} + +.PRECIOUS: ${IMAGE} + +install: + cp ${BSD_RD} ${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} rdsetroot + +beforeinstall: + cp ${BSD.RD} ${DESTDIR}/snapshot + +.include <bsd.obj.mk> +.include <bsd.subdir.mk> diff --git a/distrib/arc/ramdisk/Makefile.inc b/distrib/arc/ramdisk/Makefile.inc new file mode 100644 index 00000000000..05f67c9c98b --- /dev/null +++ b/distrib/arc/ramdisk/Makefile.inc @@ -0,0 +1,4 @@ +# $OpenBSD: Makefile.inc,v 1.1 2004/08/06 22:30:02 pefo Exp $ + +CRUNCHGENOPTS= -E + diff --git a/distrib/arc/ramdisk/install.md b/distrib/arc/ramdisk/install.md new file mode 100644 index 00000000000..414b603c546 --- /dev/null +++ b/distrib/arc/ramdisk/install.md @@ -0,0 +1,136 @@ +# $OpenBSD: install.md,v 1.17 2004/08/06 22:30:02 pefo 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. +# + +# Machine-dependent install sets +MDSETS=kernel +MDTERM=vt220 +ARCH=ARCH + +md_set_term() { +} + +md_installboot() { + echo "Installing boot TBD, only netboot for now" + return + echo "Installing boot on /dev/${1}a" + cp /usr/mdec/boot /mnt/boot + /usr/mdec/installboot /mnt/boot /usr/mdec/bootxx /dev/r${1}a +} + +md_checkfordisklabel() { + # $1 is the disk to check + local rval + + disklabel $1 > /dev/null 2> /tmp/checkfordisklabel + if grep "no disk label" /tmp/checkfordisklabel; then + rval=1 + elif grep "disk label corrupted" /tmp/checkfordisklabel; then + rval=2 + else + rval=0 + fi + + rm -f /tmp/checkfordisklabel + return $rval +} + +md_prep_disklabel() +{ + local _disk + + _disk=$1 + md_checkfordisklabel $_disk + case $? in + 0) ask "Do you wish to edit the disklabel on $_disk?" y + ;; + 1) echo "WARNING: Disk $_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" + ask "Do you want to try and repair the damage using the disklabel editor?" y + ;; + + esac + + case "$resp" in + y*|Y*) ;; + *) return ;; + esac + + # display example + cat << __EOT + +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) + +Do not change any parameters except the partition layout and the label name. + + [Here is an example of what the partition information may look like.] +10 partitions: +# size offset fstype [fsize bsize cpg] + a: 120832 10240 4.2BSD 1024 8192 16 # (Cyl. 11*- 142*) + b: 131072 131072 swap # (Cyl. 142*- 284*) + c: 6265200 0 unused 1024 8192 # (Cyl. 0 - 6809) + e: 781250 262144 4.2BSD 1024 8192 16 # (Cyl. 284*- 1134*) + f: 1205000 1043394 4.2BSD 1024 8192 16 # (Cyl. 1134*- 2443*) + g: 2008403 2248394 4.2BSD 1024 8192 16 # (Cyl. 2443*- 4626*) + h: 2008403 4256797 4.2BSD 1024 8192 16 # (Cyl. 4626*- 6809*) + i: 10208 32 MSDOS # (Cyl. 0*- 11*) +[End of example] +__EOT + ask "Press [Enter] to continue" + + disklabel -W ${_disk} + disklabel ${_disk} >/tmp/label.$$ + disklabel -r -R ${_disk} /tmp/label.$$ + rm -f /tmp/label.$$ + disklabel -f /tmp/fstab.${_disk} -E ${_disk} +} + +md_congrats() { + cat << __EOT + +Once the machine has rebooted use netbooting to boot into OpenBSD, +as described in the install document. +__EOT +} diff --git a/distrib/arc/ramdisk/list b/distrib/arc/ramdisk/list new file mode 100644 index 00000000000..797c6ec17ad --- /dev/null +++ b/distrib/arc/ramdisk/list @@ -0,0 +1,81 @@ +# $OpenBSD: list,v 1.13 2004/08/06 22:30:02 pefo Exp $ + +SRCDIRS distrib/special +SRCDIRS usr.bin bin sbin usr.sbin gnu/usr.bin + +# 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 +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/fsck +LINK instbin sbin/fsck_ffs +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_nfs +LINK instbin sbin/newfs +LINK instbin sbin/ping +LINK instbin sbin/route +LINK instbin sbin/umount +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/boot usr/mdec/boot +#COPY ${DESTDIR}/usr/mdec/bootxx usr/mdec/bootxx +#COPY ${DESTDIR}/usr/mdec/installboot usr/mdec/installboot + +# 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 +COPY ${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 diff --git a/distrib/sgi/Makefile b/distrib/sgi/Makefile new file mode 100644 index 00000000000..f139fea2261 --- /dev/null +++ b/distrib/sgi/Makefile @@ -0,0 +1,5 @@ +# $OpenBSD: Makefile,v 1.1 2004/08/06 22:30:02 pefo Exp $ + +SUBDIR= ramdisk + +.include <bsd.subdir.mk> |