f510d75ff7 nscd: Use time_t for return type of addgetnetgrentX 5aa4bb67b9 resolv: Fix some unaligned accesses in resolver [BZ #30750] 249646f12b Force DT_RPATH for --enable-hardcoded-path-in-tests 697ab62d11 i386: Disable Intel Xeon Phi tests for GCC 15 and above (BZ 31782) c8cb4d2b86 misc: Add support for Linux uio.h RWF_NOAPPEND flag 712453634c s390x: Fix segfault in wcsncmp [BZ #31934] 7bfc35959d nptl: fix potential merge of __rseq_* relro symbols d9d019d674 elf: Make dl-rseq-symbols Linux only bb30bd2162 Linux: Make __rseq_size useful for feature detection (bug 31965) dc512364e8 resolv: Allow short error responses to match any query (bug 31890) 6cad0f543c resolv: Do not wait for non-existing second DNS response after error (bug 30081) 1bed6acf50 resolv: Track single-request fallback via _res._flags (bug 31476) 0301637b99 linux: Update the mremap C implementation [BZ #31968] f0e2114535 mremap: Update manual entry 6bb75212e6 Add mremap tests 3ac7ba61d2 Update syscall lists for Linux 6.5 9184c13681 resolv: Fix tst-resolv-short-response for older GCC (bug 32042) 059f82c3b9 Fix name space violation in fortify wrappers (bug 32052) c005d1bd6f x86: Fix bug in strchrnul-evex512 [BZ #32078] 28f358bc42 support: Add FAIL test failure helper 99ffa84bdc stdio-common: Add test for vfscanf with matches longer than INT_MAX [BZ #27650] 87a1968a72 Make tst-ungetc use libsupport 804d3c8db7 ungetc: Fix uninitialized read when putting into unused streams [BZ #27821] b9f72bd5de ungetc: Fix backup buffer leak on program exit [BZ #27821] 15ca66303f posix: Use <support/check.h> facilities in tst-truncate and tst-truncate64 f30501ca75 nptl: Use <support/check.h> facilities in tst-setuid3 370be85892 libio: Attempt wide backup free only for non-legacy code 4dd8641461 Add crt1-2.0.o for glibc 2.0 compatibility tests fa4ad10406 elf: Change ldconfig auxcache magic number (bug 32231) 9423cc5387 nptl: initialize rseq area prior to registration 37ded328c4 nptl: initialize cpu_id_start prior to rseq registration cf06772360 x86: Avoid integer truncation with large cache sizes (bug 32470) 5c9be512ee x86_64: Sort fpu/multiarch/Makefile 49016f2190 x86_64: Add log2 with FMA b2a45f1eee x86_64: Add expm1 with FMA c92946d9b2 x86_64: Add log1p with FMA 58822f954f x86: Check the lower byte of EAX of CPUID leaf 2 [BZ #30643] 7772f9358c elf: Fix slow tls access after dlopen [BZ #19924] 5a64f93365 x86: Only align destination to 1x VEC_SIZE in memset 4x loop 0d14bf0754 sysdeps/x86/Makefile: Split and sort tests dc1762113d x86_64: Fix missing wcsncat function definition without multiarch (x86-64-v4) 04b8d48432 x86: Improve large memset perf with non-temporal stores [RHEL-29312] 12fec8aae5 x86/string: Fixup alignment of main loop in str{n}cmp-evex [BZ #32212] 48642ef1a5 elf: Avoid some free (NULL) calls in _dl_update_slotinfo 549e7f7c5a elf: Support recursive use of dynamic TLS in interposed malloc c32fd59314 Fix underallocation of abort_msg_s struct (CVE-2025-0395) 650a0aaaff stdlib: Test using setenv with updated environ [BZ #32588] f984e2d7e8 assert: Add test for CVE-2025-0395 9ca74b8ad1 AArch64: Improve generic strlen 95aa21432c AArch64: Optimize memset 5fe151d86a AArch64: Remove zva_128 from memset 3de5112326 math: Improve layout of expf data 52c2b1556f AArch64: Add SVE memset 097299ffa9 AArch64: Use prefer_sve_ifuncs for SVE memset 5a08d049dc math: Improve layout of exp/exp10 data 3be3728df2 elf: Ignore LD_LIBRARY_PATH and debug env var for setuid for static 454f24e981 support: Use const char * argument in support_capture_subprogram_self_sgid 4335cd9b58 support: Add support_record_failure_barrier 31fa0f73e2 elf: Test case for bug 32976 (CVE-2025-4802) ca41fe44a5 x86_64: Fix typo in ifunc-impl-list.c. ca7e32d024 elf: Fix subprocess status handling for tst-dlopen-sgid (bug 32987) 81f58dd9b7 support: Pick group in support_capture_subprogram_self_sgid if UID == 0 5a6276d97a Fix error reporting (false negatives) in SGID tests 1a0d73a625 pthreads NPTL: lost wakeup fix 2 b5c4727e59 nptl: Update comments and indentation for new condvar implementation 1fa5e51897 nptl: Remove unnecessary catch-all-wake in condvar group switch 44eaf0615d nptl: Remove unnecessary quadruple check in pthread_cond_wait 7625579f11 nptl: Remove g_refs from condition variables 6bac834c5a nptl: Use a single loop in pthread_cond_wait instaed of a nested loop 5765653697 nptl: Fix indentation 8899e89b29 nptl: rename __condvar_quiesce_and_switch_g1 39a80f4035 nptl: Use all of g1_start and g_signals 51210d6496 nptl: PTHREAD_COND_INITIALIZER compatibility with pre-2.41 versions (bug 32786) 879f0ee122 malloc: add indirection for malloc(-like) functions in tests [BZ #32366] a637f2c42f malloc: obscure calloc use in tst-calloc 21019afe65 malloc: cleanup casts in tst-calloc 6a52d5cab0 posix: Fix double-free after allocation failure in regcomp (bug 33185) Link: https://github.com/openwrt/openwrt/pull/19551 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> |
||
|---|---|---|
| .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
