+ Jason Brazile
+ Dave Burgess
+ Charles Conn
+ Canada Connect Corporation
Brian Carlstrom
+ Tom Coulter
+ Charles D. Cranor
Demon Internet, UK
+ Greg Gingerich
Michael L. Hitch
+ Scott Kaplan
+ Chris Legrow
Herb Peyerl
Mike Price
Thor Lancelot Simon
Bill Sommerfeld
+ Paul Southworth
Steve Wadlow
The hp300 security distribution set is named "secr11" and can be found
in the "hp300/security" subdirectory of the NetBSD 1.1 distribution
-tree. It contains crypt.c (the source file for the DES encryption
-algorithm) and the binaries which depend on it. It can only be found
-on those sites which carry the complete NetBSD distribution and that
-can legally obtain it. (Remember, because of United States law, this
-distribution set may not be exported to locations outside of the
-United States and Canada.) [ XXXK gzipped, XXXK uncompressed ]
+tree. It contains executables which are built in the "src/domestic" portion
+if the NetBSD source tree. It can only be found on those sites which carry
+the complete NetBSD distribution and that can legally obtain it. (Remember,
+because of United States law, this distribution set may not be exported to
+locations outside of the United States and Canada.)
+[ 128K gzipped, 275K uncompressed ]
The hp300 binary distribution sets are distributed as gzipped tar files.
Each hp300 binary distribution set also has its own "CKSUMS" file, just
SYS_INST.gz A gzipped copy of the SYS_INST miniroot
installation program.
+ SYS_NBOOT.gz A gzipped copy of the network boot block.
+ This is useful if you are installing
+ a diskless NetBSD/hp300 system.
+
inst-11.fs.gz A gzipped copy of the miniroot filesystem.
netbsd.gz A gzipped GENERIC kernel.
* Allow you to place disklabels on additional disks.
Note that partition sizes and offsets are expressed
- in sectors.
+ in sectors. When you fill out the disklabel, you will
+ need to specify partition types and filesystem parameters.
+ If you're unsure what the these values should be, use the
+ following:
+
+ fstype: 4.2BSD
+ fsize: 1024
+ bsize: 4096
+ cpg: 16
+
+ If the partition will be a swap partition, use the following:
+
+ fstype: swap
+ fsize: 0 (or blank)
+ bsize: 0 (or blank)
+ cpg: 0 (or blank)
+
+ You will also need to specify the number of partitions.
+ The number of partitions is determined by the `index' of
+ the last partition letter, where a == 1, b == 2, etc.
+ Therefore, if the last filled partition is partition `g',
+ there are 7 partitions. Any partitions with size of 0
+ may be removed from the list.
+
+ If the disk is the boot disk, you _must_ offset the root
+ partition (`a') one cylinder, as the hp300 boot code
+ if large enough to spill past the label area. In this case,
+ the `c' partition must be fstype `boot'.
+
+ Anything after a `#' is a comment.
+
+ The following is an example disklabel partition map:
+
+7 partitions:
+# size offset fstype [fsize bsize cpg]
+ a: 30912 448 4.2BSD 1024 8192 16 # (Cyl. 1 - 69)
+ b: 130816 31360 swap # (Cyl. 70 - 361)
+ c: 1296512 0 boot # (Cyl. 0 - 2893)
+ e: 81984 162176 4.2BSD 1024 8192 16 # (Cyl. 362 - 544)
+ f: 102592 244160 4.2BSD 1024 4096 16 # (Cyl. 545 - 773)
+ g: 949760 346752 4.2BSD 1024 8192 16 # (Cyl. 774 - 2893)
* Create filesystems on target partitions.
documentation that came with it (on SunOS systems, add_client(8) is a
good start).
+Your Sparcstation expects to be able to download a second stage bootstrap
+program via TFTP after havinf acquired its IP address through RevARP when
+instructed to boot "over the net". It will look for a filename composed of
+the machine's IP address followed by the machine's architecture, separated
+by a period. For example, a sun4c machine which has been assigned IP
+address 130.115.144.11, will make an TFTP request for `8273900B.SUN4C'.
+Normally, this file is symbolic link to an appropriate second-stage
+boot program, which should be located in a place where the TFTP daemon
+can find it (remember, many TFTP daemons run in a chroot'ed environment).
+You can find the boot program in `/usr/mdec/boot' in the NetBSD/sparc
+distribution. Unfortunately, it is necessary to install this file
+differently for sun4 and sun4c clients: the sun4 version needs to have its
+`a.out' header stripped off (otherwise the machine will crash), while the
+sun4c version must retain it (otherwise the PROM will complain).
+
+Here's an example to illustrate this whole mess:
+
+ server# cd /<client-root-dir>/usr/mdec
+ if client is a sun4:
+ server# set SKIP=1
+ server# set KARCH=SUN4
+ else
+ server# set SKIP=0
+ server# set KARCH=SUN4C
+ server# dd if=boot of=/tftpboot/boot.sparc.netbsd.$KARCH skip=$SKIP bs=32
+ server# cd /tftpboot
+ server# ln -s boot.sparc.netbsd.$KARCH 8273900B.$KARCH
+
+Note: some versions of Openboot ROMs (sun4c) seem to require that the
+boot program size is nicely rounded. Therefore it may be necessary to
+strip(8) off the symbol table.
+
+
As noted above in the section `Preparing your System for NetBSD Installation',
you have several options when choosing a location to store the installation
filesets. However, the easiest way is to put the *.tar.gz files you want
ok setenv boot-device /sbus/esp/sd@0,0
-Congratulations, you have successfully installed NetBSD 1.0. When you
+Congratulations, you have successfully installed NetBSD 1.1. When you
reboot into NetBSD, you should log in as "root" at the login prompt.
There is no initial password, but if you're using the machine in a
networked environment, you should create yourself an account and
protect it and the "root" account with good passwords.
-Some of the files in the NetBSD 1.0 distribution might need to be
+Some of the files in the NetBSD 1.1 distribution might need to be
tailored for your site. In particular, the /etc/sendmail.cf file will
almost definitely need to be adjusted, and other files in /etc will
probably need to be modified. If you are unfamiliar with UN*X-like
gzip (GNU gzip) SunOS binary
gtar (GNU tar) SunOS binary
the "install.sh" script
- a "/boot" file from a SunOS sun4c machine
+ a "/boot" file from a SunOS machine that matches your machine type
+ (e.g. sun or sun4c)
a kernel, most likely "/netbsd"
All these pieces, except "/boot", are supplied in the NetBSD/sparc
sunos# /usr/mdec/installboot -vlt /mnt/boot /usr/mdec/bootsd /dev/rsd2a
You can now extract the provided "*.tar.gz files onto your disk. The
-provided script, "install.sh" will help you:
+provided script, "install_from_sunos.sh" will help you:
sunos# ls -FC
base.tar.gz etc.tar.gz man.tar.gz secr.tar.gz
comp.tar.gz games.tar.gz misc.tar.gz text.tar.gz
install.sh netbsd.id3_scsi
- sunos# ./install.sh
+ sunos# ./install_from_sunos.sh
[...]
This script NEEDS gzip and gtar (GNU gzip and GNU tar) on your
#!/bin/sh
-# $NetBSD: install.sh,v 1.2.2.1 1995/11/01 21:26:21 pk Exp $
+# $NetBSD: install.sh,v 1.2.2.2 1995/11/16 22:30:55 pk Exp $
#
# Copyright (c) 1995 Jason R. Thorpe.
# All rights reserved.
sleep 1; echo -n "-\b";
sleep 1; echo -n "\\\b";
sleep 1; echo -n "|\b";
- done > /dev/tty & echo $!
+ done > /dev/tty & echo $!
}
set_terminal() {
#
md_get_diskdevs() {
# return available disk devices
- dmesg | egrep "(^sd[0-9]:|^x[dy][0-9]:)" | cut -d" " -f1 | sort | uniq
+ dmesg | egrep "(^sd[0-9]|^x[dy][0-9])" | cut -d" " -f1 | sort -u
}
md_get_cddevs() {
# return available CDROM devices
- dmesg | grep "^sd" | grep "rev" | cut -d" " -f1
+ dmesg | grep "^cd[0-9]" | cut -d" " -f1 | sort -u
}
md_get_ifdevs() {
# return available network devices
- dmesg | egrep "(^le[0-9]|^ie[0-9])" | cut -d" " -f1
+ dmesg | egrep "(^le[0-9]|^ie[0-9])" | cut -d" " -f1 | sort -u
}
md_installboot() {
configurenetwork() {
+ local _ifsdone
+ local _ifs
+
+ _IFS=`md_get_ifdevs`
+ _ifsdone=""
+ resp="" # force at least one iteration
+ while [ "X${resp}" != X"done" ]; do
cat << \__configurenetwork_1
-You may configure the following network interfaces:
+You may configure the following network interfaces (the interfaces
+marked with [X] have been succesfully configured):
__configurenetwork_1
- _IFS=`md_get_ifdevs`
- echo $_IFS
- echo ""
- echo -n "Configure which interface? [done] "
- getresp "done"
- case "$resp" in
+ for _ifs in $_IFS; do
+ if isin $_ifs $_ifsdone ; then
+ echo -n "[X] "
+ else
+ echo -n " "
+ fi
+ echo $_ifs
+ done
+ echo ""
+ echo -n "Configure which interface? [done] "
+ getresp "done"
+ case "$resp" in
"done")
;;
-
*)
- if isin $resp $_IFS ; then
- _interface_name=$resp
-
- # remove from list
- _IFS=`rmel $resp "$_IFS"`
-
- # Get IP address
- resp="" # force one iteration
- while [ "X${resp}" = X"" ]; do
- echo -n "IP address? "
- getresp ""
- _interface_ip=$resp
- done
-
- # Get symbolic name
- resp="" # force one iteration
- while [ "X${resp}" = X"" ]; do
- echo -n "Symbolic name? "
- getresp ""
- _interface_symname=$resp
- done
-
- # Get netmask
- resp="" # force one iteration
- while [ "X${resp}" = X"" ]; do
- echo -n "Netmask? "
- getresp ""
- _interface_mask=$resp
- done
-
- # Configure the interface. If it
- # succeeds, add it to the permanent
- # network configuration info.
- ifconfig ${_interface_name} down
- if ifconfig ${_interface_name} inet \
- ${_interface_ip} \
- netmask ${_interface_mask} up ; then
- addifconfig \
- ${_interface_name} \
- ${_interface_symname} \
- ${_interface_ip} \
- ${_interface_mask}
+ _ifs=$resp
+ if isin $_ifs $_IFS ; then
+ if configure_ifs $_ifs ; then
+ _ifsdone="$_ifs $_ifsdone"
fi
else
- echo ""
- echo "The interface $resp does not exist."
+ echo "Invalid response: \"$resp\" is not in list"
fi
;;
- esac
+ esac
+ done
+}
+
+configure_ifs() {
+
+ _interface_name=$1
+
+ # Get IP address
+ resp="" # force one iteration
+ while [ "X${resp}" = X"" ]; do
+ echo -n "IP address? "
+ getresp ""
+ _interface_ip=$resp
+ done
+
+ # Get symbolic name
+ resp="" # force one iteration
+ while [ "X${resp}" = X"" ]; do
+ echo -n "Symbolic (host) name? "
+ getresp ""
+ _interface_symname=$resp
+ done
+
+ # Get netmask
+ resp="" # force one iteration
+ while [ "X${resp}" = X"" ]; do
+ echo -n "Netmask? "
+ getresp ""
+ _interface_mask=$resp
+ done
+
+ # Configure the interface. If it
+ # succeeds, add it to the permanent
+ # network configuration info.
+ ifconfig ${_interface_name} down
+ if ifconfig ${_interface_name} inet \
+ ${_interface_ip} \
+ netmask ${_interface_mask} up ; then
+ addifconfig \
+ ${_interface_name} \
+ ${_interface_symname} \
+ ${_interface_ip} \
+ ${_interface_mask}
+ return 0
+ fi
+ return 1
}
install_ftp() {
install_common_nfs_cdrom() {
# $1 - directory containing file
-
- # Get the name of the file.
- resp="" # force one iteration
- while [ "X${resp}" = X"" ]; do
- echo -n "File name? "
- getresp ""
- done
- _common_filename="/mnt2/$1/$resp"
-
- # Ensure file exists
- if [ ! -f $_common_filename ]; then
- echo "File $_common_filename does not exist. Check to make"
- echo "sure you entered the information properly."
+ local _filename
+ local _setsdone
+ local _prev
+ local _f
+
+ _sets=`(cd /mnt2/$1; ls *.tar.gz)`
+ if [ -z "$_sets" ]; then
+ echo "There are no NetBSD install sets available in \"$1\""
return
fi
- # Extract file
- cat $_common_filename | (cd /mnt; tar -zxvpf -)
- echo "Extraction complete."
+ _setsdone=""
+ while : ; do
+ echo "The following sets are available for extraction:"
+ echo "(marked sets have already been extracted)"
+ echo ""
+
+ _prev=""
+ for _f in $_sets ; do
+ if isin $_f $_setsdone; then
+ echo -n "[X] "
+ else
+ echo -n " "
+ if [ -z "$_prev" ]; then _prev=$_f; fi
+ fi
+ echo $_f
+ done
+ echo ""
+
+ # Get the name of the file.
+ if [ "X$_prev" = "X" ]; then resp=n; else resp=y; fi
+ echo -n "Continue extraction [$resp]?"
+ getresp "$resp"
+ if [ "$resp" = "n" ]; then
+ break
+ fi
+
+ echo -n "File name [$_prev]? "
+ getresp "$_prev"
+ _f=$resp
+ _filename="/mnt2/$1/$_f"
+
+ # Ensure file exists
+ if [ ! -f $_filename ]; then
+ echo "File $_filename does not exist. Check to make"
+ echo "sure you entered the information properly."
+ continue
+ fi
+
+ # Extract file
+ cat $_filename | (cd /mnt; tar -zxvpf -)
+ echo "Extraction complete."
+ _setsdone="$_f $_setsdone"
+
+ done
}
install_cdrom() {
done
# Mount the CD-ROM
+ mkdir /mnt2 > /dev/null 2>&1
if ! mount -t ${_cdrom_filesystem} -o ro \
/dev/${_cdrom_drive}${_cdrom_partition} /mnt2 ; then
echo "Cannot mount CD-ROM drive. Aborting."
2)
(
cd /mnt
- tar -zxvpf $TAPE
+ dd if=$TAPE | tar -xvpf -
)
;;
Other zones are grouped by continent, with detailed zone information
separated by a slash ("/"), e.g. "US/Pacific".
-To get a listing of what's available in /usr/share/timezone, enter "?"
-at the first prompt below.
+To get a listing of what's available in /usr/share/zoneinfo, enter "?"
+at the prompts below.
__get_timezone_1
if [ X$TZ = X ]; then
TZ=`ls -l /etc/timezone 2>/dev/null | awk '{print $NF}' |
- sed -e 's?/usr/share/timezone/??'`
+ sed -e 's?/usr/share/zoneinfo/??'`
fi
while :; do
- echo -n "What timezone are you in [$TZ]? "
+ echo -n "What timezone are you in [\`?' for list] [$TZ]? "
getresp "$TZ"
case "$resp" in
"")
;;
*)
_a=$resp
- if [ -d /usr/share/zoneinfo/$_a ]; then
+ while [ -d /usr/share/zoneinfo/$_a ]; do
echo -n "There are several timezones available"
- echo " within '$_a'"
- echo -n "Select a sub-timezone: "
+ echo " within zone '$_a'"
+ echo -n "Select a sub-timezone [\`?' for list]: "
getresp ""
- _a=${_a}/${resp}
- fi
+ case "$resp" in
+ "?") ls /usr/share/zoneinfo/$_a ;;
+ *) _a=${_a}/${resp}
+ if [ -f /usr/share/zoneinfo/$_a ]; then
+ break;
+ fi
+ ;;
+ esac
+ done
if [ -f /usr/share/zoneinfo/$_a ]; then
TZ="$_a"
- echo "You have selected timezone "$_a".
+ echo "You have selected timezone \"$_a\"".
break 2
fi
echo "'/usr/share/zoneinfo/$_a' is not a valid timezone on this system."
getresp "y"
case "$resp" in
y*|Y*)
+cat << \__disklabel_notice_2
+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).
+
+Do not change any parameters except the partition layout and the label name.
+It's probably also wisest not to touch the `8 partitions:' line, even
+in case you have defined less than eight partitions.
+
+[Example]
+8 partitions:
+# size offset fstype [fsize bsize cpg]
+ a: 50176 0 4.2BSD 1024 8192 16 # (Cyl. 0 - 111)
+ b: 64512 50176 swap # (Cyl. 112 - 255)
+ c: 640192 0 unknown # (Cyl. 0 - 1428)
+ d: 525504 114688 4.2BSD 1024 8192 16 # (Cyl. 256 - 1428)
+[End of example]
+
+__disklabel_notice_2
+ echo -n "Hit <enter> to enter the disklabel editor: "
+ getresp ""
+
disklabel -W ${ROOTDISK}
disklabel -e ${ROOTDISK}
;;
;;
esac
-cat << \__disklabel_notice_2
+cat << \__disklabel_notice_3
You will now be given the opportunity to place disklabels on any additional
disks on your system.
-__disklabel_notice_2
+__disklabel_notice_3
resp="X" # force at least one iteration
while [ "X$resp" != X"done" ]; do
# XXX ASSUMES THAT THE USER DOESN'T PROVIDE BOGUS INPUT.
cat << \__get_filesystems_1
-You will now have the opportunity to enter filesystem information.
-You will be prompted for device name and mount point (full path,
-including the prepending '/' character).
+You will now have the opportunity to specify mount points for some or
+all of the partitions you have on your disk(s).
+You will be prompted for device name (for example `/dev/sd0d') and
+mount point (full path, e.g. `/usr').
Note that these do not have to be in any particular order. You will
be given the opportunity to edit the resulting 'fstab' file before
done
FQDN=$resp
- resp="" # force at least one iteration
- while [ "X${resp}" != X"done" ]; do
- configurenetwork
- done
+ configurenetwork
echo -n "Enter IP address of default route: [none] "
getresp "none"
case "$resp" in
y*|Y*)
for _f in $ALLSETS; do
- echo -n "Install $_f ? [y]"
+ if [ ! -f $RELDIR/${_f}.tar.gz ]; then
+ continue;
+ fi
+ echo -n "Install set \"$_f\" ? [y]"
getresp "y"
case "$resp" in
y*|Y*)
_yup=X
;;
*)
+ continue;
;;
esac
echo "Extraction complete."
# Give the user the opportunity to extract more sets. They don't
# necessarily have to come from the same media.
echo ""
- echo -n "Extract more sets? [n] "
+ echo -n "Extract more sets (from other media)? [n] "
getresp "n"
case "$resp" in
y*|Y*)
echo "done."
echo "Copying kernel..."
- cp /netbsd /mnt/netbsd
+ cp -p /netbsd /mnt/netbsd
md_installboot ${ROOTDISK}
)
#!/bin/sh
-# $NetBSD: upgrade.sh,v 1.3 1995/11/01 21:10:41 pk Exp $
+# $NetBSD: upgrade.sh,v 1.3.2.1 1995/11/16 22:30:57 pk Exp $
#
# Copyright (c) 1995 Jason R. Thorpe.
# All rights reserved.
sleep 1; echo -n "-\b";
sleep 1; echo -n "\\\b";
sleep 1; echo -n "|\b";
- done > /dev/tty & echo $!
+ done > /dev/tty & echo $!
}
set_terminal() {
#
md_get_diskdevs() {
# return available disk devices
- dmesg | grep "^sd.*at scsibus" | cut -d" " -f1
+ dmesg | egrep "(^sd[0-9]|^x[dy][0-9])" | cut -d" " -f1 | sort -u
}
md_get_cddevs() {
# return available CDROM devices
- dmesg | grep "^sd" | grep "rev" | cut -d" " -f1
+ dmesg | grep "^cd[0-9]" | cut -d" " -f1 | sort -u
}
md_get_ifdevs() {
# return available network devices
- dmesg | egrep "(^le[0-9]|^ie[0-9])" | cut -d" " -f1
+ dmesg | egrep "(^le[0-9]|^ie[0-9])" | cut -d" " -f1 | sort -u
}
md_installboot() {
install_common_nfs_cdrom() {
# $1 - directory containing file
-
- # Get the name of the file.
- resp="" # force one iteration
- while [ "X${resp}" = X"" ]; do
- echo -n "File name? "
- getresp ""
- done
- _common_filename="/mnt2/$1/$resp"
-
- # Ensure file exists
- if [ ! -f $_common_filename ]; then
- echo "File $_common_filename does not exist. Check to make"
- echo "sure you entered the information properly."
+ local _filename
+ local _setsdone
+ local _prev
+ local _f
+
+ _sets=`(cd /mnt2/$1; ls *.tar.gz)`
+ if [ -z "$_sets" ]; then
+ echo "There are no NetBSD install sets available in \"$1\""
return
fi
- # Extract file
- cat $_common_filename | (cd /mnt; tar -zxvpf -)
- echo "Extraction complete."
+ _setsdone=""
+ while : ; do
+ echo "The following sets are available for extraction:"
+ echo "(marked sets have already been extracted)"
+ echo ""
+
+ _prev=""
+ for _f in $_sets ; do
+ if isin $_f $_setsdone; then
+ echo -n "[X] "
+ else
+ echo -n " "
+ if [ -z "$_prev" ]; then _prev=$_f; fi
+ fi
+ echo $_f
+ done
+ echo ""
+
+ # Get the name of the file.
+ if [ "X$_prev" = "X" ]; then resp=n; else resp=y; fi
+ echo -n "Continue extraction [$resp]?"
+ getresp "$resp"
+ if [ "$resp" = "n" ]; then
+ break
+ fi
+
+ echo -n "File name [$_prev]? "
+ getresp "$_prev"
+ _f=$resp
+ _filename="/mnt2/$1/$_f"
+
+ # Ensure file exists
+ if [ ! -f $_filename ]; then
+ echo "File $_filename does not exist. Check to make"
+ echo "sure you entered the information properly."
+ continue
+ fi
+
+ # Extract file
+ cat $_filename | (cd /mnt; tar -zxvpf -)
+ echo "Extraction complete."
+ _setsdone="$_f $_setsdone"
+
+ done
}
install_cdrom() {
;;
esac
done
-
# Mount the CD-ROM
+ mkdir /mnt2 > /dev/null 2>&1
if ! mount -t ${_cdrom_filesystem} -o ro \
/dev/${_cdrom_drive}${_cdrom_partition} /mnt2 ; then
echo "Cannot mount CD-ROM drive. Aborting."
2)
(
cd /mnt
- tar -zxvpf $TAPE
+ dd if=$TAPE | tar -xvpf -
)
;;
Other zones are grouped by continent, with detailed zone information
separated by a slash ("/"), e.g. "US/Pacific".
-To get a listing of what's available in /usr/share/timezone, enter "?"
-at the first prompt below.
+To get a listing of what's available in /usr/share/zoneinfo, enter "?"
+at the prompts below.
__get_timezone_1
if [ X$TZ = X ]; then
TZ=`ls -l /etc/timezone 2>/dev/null | awk '{print $NF}' |
- sed -e 's?/usr/share/timezone/??'`
+ sed -e 's?/usr/share/zoneinfo/??'`
fi
while :; do
- echo -n "What timezone are you in [$TZ]? "
+ echo -n "What timezone are you in [\`?' for list] [$TZ]? "
getresp "$TZ"
case "$resp" in
"")
;;
*)
_a=$resp
- if [ -d /usr/share/zoneinfo/$_a ]; then
+ while [ -d /usr/share/zoneinfo/$_a ]; do
echo -n "There are several timezones available"
- echo " within '$_a'"
- echo -n "Select a sub-timezone: "
+ echo " within zone '$_a'"
+ echo -n "Select a sub-timezone [\`?' for list]: "
getresp ""
- _a=${_a}/${resp}
- fi
+ case "$resp" in
+ "?") ls /usr/share/zoneinfo/$_a ;;
+ *) _a=${_a}/${resp}
+ if [ -f /usr/share/zoneinfo/$_a ]; then
+ break;
+ fi
+ ;;
+ esac
+ done
if [ -f /usr/share/zoneinfo/$_a ]; then
TZ="$_a"
- echo "You have selected timezone "$_a".
+ echo "You have selected timezone \"$_a\"".
break 2
fi
echo "'/usr/share/zoneinfo/$_a' is not a valid timezone on this system."
ALLSETS="base comp etc games man misc text"
UPGRSETS="base comp games man misc text"
RELDIR=
-RELDIR=/a/release
if [ -f $RELDIR/base.tar.gz ]; then
echo -n "Install from sets in the current root filesystem? [y] "
case "$resp" in
y*|Y*)
for _f in $UPGRSETS; do
- echo -n "Install $_f ? [y]"
+ if [ ! -f $RELDIR/${_f}.tar.gz ]; then
+ continue;
+ fi
+ echo -n "Install set \"$_f\" ? [y]"
getresp "y"
case "$resp" in
y*|Y*)
_yup=X
;;
*)
+ continue;
;;
esac
echo "Extraction complete."
if [ -f /mnt/netbsd ]; then
echo "Saving existing kernel in netbsd.1.0."
- cp /mnt/netbsd /mnt/netbsd.1.0
+ mv /mnt/netbsd /mnt/netbsd.1.0
fi
echo "Copying netbsd 1.1 kernel ..."
- cp /netbsd /mnt/netbsd
+ cp -p /netbsd /mnt/netbsd
if [ "$_INSTBOOT" = "Y" ]; then
echo "Installing NetBSD bootblock..."