explaingit

openwrt/packages

4,494MakefileAudience · ops devopsComplexity · 4/5Setup · hard

TLDR

A community-maintained collection of build scripts and patches for adding extra software to OpenWrt, the Linux-based operating system used on routers and embedded network devices.

Mindmap

mindmap
  root((openwrt packages))
    What It Is
      Community feed
      Build scripts
      Patches and configs
    How To Use
      opkg on device
      Build from source
      SDK compile
    Integration
      Feed commands
      OpenWrt build env
    Contribution
      CONTRIBUTING.md
      Makefile recipes
    Target Hardware
      Routers
      Embedded devices
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Add extra software packages to your OpenWrt router image when building from source

USE CASE 2

Install a specific application on a running OpenWrt device using the opkg package manager

USE CASE 3

Contribute a build recipe for new software to the OpenWrt community package ecosystem

USE CASE 4

Customize an embedded network device with tools not included in the default OpenWrt build

Tech stack

MakefileShell

Getting it running

Difficulty · hard Time to first run · 1day+

Requires an existing OpenWrt build environment set up separately before this feed can be used.

In plain English

This repository is a collection of community-maintained build scripts, configuration options, and patches for software that runs on OpenWrt. OpenWrt is a Linux-based operating system commonly used on routers and other embedded network hardware. This packages repository does not contain OpenWrt itself, it is a "feed," which is an add-on layer that extends an existing OpenWrt build environment with additional software options. The packages cover applications, modules, and libraries. When you have an OpenWrt system running, you can install pre-built versions of these packages directly using a tool called opkg, which is built into OpenWrt. Alternatively, developers who build OpenWrt from source can use the OpenWrt SDK to compile these packages themselves. To use this feed in a build setup, you run two commands against the OpenWrt build scripts: one to download the latest package definitions from this repository, and another to make all those definitions available for selection when building your OpenWrt image. The repository assumes you already have an OpenWrt build environment set up, it points to external documentation for that setup. The repository's own README is brief and does not describe individual packages or give an overview of how many packages are included or what categories they cover. Guidelines for people who want to contribute new packages or submit changes are in a separate CONTRIBUTING.md file. Given the repository's focus as infrastructure for an open-source router OS project, most of its content is in the Makefiles and patch files that define each individual package rather than in documentation.

Copy-paste prompts

Prompt 1
How do I add the OpenWrt community packages feed to my build environment and select packages to include in my router image?
Prompt 2
How do I install a package from this feed on my running OpenWrt router using opkg without rebuilding the firmware?
Prompt 3
I want to contribute a new package to openwrt/packages, what does the Makefile structure and directory layout need to look like?
Prompt 4
How do I apply a patch to an existing OpenWrt package to fix a build error for my specific target architecture?
Open on GitHub → Explain another repo

← openwrt on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.