freebsd-nq/sys/conf/newvers.sh
Jordan K. Hubbard d50a30076c Multiple changes stacked as one commit since they all depend on one another.
First, change sysinstall and the Makefile rules to not build the kernel
nlist directly into sysinstall now.  Instead, spit it out as an ascii
file in /stand and parse it from sysinstall later.  This solves the chicken-n-
egg problem of building sysinstall into the fsimage before BOOTMFS is built
and can have its symbols extracted.  Now we generate the symbol file in
release.8.

Second, add Poul-Henning's USERCONFIG_BOOT changes.  These have two
effects:

	1. Userconfig is always entered, rather than only after a -c
	   (don't scream yet, it's not as bad as it sounds).

	2. Userconfig reads a message string which can optionally be
	   written just past the boot blocks.  This string "preloads"
	   the userconfig input buffer and is parsed as user input.
	   If the first command is not "USERCONFIG", userconfig will
	   treat this as an implied "quit" (which is why you don't need
	   to scream - you never even know you went through userconfig
	   and back out again if you don't specifically ask for it),
	   otherwise it will read and execute the following commands
	   until a "quit" is seen or the end is reached, in which case
	   the normal userconfig command prompt will then be presented.

  How to create your own startup sequences, using any boot.flp image
from the next snap forward (not yet, but soon):

	% dd of=/dev/rfd0 seek=1 bs=512 count=1 conv=sync <<WAKKA_WAKKA_DOO
USERCONFIG
irq ed0 10
iomem ed0 0xcc000
disable ed1
quit
WAKKA_WAKKA_DOO


Third, add an intro screen to UserConfig so that users aren't just thrown
into this strange screen if userconfig is auto-launched.  The default
boot.flp startup sequence is now, in fact, this:

	USERCONFIG
	intro
	visual

(Since visual never returns, we don't need a following "quit").

Submitted-By: phk & jkh
1996-10-05 10:44:07 +00:00

94 lines
3.1 KiB
Bash

#!/bin/sh -
#
# Copyright (c) 1984, 1986, 1990, 1993
# The Regents of the University of California. All rights reserved.
#
# 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 University of
# California, Berkeley and its contributors.
# 4. Neither the name of the University 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 REGENTS 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.
#
# @(#)newvers.sh 8.1 (Berkeley) 4/20/94
# $Id: newvers.sh,v 1.24 1996/08/04 22:34:00 wosch Exp $
TYPE="FreeBSD"
REVISION="2.2"
BRANCH="CURRENT"
RELEASE=2.2-961004-SNAP
SNAPDATE=""
if [ "X${SNAPDATE}" != "X" ]; then
RELEASE="${RELEASE}-${SNAPDATE}"
fi
VERSION="${TYPE} ${RELEASE}"
RELDATE="199608"
b=share/examples/etc/bsd-style-copyright
year=`date '+%Y'`
# look for copyright template
for bsd_copyright in ../$b ../../$b ../../../$b /usr/src/$b /usr/$b
do
if [ -r "$bsd_copyright" ]; then
COPYRIGHT=`sed -e "s/\[year\]/$year/" \
-e 's/\[your name here\]\. /FreeBSD Inc./' \
-e 's/\[your name\]/FreeBSD Inc./' $bsd_copyright`
break
fi
done
# no copyright found, use a dummy
if [ X"$COPYRIGHT" = X ]; then
COPYRIGHT="/*
* Copyright (C) $year
* FreeBSD Inc. All rights reserved.
*
*/"
fi
# add newline
COPYRIGHT="$COPYRIGHT
"
LC_TIME=; export LC_TIME
if [ ! -r version ]
then
echo 0 > version
fi
touch version
v=`cat version` u=${USER-root} d=`pwd` h=`hostname` t=`date`
cat /dev/null > vers.c
echo "$COPYRIGHT" >> vers.c
echo "char ostype[] = \"${TYPE}\";" >> vers.c
echo "char osrelease[] = \"${RELEASE}\";" >> vers.c
echo "int osreldate = ${RELDATE};" >> vers.c
echo "char sccs[4] = { '@', '(', '#', ')' };" >>vers.c
echo "char version[] = \
\"${VERSION} #${v}: ${t}\\n ${u}@${h}:${d}\\n\";" >>vers.c
echo `expr ${v} + 1` > version