mirror of
https://github.com/glfs-book/glfs.git
synced 2025-07-23 04:48:52 +00:00
NVIDIA: Add SysV powerd framework.
This commit is contained in:
29
Makefile
29
Makefile
@ -245,33 +245,6 @@ $(BASEDIR)/test-links: $(RENDERTMP)/$(GLFSFULL) version
|
|||||||
|
|
||||||
$(Q)$(CLEAN)
|
$(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:
|
test-options:
|
||||||
$(Q)trap '$(CLEAN)' EXIT
|
$(Q)trap '$(CLEAN)' EXIT
|
||||||
$(Q)xsltproc --xinclude --nonet stylesheets/test-options.xsl index.xml
|
$(Q)xsltproc --xinclude --nonet stylesheets/test-options.xsl index.xml
|
||||||
@ -287,7 +260,7 @@ $(DUMPDIR): $(RENDERTMP)/$(GLFSFULL) version
|
|||||||
$(Q)$(CLEAN)
|
$(Q)$(CLEAN)
|
||||||
|
|
||||||
.PHONY: glfs all world html validate profile-html wget-list test-links \
|
.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:
|
version:
|
||||||
$(Q)REV=$(REV) STAB=$(STAB) ./git-version.sh
|
$(Q)REV=$(REV) STAB=$(STAB) ./git-version.sh
|
||||||
|
BIN
download/NVIDIA/NVIDIA-sysv-bootscripts-1.tar.xz
Normal file
BIN
download/NVIDIA/NVIDIA-sysv-bootscripts-1.tar.xz
Normal file
Binary file not shown.
42
download/NVIDIA/NVIDIA-sysv-bootscripts/Makefile
Normal file
42
download/NVIDIA/NVIDIA-sysv-bootscripts/Makefile
Normal file
@ -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
|
66
download/NVIDIA/NVIDIA-sysv-bootscripts/nvidia-powerd
Normal file
66
download/NVIDIA/NVIDIA-sysv-bootscripts/nvidia-powerd
Normal file
@ -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
|
48
download/NVIDIA/NVIDIA-sysv-bootscripts/nvidia-sleep
Executable file
48
download/NVIDIA/NVIDIA-sysv-bootscripts/nvidia-sleep
Executable file
@ -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
|
1
download/NVIDIA/NVIDIA-sysv-bootscripts/version
Normal file
1
download/NVIDIA/NVIDIA-sysv-bootscripts/version
Normal file
@ -0,0 +1 @@
|
|||||||
|
1
|
6
download/NVIDIA/tar-bs.sh
Normal file
6
download/NVIDIA/tar-bs.sh
Normal file
@ -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
|
@ -155,6 +155,7 @@
|
|||||||
listed was released -->
|
listed was released -->
|
||||||
<!ENTITY nvidia-version "575.64">
|
<!ENTITY nvidia-version "575.64">
|
||||||
<!ENTITY nv-manifest-version "1">
|
<!ENTITY nv-manifest-version "1">
|
||||||
|
<!ENTITY nv-sysv-bs "1">
|
||||||
<!ENTITY spirv-version "&vulkan-version;.0">
|
<!ENTITY spirv-version "&vulkan-version;.0">
|
||||||
<!ENTITY spirv-headers-version "&spirv-version;">
|
<!ENTITY spirv-headers-version "&spirv-version;">
|
||||||
<!ENTITY spirv-tools-version "&spirv-version;">
|
<!ENTITY spirv-tools-version "&spirv-version;">
|
||||||
|
@ -61,6 +61,12 @@
|
|||||||
<ulink url="&dl-root;/NVIDIA/manifest-NVIDIA-&nv-manifest-version;"/>
|
<ulink url="&dl-root;/NVIDIA/manifest-NVIDIA-&nv-manifest-version;"/>
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
<listitem revision="sysv">
|
||||||
|
<para>
|
||||||
|
Recommended SysVinit bootscripts for NVIDIA-Powerd:
|
||||||
|
<ulink url="&dl-root;/NVIDIA/NVIDIA-sysv-bootscripts-&nv-sysv-bs;.tar.xz"/>
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
</itemizedlist>
|
</itemizedlist>
|
||||||
|
|
||||||
<bridgehead renderas="sect3">NVIDIA Dependencies</bridgehead>
|
<bridgehead renderas="sect3">NVIDIA Dependencies</bridgehead>
|
||||||
@ -83,6 +89,12 @@
|
|||||||
page)
|
page)
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
<listitem revision="sysv">
|
||||||
|
<para>
|
||||||
|
<xref linkend="dbus"/> and <xref linkend="elogind"/> (for
|
||||||
|
NVIDIA-Powerd suppport)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
<ulink url="&blfs-svn;/x/gtk3.html">GTK-3</ulink> (for
|
<ulink url="&blfs-svn;/x/gtk3.html">GTK-3</ulink> (for
|
||||||
@ -351,6 +363,27 @@ install -vm644 ../manifest-NVIDIA-&nv-manifest-version; \
|
|||||||
|
|
||||||
</sect2>
|
</sect2>
|
||||||
|
|
||||||
|
<!-- UNFINISHED, DOES NOT WORK!
|
||||||
|
|
||||||
|
<sect2 revision="sysv">
|
||||||
|
<title>Installation of NVIDIA-Powerd</title>
|
||||||
|
<para>
|
||||||
|
If you want <application>NVIDIA-Powerd</application>, which can suspend
|
||||||
|
and hibernate if asked to, then run the following commands as the &root;
|
||||||
|
user to install the daemon and the bootscripts:
|
||||||
|
</para>
|
||||||
|
<screen role="root"><userinput>mkdir -pv /usr/share/dbus-1/system.d &&
|
||||||
|
install -vm755 nvidia-powerd /usr/bin &&
|
||||||
|
cp -v nvidia-dbus.conf \
|
||||||
|
/usr/share/dbus-1/system.d &&
|
||||||
|
tar -xf ../NVIDIA-sysv-bootscripts-&nv-sysv-bs;.tar.xz &&
|
||||||
|
pushd NVIDIA-sysv-bootscripts-&nv-sysv-bs; &&
|
||||||
|
make install-nvidia-powerd &&
|
||||||
|
popd &&
|
||||||
|
rm -rf NVIDIA-sysv-bootscripts-&nv-sysv-bs;</userinput></screen>
|
||||||
|
</sect2>
|
||||||
|
-->
|
||||||
|
|
||||||
<sect2 revision="systemd">
|
<sect2 revision="systemd">
|
||||||
<title>Installation of NVIDIA-Powerd</title>
|
<title>Installation of NVIDIA-Powerd</title>
|
||||||
<para>
|
<para>
|
||||||
@ -398,7 +431,6 @@ done</userinput></screen>
|
|||||||
done</userinput></screen>
|
done</userinput></screen>
|
||||||
</sect2>
|
</sect2>
|
||||||
|
|
||||||
|
|
||||||
<sect2 role="configuration">
|
<sect2 role="configuration">
|
||||||
<title>Configuring NVIDIA</title>
|
<title>Configuring NVIDIA</title>
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user