1ac496a91a30 math: min and max 4c917958038d math: clamp c6404b6af75c math: sign functions 597b17d0edea math: copysign 9747c8bbfa27 math: floor 933b11802060 math: ceil 46581cf13149 math: round 4aee92d5aa89 math: trunc c8f71433a3d6 math: log functions 840aa6e61196 math: Infinity handling note 990558c2a027 math: isinf c3e76e45fdad math: tan 08c6ef98fa2f math: acos, asin, atan 21a0f37d4c7c math: cosh, sinh, tanh 28ec6e4466b5 math: cbrt, hypot fb2fc094875c math: expm1, log1p 1a911dbc72b0 math: jsdoc fixes 7b3b15dc7d25 math: add double/int output toggle flag to floor/ceil/round/trunc 7424c3bd14e0 make: improve make (install) on macOS 965d76557dee types: release previous prototype reference in ucv_prototype_set b702323ec137 uloop: unregister task output fd from uloop before closing it 106b1179765a uloop: clear resource values when releasing callback resources acc70db934fc ubus: clear resource values when releasing connection/object resources 9d7ade9e4c68 ubus: prevent UAF when channel disconnect_cb triggers re-entrant disconnect Signed-off-by: Felix Fietkau <nbd@nbd.name> |
||
|---|---|---|
| .devcontainer/ci-env | ||
| .github | ||
| .vscode | ||
| config | ||
| include | ||
| LICENSES | ||
| package | ||
| scripts | ||
| target | ||
| toolchain | ||
| tools | ||
| .gitattributes | ||
| .gitignore | ||
| BSDmakefile | ||
| Config.in | ||
| COPYING | ||
| feeds.conf.default | ||
| Makefile | ||
| README.md | ||
| rules.mk | ||
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
