diff --git a/ffrn-lowmem-patches/Makefile b/ffrn-lowmem-patches/Makefile new file mode 100644 index 0000000000000000000000000000000000000000..2d63b435cffdc0ad099551a90cea6be14d7a19c6 --- /dev/null +++ b/ffrn-lowmem-patches/Makefile @@ -0,0 +1,36 @@ +include $(TOPDIR)/rules.mk + +PKG_NAME:=ffrn-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/ffrn-lowmem-patches + SECTION:=gluon + CATEGORY:=Gluon + TITLE:=Patch files for 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/ffrn-lowmem-patches/install + $(INSTALL_DIR) $(1)/etc/init.d + $(INSTALL_BIN) ./files/etc/init.d/ffrn-lowmem $(1)/etc/init.d/ffrn-lowmem + $(INSTALL_DIR) $(1)/usr/sbin + $(INSTALL_BIN) ./files/usr/sbin/ffrn-lowmem $(1)/usr/sbin/ffrn-lowmem +endef + +$(eval $(call BuildPackage,ffrn-lowmem-patches)) diff --git a/ffrn-lowmem-patches/files/etc/init.d/ffrn-lowmem b/ffrn-lowmem-patches/files/etc/init.d/ffrn-lowmem new file mode 100755 index 0000000000000000000000000000000000000000..8cb18be105c78e0dd10c2b392d7fe97a09be031a --- /dev/null +++ b/ffrn-lowmem-patches/files/etc/init.d/ffrn-lowmem @@ -0,0 +1,12 @@ +#!/bin/sh /etc/rc.common + +START=90 + +start () { + /usr/sbin/ffrn-lowmem +} + +stop() { + true +} + diff --git a/ffrn-lowmem-patches/files/usr/sbin/ffrn-lowmem b/ffrn-lowmem-patches/files/usr/sbin/ffrn-lowmem new file mode 100644 index 0000000000000000000000000000000000000000..b04b02994269e45338940c4d189e43b06c6c722a --- /dev/null +++ b/ffrn-lowmem-patches/files/usr/sbin/ffrn-lowmem @@ -0,0 +1,35 @@ +#!/bin/sh + +# 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 + fi + + # disable and stop haveged if enabled + if [ -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 net.ipv6.neigh.default.gc_thresh1=64 + /sbin/sysctl -w net.ipv6.neigh.default.gc_thresh2=128 + /sbin/sysctl -w net.ipv6.neigh.default.gc_thresh3=512 + /sbin/sysctl -w net.ipv4.neigh.default.gc_interval=60 + /sbin/sysctl -w net.ipv4.neigh.default.gc_stale_time=120 + /sbin/sysctl -w net.ipv4.neigh.default.gc_thresh1=64 + /sbin/sysctl -w net.ipv4.neigh.default.gc_thresh2=128 + /sbin/sysctl -w net.ipv4.neigh.default.gc_thresh3=512 + /sbin/sysctl -w vm.min_free_kbytes=1024 + /sbin/sysctl -w vm.dirty_background_ratio=5 + /sbin/sysctl -w vm.dirty_ratio=30 + /sbin/sysctl -w vm.dirty_expire_centisecs=0 +fi + diff --git a/ffrn-lowmem-patches/ipkg/postinst b/ffrn-lowmem-patches/ipkg/postinst new file mode 100755 index 0000000000000000000000000000000000000000..06ecc0fc7f86278ff59cb128d8eb1d6165dd1a06 --- /dev/null +++ b/ffrn-lowmem-patches/ipkg/postinst @@ -0,0 +1,3 @@ +#!/bin/sh + +/etc/init.d/ffrn-lowmem enable