bugs.
-# $OpenBSD: list2sh.awk,v 1.1 1997/02/16 18:19:57 downsj Exp $
-# $NetBSD: list2sh.awk,v 1.1 1995/07/18 04:12:59 briggs Exp $
+# $OpenBSD: list2sh.awk,v 1.2 1997/02/23 19:10:47 downsj Exp $
+# $NetBSD: list2sh.awk,v 1.1 1995/10/03 22:47:56 thorpej Exp $
BEGIN {
printf("cd ${CURDIR}\n");
}
$1 == "COPY" {
printf("echo '%s'\n", $0);
+ printf("rm -f ${TARGDIR}/%s\n", $3);
printf("cp %s ${TARGDIR}/%s\n", $2, $3);
next;
}
$1 == "LINK" {
printf("echo '%s'\n", $0);
+ printf("rm -f ${TARGDIR}/%s\n", $3);
printf("(cd ${TARGDIR}; ln %s %s)\n", $2, $3);
next;
}
+$1 == "SYMLINK" {
+ printf("echo '%s'\n", $0);
+ printf("rm -f ${TARGDIR}/%s\n", $3);
+ printf("(cd ${TARGDIR}; ln -s %s %s)\n", $2, $3);
+ next;
+}
+$1 == "COPYDIR" {
+ printf("echo '%s'\n", $0);
+ printf("(cd ${TARGDIR}/%s && find . ! -name . | xargs /bin/rm -rf)\n",
+ $3);
+ printf("(cd %s && find . ! -name . | cpio -pdamu ${TARGDIR}/%s)\n", $2,
+ $3);
+ next;
+}
$1 == "SPECIAL" {
printf("echo '%s'\n", $0);
printf("(cd ${TARGDIR};");
-# $OpenBSD: Makefile,v 1.1 1997/02/16 18:20:00 downsj Exp $
+# $OpenBSD: Makefile,v 1.2 1997/02/23 19:10:50 downsj Exp $
# $NetBSD: Makefile,v 1.1 1995/07/18 04:13:06 briggs Exp $
TOP= ${.CURDIR}/..
CDEV= /dev/rrd0a
RDEV= /dev/rd0c
-KERNEL= ${SRCSYSDIR}/arch/hp300/compile/MINIROOT/bsd
+KERNEL= ${SRCSYSDIR}/arch/hp300/compile/RAMDISK/bsd
all: ${CBIN} ${IMAGE}
@echo "all done"
${IMAGE}: do_prep do_mount do_files do_umount_copy do_unconfig
mv -f ${IMAGE}.tmp ${IMAGE}
- if [ -e rd.pid ] ; then \
- kill `< rd.pid`; \
- rm rd.pid;\
+ if [ -e ${.CURDIR}/${__objdir}/rd.pid ] ; then \
+ kill `< ${.CURDIR}/${__objdir}/rd.pid`; \
+ rm ${.CURDIR}/${__objdir}/rd.pid;\
fi
rdsetroot: ${TOP}/common/rdsetroot.c
do_unconfig:
-umount ${MOUNT_POINT}
- if [ -e rd.pid ] ; then \
- kill `< rd.pid`; \
- rm rd.pid; \
+ if [ -e ${.CURDIR}/${__objdir}/rd.pid ] ; then \
+ kill `< ${.CURDIR}/${__objdir}/rd.pid`; \
+ rm ${.CURDIR}/${__objdir}/rd.pid; \
fi
#
-# $OpenBSD: dot.profile,v 1.2 1997/02/16 19:32:32 downsj Exp $
+# $OpenBSD: dot.profile,v 1.3 1997/02/23 19:10:51 downsj Exp $
# $NetBSD: dot.profile,v 1.1 1995/07/18 04:13:09 briggs Exp $
#
# Copyright (c) 1994 Christopher G. Demetriou
export TERM
# set up some sane defaults
-echo "TERM is $TERM"
echo 'erase ^?, werase ^H, kill ^U, intr ^C'
stty newcrt werase ^H intr ^C kill ^U erase ^? 9600
echo ''
+# This needs to be done now, for the sake of ksh.
+if [ ! -f /tmp/writeable ]; then
+ echo 'Remounting /dev/rd0a as root...'
+ mount -t ffs -u /dev/rd0a /
+ sleep 2
+ # ..and let install.md know we've done it.
+ > /tmp/writeable
+fi
+
# pull in the function definitions that people will use from the shell prompt.
. /.commonutils
. /.instutils
#!/bin/sh
#
-# $OpenBSD: install.md,v 1.2 1997/02/16 19:32:35 downsj Exp $
+# $OpenBSD: install.md,v 1.3 1997/02/23 19:10:52 downsj Exp $
# $NetBSD: install.md,v 1.1.2.4 1996/08/26 15:45:14 gwr Exp $
#
# Copyright (c) 1996 The NetBSD Foundation, Inc.
# Machine-dependent install sets
MDSETS=""
+TMPWRITEABLE=/tmp/writeable
+KERNFSMOUNTED=/tmp/kernfsmounted
+
md_set_term() {
- if [ ! -z "$TERM" ]; then
- return
- fi
echo -n "Specify terminal type [hp300h]: "
getresp "hp300h"
TERM="$resp"
export TERM
- # XXX call tset?
+ # set screensize (i.e., for an xterm)
+ rows=`stty -a | grep rows | awk '{print $4}'`
+ columns=`stty -a | grep columns | awk '{print $6}'`
+ if [ "$rows" -eq 0 -o "$columns" -eq 0 ]; then
+ echo -n "Specify terminal rows [25]: "
+ getresp "25"
+ rows="$resp"
+
+ echo -n "Specify terminal columns [80]: "
+ getresp "80"
+ columns="$resp"
+
+ stty rows "$rows" columns "$columns"
+ fi
}
md_makerootwritable() {
- # Was: do_mfs_mount "/tmp" "2048"
- # /tmp is the mount point
- # 2048 is the size in DEV_BIZE blocks
- umount /tmp > /dev/null 2>&1
- if ! mount_mfs -s 2048 swap /tmp ; then
- cat << \__mfs_failed_1
+ if [ -e ${TMPWRITEABLE} ]
+ then
+ md_mountkernfs
+ return
+ fi
+ if ! mount -t ffs -u /dev/rd0a / ; then
+ cat << \__rd0_failed_1
-FATAL ERROR: Can't mount the memory filesystem.
+FATAL ERROR: Can't mount the ram filesystem.
-__mfs_failed_1
+__rd0_failed_1
exit
fi
- # Bleh. Give mount_mfs a chance to DTRT.
sleep 2
+ > ${TMPWRITEABLE}
+
+ md_mountkernfs
+}
+
+md_mountkernfs() {
+ if [ -e ${KERNFSMOUNTED} ]
+ then
+ return
+ fi
+ if ! mount -t kernfs /kern /kern
+ then
+ cat << \__kernfs_failed_1
+FATAL ERROR: Can't mount kernfs filesystem
+__kernfs_failed_1
+ exit
+ fi
+ > ${KERNFSMOUNTED}
}
md_get_diskdevs() {
# return available disk devices
- dmesg | grep "^rd[0-9]*:." | cut -d":" -f1 | sort -u
- dmesg | grep "^sd[0-9]*:.*cylinders" | cut -d":" -f1 | sort -u
+ egrep "^hd[0-9]*:." < /kern/msgbuf | cut -d":" -f1 | sort -u
+ egrep "^sd[0-9]*:.*cylinders" < /kern/msgbuf | cut -d":" -f1 | sort -u
}
md_get_cddevs() {
# return available CD-ROM devices
- dmesg | grep "sd[0-9]*:.*CD-ROM" | cut -d":" -f1 | sort -u
+ egrep "sd[0-9]*:.*CD-ROM" < /kern/msgbuf | cut -d":" -f1 | sort -u
}
md_get_ifdevs() {
# return available network interfaces
- dmesg | grep "^le[0-9]*:" | cut -d":" -f1 | sort -u
+ egrep "^le[0-9]*:" < /kern/msgbuf | cut -d":" -f1 | sort -u
+}
+
+md_get_partition_range() {
+ # return range of valid partition letters
+ echo "[a-p]"
}
md_installboot() {
_cur_disk_name="install-disk-${_disk_instance}"
# Get geometry information from the user.
- more << \__scsi_label_1
+ less << \__scsi_label_1
You will need to provide some information about your disk's geometry.
Geometry info for SCSI disks was printed at boot time. If that information
getresp "y"
case "$resp" in
y*|Y*)
- (echo ""; dmesg; echo "") | more
+ less -rsS /kern/msgbuf
;;
*)
# We look though the boot messages attempting to find
# the model number for the provided disk.
_hpib_disktype=""
- if dmesg | grep "${1}: " > /dev/null 2>&1; then
- _hpib_disktype=HP`dmesg | grep "${1}: " | sort -u | \
+ if egrep "${1}: " < /kern/msgbuf > /dev/null 2>&1; then
+ _hpib_disktype=HP`egrep "${1}: " < /kern/msgbuf | sort -u | \
awk '{print $2}'`
fi
if [ "X${_hpib_disktype}" = "X" ]; then
# layout. If it doesn't, we have to treat it like a SCSI disk;
# i.e. prompt for geometry, and create a default to place
# on the disk.
- if ! grep "${_hpib_disktype}[:|]" /etc/disktab > /dev/null \
+ if ! egrep "${_hpib_disktype}[:|]" /etc/disktab > /dev/null \
2>&1; then
echo ""
echo "WARNING: can't find defaults for $1 ($_hpib_disktype)"
*)
echo -n "No disklabel present, installing a default for type: "
case "$1" in
- rd*)
+ hd*)
echo "HP-IB"
hp300_init_label_hpib_disk $1
;;
esac
}
-md_prep_disklabel() {
- # $1 is the root disk
-
- # Make sure there's a disklabel there. If there isn't, puke after
- # disklabel prints the error message.
- md_checkfordisklabel $1
- case "$resp" in
- 1)
- cat << \__md_prep_disklabel_1
-
-FATAL ERROR: There is no disklabel present on the root disk! You must
-label the disk with SYS_INST before continuing.
-
-__md_prep_disklabel_1
- exit
- ;;
-
- 2)
- cat << \__md_prep_disklabel_2
-
-FATAL ERROR: The disklabel on the root disk is corrupted! You must
-re-label the disk with SYS_INST before continuing.
-
-__md_prep_disklabel_2
- exit
- ;;
+md_prep_disklabel()
+{
+ local _disk
- *)
- ;;
+ _disk=$1
+ md_checkfordisklabel $_disk
+ case "$rval" in
+ 0)
+ echo -n "Do you wish to edit the disklabel on $_disk? [y] "
+ ;;
+ 1)
+ echo "WARNING: Disk $_disk has no label"
+ echo -n "Do you want to create one with the disklabel editor? [y] "
+ ;;
+ 2)
+ echo "WARNING: Label on disk $_disk is corrupted"
+ echo -n "Do you want to try and repair the damage using the disklabel editor? [y] "
+ ;;
esac
- # Give the user the opportinuty to edit the root disklabel.
- cat << \__md_prep_disklabel_3
-
-You have already placed a disklabel onto the target root disk.
-However, due to the limitations of the standalone program used
-you may want to edit that label to change partition type information.
-You will be given the opporunity to do that now. Note that you may
-not change the size or location of any presently open partition.
-
-__md_prep_disklabel_3
- echo -n "Do you wish to edit the root disklabel? [y] "
getresp "y"
case "$resp" in
- y*|Y*)
- disklabel -W $1
- disklabel -e $1
- ;;
-
- *)
- ;;
+ y*|Y*) ;;
+ *) return ;;
esac
- cat << \__md_prep_disklabel_4
-
-You will now be given the opportunity to place disklabels on any additional
-disks on your system.
-__md_prep_disklabel_4
+ # display example
+ cat << \__md_prep_disklabel_1
+
+Here is an example of what the partition information will look like once
+you have entered the disklabel editor. Disk partition sizes and offsets
+are in sector (most likely 512 bytes) units. Make sure these size/offset
+pairs are on cylinder boundaries (the number of sector per cylinder is
+given in the `sectors/cylinder' entry, which is not shown here).
+
+For the boot disk, partition `a' must be offset one cylinder (the number
+of sectors per cylinder should be given as the offset) and partition
+`c' must have an fstype of `unused'. Non-boot disks may start filesystems
+at offset 0.
+
+[Example]
+16 partitions:
+# size offset fstype [fsize bsize cpg]
+ a: 50176 1574 4.2BSD 1024 8192 16 # (Cyl. 1 - 111)
+ b: 64512 50176 swap # (Cyl. 112 - 255)
+ c: 640192 0 boot # (Cyl. 0 - 1428)
+ d: 525504 114688 4.2BSD 1024 8192 16 # (Cyl. 256 - 1428)
+[End of example]
- _DKDEVS=`rmel ${ROOTDISK} ${_DKDEVS}`
- resp="X" # force at least one iteration
- while [ "X$resp" != X"done" ]; do
- labelmoredisks
- done
+__md_prep_disklabel_1
+ echo -n "Press [Enter] to continue "
+ getresp ""
+ disklabel -W ${_disk}
+ disklabel -e ${_disk}
}
md_copy_kernel() {
- echo -n "Copying kernel..."
- cp -p /netbsd /mnt/netbsd
- echo "done."
+ if [ -d "$SETSDIR" ]; then
+ # `bsd' is prefered over `bsd.gz'
+ if [ -f "$SETSDIR/bsd" ]; then
+ kernfile="$SETSDIR/bsd"
+ dogzip=""
+ elif [ -f "$SETSDIR/bsd.gz" ]; then
+ kernfile="$SETSDIR/bsd.gz"
+ dogzip="yes"
+ elif [ -f "$SETSDIR/bsd-gen" ]; then
+ kernfile="$SETSDIR/bsd-gen"
+ dogzip=""
+ elif [ -f "$SETSDIR/bsd-gen.gz" ]; then
+ kernfile="$SETSDIR/bsd-gen.gz"
+ dogzip="yes"
+ else
+ echo "Couldn't find a kernel file in $SETSDIR."
+ echo "You will have to copy a kernel by hand."
+ return
+ fi
+
+ # Copy in the kernel.
+ echo -n "Copying kernel $kernfile..."
+ if [ "$dogzip" ]; then
+ gzip -d < $kernfile > /mnt/bsd
+ else
+ cp $kernfile /mnt/bsd
+ fi
+ chmod 755 /mnt/bsd
+ echo " done."
+ else
+ echo "Couldn't find $SETSDIR."
+ echo "You will have to copy a kernel by hand."
+ fi
}
# Note, while they might not seem machine-dependent, the
installation may leave your system in an inconsistent state.
__welcome_banner_1
-) | more
+) | less
}
md_not_going_to_install() {
#!/bin/sh
-# $OpenBSD: install.sh,v 1.1 1997/02/16 18:20:03 downsj Exp $
+# $OpenBSD: install.sh,v 1.2 1997/02/23 19:10:52 downsj Exp $
# $NetBSD: install.sh,v 1.5.2.8 1996/08/27 18:15:05 gwr Exp $
#
# Copyright (c) 1996 The NetBSD Foundation, Inc.
# include common subroutines
. install.sub
-# which sets?
-THESETS="$ALLSETS"
+# Deal with terminal issues
+md_set_term
# Good {morning,afternoon,evening,night}.
md_welcome_banner
getresp "n"
case "$resp" in
y*|Y*)
- echo "Cool! Let's get to it..."
;;
*)
md_not_going_to_install
;;
esac
+echo -n "Is this a (s)napshot or (r)elease? [s] "
+getresp "s"
+case "$resp" in
+ s*|S*)
+ THESETS="$SNAPSETS"
+ ;;
+ r*|R*)
+ THESETS="$ALLSETS"
+ ;;
+ *)
+ md_not_going_to_install
+ exit
+ ;;
+esac
+echo "Cool! Let's get to it..."
+
# XXX Work around vnode aliasing bug (thanks for the tip, Chris...)
ls -l /dev >> /dev/null 2>&1
-# Deal with terminal issues
-md_set_term
-
# Get timezone info
get_timezone
#!/bin/sh
-# $OpenBSD: install.sub,v 1.2 1997/02/16 19:32:36 downsj Exp $
+# $OpenBSD: install.sub,v 1.3 1997/02/23 19:10:53 downsj Exp $
# $NetBSD: install.sub,v 1.5.2.8 1996/09/02 23:25:02 pk Exp $
#
# Copyright (c) 1996 The NetBSD Foundation, Inc.
ALLSETS="base comp etc games man misc text" # default install sets
UPGRSETS="base comp games man misc text" # default upgrade sets
+SNAPSETS="bin dev etc sbin usr.bin usr.games usr.include usr.lib usr.libexec usr.misc usr.sbin usr.share var" # default snapshot tarfiles
THESETS= # one of the above
local_sets_dir="" # Path searched for sets by install_sets
install_from_mounted_fs() {
# $1 - directory containing installation sets
+ # We need to export the final path to the istall sets
+ SETSDIR=$1
+ export SETSDIR
+
local _filename
local _sets
local _next
fi
done
else
- echo "There are no NetBSD install sets available in \"$1\""
+ echo "There are no OpenBSD install sets available in \"$1\""
return
fi
fi
# Extract file
- cat $_filename | (cd /mnt; tar --unlink -zxvpf -)
+ cat $_filename | (cd /mnt; pax -r -pe -z)
echo "Extraction complete."
_setsdone="$_f $_setsdone"
getresp "1"
case "$resp" in
1)
- _xcmd="tar --unlink -zxvpf -"
+ _xcmd="pax -r -pe -z"
;;
2)
- _xcmd="tar --unlink -xvpf -"
+ _xcmd="pax -r -pe"
;;
*)
-# $OpenBSD: list,v 1.2 1997/02/16 19:32:38 downsj Exp $
+# $OpenBSD: list,v 1.3 1997/02/23 19:10:54 downsj Exp $
COPY ${OBJDIR}/raminst raminst
LINK raminst bin/cat
#COPY ${OBJDIR}/sh bin/sh
LINK raminst bin/sh
LINK bin/sh bin/-sh
-LINK raminst bin/stty
LINK raminst bin/sleep
+LINK raminst bin/stty
LINK raminst bin/sync
LINK raminst bin/test
LINK raminst bin/[
LINK raminst sbin/ifconfig
LINK raminst sbin/init
LINK raminst sbin/mknod
+LINK raminst usr/bin/more
LINK raminst sbin/mount
LINK raminst sbin/mount_cd9660
LINK raminst sbin/mount_ffs
LINK raminst sbin/route
LINK raminst sbin/slattach
LINK raminst sbin/umount
+LINK raminst usr/bin/awk
LINK raminst usr/bin/chgrp
LINK raminst usr/bin/cut
LINK raminst usr/bin/ftp
LINK raminst usr/bin/egrep
LINK raminst usr/bin/grep
LINK raminst usr/bin/gzip
-LINK raminst usr/bin/more
+LINK raminst usr/bin/less
LINK raminst usr/bin/sed
LINK raminst usr/bin/sort
-LINK raminst usr/bin/pax
+LINK raminst bin/pax
+LINK raminst usr/bin/tar
LINK raminst usr/bin/tip
LINK raminst usr/sbin/chown
+LINK raminst usr/bin/vi
+LINK raminst usr/bin/vim
SPECIAL /bin/rm raminst
+# XXX
+COPY ${DESTDIR}/bin/sleep bin/sleep
+
# copy the MAKEDEV script and make some devices
COPY ${DESTDIR}/dev/MAKEDEV dev/MAKEDEV
SPECIAL cd dev; sh MAKEDEV raminst
# we need the contents of /usr/mdec (XXX)
-COPY ${DESTDIR}/usr/mdec/uboot.lif usr/mdec
+COPY ${DESTDIR}/usr/mdec/uboot.lif usr/mdec/uboot.lif
LINK usr/mdec/uboot.lif usr/mdec/bootct
LINK usr/mdec/uboot.lif usr/mdec/boothd
LINK usr/mdec/uboot.lif usr/mdec/bootsd
LINK usr/mdec/uboot.lif usr/mdec/sdboot
# various files that we need in /etc for the install
+COPY ${DESTDIR}/etc/group etc/group
COPY ${DESTDIR}/etc/disktab etc/disktab.shadow
SYMLINK /tmp/disktab.shadow etc/disktab
SYMLINK /tmp/fstab.shadow etc/fstab
COPY ${TOPDIR}/common/termcap.hp-vt usr/share/misc/termcap
# and the installation tools
-LINK sbin/init usr/bin/vi
COPY dot.profile .profile
COPY dot.instutils .instutils
COPY install.sh install
#
-# $OpenBSD: raminst.conf,v 1.1 1997/02/16 18:20:05 downsj Exp $
+# $OpenBSD: raminst.conf,v 1.2 1997/02/23 19:10:55 downsj Exp $
# $NetBSD: raminst.conf,v 1.3 1995/09/30 20:00:47 briggs Exp $
#
# ram.conf - unified binary for the RAM disk
#
-srcdirs bin sbin usr.bin usr.sbin
-srcdirs gnu/usr.bin
+srcdirs bin sbin usr.bin/less usr.bin usr.sbin gnu/usr.bin
-progs cat chmod chown cut cp dd df disklabel ed grep expr fsck_ffs ftp
-progs gzip ifconfig init hostname kill ln ls mkdir mknod more mount
-progs mount_cd9660 mount_kernfs mount_ffs mount_msdos mount_nfs
-progs mv newfs pwd reboot rm route sed sleep sh slattach sort stty
-progs sync pax test tip umount vim
+progs awk cat chmod chown chroot cp cut dd df disklabel ed expr fsck_ffs ftp
+progs grep gzip hostname ifconfig init kill less ln ls mkdir mknod mount
+progs mount_cd9660 mount_ffs mount_kernfs mount_nfs
+progs mv newfs pax pdksh ping pwd reboot rm route
+progs sed shutdown slattach sleep sort strings stty sync test tip umount
+progs restore vim
ln vim vi
+ln pax tar
ln chown chgrp
ln fsck_ffs fsck
-ln sh -sh # init invokes the shell this way
+ln pdksh sh
+ln pdksh -sh # init invokes the shell this way
ln test [
ln mount_ffs ffs
ln newfs mount_mfs
ln grep egrep
+ln reboot halt
+ln less more
-libs -ledit -lutil -ltermcap -lcompat -ll -lm -lz
+libs -ledit -lutil -ltermcap -lcompat -ll -lm
-# $OpenBSD: runlist.sh,v 1.1 1997/02/16 18:19:57 downsj Exp $
-# $NetBSD: runlist.sh,v 1.1 1995/07/18 04:13:01 briggs Exp $
+# $OpenBSD: runlist.sh,v 1.2 1997/02/23 19:10:49 downsj Exp $
+# $NetBSD: runlist.sh,v 1.1 1995/10/03 22:47:57 thorpej Exp $
if [ "X$1" = "X-d" ]; then
SHELLCMD=cat
shift
else
- SHELLCMD="sh"
+ SHELLCMD="sh -e"
fi
( while [ "X$1" != "X" ]; do