Only 32MB of RAM, still works for simple tasks

Update 2024-07-21:

  • 8MB zram (instead of 12MB)
  • sysctl lowmem fixes. These help a lot. No more ooms.
  • download custom files folder here or see below.
#!/bin/bash

BUILDER="https://downloads.openwrt.org/releases/23.05.4/targets/ath79/generic/openwrt-imagebuilder-23.05.4-ath79-generic.Linux-x86_64.tar.xz"

# download image builder
if [ ! -f "${BUILDER##*/}" ]; then
	wget "$BUILDER"
	tar xJvf "${BUILDER##*/}"
fi

cd openwrt-*/

if [[ ! -d files ]]; then
    echo -e "\nIf you have a \"files\" folder put it into folder now."
    read -p "Press enter to continue"
fi

# list all targets for this image builder, consider 'make help' as well
#make info

# clean previous images
make clean

# Packages are added if no prefix is given, '-packagename' does not integrate/removes a package
make image  PROFILE="tplink_tl-wr1043nd-v1" \
            FILES="files" \
            PACKAGES="-firewall -kmod-ip6tables -kmod-ipt-conntrack \
                     -kmod-ipt-core -kmod-ipt-nat -kmod-ipt-offload kmod-mac80211 kmod-nf-conntrack -kmod-nf-conntrack6 -kmod-nf-flow -kmod-nf-ipt \
                     -kmod-nf-ipt6 -kmod-nf-nat -kmod-nf-reject -kmod-nf-reject6 -kmod-ppp -kmod-pppoe -kmod-pppox -ppp -luci-proto-ppp -luci-proto-ipv6 -luci-app-firewall \
                     -ppp -ppp-mod-pppoe \
                     -ip6tables -odhcp6c -kmod-ipv6 -kmod-ip6tables -odhcpd-ipv6only \
                     -odhcpd \
                     -iptables \
                     -opkg \
                     zram-swap kmod-lib-lzo kmod-lib-lz4 kmod-lib-zstd kmod-crypto-acompress \
                     uhttpd uhttpd-mod-ubus libiwinfo-lua luci-base luci-mod-admin-full luci-theme-bootstrap \
                     -wpad-basic-wolfssl -wpad-wolfssl \
                     htop"

exit 0

files/etc/sysctl.d/99-lowmem.conf:

vm.swappiness = 180
vm.watermark_boost_factor = 0
vm.watermark_scale_factor = 125
vm.page-cluster = 0

files/etc/uci-defaults/99-custom:

uci -q batch << EOI
set system.@system[0].zram_size_mb='8'
EOI
1 Like