diff --git a/Makefile b/Makefile
index 9f27d69c3d..4370cf2ee2 100644
--- a/Makefile
+++ b/Makefile
@@ -245,33 +245,6 @@ $(BASEDIR)/test-links: $(RENDERTMP)/$(GLFSFULL) version
$(Q)$(CLEAN)
-bootscripts:
- $(Q)trap '$(CLEAN)' EXIT
- @VERSION=`grep "bootscripts-version " general.ent | cut -d\" -f2`; \
- BOOTSCRIPTS="glfs-bootscripts-$$VERSION"; \
- if [ ! -e $$BOOTSCRIPTS.tar.xz ]; then \
- rm -rf $(RENDERTMP)/$$BOOTSCRIPTS; \
- mkdir $(RENDERTMP)/$$BOOTSCRIPTS; \
- cp -a ../bootscripts/* $(RENDERTMP)/$$BOOTSCRIPTS; \
- rm -rf ../bootscripts/archive; \
- tar -cJhf $$BOOTSCRIPTS.tar.xz -C $(RENDERTMP) $$BOOTSCRIPTS; \
- fi
-
- $(Q)$(CLEAN)
-
-systemd-units:
- $(Q)trap '$(CLEAN)' EXIT
- @VERSION=`grep "systemd-units-version " general.ent | cut -d\" -f2`; \
- UNITS="glfs-systemd-units-$$VERSION"; \
- if [ ! -e $$UNITS.tar.xz ]; then \
- rm -rf $(RENDERTMP)/$$UNITS; \
- mkdir $(RENDERTMP)/$$UNITS; \
- cp -a ../systemd-units/* $(RENDERTMP)/$$UNITS; \
- tar -cJhf $$UNITS.tar.xz -C $(RENDERTMP) $$UNITS; \
- fi
-
- $(Q)$(CLEAN)
-
test-options:
$(Q)trap '$(CLEAN)' EXIT
$(Q)xsltproc --xinclude --nonet stylesheets/test-options.xsl index.xml
@@ -287,7 +260,7 @@ $(DUMPDIR): $(RENDERTMP)/$(GLFSFULL) version
$(Q)$(CLEAN)
.PHONY: glfs all world html validate profile-html wget-list test-links \
- dump-commands bootscripts systemd-units version test-options
+ dump-commands version test-options
version:
$(Q)REV=$(REV) STAB=$(STAB) ./git-version.sh
diff --git a/download/NVIDIA/NVIDIA-sysv-bootscripts-1.tar.xz b/download/NVIDIA/NVIDIA-sysv-bootscripts-1.tar.xz
new file mode 100644
index 0000000000..9b313ee040
Binary files /dev/null and b/download/NVIDIA/NVIDIA-sysv-bootscripts-1.tar.xz differ
diff --git a/download/NVIDIA/NVIDIA-sysv-bootscripts/Makefile b/download/NVIDIA/NVIDIA-sysv-bootscripts/Makefile
new file mode 100644
index 0000000000..e60e9b6cf1
--- /dev/null
+++ b/download/NVIDIA/NVIDIA-sysv-bootscripts/Makefile
@@ -0,0 +1,42 @@
+SHELL=/bin/bash
+
+ETCDIR=/etc
+LIBDIR=${DESTDIR}/lib/services
+EXTDIR=${DESTDIR}${ETCDIR}
+MODE=754
+DIRMODE=755
+CONFMODE=644
+
+all:
+ @grep "^install" Makefile | cut -d ":" -f 1
+ @echo "Select an appropriate install target from the above list"
+
+create-dirs:
+ install -d -m ${DIRMODE} ${EXTDIR}/rc.d/rc{0,1,2,3,4,5,6,S}.d
+ install -d -m ${DIRMODE} ${EXTDIR}/rc.d/init.d
+ install -d -m ${DIRMODE} ${EXTDIR}/sysconfig
+
+create-service-dir:
+ install -d -m ${DIRMODE} ${LIBDIR}
+
+install-nvidia-powerd:
+ install -m755 nvidia-sleep /usr/bin
+ install -m ${MODE} nvidia-powerd ${EXTDIR}/rc.d/init.d/
+ ln -sf ../init.d/nvidia-powerd ${EXTDIR}/rc.d/rc0.d/K22nvidia-powerd
+ ln -sf ../init.d/nvidia-powerd ${EXTDIR}/rc.d/rc1.d/K22nvidia-powerd
+ ln -sf ../init.d/nvidia-powerd ${EXTDIR}/rc.d/rc2.d/S36nvidia-powerd
+ ln -sf ../init.d/nvidia-powerd ${EXTDIR}/rc.d/rc3.d/S36nvidia-powerd
+ ln -sf ../init.d/nvidia-powerd ${EXTDIR}/rc.d/rc4.d/S36nvidia-powerd
+ ln -sf ../init.d/nvidia-powerd ${EXTDIR}/rc.d/rc5.d/S36nvidia-powerd
+ ln -sf ../init.d/nvidia-powerd ${EXTDIR}/rc.d/rc6.d/K22nvidia-powerd
+
+uninstall-nvidia-powerd:
+ rm -f /usr/bin/nvidia-sleep
+ rm -f ${EXTDIR}/rc.d/init.d/nvidia-powerd
+ rm -f ${EXTDIR}/rc.d/rc0.d/K22nvidia-powerd
+ rm -f ${EXTDIR}/rc.d/rc1.d/K22nvidia-powerd
+ rm -f ${EXTDIR}/rc.d/rc2.d/S36nvidia-powerd
+ rm -f ${EXTDIR}/rc.d/rc3.d/S36nvidia-powerd
+ rm -f ${EXTDIR}/rc.d/rc4.d/S36nvidia-powerd
+ rm -f ${EXTDIR}/rc.d/rc5.d/S36nvidia-powerd
+ rm -f ${EXTDIR}/rc.d/rc6.d/K22nvidia-powerd
diff --git a/download/NVIDIA/NVIDIA-sysv-bootscripts/nvidia-powerd b/download/NVIDIA/NVIDIA-sysv-bootscripts/nvidia-powerd
new file mode 100644
index 0000000000..a698c4f612
--- /dev/null
+++ b/download/NVIDIA/NVIDIA-sysv-bootscripts/nvidia-powerd
@@ -0,0 +1,66 @@
+#!/bin/sh
+########################################################################
+# Begin nvidia-powerd
+#
+# Description : nvidia-powerd Boot Script
+#
+# Authors : Zeckma - zeckma.tech@gmail.com
+#
+# Version : GLFS #779fd
+#
+########################################################################
+
+### BEGIN INIT INFO
+# Provides: nvidia-powerd
+# Required-Start: $local_fs dbus
+# Should-Start: $syslog
+# Required-Stop: $local_fs
+# Should-Stop: $syslog
+# Default-Start: 2 3 4 5
+# Default-Stop: 0 1 6
+# Short-Description: NVIDIA power management
+# Description: NVIDIA power management
+# X-LFS-Provided-By: GLFS
+### END INIT INFO
+
+. /lib/lsb/init-functions
+
+case "${1}" in
+ start)
+ log_info_msg "Starting the NVIDIA-Powerd Daemon"
+ start_daemon /usr/bin/nvidia-powerd
+ evaluate_retval
+
+# log_info_msg "Enabling NVIDIA sleep"
+# start_daemon /usr/bin/nvidia-sleep "sleep"
+# evaluate_retval
+ log_info_msg "Enabling NVIDIA suspend"
+ start_daemon /usr/bin/nvidia-sleep "suspend"
+ evaluate_retval
+ log_info_msg "Enabling NVIDIA hibernate"
+ start_daemon /usr/bin/nvidia-sleep "hibernate"
+ evaluate_retval
+ log_info_msg "Enabling NVIDIA resume"
+ start_daemon /usr/bin/nvidia-sleep "resume"
+ evaluate_retval
+ ;;
+
+ stop)
+ log_info_msg "Stopping the NVIDIA-Powerd Daemon"
+ if pidofproc nvidia-powerd >/dev/null; then
+ /usr/bin/killall nvidia-powerd
+ fi
+ evaluate_retval
+ ;;
+
+ status)
+ statusproc nvidia-powerd
+ ;;
+
+ *)
+ echo "Usage: ${0} {start|stop|status}"
+ exit 1
+ ;;
+esac
+
+# End /etc/init.d/nvidia-powerd
diff --git a/download/NVIDIA/NVIDIA-sysv-bootscripts/nvidia-sleep b/download/NVIDIA/NVIDIA-sysv-bootscripts/nvidia-sleep
new file mode 100755
index 0000000000..d83ae3ad95
--- /dev/null
+++ b/download/NVIDIA/NVIDIA-sysv-bootscripts/nvidia-sleep
@@ -0,0 +1,48 @@
+#!/bin/bash
+
+if [ ! -f /proc/driver/nvidia/suspend ]; then
+ exit 0
+fi
+
+RUN_DIR="/var/run/nvidia-sleep"
+XORG_VT_FILE="${RUN_DIR}"/Xorg.vt_number
+
+PATH="/usr/bin"
+
+RestoreVT() {
+ # Check if Xorg was determined to be running at the time
+ # of suspend, and whether its VT was recorded. If so,
+ # attempt to switch back to this VT.
+ if [[ -f "${XORG_VT_FILE}" ]]; then
+ XORG_PID=$(cat "${XORG_VT_FILE}")
+ rm "${XORG_VT_FILE}"
+ chvt "${XORG_PID}"
+ fi
+}
+
+case "$1" in
+ suspend|hibernate)
+ mkdir -p "${RUN_DIR}"
+ fgconsole > "${XORG_VT_FILE}"
+ chvt 63
+ if [[ $? -ne 0 ]]; then
+ exit $?
+ fi
+ echo "$1" > /proc/driver/nvidia/suspend
+ RET_VAL=$?
+ #
+ # If suspend/hibernate entry fails, switch back to the active VT
+ #
+ if [[ $RET_VAL -ne 0 ]]; then
+ RestoreVT
+ fi
+ exit $RET_VAL
+ ;;
+ resume)
+ echo "$1" > /proc/driver/nvidia/suspend
+ RestoreVT
+ exit 0
+ ;;
+ *)
+ exit 1
+esac
diff --git a/download/NVIDIA/NVIDIA-sysv-bootscripts/version b/download/NVIDIA/NVIDIA-sysv-bootscripts/version
new file mode 100644
index 0000000000..d00491fd7e
--- /dev/null
+++ b/download/NVIDIA/NVIDIA-sysv-bootscripts/version
@@ -0,0 +1 @@
+1
diff --git a/download/NVIDIA/tar-bs.sh b/download/NVIDIA/tar-bs.sh
new file mode 100644
index 0000000000..2e89e9d48c
--- /dev/null
+++ b/download/NVIDIA/tar-bs.sh
@@ -0,0 +1,6 @@
+#!/bin/sh
+bs_version=$(cat NVIDIA-sysv-bootscripts/version)
+cp -vR NVIDIA-sysv-bootscripts{,-$bs_version}
+tar -cJvf ./NVIDIA-sysv-bootscripts-$bs_version.tar.xz \
+ NVIDIA-sysv-bootscripts-$bs_version
+rm -rf NVIDIA-sysv-bootscripts-$bs_version
diff --git a/packages.ent b/packages.ent
index ea0e009041..b954a42319 100644
--- a/packages.ent
+++ b/packages.ent
@@ -155,6 +155,7 @@
listed was released -->
+
diff --git a/shareddeps/drivers/nvidia.xml b/shareddeps/drivers/nvidia.xml
index 7cb9c24e1c..c63d44bab0 100644
--- a/shareddeps/drivers/nvidia.xml
+++ b/shareddeps/drivers/nvidia.xml
@@ -61,6 +61,12 @@
+
+
+ Recommended SysVinit bootscripts for NVIDIA-Powerd:
+
+
+
NVIDIA Dependencies
@@ -83,6 +89,12 @@
page)
+
+
+ and (for
+ NVIDIA-Powerd suppport)
+
+
GTK-3 (for
@@ -351,6 +363,27 @@ install -vm644 ../manifest-NVIDIA-&nv-manifest-version; \
+
+
Installation of NVIDIA-Powerd
@@ -398,7 +431,6 @@ done
done
-
Configuring NVIDIA