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