Page MenuHomeFreeBSD

D36805.diff
No OneTemporary

D36805.diff

diff --git a/release/rc.local b/release/rc.local
--- a/release/rc.local
+++ b/release/rc.local
@@ -1,7 +1,57 @@
#!/bin/sh
-# $FreeBSD$
+#
+# SPDX-License-Identifier: BSD-2-Clause
+#
+# Copyright (c) 2022 Jessica Clarke <jrtc27@FreeBSD.org>
+#
+# 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.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``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 OR CONTRIBUTORS 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.
+#
+
+bsdinstall_multicons_disabled()
+{
+ local var value
+
+ var=bsdinstall.multicons_disable
+ value=`kenv -q $var`
+ case "${value:-NO}" in
+ [Yy][Ee][Ss]|[Tt][Rr][Uu][Ee]|[Oo][Nn]|1)
+ return 0
+ ;;
+ [Nn][Oo]|[Ff][Aa][Ll][Ss][Ee]|[Oo][Ff][Ff]|0)
+ return 1
+ ;;
+ *)
+ warn "$var is not set properly, ignoring"
+ return 1
+ ;;
+ esac
+}
# resolv.conf from DHCP ends up in here, so make sure the directory exists
mkdir /tmp/bsdinstall_etc
-/usr/libexec/bsdinstall/startbsdinstall
+if bsdinstall_multicons_disabled; then
+ /usr/libexec/bsdinstall/startbsdinstall primary
+else
+ echo
+ /usr/libexec/bsdinstall/runconsoles /usr/libexec/bsdinstall/startbsdinstall %
+fi
diff --git a/usr.sbin/bsdinstall/startbsdinstall b/usr.sbin/bsdinstall/startbsdinstall
--- a/usr.sbin/bsdinstall/startbsdinstall
+++ b/usr.sbin/bsdinstall/startbsdinstall
@@ -45,7 +45,10 @@
resizewin -z
if [ -f /etc/installerconfig ]; then
- if bsdinstall script /etc/installerconfig; then
+ if [ "$1" != "primary" ]; then
+ bsddialog --backtitle "FreeBSD Installer" --title "Installing" --msgbox "FreeBSD is being installed from a script; please use the primary console." 0 0
+ . "$0"
+ elif bsdinstall script /etc/installerconfig; then
bsddialog --backtitle "FreeBSD Installer" --title "Complete" --no-cancel --ok-label "Reboot" --pause "Installation of FreeBSD complete! Rebooting in 10 seconds" 10 30 10
reboot
else

File Metadata

Mime Type
text/plain
Expires
Thu, Sep 26, 12:25 PM (22 h, 5 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
12833974
Default Alt Text
D36805.diff (2 KB)

Event Timeline