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