# $NetBSD: etc.rc,v 1.4 2020/02/26 16:00:48 riastradh Exp $ # # Copyright (c) 1997 Perry E. Metzger # 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. # # <> PATH=/sbin:/bin:/usr/bin:/usr/sbin:/ export PATH lowmemfail() { cat << "EOM" This machine seems to not have enough memory for this install method. Please refer to the installation documentation on how to create and boot a custom kernel and how to install with that. Please use the 'halt' command to stop the machine. EOM exec sh } # if /dev has not been populated by init, it may be a stock "MAKEDEV all" # variant without "opty" - in which case we need to mount a ptyfs if [ ! -r /dev/ttypf ]; then if mount | grep '^ptyfs on /dev/pts' >/dev/null 2>&1; then # do not mount it again else mount -t ptyfs ptyfs /dev/pts fi fi # mount a few tempfs to allow modifications over the CD contents mount -t tmpfs tmpfs /tmp || lowmemfail mount -t tmpfs tmpfs /var || lowmemfail mount -t tmpfs -o union tmpfs /etc || lowmemfail # prepare important directories in the tmpfses, so dhcpcd and vi will work mkdir -p /var/run /var/db /var/tmp # create a gettytab to autologin and run sysinst (etc/gettytab is a symlink # to /tmp/gettytab) echo "# Autostart sysinst" > /tmp/gettytab echo -n "sysinst:al=root:lo=/install.sh:im=:sp#" >> /tmp/gettytab stty speed >> /tmp/gettytab # done, move on to multiuser mode exit 0