Custom package feed for OpenWRT containing various packages and kernel modules.
Note: This feed is in an early beginning stage so it could happen that directory structure changes and your feed not updating anymore. If that is the case remove all existing
Zerogiven_*entries from/etc/opkg/customfeeds.confand re-run the next setup step.
The script does at least same things like the steps below but with this one liner you can fasten your setup:
wget -qO - https://raw.githubusercontent.com/Zerogiven-OpenWRT-Packages/package-feed/refs/heads/main/setup.sh | shRun these commands on your OpenWRT router:
# Get OpenWRT version (minor for packages, patch for kmods)
V=$(grep DISTRIB_RELEASE /etc/openwrt_release | cut -d"'" -f2 | cut -d'.' -f1,2)
VP=$(grep DISTRIB_RELEASE /etc/openwrt_release | cut -d"'" -f2)
# Get CPU arch
A=$(opkg print-architecture | grep -v all | tail -1 | awk '{print $2}')
# Get target/subtarget
T=$(grep DISTRIB_TARGET /etc/openwrt_release | cut -d"'" -f2)
# Add arch-specific packages
grep -q Zerogiven_Feed /etc/opkg/customfeeds.conf || echo "src/gz Zerogiven_Feed https://github.com/Zerogiven-OpenWRT-Packages/package-feed/raw/main/$V/packages/$A" >> /etc/opkg/customfeeds.conf
# Add arch-independent packages (LuCI apps, etc.)
grep -q Zerogiven_All /etc/opkg/customfeeds.conf || echo "src/gz Zerogiven_All https://github.com/Zerogiven-OpenWRT-Packages/package-feed/raw/main/$V/all" >> /etc/opkg/customfeeds.conf
# Add kmods (optional) - uses patch version (e.g., 24.10.3)
grep -q Zerogiven_Kmod_Feed /etc/opkg/customfeeds.conf || echo "src/gz Zerogiven_Kmod_Feed https://github.com/Zerogiven-OpenWRT-Packages/package-feed/raw/main/kmods/$VP/$T" >> /etc/opkg/customfeeds.conf
# Add public key
wget -qO /tmp/key.pub https://github.com/Zerogiven-OpenWRT-Packages/package-feed/raw/main/Zerogiven_Feed.pub && opkg-key add /tmp/key.pub
opkg updateEdit /etc/opkg/customfeeds.conf and add:
# Arch-specific packages
src/gz Zerogiven_Feed https://github.com/Zerogiven-OpenWRT-Packages/package-feed/raw/main/<OpenWRT_Version>/packages/<cpu_arch>
# Arch-independent packages (LuCI apps, themes, translations, etc.)
src/gz Zerogiven_All https://github.com/Zerogiven-OpenWRT-Packages/package-feed/raw/main/<OpenWRT_Version>/all
# Kernel modules (optional) - requires patch version!
src/gz Zerogiven_Kmod_Feed https://github.com/Zerogiven-OpenWRT-Packages/package-feed/raw/main/kmods/<OpenWRT_Patch_Version>/<target>/<subtarget>
Replace the placeholders:
<OpenWRT_Version>- Your OpenWRT minor version (e.g.,23.05,24.10)<OpenWRT_Patch_Version>- Your OpenWRT full version including patch (e.g.,24.10.3)<cpu_arch>- Your CPU architecture (e.g.,x86_64,aarch64_cortex-a53)<target>- Your target platform (e.g.,x86,mediatek,bcm27xx)<subtarget>- Your subtarget (e.g.,64,filogic,bcm2710)
wget https://github.com/Zerogiven-OpenWRT-Packages/package-feed/raw/main/Zerogiven_Feed.pub -O /tmp/Zerogiven_Feed.pub
opkg-key add /tmp/Zerogiven_Feed.pubopkg update| Feed | Directory | Contents |
|---|---|---|
Zerogiven_Feed |
<version>/packages/<arch>/ |
Architecture-specific packages |
Zerogiven_All |
<version>/all/ |
Architecture-independent packages (LuCI apps, themes, translations) |
Zerogiven_Kmod_Feed |
kmods/<patch_version>/<target>/<subtarget>/ |
Kernel modules (tied to specific kernel version) |
Note: Kernel modules require the full patch version (e.g.,
24.10.3) because they are compiled against a specific kernel version. Regular packages use the minor version (e.g.,24.10).
To find your device's architecture, target, and version, run on your router:
# OpenWRT Version (minor, e.g., 24.10)
grep DISTRIB_RELEASE /etc/openwrt_release | cut -d"'" -f2 | cut -d'.' -f1,2
# OpenWRT Patch Version (for kmods, e.g., 24.10.3)
grep DISTRIB_RELEASE /etc/openwrt_release | cut -d"'" -f2
# CPU Architecture
opkg print-architecture | grep -v "all" | tail -1 | awk '{print $2}'
# Target/Subtarget
grep DISTRIB_TARGET /etc/openwrt_release | cut -d"'" -f2