home · contact · privacy
Add TLP battery management. master
authorPlom Heller <plom@plomlompom.com>
Wed, 2 Sep 2026 16:56:16 +0000 (18:56 +0200)
committerPlom Heller <plom@plomlompom.com>
Wed, 2 Sep 2026 16:56:16 +0000 (18:56 +0200)
start_root.sh

index 1901de080de082040920daeb3c1fcf65b280e99f..6ed54bbe2b161c252a511e8b888a86414dd4b8ed 100755 (executable)
@@ -5,11 +5,14 @@ cd "$(dirname "$0")" || exit
 # constants unlikely to change
 FNAME_START_HOME=start_home.sh
 PATH_SYSCTL_PRINTK=/etc/sysctl.d/60-printk-console.conf
+PATH_TLP_THRESH_CONF=/etc/tlp.conf.d/60-thresholds.conf
 
 # constants we might want to change at some point
-TO_INSTALL="man-db ntpsec-ntpdate sudo vim"
+TO_INSTALL="man-db ntpsec-ntpdate sudo tlp vim"
 USERNAME=plom
 PRINTK_LEVELS="4 4 1 7"
+TLP_THRESH_START=40
+TLP_THRESH_STOP=80
 
 msg 'Calling %s …' "${FNAME_START_HOME}"
 "./${FNAME_START_HOME}"
@@ -22,6 +25,13 @@ msg 'Quieting routine kernel messages on the console …'
 printf 'kernel.printk = %s\n' "${PRINTK_LEVELS}" >| "${PATH_SYSCTL_PRINTK}"
 sysctl -p "${PATH_SYSCTL_PRINTK}"
 
+msg 'Setting TLP battery charge thresholds: start %s%%, stop %s%% …' \
+    "${TLP_THRESH_START}" "${TLP_THRESH_STOP}"
+mkdir -p "$(dirname "${PATH_TLP_THRESH_CONF}")"
+printf 'START_CHARGE_THRESH_BAT0=%s\nSTOP_CHARGE_THRESH_BAT0=%s\n' \
+    "${TLP_THRESH_START}" "${TLP_THRESH_STOP}" >| "${PATH_TLP_THRESH_CONF}"
+tlp start
+
 msg 'Setting up user: %s' "${USERNAME}"
 adduser --comment "" "${USERNAME}"
 usermod -a -G sudo "${USERNAME}"