Changes since v2.6: a3383be configgenerate 8d04a3b adds modemnodedev and deletes cdcserialtermdev 77b52c4 README 3b8e1dc README 356211b README: add note about possible regression since selinux 3.6 171a3cc iwinfo 16ae0c1 haproxy 78bcb69 dufsysagent fix 6d88ac5 dufs fixes filecon c9aa6cd adds dufs 5f15774 net: clean up 02c8e76 unneeded sys.moduleload calls 6334366 README: todo /usr/bin/fit_check_sign 12b659f README: add reminder on polvers 3e93844 related to bpi-r4 Linux 6.12 449cb74 sysagent: use logintermdev (no differences) 20ad31d unlabeled/invalid: these are relative to . 9c85622 iproute2sysagent: ss c2a7863 README 6d7ad1c adds swaptools swapfile 5b69b63 rpcd related to luci mount tab afeee67 hotplugcall: iwinfo 6ca7996 adds ttyGS0 tty login serial f8b2fba wget: read shouldnt be needed e2faf89 bmon adds ~/.bmonrc 5ede79b adds seccompconffile 3034b20 some comments 9b4b44e loginsysagent: loose end fe0973c README ea06908 loginsysagent 2405c46 loginsysagent 9413988 loginsysagent: adds skel for wrapper retry 22929cb Revert "login.cil: skel for login.sh wrapper" fbcccf4 login.cil: skel for login.sh wrapper 1addde4 Revert "iproute2 ip protocol not supported" f38fd20 iproute2 ip protocol not supported 5abde97 openssl for openssl s_client -connect ip:port 642ddd9 ttyd be00125 iproute2 ip 1fbba89 iproute2 ip 342c981 no cap_userns d241cfb iproute2 ip netns related 6778504 iproute2 ip netns related 491d3c4 iproute2 ip d2dce16 iproute ip 8b43b1c iproute2 ip basic netns support 107e63f iproute2 ip 1b39905 README: looks like this is a no-go b081dba acme note about expected removal of /tmp/run/acme/lock 4df51dd haproxy ee825c8 coreutils: these dont have busybox equivalent 46f4a8b Revert "ucode: needed for custom rules in /etc/nftables.d" 048337a ucode: needed for custom rules in /etc/nftables.d 76b5a69 haproxy pid file c90f840 openssl s_client -connect dbbe475 haproxy local logging 7f58831 haproxy /etc/haproxy for stuff like proxy maps 050afc7 acmesysagent 031e0f3 README 2acf047 haproxy and iproute2 c5d1ce4 README b9304a5 haproxy whitespace b07c524 adds haproxy and iproute2 ss rules 9bc53b1 acme 6031379 openssl 8d6aaba adds sysfsutils skel fc24d0c README 12cc1d4 openssl 79cf372 apk leaks memfd 9912075 adds socat dataexecfile 011bf9a adds wget (consolidate uclient-fetch) 0ba70c0 adds ftp reserved ports 5b35e96 README bd02d73 README 4f6895f netifd comment fix bd46c1f coreutils ad13688 dnsmasq: more robust filecon d5d6dd3 README 74f73d1 fwtool: do_stage2: online sysupgrade sdcard 8251117 README badfb57 iw/tmux socket creation is implied in macros 5663f89 iwsysagent and readme 6815a6c README bde5a56 README 6b89f0a hotplug and netif unconfined.exec.file underline "trusted" 862da9b unknown netifd protocols with netif.unconfined.exec.file Signed-off-by: Dominick Grift <dominick.grift@defensec.nl> Signed-off-by: Petr Štetiar <ynezz@true.cz> [package hash fix] Link: https://github.com/openwrt/openwrt/pull/19080 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
OpenWrt Project is a Linux operating system targeting embedded devices. Instead of trying to create a single, static firmware, OpenWrt provides a fully writable filesystem with package management. This frees you from the application selection and configuration provided by the vendor and allows you to customize the device through the use of packages to suit any application. For developers, OpenWrt is the framework to build an application without having to build a complete firmware around it; for users this means the ability for full customization, to use the device in ways never envisioned.
Sunshine!
Download
Built firmware images are available for many architectures and come with a package selection to be used as WiFi home router. To quickly find a factory image usable to migrate from a vendor stock firmware to OpenWrt, try the Firmware Selector.
If your device is supported, please follow the Info link to see install instructions or consult the support resources listed below.
An advanced user may require additional or specific package. (Toolchain, SDK, ...) For everything else than simple firmware download, try the wiki download page:
Development
To build your own firmware you need a GNU/Linux, BSD or macOS system (case sensitive filesystem required). Cygwin is unsupported because of the lack of a case sensitive file system.
Requirements
You need the following tools to compile OpenWrt, the package names vary between distributions. A complete list with distribution specific packages is found in the Build System Setup documentation.
binutils bzip2 diff find flex gawk gcc-6+ getopt grep install libc-dev libz-dev
make4.1+ perl python3.7+ rsync subversion unzip which
Quickstart
-
Run
./scripts/feeds update -ato obtain all the latest package definitions defined in feeds.conf / feeds.conf.default -
Run
./scripts/feeds install -ato install symlinks for all obtained packages into package/feeds/ -
Run
make menuconfigto select your preferred configuration for the toolchain, target system & firmware packages. -
Run
maketo build your firmware. This will download all sources, build the cross-compile toolchain and then cross-compile the GNU/Linux kernel & all chosen applications for your target system.
Related Repositories
The main repository uses multiple sub-repositories to manage packages of
different categories. All packages are installed via the OpenWrt package
manager called opkg. If you're looking to develop the web interface or port
packages to OpenWrt, please find the fitting repository below.
-
LuCI Web Interface: Modern and modular interface to control the device via a web browser.
-
OpenWrt Packages: Community repository of ported packages.
-
OpenWrt Routing: Packages specifically focused on (mesh) routing.
-
OpenWrt Video: Packages specifically focused on display servers and clients (Xorg and Wayland).
Support Information
For a list of supported devices see the OpenWrt Hardware Database
Documentation
Support Community
- Forum: For usage, projects, discussions and hardware advise.
- Support Chat: Channel
#openwrton oftc.net.
Developer Community
- Bug Reports: Report bugs in OpenWrt
- Dev Mailing List: Send patches
- Dev Chat: Channel
#openwrt-develon oftc.net.
License
OpenWrt is licensed under GPL-2.0
