mirror of
https://github.com/openbsd/src.git
synced 2024-12-22 16:42:56 -08:00
first cut; most written by mickey, couple tunings by me
This commit is contained in:
parent
e8b95f26b5
commit
ca1c023b14
@ -1,8 +1,8 @@
|
||||
# $OpenBSD: Makefile,v 1.23 2003/10/31 04:03:15 drahn Exp $
|
||||
# $OpenBSD: Makefile,v 1.24 2004/02/07 21:16:45 deraadt Exp $
|
||||
|
||||
.if make(obj)
|
||||
SUBDIR= special alpha crunch hp300 hppa i386 mac68k macppc mvme68k \
|
||||
mvme88k mvmeppc pegasos sparc sparc64 vax
|
||||
mvme88k mvmeppc pegasos sparc sparc64 vax amd64 cats
|
||||
.elif !make(install)
|
||||
SUBDIR= special
|
||||
.endif
|
||||
|
11
distrib/amd64/Makefile
Normal file
11
distrib/amd64/Makefile
Normal file
@ -0,0 +1,11 @@
|
||||
# $OpenBSD: Makefile,v 1.1 2004/02/07 21:16:47 deraadt Exp $
|
||||
|
||||
SUBDIR= ramdisk_cd # ramdiskA ramdiskB ramdiskC cdfs
|
||||
|
||||
unconfig:
|
||||
cd ramdisk_cd; ${MAKE} unconfig
|
||||
#cd ramdiskA; ${MAKE} unconfig
|
||||
#cd ramdiskB; ${MAKE} unconfig
|
||||
#cd ramdiskC; ${MAKE} unconfig
|
||||
|
||||
.include <bsd.subdir.mk>
|
5
distrib/amd64/Makefile.inc
Normal file
5
distrib/amd64/Makefile.inc
Normal file
@ -0,0 +1,5 @@
|
||||
# $OpenBSD: Makefile.inc,v 1.1 2004/02/07 21:16:47 deraadt Exp $
|
||||
|
||||
REV= ${OSrev}
|
||||
|
||||
.include <bsd.own.mk>
|
128
distrib/amd64/common/Makefile.inc
Normal file
128
distrib/amd64/common/Makefile.inc
Normal file
@ -0,0 +1,128 @@
|
||||
# $OpenBSD: Makefile.inc,v 1.1 2004/02/07 21:16:47 deraadt Exp $
|
||||
|
||||
TOP= ${.CURDIR}/..
|
||||
|
||||
.include "${TOP}/Makefile.inc"
|
||||
IMAGE= mr.fs
|
||||
CBIN?= instbin
|
||||
CRUNCHCONF?= ${CBIN}.conf
|
||||
LISTS?= ${.CURDIR}/../common/list
|
||||
UTILS?= ${.CURDIR}/../../miniroot
|
||||
|
||||
MOUNT_POINT= /mnt
|
||||
MTREE= ${UTILS}/mtree.conf
|
||||
|
||||
XNAME?= floppy
|
||||
FS?= ${XNAME}${REV}.fs
|
||||
VND?= svnd0
|
||||
VND_DEV= /dev/${VND}a
|
||||
VND_RDEV= /dev/r${VND}a
|
||||
VND_CRDEV= /dev/r${VND}c
|
||||
PID!= echo $$$$
|
||||
REALIMAGE!= echo /var/tmp/image.${PID}
|
||||
BOOT= ${DESTDIR}/usr/mdec/boot
|
||||
FLOPPYSIZE?= 144
|
||||
FLOPPYTYPE?= floppy3
|
||||
|
||||
all: ${FS}
|
||||
|
||||
${FS}: bsd.gz
|
||||
dd if=/dev/zero of=${REALIMAGE} bs=10k count=${FLOPPYSIZE}
|
||||
vnconfig -v -c ${VND} ${REALIMAGE}
|
||||
disklabel -w -r ${VND} ${FLOPPYTYPE}
|
||||
newfs -m 0 -o space -i 524288 -c 80 ${VND_RDEV}
|
||||
mount ${VND_DEV} ${MOUNT_POINT}
|
||||
cp ${BOOT} ${.OBJDIR}/boot
|
||||
strip ${.OBJDIR}/boot
|
||||
strip -R .comment ${.OBJDIR}/boot
|
||||
dd if=${.OBJDIR}/boot of=${MOUNT_POINT}/boot bs=512
|
||||
dd if=bsd.gz of=${MOUNT_POINT}/bsd bs=512
|
||||
/usr/mdec/installboot -v ${MOUNT_POINT}/boot \
|
||||
${DESTDIR}/usr/mdec/biosboot ${VND_CRDEV}
|
||||
@echo ""
|
||||
@df -i ${MOUNT_POINT}
|
||||
@echo ""
|
||||
umount ${MOUNT_POINT}
|
||||
vnconfig -u ${VND}
|
||||
cp ${REALIMAGE} ${FS}
|
||||
rm ${REALIMAGE}
|
||||
|
||||
DISKTYPE?= rdroot
|
||||
NBLKS?= 4096
|
||||
# minfree, opt, b/i trks, sects, cpg
|
||||
NEWFSARGS= -m 0 -o space -c 16 -i 4096
|
||||
|
||||
bsd.gz: bsd.rd
|
||||
cp bsd.rd bsd.strip
|
||||
strip bsd.strip
|
||||
strip -R .comment bsd.strip
|
||||
gzip -c9 bsd.strip > bsd.gz
|
||||
|
||||
bsd.rd: ${IMAGE} bsd rdsetroot
|
||||
cp bsd bsd.rd
|
||||
${.OBJDIR}/rdsetroot bsd.rd < ${IMAGE}
|
||||
|
||||
|
||||
bsd:
|
||||
cd ${.CURDIR}/../../../sys/arch/amd64/conf && config ${RAMDISK}
|
||||
cd ${.CURDIR}/../../../sys/arch/amd64/compile/${RAMDISK} && \
|
||||
make clean && make depend && COPTS=-Os make
|
||||
cp ${.CURDIR}/../../../sys/arch/amd64/compile/${RAMDISK}/bsd bsd
|
||||
|
||||
${IMAGE}: ${CBIN} rd_setup do_files rd_teardown
|
||||
|
||||
rd_setup: ${CBIN}
|
||||
dd if=/dev/zero of=${REALIMAGE} bs=512 count=${NBLKS}
|
||||
vnconfig -v -c ${VND} ${REALIMAGE}
|
||||
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}
|
||||
cp ${REALIMAGE} ${IMAGE}
|
||||
rm ${REALIMAGE}
|
||||
|
||||
rdsetroot: ${TOP}/../common/elfrdsetroot.c
|
||||
${HOSTCC} -DDEBUG -o rdsetroot ${TOP}/../common/elfrdsetroot.c
|
||||
|
||||
unconfig:
|
||||
-umount -f ${MOUNT_POINT}
|
||||
-vnconfig -u ${VND}
|
||||
|
||||
.PRECIOUS: ${IMAGE}
|
||||
|
||||
install:
|
||||
.ifndef NOBSDRD
|
||||
cp bsd.rd ${DESTDIR}/snapshot/bsd.rd
|
||||
.endif
|
||||
cp ${FS} ${DESTDIR}/snapshot/${FS}
|
||||
|
||||
${CBIN}.mk ${CBIN}.cache ${CBIN}.c: ${CRUNCHCONF}
|
||||
crunchgen -E -D ${BSDSRCDIR} -L ${DESTDIR}/usr/lib \
|
||||
-c ${CBIN}.c -e ${CBIN} -m ${CBIN}.mk ${CRUNCHCONF}
|
||||
|
||||
${CBIN}: ${CBIN}.mk ${CBIN}.cache ${CBIN}.c
|
||||
make -f ${CBIN}.mk all
|
||||
strip -R .comment ${CBIN}
|
||||
|
||||
${CRUNCHCONF}: ${LISTS}
|
||||
awk -f ${UTILS}/makeconf.awk CBIN=${CBIN} ${LISTS} > ${CRUNCHCONF}
|
||||
|
||||
do_files:
|
||||
mtree -def ${MTREE} -p ${MOUNT_POINT}/ -u
|
||||
TOPDIR=${TOP} CURDIR=${.CURDIR} OBJDIR=${.OBJDIR} \
|
||||
REV=${REV} TARGDIR=${MOUNT_POINT} UTILS=${UTILS} \
|
||||
sh ${UTILS}/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 bsd.gz bsd.strip floppy*.fs rdsetroot \
|
||||
${CRUNCHCONF}
|
||||
|
||||
.include <bsd.obj.mk>
|
||||
.include <bsd.subdir.mk>
|
177
distrib/amd64/common/install.md
Normal file
177
distrib/amd64/common/install.md
Normal file
@ -0,0 +1,177 @@
|
||||
# $OpenBSD: install.md,v 1.1 2004/02/07 21:16:47 deraadt 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
|
||||
MDFSOPTS=-s
|
||||
MDXAPERTURE=2
|
||||
ARCH=ARCH
|
||||
|
||||
md_set_term() {
|
||||
local _tables
|
||||
|
||||
ask_yn "Do you wish to select a keyboard encoding table?"
|
||||
[[ $resp == n ]] && return
|
||||
|
||||
while : ; do
|
||||
ask "Select your keyboard type: (P)C-AT/XT, (U)SB or 'done'" P
|
||||
case $resp in
|
||||
P*|p*) _tables="be br de dk es fr it jp lt no pt ru sf sg sv ua uk us"
|
||||
;;
|
||||
U*|u*) _tables="br de dk es fr it jp no sf sg sv uk us"
|
||||
;;
|
||||
done) ;;
|
||||
*) echo "'$resp' is not a valid keyboard type."
|
||||
resp=
|
||||
continue
|
||||
;;
|
||||
esac
|
||||
break;
|
||||
done
|
||||
|
||||
[ -z "$_tables" ] && return
|
||||
|
||||
while : ; do
|
||||
cat << __EOT
|
||||
The available keyboard encoding tables are:
|
||||
|
||||
${_tables}
|
||||
|
||||
__EOT
|
||||
ask "Table name? (or 'done')" us
|
||||
case $resp in
|
||||
done) ;;
|
||||
*) if kbd $resp ; then
|
||||
echo $resp > /tmp/kbdtype
|
||||
else
|
||||
echo "'${resp}' is not a valid table name."
|
||||
continue
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
break;
|
||||
done
|
||||
}
|
||||
|
||||
md_installboot() {
|
||||
echo Installing boot block...
|
||||
cp /usr/mdec/boot /mnt/boot
|
||||
/usr/mdec/installboot -v /mnt/boot /usr/mdec/biosboot ${1}
|
||||
echo "done."
|
||||
}
|
||||
|
||||
# $1 is the disk to check
|
||||
md_checkfordisklabel() {
|
||||
local rval=0
|
||||
|
||||
disklabel -r $1 >/dev/null 2>/tmp/checkfordisklabel
|
||||
|
||||
if grep "disk label corrupted" /tmp/checkfordisklabel; then
|
||||
rval=2
|
||||
fi >/dev/null 2>&1
|
||||
|
||||
rm -f /tmp/checkfordisklabel
|
||||
return $rval
|
||||
}
|
||||
|
||||
md_prep_fdisk() {
|
||||
local _disk=$1
|
||||
|
||||
ask_yn "Do you want to use *all* of $_disk for OpenBSD?"
|
||||
if [[ $resp == y ]]; then
|
||||
echo -n "Putting all of $_disk into an active OpenBSD MBR partition (type 'A6')..."
|
||||
fdisk -e ${_disk} << __EOT > /dev/null
|
||||
reinit
|
||||
update
|
||||
write
|
||||
quit
|
||||
__EOT
|
||||
echo "done."
|
||||
return
|
||||
fi
|
||||
|
||||
# Manually configure the MBR.
|
||||
cat << __EOT
|
||||
|
||||
You will now create a single MBR partition to contain your OpenBSD data. This
|
||||
partition must have an id of 'A6'; must *NOT* overlap other partitions; and
|
||||
must be marked as the only active partition.
|
||||
|
||||
The 'manual' command describes all the fdisk commands in detail.
|
||||
|
||||
$(fdisk ${_disk})
|
||||
__EOT
|
||||
fdisk -e ${_disk}
|
||||
|
||||
cat << __EOT
|
||||
Here is the partition information you chose:
|
||||
|
||||
$(fdisk ${_disk})
|
||||
__EOT
|
||||
}
|
||||
|
||||
md_prep_disklabel() {
|
||||
local _disk=$1
|
||||
|
||||
md_prep_fdisk $_disk
|
||||
|
||||
cat << __EOT
|
||||
|
||||
You will now create an OpenBSD disklabel inside the OpenBSD MBR
|
||||
partition. The disklabel defines how OpenBSD splits up the MBR partition
|
||||
into OpenBSD partitions in which filesystems and swap space are created.
|
||||
|
||||
The offsets used in the disklabel are ABSOLUTE, i.e. relative to the
|
||||
start of the disk, NOT the start of the OpenBSD MBR partition.
|
||||
|
||||
__EOT
|
||||
|
||||
md_checkfordisklabel $_disk
|
||||
case $? in
|
||||
2) echo "WARNING: Label on disk $_disk is corrupted. You will be repairing it.\n"
|
||||
;;
|
||||
esac
|
||||
|
||||
disklabel -W $_disk >/dev/null 2>&1
|
||||
disklabel -f /tmp/fstab.$_disk -E $_disk
|
||||
}
|
||||
|
||||
md_congrats() {
|
||||
}
|
85
distrib/amd64/common/list
Normal file
85
distrib/amd64/common/list
Normal file
@ -0,0 +1,85 @@
|
||||
# $OpenBSD: list,v 1.1 2004/02/07 21:16:47 deraadt Exp $
|
||||
|
||||
SRCDIRS distrib/special
|
||||
SRCDIRS usr.bin bin sbin usr.sbin gnu/usr.bin
|
||||
SRCDIRS sys/arch/amd64/stand
|
||||
|
||||
# copy the crunched binary, link to it, and kill it
|
||||
COPY ${OBJDIR}/instbin instbin
|
||||
LINK instbin bin/cat
|
||||
LINK instbin bin/chmod
|
||||
LINK instbin bin/cp
|
||||
LINK instbin bin/pax bin/cpio bin/tar
|
||||
LINK instbin bin/dd
|
||||
LINK instbin bin/df
|
||||
LINK instbin bin/ed
|
||||
LINK instbin bin/ln
|
||||
LINK instbin bin/ls
|
||||
LINK instbin bin/mkdir
|
||||
LINK instbin bin/mv
|
||||
LINK instbin bin/rm
|
||||
LINK instbin bin/hostname
|
||||
LINK instbin bin/ksh bin/sh
|
||||
LINK instbin bin/sleep
|
||||
LINK instbin bin/stty
|
||||
LINK instbin sbin/chmod bin/chgrp sbin/chown
|
||||
LINK instbin sbin/disklabel
|
||||
LINK instbin sbin/dhclient
|
||||
LINK instbin sbin/fdisk
|
||||
LINK instbin sbin/dmesg
|
||||
LINK instbin sbin/fsck_ffs sbin/fsck
|
||||
LINK instbin sbin/reboot sbin/halt
|
||||
LINK instbin sbin/ifconfig
|
||||
LINK instbin sbin/init
|
||||
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_ext2fs
|
||||
LINK instbin sbin/ping
|
||||
LINK instbin sbin/newfs
|
||||
LINK instbin sbin/restore
|
||||
LINK instbin sbin/route
|
||||
LINK instbin sbin/umount
|
||||
LINK instbin sbin/kbd
|
||||
LINK instbin usr/bin/grep usr/bin/egrep usr/bin/fgrep
|
||||
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
|
||||
LINK instbin usr/mdec/installboot
|
||||
ARGVLINK ksh -sh
|
||||
|
||||
# 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/biosboot usr/mdec/biosboot
|
||||
COPY ${DESTDIR}/usr/mdec/mbr usr/mdec/mbr
|
||||
COPY ${DESTDIR}/usr/mdec/boot usr/mdec/boot
|
||||
|
||||
# various files that we need in /etc for the install
|
||||
COPY ${DESTDIR}/etc/group etc/group
|
||||
COPY ${DESTDIR}/etc/spwd.db etc/spwd.db
|
||||
SCRIPT ${DESTDIR}/etc/disktab etc/disktab.shadow
|
||||
COPY ${CURDIR}/../../miniroot/protocols etc/protocols
|
||||
COPY ${CURDIR}/../../miniroot/services etc/services
|
||||
TERMCAP vt100,vt220,dumb usr/share/misc/termcap
|
||||
|
||||
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
|
||||
|
||||
# dhcp things
|
||||
SCRIPT ${DESTDIR}/sbin/dhclient-script sbin/dhclient-script
|
||||
|
||||
# and the installation tools
|
||||
SCRIPT ${CURDIR}/../../miniroot/dot.profile .profile
|
||||
SCRIPT ${CURDIR}/../common/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
|
11
distrib/amd64/ramdisk_cd/Makefile
Normal file
11
distrib/amd64/ramdisk_cd/Makefile
Normal file
@ -0,0 +1,11 @@
|
||||
# $OpenBSD: Makefile,v 1.1 2004/02/07 21:16:47 deraadt Exp $
|
||||
|
||||
.PATH: ${.CURDIR}/../ramdisk
|
||||
RAMDISK=RAMDISK_CD
|
||||
FLOPPYSIZE=288
|
||||
FLOPPYTYPE=floppy288
|
||||
XNAME=cdrom
|
||||
|
||||
.include "${.CURDIR}/../common/Makefile.inc"
|
||||
|
||||
LISTS+= ${.CURDIR}/list.local
|
8
distrib/amd64/ramdisk_cd/list.local
Normal file
8
distrib/amd64/ramdisk_cd/list.local
Normal file
@ -0,0 +1,8 @@
|
||||
# $OpenBSD: list.local,v 1.1 2004/02/07 21:16:47 deraadt Exp $
|
||||
|
||||
# add local links; use bin/sh since instbin has already been unlinked
|
||||
#LINK instbin sbin/wicontrol
|
||||
#LINK instbin sbin/ancontrol
|
||||
#LINK instbin sbin/ccdconfig
|
||||
LINK instbin sbin/ping6
|
||||
LINK instbin sbin/rtsol
|
Loading…
Reference in New Issue
Block a user