Training courses

Kernel and Embedded Linux

Bootlin training courses

Embedded Linux, kernel,
Yocto Project, Buildroot, real-time,
graphics, boot time, debugging...

Bootlin logo

Elixir Cross Referencer

# $NetBSD: dot.instutils,v 1.9 2003/07/26 17:06:28 salo Exp $
#
# Copyright (c) 1994 Christopher G. Demetriou
# 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 for the
#          NetBSD Project.  See http://www.NetBSD.org/ for
#          information about NetBSD.
# 4. The name of the author may not be used to endorse or promote products
#    derived from this software without specific prior written permission.
# 
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 AUTHOR 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.
# 
# <<Id: LICENSE,v 1.2 2000/06/14 15:57:33 cgd Exp>>

# Installation configuration utilites (functions), to get NetBSD configured
# reasonably once it is installed on the hard disk.  These are meant to be
# invoked from the shell prompt, by people installing NetBSD.

Configure()
{
	DEV=/mnt/dev
	ETC=/mnt/etc

	echo	"You will now be prompted for information about this"
	echo	"machine.  If you hit return, the default answer (in"
	echo	"brackets) will be used."

	echo	""
	echo -n	"What is this machine's hostname? [unknown.host.domain] "
	read hname
	if [ "$hname" = "" ]; then
		hname=unknown.host.domain
	fi
	echo $hname > ${ETC}/myname
	proto_domain=`echo $hname | sed -e 's/[^.]*\.//'`

	echo	""
	echo	"What domain is this machine in (this is NOT its YP"
	echo -n	"domain name)? [$proto_domain] "
	read dname
	if [ "$dname" = "" ]; then
		dname=$proto_domain
	fi

	echo	""
	if [ -e /mnt/etc/sendmail.cf ]; then
		echo	"WARNING: A default sendmail.cf exists, and probably"
		echo	"needs to be tuned and/or replaced, to work properly at"
		echo	"your site!"
	else
		echo	"WARNING: No default sendmail.cf installed.  Did you"
		echo	"forget to install the 'etc' distribution?"
	fi

	echo	"127.0.0.1	localhost localhost.$dname" > ${ETC}/hosts

	echo	""
	echo -n	"Does this machine have an ethernet interface? [y] "
        read resp
        case "$resp" in
	n*)
		;;
	*)
		intf=
		while [ "$intf" = "" ]; do
			echo -n "What is the primary interface name "
			echo -n "(e.g. ae0, ed0, le0, or es0)? "
			read intf
		done
		echo -n "What is the hostname for this interface? [$hname] "
		read ifname
		if [ "$ifname" = "" ]; then
			ifname=$hname
		fi
		ifaddr=
		while [ "$ifaddr" = "" ]; do
			echo -n "What is the IP address associated with "
			echo -n "interface ${intf}? "
			read ifaddr
		done
		echo "$ifaddr	$ifname `echo $ifname | sed -e s/\.$dname//`" \
		    >> ${ETC}/hosts

		echo -n "Does this interface have a special netmask? [n] "
		read resp
		case "$resp" in
			y*)
				echo -n "What is the netmask? [0xffffff00] "
				read ifnetmask
				if [ "$ifnetmask" = "" ]; then
					ifnetmask=0xffffff00
				fi
				;;
			*)
				ifnetmask=
				;;
		esac

		echo -n "Does this interface need additional flags? [n] "
		read resp
		case "$resp" in
			y*)
				echo -n "What flags? [link0] "
				read ifflags
				if [ "$ifflags" = "" ]; then
					ifflags=link0
				fi
				;;
			*)
				ifflags=
				;;
		esac
		echo "inet $ifname $ifnetmask $ifflags" > ${ETC}/hostname.$intf

		echo    ""
		echo -n	"WARNING: if you have any more ethernet interfaces, "
		echo	"you will have to configure"
		echo -n "them by hand.  Read the comments in /etc/rc.d/network "
		echo	"to learn how to do this."
		;;
	esac
	
	echo	""
	echo -n	"Making device nodes (may take a while)..."
	cd ${DEV}
	sh MAKEDEV all
	echo	" done."

        echo    ""
        echo -n "Copying the kernel..."
        cp /netbsd /mnt/netbsd
        echo    "Done."
	echo -n "Installing boot block..."
	read rdev rest < /mnt/etc/fstab
	/mnt/usr/mdec/installboot /mnt/usr/mdec/xxboot `echo $rdev | sed -e 's^/dev/^/dev/r^'`
	echo	" done."

	sync

	echo	""
	echo	"You should now halt your machine using the 'halt' command."
	echo	"Once the machine is halted, reboot it."
}