From aa36fe1d70b093c0a787abbb1d947fa3372cb7b5 Mon Sep 17 00:00:00 2001
From: FFS-Roland <roland.volkmann@t-online.de>
Date: Thu, 15 Dec 2016 10:17:54 +0100
Subject: [PATCH] Add ffs-lowmem-patches as fork of ffrn-lowmem-patches with
 adaptions for FFS

---
 ffs-lowmem-patches/Makefile                   | 36 +++++++++++++++++++
 .../files/etc/init.d/ffs-lowmem               | 12 +++++++
 ffs-lowmem-patches/files/usr/sbin/ffs-lowmem  | 23 ++++++++++++
 ffs-lowmem-patches/ipkg/postinst              |  3 ++
 4 files changed, 74 insertions(+)
 create mode 100644 ffs-lowmem-patches/Makefile
 create mode 100755 ffs-lowmem-patches/files/etc/init.d/ffs-lowmem
 create mode 100755 ffs-lowmem-patches/files/usr/sbin/ffs-lowmem
 create mode 100755 ffs-lowmem-patches/ipkg/postinst

diff --git a/ffs-lowmem-patches/Makefile b/ffs-lowmem-patches/Makefile
new file mode 100644
index 0000000..f9a8750
--- /dev/null
+++ b/ffs-lowmem-patches/Makefile
@@ -0,0 +1,36 @@
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=ffs-lowmem-patches
+PKG_VERSION:=1
+
+PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME)
+
+include $(GLUONDIR)/include/package.mk
+
+PKG_CONFIG_DEPENDS += $(GLUON_I18N_CONFIG)
+
+
+define Package/ffs-lowmem-patches
+  SECTION:=gluon
+  CATEGORY:=Gluon
+  TITLE:=Patch files for FFS routers with only 32mb ram
+endef
+
+define Build/Prepare
+	mkdir -p $(PKG_BUILD_DIR)
+endef
+
+define Build/Configure
+endef
+
+define Build/Compile
+endef
+
+define Package/ffs-lowmem-patches/install
+	$(INSTALL_DIR) $(1)/etc/init.d
+	$(INSTALL_BIN) ./files/etc/init.d/ffs-lowmem $(1)/etc/init.d/ffs-lowmem
+	$(INSTALL_DIR) $(1)/usr/sbin
+	$(INSTALL_BIN) ./files/usr/sbin/ffs-lowmem $(1)/usr/sbin/ffs-lowmem
+endef
+
+$(eval $(call BuildPackage,ffs-lowmem-patches))
diff --git a/ffs-lowmem-patches/files/etc/init.d/ffs-lowmem b/ffs-lowmem-patches/files/etc/init.d/ffs-lowmem
new file mode 100755
index 0000000..090b915
--- /dev/null
+++ b/ffs-lowmem-patches/files/etc/init.d/ffs-lowmem
@@ -0,0 +1,12 @@
+#!/bin/sh /etc/rc.common
+
+START=11
+
+start () {
+    /usr/sbin/ffs-lowmem
+}
+
+stop() {
+    true
+}
+
diff --git a/ffs-lowmem-patches/files/usr/sbin/ffs-lowmem b/ffs-lowmem-patches/files/usr/sbin/ffs-lowmem
new file mode 100755
index 0000000..76eb660
--- /dev/null
+++ b/ffs-lowmem-patches/files/usr/sbin/ffs-lowmem
@@ -0,0 +1,23 @@
+#!/bin/sh
+
+# Content based on patches from FFRN
+# only do something if less than 40megs of RAM
+RAMSIZE=`grep MemTotal /proc/meminfo | awk '{print $2}'`
+if [ $RAMSIZE -le 40000 ] ; then
+
+    # start haveged in config mode
+    MODE=`uci get gluon-setup-mode.@setup_mode[0].enabled`
+    if [ $MODE == "1" ] ; then
+        /etc/init.d/haveged start
+
+    # disable and stop haveged if enabled
+    elif [ -f /etc/rc.d/S13haveged ] ; then
+        /etc/init.d/haveged disable
+        /etc/init.d/haveged stop
+    fi
+
+    # tweak some sysctls
+    /sbin/sysctl -w net.ipv6.neigh.default.gc_interval=60
+    /sbin/sysctl -w net.ipv6.neigh.default.gc_stale_time=120
+    /sbin/sysctl -w vm.min_free_kbytes=1024
+fi
diff --git a/ffs-lowmem-patches/ipkg/postinst b/ffs-lowmem-patches/ipkg/postinst
new file mode 100755
index 0000000..63bd51e
--- /dev/null
+++ b/ffs-lowmem-patches/ipkg/postinst
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+/etc/init.d/ffs-lowmem enable
-- 
GitLab