Pull up following revision(s) (requested by tsutsui in ticket #1639):

distrib/miniroot/install.sub: revision 1.54 (patch)
	distrib/miniroot/install.sub: revision 1.56 (patch)
	distrib/miniroot/install.sub: revision 1.57 (patch)
	distrib/miniroot/install.sub: revision 1.58 (patch)
	distrib/miniroot/install.sub: revision 1.59 (patch)
	distrib/hp300/miniroot/install.md: revision 1.20
	distrib/miniroot/list: revision 1.36
	distrib/mvme68k/miniroot/install.md: revision 1.9
	distrib/mvme68k/miniroot/install.md: revision 1.10
	distrib/sun3/miniroot/install.md: revision 1.6
	distrib/miniroot/install.sub: revision 1.47 (patch)
	distrib/sun3/miniroot/install.md: revision 1.7
	distrib/sun2/miniroot/install.md: revision 1.6
	distrib/sun2/miniroot/install.md: revision 1.7
	distrib/amiga/miniroot/install.md: revision 1.31
	distrib/mac68k/miniroot/install.md: revision 1.6
	distrib/mac68k/miniroot/install.md: revision 1.7
	distrib/mac68k/miniroot/install.md: revision 1.8
	distrib/miniroot/upgrade.sh: revision 1.23
	distrib/miniroot/install.sh: revision 1.26
	distrib/miniroot/upgrade.sh: revision 1.24
	distrib/miniroot/install.sh: revision 1.27
	distrib/hp300/miniroot/install.md: revision 1.18
	distrib/hp300/miniroot/install.md: revision 1.19
	distrib/miniroot/install.sub: revision 1.50 (patch)
	distrib/miniroot/install.sub: revision 1.51 (patch)
	distrib/miniroot/install.sub: revision 1.52 (patch)
	distrib/miniroot/install.sub: revision 1.53 (patch)

Remove uses of test ... -a ... and test ... -o ...
eXorcize and `` -> $()
Fix miniroot installation failure on network configuration.  PR/54833
No particular comment in the PR.
Should be pulled up to netbsd-9.
Fix "[: SMALL test, no fallback usage" error on miniroot installation.
Avoid and replace use of '-a', '(' and ')' operatos marked obsolescent
by modern POSIX.1-2017:
 https://pubs.opengroup.org/onlinepubs/9699919799/utilities/test.html#tag_20_128_16
as suggested by kre@ in PR/54835.
Should be pulled up to netbsd-9.
The idiom
	set $whatever
	while [ $# - gt 10 ]; do shift 10; done
	eval echo \$$#
fails when $# turns out to be 10 (or any multiple), it would need
to be instead
	while [ $# -ge 10 ]; do shift 9; done
but there hasn't been a shell that cannot handle ${10} (etc) correctly
in a very long time, so let's just use that instead (properly quoted,
in case IFS happens to contain a digit for some bizarre reason).
We should also "set -f" / "set +f" (or better, restore the prev setting of -f)
around the "set $whatever" part, but if that was ever going to cause a problem
here, it would have already, so leave that for now.
test ! -n "$foo"   is just a quaint way of saying test -z "$foo"
and test ! -z "$foo" is really just test -n "$foo"  so let's just
use the simple (and more obvious) forms.
NFCI.
The kernel and X sets should be specified in MD miniroot scripts.
Otherwise they are not listed at least on ftp installation.
The problem was reported by Martin Trusler on port-hp300@:
 https://mail-index.netbsd.org/port-hp300/2020/11/21/msg000174.html
Should be pulled up to netbsd-9 and netbsd-8.
Add modules set for default sets on miniroot installation.
Should be pulled up to netbsd-9 and netbsd-8.
Add missing md_get_partition_range() that causes installation failure.
Also reported by Martin Trusler on testing hp300 miniroot.
Should be pulled up to netbsd-9 and netbsd-8.
Explicitly sort set names fetched via ftp nlist.
Several binary sets are stored as symbolic links on releases and
it seems some ftpd doesn't sort nlist outputs by name in such case.
Worth to pullup to netbsd-9 and netbsd-8.
Use proper release version strings ("9.1" rather than "91") in banners.
Also define and use "MACHINE" variable to describe port names
(no uname(1) or sysctl(8) in miniroot binary list by default).
I guess the short format like "91" by ${DISTRIBREV} was used only
for split sets for floppies in 1990's releases.
Worth to pullup to netbsd-9.
Inform the default installation directory in the official ftp server.
Fetch files via ftp using auto-fetching with URL per each binary set.
On slower machines, it takes more than five minutes to get a large
set binary and it could cause timeout of ftp control session, so
getting multiple binary sets in a single ftp session always fails.
Briefly tested on HP 9000/425e with 9.1 tree and ftp.netbsd.org binaries.
No particular comments on tech-install@ and port-hp300@.
Maybe should be pulled up to netbsd-9.
This commit is contained in:
martin 2020-12-19 19:02:52 +00:00
parent 76398af416
commit cfffa7b295
10 changed files with 166 additions and 136 deletions

View File

@ -1,4 +1,4 @@
# $NetBSD: install.md,v 1.27.40.1 2017/09/23 17:01:59 snj Exp $
# $NetBSD: install.md,v 1.27.40.2 2020/12/19 19:02:52 martin Exp $
#
#
# Copyright (c) 1996,2006 The NetBSD Foundation, Inc.
@ -152,7 +152,7 @@ md_labeldisk() {
md_welcome_banner() {
if [ "$MODE" = "install" ]; then
echo ""
echo "Welcome to the NetBSD/amiga ${VERSION} installation program."
echo "Welcome to the NetBSD/${MACHINE} ${RELEASE} installation program."
cat << \__welcome_banner_1
This program is designed to help you put NetBSD on your disk,
@ -163,7 +163,7 @@ __welcome_banner_1
else
echo ""
echo "Welcome to the NetBSD/amiga ${VERSION} upgrade program."
echo "Welcome to the NetBSD/${MACHINE} ${RELEASE} upgrade program."
cat << \__welcome_banner_2
This program is designed to help you upgrade your NetBSD system in a

View File

@ -1,6 +1,6 @@
#!/bin/sh
#
# $NetBSD: install.md,v 1.15 2011/02/06 18:26:51 tsutsui Exp $
# $NetBSD: install.md,v 1.15.38.1 2020/12/19 19:02:52 martin Exp $
#
# Copyright (c) 1996 The NetBSD Foundation, Inc.
# All rights reserved.
@ -35,7 +35,7 @@
#
# Machine-dependent install sets
MDSETS=""
MDSETS="kern-GENERIC xbase xcomp xetc xfont xserver"
md_set_term() {
if [ ! -z "$TERM" ]; then
@ -83,6 +83,11 @@ md_get_ifdevs() {
dmesg | awk -F : '/^le[0-9]*:/ { print $1; }' | sort -u
}
md_get_partition_range() {
# return an expression describing the valid partition id's
echo '[a-h]'
}
md_installboot() {
# $1 is the root disk
@ -470,7 +475,7 @@ __md_copy_kernel_1
md_welcome_banner() {
(
echo ""
echo "Welcome to the NetBSD/hp300 ${VERSION} installation program."
echo "Welcome to the NetBSD/${MACHINE} ${RELEASE} installation program."
cat << \__welcome_banner_1
This program is designed to help you install NetBSD on your system in a

View File

@ -1,6 +1,6 @@
#!/bin/sh
#
# $NetBSD: install.md,v 1.4 2008/04/30 13:10:48 martin Exp $
# $NetBSD: install.md,v 1.4.56.1 2020/12/19 19:02:52 martin Exp $
#
# Copyright (c) 1996 The NetBSD Foundation, Inc.
# All rights reserved.
@ -35,7 +35,7 @@
#
# Machine-dependent install sets
MDSETS=""
MDSETS="kern-GENERIC xbase xcomp xetc xfont xserver"
md_set_term() {
if [ ! -z "$TERM" ]; then
@ -83,6 +83,11 @@ md_get_ifdevs() {
dmesg | awk -F : '/^sn[0-9]*:/ { print $1; }' | sort -u
}
md_get_partition_range() {
# return an expression describing the valid partition id's
echo '[a-h]'
}
md_installboot() {
# $1 is the root disk
@ -122,7 +127,7 @@ md_copy_kernel() {
md_welcome_banner() {
(
echo ""
echo "Welcome to the NetBSD/mac68k ${VERSION} installation program."
echo "Welcome to the NetBSD/${MACHINE} ${RELEASE} installation program."
cat << \__welcome_banner_1
This program is designed to help you install NetBSD on your system in a

View File

@ -1,5 +1,5 @@
#!/bin/sh
# $NetBSD: install.sh,v 1.25 2009/09/20 22:44:06 abs Exp $
# $NetBSD: install.sh,v 1.25.40.1 2020/12/19 19:02:52 martin Exp $
#
# Copyright (c) 1996,1997,1999,2000,2006 The NetBSD Foundation, Inc.
# All rights reserved.
@ -64,8 +64,8 @@ MODE="install"
# we need to make sure .'s below work if this directory is not in $PATH
# dirname may not be available but expr is
Mydir=`expr $0 : '^\(.*\)/[^/]*$'`
Mydir=`cd ${Mydir:-.}; pwd`
Mydir=$(expr $0 : '^\(.*\)/[^/]*$')
Mydir=$(cd ${Mydir:-.}; pwd)
# this is the most likely place to find the binary sets
# so save them having to type it in
@ -114,7 +114,7 @@ echo "# disktab" > /tmp/disktab.shadow
test "$md_view_labels_possible" && md_view_labels
while [ "X${ROOTDISK}" = "X" ]; do
while [ -z "${ROOTDISK}" ]; do
getrootdisk
done
@ -144,8 +144,8 @@ echo " ${ROOTDISK}a /"
echo "${ROOTDISK}a /" > ${FILESYSTEMS}
resp="X" # force at least one iteration
while [ "X$resp" != X"done" ]; do
resp="not-done" # force at least one iteration
while [ "$resp" != "done" ]; do
echo ""
echo -n "Device name? [RETURN if you already entered all devices] "
getresp "done"
@ -154,19 +154,19 @@ while [ "X$resp" != X"done" ]; do
;;
*)
_device_name=`basename $resp`
_device_name=$(basename $resp)
# force at least one iteration
_first_char="X"
while [ "X${_first_char}" != X"/" ]; do
while [ "${_first_char}" != "/" ]; do
echo -n "Mount point? "
getresp ""
_mount_point=$resp
if [ "X${_mount_point}" = X"/" ]; then
if [ "${_mount_point}" = "/" ]; then
# Invalid response; no multiple roots
_first_char="X"
else
_first_char=`firstchar ${_mount_point}`
_first_char=$(firstchar ${_mount_point})
fi
done
echo "${_device_name} ${_mount_point}" >> ${FILESYSTEMS}
@ -177,7 +177,7 @@ done
# configure swap
resp="" # force at least one iteration
while [ "X${resp}" = X"" ]; do
while [ -z "${resp}" ]; do
echo -n "Ok to configure ${ROOTDISK}b as a swap device? [] "
getresp ""
case "$resp" in
@ -236,10 +236,10 @@ case "$resp" in
y*|Y*)
resp="" # force at least one iteration
if [ -f /etc/myname ]; then
resp=`cat /etc/myname`
resp=$(cat /etc/myname)
fi
echo -n "Enter system hostname: [$resp] "
while [ "X${resp}" = X"" ]; do
while [ -z "${resp}" ]; do
getresp "$resp"
done
hostname $resp
@ -247,7 +247,7 @@ case "$resp" in
echo -n "Enter DNS domain name: "
getresp "none"
if [ "X${resp}" != X"none" ]; then
if [ "${resp:-none}" != "none" ]; then
FQDN=$resp
fi
@ -255,7 +255,7 @@ case "$resp" in
echo -n "Enter IP address of default route: [none] "
getresp "none"
if [ "X${resp}" != X"none" ]; then
if [ "${resp:-none}" != "none" ]; then
route delete default > /dev/null 2>&1
if route add default $resp > /dev/null ; then
echo $resp > /tmp/mygate
@ -263,11 +263,11 @@ case "$resp" in
fi
resp="none"
if [ X${FQDN} != X ]; then
if [ -n "${FQDN}" ]; then
echo -n "Enter IP address of primary nameserver: [none] "
getresp "none"
fi
if [ "X${resp}" != X"none" ]; then
if [ "${resp:-none}" != "none" ]; then
echo "domain $FQDN" > /tmp/resolv.conf
echo "nameserver $resp" >> /tmp/resolv.conf
echo "search $FQDN" >> /tmp/resolv.conf
@ -377,7 +377,7 @@ mount_fs /tmp/fstab.shadow
mount | while read line; do
set -- $line
if [ "$2" = "/" -a "$3" = "nfs" ]; then
if [ "$2" = "/" ] && [ "$3" = "nfs" ]; then
echo "You appear to be running diskless."
echo -n "Are the install sets on one of your currently mounted filesystems? [n] "
getresp "n"
@ -427,7 +427,7 @@ install_sets
echo "No /dev/MAKEDEV installed, something is wrong here..."
else
echo -n "Making devices..."
pid=`twiddle`
pid=$(twiddle)
cd /mnt/dev
sh MAKEDEV all
kill $pid

View File

@ -1,5 +1,5 @@
#!/bin/sh
# $NetBSD: install.sub,v 1.45.56.1 2017/09/23 17:01:59 snj Exp $
# $NetBSD: install.sub,v 1.45.56.2 2020/12/19 19:02:52 martin Exp $
#
# Copyright (c) 1996 The NetBSD Foundation, Inc.
# All rights reserved.
@ -32,10 +32,14 @@
# NetBSD installation/upgrade script - common subroutines.
ROOTDISK="" # filled in below
MACHINE= # filled by distrib/miniroot/list
export MACHINE
VERSION= # filled in automatically (see list)
export VERSION
RELEASE= # filled in automatically (see list)
export RELEASE
ALLSETS="base comp etc games man misc text" # default install sets
ALLSETS="base comp etc games man misc modules text" # default install sets
UPGRSETS="base comp games man misc text" # default upgrade sets
THESETS= # one of the above
@ -53,7 +57,7 @@ fi
getresp() {
read resp
if [ "X$resp" = "X" ]; then
if [ -z "$resp" ]; then
resp=$1
fi
}
@ -114,8 +118,7 @@ cutlast () {
read _a; set -- $_a
IFS="$_oifs"
if [ "$1" = "" ]; then return; fi
while [ "$#" -gt 10 ]; do shift 10; done
eval echo \$$#
eval echo '"${'"$#"'}"'
}
firstchar () {
@ -135,8 +138,7 @@ basename () {
IFS="/"
set -- $1
IFS="$_oifs"
while [ "$#" -gt 10 ]; do shift 10; done
eval echo \$$#
eval echo '"${'"$#"'}"'
}
dir_has_sets() {
@ -243,7 +245,7 @@ program.
Available disks are:
__getrootdisk_1
_DKDEVS=`md_get_diskdevs`
_DKDEVS=$(md_get_diskdevs)
echo "$_DKDEVS"
echo ""
echo -n "Which disk is the root disk? "
@ -323,16 +325,16 @@ configurenetwork() {
local _ifsdone
local _ifs
# _IFS=`md_get_ifdevs`
_IFS=`ifconfig -l | sed '
# _IFS=$(md_get_ifdevs)
_IFS=$(ifconfig -l | sed '
s/lo0//
s/ppp[0-9]//g
s/sl[0-9]//g
s/tun[0-9]//g'`
s/tun[0-9]//g')
_ifsdone=""
resp="" # force at least one iteration
while [ "X${resp}" != X"done" ]; do
while [ "${resp}" != "done" ]; do
cat << \__configurenetwork_1
You may configure the following network interfaces (the interfaces
@ -383,37 +385,37 @@ configure_ifs() {
_interface_name=$1
_up=DOWN
if isin $_interface_name `ifconfig -l -u` ; then
if isin $_interface_name $(ifconfig -l -u); then
_up=UP
fi
_interface_supported_media=`ifconfig -m $_interface_name | sed -n '
_interface_supported_media=$(ifconfig -m $_interface_name | sed -n '
/^[ ]*media autoselect/d
4,$s/[ ]*media //p'`
4,$s/[ ]*media //p')
# get current "media" "ip" and "netmask" ("broadcast")
_t=`ifconfig $_interface_name | sed -n '
s/^[ ]*media: [^ ]* \([^ ][^ ]*\).*/\1/p'`
_t=$(ifconfig $_interface_name | sed -n '
s/^[ ]*media: [^ ]* \([^ ][^ ]*\).*/\1/p')
if [ "$_t" != "manual" -a "$_t" != "media:" -a "$_t" != "autoselect" ];
if [ "$_t" != "manual" ] && [ "$_t" != "media:" ] && [ "$_t" != "autoselect" ];
then
_interface_mediumtype=$1
fi
set -- `ifconfig $_interface_name | sed -n '
set -- $(ifconfig $_interface_name | sed -n '
/^[ ]*inet/{
s/inet//
s/--> [0-9.][0-9.]*//
s/netmask//
s/broadcast//
p;}'`
p;}')
_interface_ip=$1
_interface_mask=$2
# Get IP address
resp="" # force one iteration
while [ "X${resp}" = X"" ]; do
while [ -z "${resp}" ]; do
echo -n "IP address? [$_interface_ip] "
getresp "$_interface_ip"
_interface_ip=$resp
@ -421,7 +423,7 @@ configure_ifs() {
# Get symbolic name
resp="" # force one iteration
while [ "X${resp}" = X"" ]; do
while [ -z "${resp}" ]; do
echo -n "Symbolic (host) name? "
getresp ""
_interface_symname=$resp
@ -429,7 +431,7 @@ configure_ifs() {
# Get netmask
resp="" # force one iteration
while [ "X${resp}" = X"" ]; do
while [ -z "${resp}" ]; do
echo -n "Netmask? [$_interface_mask] "
getresp "$_interface_mask"
_interface_mask=$resp
@ -441,19 +443,19 @@ configure_ifs() {
echo -n "Additional media type arguments (none)? [$_interface_mediumtype] "
getresp "$_interface_mediumtype"
_m=""
if [ "X${resp}" != X"" -a "X${resp}" != Xnone ]; then
if [ "${resp:-none}" != "none" ]; then
_interface_mediumtype=$resp
_m="media ${resp}"
fi
echo "Your network interface might require additional link-layer"
echo "directives (like \`link0'). If this is the case you can enter"
echo "directives (like 'link0'). If this is the case you can enter"
echo "these at the next prompt."
echo ""
echo -n "Additional link-layer arguments (none)? [$_interface_extra] "
getresp "$_interface_extra"
if [ "X${resp}" != X"" -a "X${resp}" != Xnone ]; then
if [ "${resp:-none}" != "none" ]; then
_interface_extra=$resp
fi
@ -494,9 +496,9 @@ enable_network() {
# Set up the hostname.
if [ -f /mnt/etc/myname ]; then
hostname=`cat /mnt/etc/myname`
hostname=$(cat /mnt/etc/myname)
elif [ -f /mnt/etc/rc.conf ];then
hostname=`sh -c '. /mnt/etc/rc.conf ; echo $hostname'`
hostname=$(sh -c '. /mnt/etc/rc.conf ; echo $hostname')
else
echo "ERROR: no /etc/myname!"
return 1
@ -518,14 +520,14 @@ if [ -f /mnt/etc/rc.conf ]; then
if [ "$net_interfaces" != NO ]; then
if [ "$auto_ifconfig" = YES ]; then
tmp="`ifconfig -l`"
tmp="$(ifconfig -l)"
else
tmp="$net_interfaces"
fi
echo -n "configuring network interfaces:"
for i in $tmp; do
eval `echo 'args=$ifconfig_'$i`
if [ ! -z "$args" ]; then
eval $(echo 'args=$ifconfig_'$i)
if [ -n "$args" ]; then
echo -n " $i"
ifconfig $i $args
elif [ -f /mnt/etc/ifconfig.$i ]; then
@ -547,7 +549,7 @@ else
(
tmp="$IFS"
IFS="$IFS."
set -- `echo /mnt/etc/hostname*`
set -- $(echo /mnt/etc/hostname*)
IFS=$tmp
unset tmp
@ -557,7 +559,7 @@ else
read af name mask bcaddr extras
read dt dtaddr
if [ ! -n "$name" ]; then
if [ -z "$name" ]; then
echo "/etc/hostname.$1: invalid network configuration file"
exit
fi
@ -565,7 +567,7 @@ else
cmd="ifconfig $1 $af $name "
if [ "${dt}" = "dest" ]; then cmd="$cmd $dtaddr"; fi
if [ -n "$mask" ]; then cmd="$cmd netmask $mask"; fi
if [ -n "$bcaddr" -a "X$bcaddr" != "XNONE" ]; then
if [ "${bcaddr:-NONE}" != "NONE" ]; then
cmd="$cmd broadcast $bcaddr";
fi
cmd="$cmd $extras"
@ -587,7 +589,7 @@ fi
# that name must be in /etc/hosts.
if [ -f /mnt/etc/mygate ]; then
route delete default > /dev/null 2>&1
route add default `cat /mnt/etc/mygate`
route add default $(cat /mnt/etc/mygate)
fi
# enable the resolver, if appropriate.
@ -602,7 +604,7 @@ fi
echo ""
if [ "X${_resolver_enabled}" = X"TRUE" ]; then
if [ "${_resolver_enabled:-FALSE}" = "TRUE" ]; then
netstat -r
echo ""
echo "Resolver enabled."
@ -649,7 +651,7 @@ that will be fed to ftp(1).
__install_ftp_1
# Get server IP address
resp="" # force one iteration
while [ "X${resp}" = X"" ]; do
while [ -z "${resp}" ]; do
echo -n "Server IP? [${_ftp_server_ip}] "
getresp "${_ftp_server_ip}"
_ftp_server_ip=$resp
@ -657,7 +659,7 @@ __install_ftp_1
# Get login name
resp="" # force one iteration
while [ "X${resp}" = X"" ]; do
while [ -z "${resp}" ]; do
echo -n "Login? [${_ftp_server_login}] "
getresp "${_ftp_server_login}"
_ftp_server_login=$resp
@ -665,7 +667,7 @@ __install_ftp_1
# Get password
resp="" # force one iteration
while [ "X${resp}" = X"" ]; do
while [ -z "${resp}" ]; do
echo -n "Password? "
stty -echo
getresp ""
@ -680,14 +682,18 @@ You will be asked to enter the name of the directory that contains the
installation sets. When you enter a '?' you will see a listing of the
current directory on the server.
__install_ftp_2
echo ""
echo "The default installation directory in the official ftp server is:"
echo "/pub/NetBSD/NetBSD-${RELEASE}/${MACHINE}/binary/sets"
_sets=""
while [ -z "$_sets" ]
do
resp="" # force one iteration
while [ "X${resp}" = X"" ]; do
while [ -z "${resp}" ]; do
echo -n "Server directory? [${_ftp_server_dir}] "
getresp "${_ftp_server_dir}"
if [ "X$resp" = 'X?' -a -z "$_ftp_server_dir" ]; then
if [ -z "$resp" ] && [ -z "$_ftp_server_dir" ]; then
resp=""
fi
done
@ -715,10 +721,19 @@ __install_ftp_2
if [ $resp = '?' ]; then
sh /tmp/ftp-dir.sh
else
_sets=`sh /tmp/ftp-dir.sh | sh /tmp/fname_filter.sh`
_sets=$(sh /tmp/ftp-dir.sh | sort -u | sh /tmp/fname_filter.sh)
fi
done
rm -f /tmp/ftp-dir.sh /tmp/fname_filter.sh
rm -f /tmp/ftp-script.sh
# Prepare ftp-fetch script to fetch binary sets
_download_dir=INSTALL
_ftp_opts=""
_ftp_url="ftp://$_ftp_server_login:$_ftp_server_password@$_ftp_server_ip$_ftp_server_dir/"
echo "#!/bin/sh" > /tmp/ftp-fetch.sh
echo "cd /mnt" >> /tmp/ftp-fetch.sh
echo "mkdir -p $_download_dir" >> /tmp/ftp-fetch.sh
while : ; do
echo "The following sets are available for extraction:"
@ -739,8 +754,8 @@ __install_ftp_2
echo ""
# Get name of the file and add extraction command
# to the ftp-script.
if [ "X$_next" = "X" ]; then resp=n; else resp=y; fi
# to the ftp-fetch script.
if [ -z "$_next" ]; then resp=n; else resp=y; fi
echo -n "Continue to add filenames [$resp]? "
getresp "$resp"
if [ "$resp" = "n" ]; then
@ -750,8 +765,16 @@ __install_ftp_2
echo -n "File name [$_next]? "
getresp "$_next"
if isin $resp $_sets; then
echo "get $resp |\"pax -zr${verbose_flag}pe\"" >> \
/tmp/ftp-script.sh
echo "echo Fetching $resp:" >> \
/tmp/ftp-fetch.sh
echo "ftp ${_ftp_opts} -o $_download_dir/$resp ${_ftp_url}$resp" >> \
/tmp/ftp-fetch.sh
echo "echo Extracting $resp:" >> \
/tmp/ftp-fetch.sh
echo "pax -zr${verbose_flag}pe -f $_download_dir/$resp" >> \
/tmp/ftp-fetch.sh
echo "rm -f $_download_dir/$resp" >> \
/tmp/ftp-fetch.sh
_setsdone="$resp $_setsdone"
else
echo "You entered an invalid filename."
@ -759,11 +782,8 @@ __install_ftp_2
fi
done
echo "quit" >> /tmp/ftp-script.sh
echo "__end_commands" >> /tmp/ftp-script.sh
sh /tmp/ftp-script.sh
rm -f /tmp/ftp-script.sh
sh /tmp/ftp-fetch.sh
rm -f /tmp/ftp-fetch.sh
echo "Extraction complete."
}
@ -790,7 +810,7 @@ install_from_mounted_fs() {
echo "Enter the subdirectory relative to the mountpoint, that"
echo -n "contains the savesets: [try this directory] "
getresp ""
if [ "X${resp}" != "X" ]; then
if [ -n "${resp}" ]; then
_dirname=${_dirname}/$resp
fi
@ -804,7 +824,7 @@ install_from_mounted_fs() {
echo ""
echo -n "Enter subdirectory: [try other install media] "
getresp ""
if [ "X${resp}" = "X" ]; then
if [ -z "${resp}" ]; then
return
fi
if [ ! -d ${_dirname}/${resp} ]; then
@ -850,7 +870,7 @@ install_from_mounted_fs() {
echo ""
# Get the name of the file.
if [ "X$_next" = "X" ]; then
if [ -z "$_next" ]; then
resp=n
else
resp=y
@ -913,7 +933,7 @@ The following CD-ROM devices are installed on your system; please select
the CD-ROM device containing the partition with the installation sets:
__install_cdrom_1
_CDDEVS=`md_get_cddevs`
_CDDEVS=$(md_get_cddevs)
echo "$_CDDEVS"
echo ""
echo -n "Which is the CD-ROM with the installation media? [abort] "
@ -937,9 +957,9 @@ __install_cdrom_1
esac
# Get partition
_partition_range=`md_get_partition_range`
_partition_range=$(md_get_partition_range)
resp="" # force one iteration
while [ "X${resp}" = X"" ]; do
while [ -z "${resp}" ]; do
echo -n "Partition? [a] "
getresp "a"
case "$resp" in
@ -963,7 +983,7 @@ There are two CD-ROM filesystem types currently supported by this program:
__install_cdrom_2
resp="" # force one iteration
while [ "X${resp}" = X"" ]; do
while [ -z "${resp}" ]; do
echo -n "Which filesystem type? [cd9660] "
getresp "cd9660"
case "$resp" in
@ -1023,9 +1043,9 @@ mount_a_disk() {
esac
# Get partition
_partition_range=`md_get_partition_range`
_partition_range=$(md_get_partition_range)
resp="" # force one iteration
while [ "X${resp}" = X"" ]; do
while [ -z "${resp}" ]; do
echo -n "Partition? [d] "
getresp "d"
case "$resp" in
@ -1047,15 +1067,15 @@ The following filesystem types are supported:
1) ffs
2) cd9660
__mount_a_disk_2
_md_fstype=`md_native_fstype`
_md_fsopts=`md_native_fsopts`
if [ ! -z "$_md_fstype" ]; then
_md_fstype=$(md_native_fstype)
_md_fsopts=$(md_native_fsopts)
if [ -n "$_md_fstype" ]; then
echo " 3) $_md_fstype"
else
_md_fstype="_undefined_"
fi
resp="" # force one iteration
while [ "X${resp}" = X"" ]; do
while [ -z "${resp}" ]; do
echo -n "Which filesystem type? [ffs] "
getresp "ffs"
case "$resp" in
@ -1116,7 +1136,7 @@ The following disk devices are installed on your system; please select
the disk device containing the partition with the installation sets:
__install_disk_2
_DKDEVS=`md_get_diskdevs`
_DKDEVS=$(md_get_diskdevs)
echo "$_DKDEVS"
echo ""
echo -n "Which is the disk with the installation sets? [abort] "
@ -1132,7 +1152,7 @@ __install_disk_2
install_nfs() {
# Get the IP address of the server
resp="" # force one iteration
while [ "X${resp}" = X"" ]; do
while [ -z "${resp}" ]; do
echo -n "Server IP address? [${_nfs_server_ip}] "
getresp "${_nfs_server_ip}"
done
@ -1140,7 +1160,7 @@ install_nfs() {
# Get server path to mount
resp="" # force one iteration
while [ "X${resp}" = X"" ]; do
while [ -z "${resp}" ]; do
echo -n "Filesystem on server to mount? [${_nfs_server_path}] "
getresp "${_nfs_server_path}"
done
@ -1193,13 +1213,13 @@ The installation program needs to know which tape device to use. Make
sure you use a "no rewind on close" device.
__install_tape_1
_tape=`basename $TAPE`
_tape=$(basename $TAPE)
resp="" # force one iteration
while [ "X${resp}" = X"" ]; do
while [ -z "${resp}" ]; do
echo -n "Name of tape device? [${_tape}]"
getresp "${_tape}"
done
_tape=`basename $resp`
_tape=$(basename $resp)
TAPE="/dev/${_tape}"
if [ ! -c $TAPE ]; then
echo "$TAPE does not exist or is not a character special file."
@ -1219,12 +1239,12 @@ __install_tape_1
# Get the file number
resp="" # force one iteration
while [ "X${resp}" = X"" ]; do
while [ -z "${resp}" ]; do
echo -n "File number? "
getresp ""
case "$resp" in
[1-9]*)
_nskip=`expr $resp - 1`
_nskip=$(expr $resp - 1)
;;
*)
@ -1236,7 +1256,7 @@ __install_tape_1
# Skip to correct file.
echo -n "Skipping to source file..."
if [ "X${_nskip}" != X"0" ]; then
if [ "${_nskip}" != "0" ]; then
if ! mt fsf $_nskip ; then
echo "Could not skip $_nskip files. Aborting."
return
@ -1253,7 +1273,7 @@ There are 2 different ways the file can be stored on tape:
__install_tape_2
resp="" # force one iteration
while [ "X${resp}" = X"" ]; do
while [ -z "${resp}" ]; do
echo -n "Which way is it? [1] "
getresp "1"
case "$resp" in
@ -1283,7 +1303,7 @@ get_timezone() {
# If the zoneinfo is not on the installation medium or on the
# installed filesystem, set TZ to GMT and return immediatly.
#
if [ ! -e /usr/share/zoneinfo -a ! -e /mnt/usr/share/zoneinfo ]; then
if [ ! -e /usr/share/zoneinfo ] && [ ! -e /mnt/usr/share/zoneinfo ]; then
TZ=GMT
return
fi
@ -1306,11 +1326,11 @@ at the prompts below.
__get_timezone_1
if [ X$TZ = X ]; then
TZ=`ls -l /mnt/etc/localtime 2>/dev/null | cutlast`
TZ=$(ls -l /mnt/etc/localtime 2>/dev/null | cutlast)
TZ=${TZ#/usr/share/zoneinfo/}
fi
while :; do
echo -n "What timezone are you in [\`?' for list] [$TZ]? "
echo -n "What timezone are you in ['?' for list] [$TZ]? "
getresp "$TZ"
case "$resp" in
"")
@ -1326,7 +1346,7 @@ __get_timezone_1
while [ -d ${_zonepath}/usr/share/zoneinfo/$_a ]; do
echo -n "There are several timezones available"
echo " within zone '$_a'"
echo -n "Select a sub-timezone [\`?' for list]: "
echo -n "Select a sub-timezone ['?' for list]: "
getresp ""
case "$resp" in
"?") ls ${_zonepath}/usr/share/zoneinfo/$_a ;;
@ -1383,7 +1403,7 @@ __install_sets_1
local_sets_dir=$Default_sets_dir
fi
fi
if [ "X$local_sets_dir" != "X" ]; then
if [ -n "${local_sets_dir}" ]; then
install_from_mounted_fs ${local_sets_dir}
if [ X"$_setsdone" != X ]; then
_yup="TRUE"
@ -1492,7 +1512,7 @@ mount_fs()
# If not the root filesystem, make sure the mount
# point is present.
if [ "X{$_mp}" != X"/mnt" ]; then
if [ "$_mp" != "/mnt" ]; then
mkdir -p $_mp
fi
@ -1505,7 +1525,7 @@ mount_fs()
fi
done ) < $_fstab
if [ "X${?}" != X"0" ]; then
if [ "$?" != "0" ]; then
cat << \__mount_filesystems_1
FATAL ERROR: Cannot mount filesystems. Double-check your configuration
@ -1531,14 +1551,14 @@ unmount_fs()
_fstab=$1
fi
if [ ! \( -f $_fstab -a -s $_fstab \) ]; then
if ! [ -f "${_fstab}" ] || ! [ -s "${_fstab}" ]; then
echo "fstab empty" > /dev/tty
return
fi
if [ $_fast = 0 ]; then
echo -n "Syncing disks..."
_pid=`twiddle`
_pid=$(twiddle)
sync; sleep 4; sync; sleep 2; sync; sleep 2
kill $_pid
echo "done."

View File

@ -1,4 +1,4 @@
# $NetBSD: list,v 1.35 2011/06/19 06:48:07 tsutsui Exp $
# $NetBSD: list,v 1.35.36.1 2020/12/19 19:02:52 martin Exp $
SRCDIRS bin sbin usr.bin usr.sbin
@ -71,5 +71,5 @@ COPY ${DISTRIBDIR}/common/services etc/services
# and the installation scripts
COPY ${CURDIR}/install.sh install 555
COPY ${CURDIR}/upgrade.sh upgrade 555
CMD sed "/^VERSION=/s/=.*/=${DISTRIBREV}/" < ${CURDIR}/install.sub > install.sub
CMD sed -e "/^VERSION=/s/=.*/=${DISTRIBREV}/" -e "/^RELEASE=/s/=.*/=${DISTRIBVER}/" -e "/^MACHINE=/s/=.*/=${MACHINE}/" < ${CURDIR}/install.sub > install.sub
MTREE ./install.sub type=file uname=root gname=wheel mode=0444

View File

@ -1,5 +1,5 @@
#!/bin/sh
# $NetBSD: upgrade.sh,v 1.22 2008/04/30 13:10:48 martin Exp $
# $NetBSD: upgrade.sh,v 1.22.56.1 2020/12/19 19:02:52 martin Exp $
#
# Copyright (c) 1996-2000,2006 The NetBSD Foundation, Inc.
# All rights reserved.
@ -62,8 +62,8 @@ MODE="upgrade"
# we need to make sure .'s below work if this directory is not in $PATH
# dirname may not be available but expr is
Mydir=`expr $0 : '^\(.*\)/[^/]*$'`
Mydir=`cd ${Mydir:-.}; pwd`
Mydir=$(expr $0 : '^\(.*\)/[^/]*$')
Mydir=$(cd ${Mydir:-.}; pwd)
# this is the most likely place to find the binary sets
# so save them having to type it in
@ -149,17 +149,17 @@ md_makerootwritable
test "$md_view_labels_possible" && md_view_labels
while [ "X${ROOTDISK}" = "X" ]; do
while [ -z "${ROOTDISK}" ]; do
getrootdisk
done
# Assume partition 'a' of $ROOTDISK is for the root filesystem. Confirm
# this with the user. Check and mount the root filesystem.
resp="" # force one iteration
while [ "X${resp}" = "X" ]; do
while [ -z "${resp}" ]; do
echo -n "Root filesystem? [${ROOTDISK}a] "
getresp "${ROOTDISK}a"
_root_filesystem="/dev/`basename $resp`"
_root_filesystem="/dev/$(basename $resp)"
if [ ! -b ${_root_filesystem} ]; then
echo "Sorry, ${resp} is not a block device."
resp="" # force loop to repeat
@ -238,9 +238,9 @@ esac
(
> /tmp/fstab
while read _dev _mp _fstype _rest ; do
if [ "X${_fstype}" = X"ufs" -o \
"X${_fstype}" = X"ffs" ]; then
if [ "X${_fstype}" = X"ufs" ]; then
if [ "${_fstype}" = "ufs" ] ||
[ "${_fstype}" = "ffs" ]; then
if [ "${_fstype}" = "ufs" ]; then
# Convert ufs to ffs.
_fstype=ffs
fi
@ -320,7 +320,7 @@ install_sets
# Remove files that have just been installed in a new location
# from the old location
rm_relocated_files `eval echo \\$RELOCATED_FILES_${VERSION}`
rm_relocated_files $(eval echo \\$RELOCATED_FILES_${VERSION})
# Get timezone info
get_timezone
@ -330,7 +330,7 @@ echo -n "Converting ufs to ffs in /etc/fstab..."
(
> /tmp/fstab
while read _dev _mp _fstype _rest ; do
if [ "X${_fstype}" = X"ufs" ]; then
if [ "${_fstype}" = "ufs" ]; then
# Convert ufs to ffs.
_fstype=ffs
fi
@ -366,7 +366,7 @@ esac
echo "done."
echo -n "Making devices..."
_pid=`twiddle`
_pid=$(twiddle)
cd /mnt/dev
sh MAKEDEV all
kill $_pid

View File

@ -1,6 +1,6 @@
#!/bin/sh
#
# $NetBSD: install.md,v 1.6 2010/03/10 23:13:09 abs Exp $
# $NetBSD: install.md,v 1.6.40.1 2020/12/19 19:02:52 martin Exp $
#
# Copyright (c) 1996 The NetBSD Foundation, Inc.
# All rights reserved.
@ -35,7 +35,7 @@
#
# Machine-dependent install sets
MDSETS=""
MDSETS="kern-GENERIC xbase xcomp xetc xfont xserver"
md_set_term() {
if [ ! -z "$TERM" ]; then
@ -189,7 +189,7 @@ md_copy_kernel() {
}
md_welcome_banner() {
echo "Welcome to the NetBSD/mvme68k ${VERSION} installation program."
echo "Welcome to the NetBSD/${MACHINE} ${RELEASE} installation program."
cat << \__welcome_banner_1
This program is designed to help you install NetBSD on your system in a simple

View File

@ -1,4 +1,4 @@
# $NetBSD: install.md,v 1.3 2008/04/30 13:10:49 martin Exp $
# $NetBSD: install.md,v 1.3.56.1 2020/12/19 19:02:52 martin Exp $
#
#
# Copyright (c) 1996 The NetBSD Foundation, Inc.
@ -35,7 +35,7 @@
# Machine-dependent install sets
# MDSETS="xbin xman xinc xcon" XXX
MDSETS=""
MDSETS="kern-GENERIC"
md_set_term() {
if [ ! -z "$TERM" ]; then
@ -159,7 +159,7 @@ md_copy_kernel() {
md_welcome_banner() {
if [ "$MODE" = "install" ]; then
echo ""
echo "Welcome to the NetBSD/sun2 ${VERSION} installation program."
echo "Welcome to the NetBSD/${MACHINE} ${RELEASE} installation program."
cat << \__welcome_banner_1
This program is designed to help you put NetBSD on your disk,
@ -170,7 +170,7 @@ __welcome_banner_1
else
echo ""
echo "Welcome to the NetBSD/sun2 ${VERSION} upgrade program."
echo "Welcome to the NetBSD/${MACHINE} ${VERSION} upgrade program."
cat << \__welcome_banner_2
This program is designed to help you upgrade your NetBSD system in a

View File

@ -1,4 +1,4 @@
# $NetBSD: install.md,v 1.3 2008/04/30 13:10:49 martin Exp $
# $NetBSD: install.md,v 1.3.56.1 2020/12/19 19:02:52 martin Exp $
#
#
# Copyright (c) 1996 The NetBSD Foundation, Inc.
@ -35,7 +35,7 @@
# Machine-dependent install sets
# MDSETS="xbin xman xinc xcon" XXX
MDSETS=""
MDSETS="kern-GENERIC kern-GENERIC3X xbase xcomp xetc xfont xserver"
md_set_term() {
if [ ! -z "$TERM" ]; then
@ -159,7 +159,7 @@ md_copy_kernel() {
md_welcome_banner() {
if [ "$MODE" = "install" ]; then
echo ""
echo "Welcome to the NetBSD/sun3 ${VERSION} installation program."
echo "Welcome to the NetBSD/${MACHINE} ${RELEASE} installation program."
cat << \__welcome_banner_1
This program is designed to help you put NetBSD on your disk,
@ -170,7 +170,7 @@ __welcome_banner_1
else
echo ""
echo "Welcome to the NetBSD/sun3 ${VERSION} upgrade program."
echo "Welcome to the NetBSD/${MACHINE} ${RELEASE} upgrade program."
cat << \__welcome_banner_2
This program is designed to help you upgrade your NetBSD system in a