etc.rc revision 1.3.2.2
1# $NetBSD: etc.rc,v 1.3.2.2 2014/08/10 06:48:55 tls Exp $
2#
3# Copyright (c) 1997 Perry E. Metzger
4# Copyright (c) 1994 Christopher G. Demetriou
5# All rights reserved.
6# 
7# Redistribution and use in source and binary forms, with or without
8# modification, are permitted provided that the following conditions
9# are met:
10# 1. Redistributions of source code must retain the above copyright
11#    notice, this list of conditions and the following disclaimer.
12# 2. Redistributions in binary form must reproduce the above copyright
13#    notice, this list of conditions and the following disclaimer in the
14#    documentation and/or other materials provided with the distribution.
15# 3. All advertising materials mentioning features or use of this software
16#    must display the following acknowledgement:
17#          This product includes software developed for the
18#          NetBSD Project.  See http://www.NetBSD.org/ for
19#          information about NetBSD.
20# 4. The name of the author may not be used to endorse or promote products
21#    derived from this software without specific prior written permission.
22# 
23# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
24# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
25# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
26# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
27# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
28# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
29# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
30# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
31# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
32# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
33# 
34# <<Id: LICENSE,v 1.2 2000/06/14 15:57:33 cgd Exp>>
35
36PATH=/sbin:/bin:/usr/bin:/usr/sbin:/
37export PATH
38
39# hack to get around bugs in kernfs's rootdev/rrootdev lookup.
40ls -l /dev/* > /dev/null 2>&1
41
42lowmemfail()
43{
44	cat << "EOM"
45This machine seems to not have enough memory for this install method.
46Please refer to the installation documentation on how to create and
47boot a custom kernel and how to install with that.
48
49Please use the 'halt' command to stop the machine.
50EOM
51	exec sh
52}
53
54# if /dev has not been populated by init, it may be a stock "MAKEDEV all"
55# variant without "opty" - in which case we need to mount a ptyfs
56if [ ! -r /dev/ttypf ]; then
57	if mount | grep '^ptyfs on /dev/pts' >/dev/null 2>&1; then
58		# do not mount it again
59	else
60		mount -t ptyfs ptyfs /dev/pts
61	fi
62fi
63
64# mount a few tempfs to allow modifications over the CD contents
65mount -t tmpfs tmpfs /tmp || lowmemfail
66mount -t tmpfs tmpfs /var || lowmemfail
67mount -t tmpfs -o union tmpfs /etc || lowmemfail
68
69# prepare important directories in the tmpfses, so dhcpcd and vi will work
70mkdir -p /var/run /var/db /var/tmp
71
72# create a gettytab to autologin and run sysinst (etc/gettytab is a symlink
73# to /tmp/gettytab)
74echo "# Autostart sysinst" > /tmp/gettytab
75echo -n "sysinst:al=root:lo=/install.sh:im=:sp#" >> /tmp/gettytab
76stty speed >> /tmp/gettytab
77
78# done, move on to multiuser mode
79exit 0
80