about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--core-services/08-sysctl.sh20
1 files changed, 18 insertions, 2 deletions
diff --git a/core-services/08-sysctl.sh b/core-services/08-sysctl.sh
index 44aa4ad..10aa73a 100644
--- a/core-services/08-sysctl.sh
+++ b/core-services/08-sysctl.sh
@@ -1,6 +1,22 @@
 # vim: set ts=4 sw=4 et:
 
 if [ -x /sbin/sysctl -o -x /bin/sysctl ]; then
-    msg "Loading sysctl(8) settings..."
-    sysctl --system
+    msg "Loading sysctl(8) settings...\n"
+
+    if sysctl -V >/dev/null 2>&1; then
+        sysctl --system
+    else
+        # Fallback for busybox sysctl
+        for i in /run/sysctl.d/*.conf \
+            /etc/sysctl.d/*.conf \
+            /usr/local/lib/sysctl.d/*.conf \
+            /usr/lib/sysctl.d/*.conf \
+            /etc/sysctl.conf; do
+
+            if [ -e "$i" ]; then
+                printf '* Applying %s ...\n' "$i"
+                sysctl -p "$i"
+            fi
+        done
+    fi
 fi