diff --git a/ffs-lowmem-patches/Makefile b/ffs-lowmem-patches/Makefile new file mode 100644 index 0000000000000000000000000000000000000000..f9a8750aff54801605bb8207d6c17ef7bde70859 --- /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 0000000000000000000000000000000000000000..090b915678e37314b9548dfd0b2e9847d04df832 --- /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 0000000000000000000000000000000000000000..76eb6604c0504bd04549a677ba0f7b41bc94810f --- /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 0000000000000000000000000000000000000000..63bd51e4c889edd7b14ff0c15df07a70fd7b75ff --- /dev/null +++ b/ffs-lowmem-patches/ipkg/postinst @@ -0,0 +1,3 @@ +#!/bin/sh + +/etc/init.d/ffs-lowmem enable