Hauke Mehrtens 5509043972 toolchain: glibc: Update glibc 2.37 to recent HEAD
23021eda75 malloc: Use __get_nprocs on arena_get2 (BZ 30945)
9a1bdd7df7 S390: Do not clobber r7 in clone [BZ #31402]
2fadb0d9b4 support: use 64-bit time_t (bug 30111)
08ac41cf08 make ‘struct pthread’ a complete type
9da8174362 nptl: Unconditionally use a 32-byte rseq area
a11c8d521d Include sys/rseq.h in tst-rseq-disable.c
829b64598b linux: Use rseq area unconditionally in sched_getcpu (bug 31479)
6f28bfa4a0 LoongArch: Correct {__ieee754, _}_scalb -> {__ieee754, _}_scalbf
314b731dd8 AArch64: Improve SVE memcpy and memmove
d0da4fb615 Add HWCAP2_MOPS from Linux 6.5 to AArch64 bits/hwcap.h
4c3985b4c8 AArch64: Add support for MOPS memcpy/memmove/memset
e7f8117b60 AArch64: Cleanup ifuncs
455b1b2b7f AArch64: Cleanup emag memset
cb48c2603a AArch64: Add memset_zva64
3dcb8fde81 AArch64: Remove Falkor memcpy
882b7dc2ab aarch64: correct CFI in rawmemchr (bug 31113)
bbc290aad4 aarch64: fix check for SVE support in assembler
fb8f66c22d AArch64: Check kernel version for SVE ifuncs
6eab323a3c powerpc: Fix ld.so address determination for PCREL mode (bug 31640)
89ce64b269 iconv: ISO-2022-CN-EXT: fix out-of-bound writes when writing escape sequence (CVE-2024-2961)
ae014a15b4 nptl: Fix tst-cancel30 on kernels without ppoll_time64 support
f75c298e74 CVE-2024-33599: nscd: Stack-based buffer overflow in netgroup cache (bug 31677)
5eea50c440 CVE-2024-33600: nscd: Do not send missing not-found response in addgetnetgrentX (bug 31678)
a8070b3104 CVE-2024-33600: nscd: Avoid null pointer crashes after notfound response (bug 31678)
6e106dc214 CVE-2024-33601, CVE-2024-33602: nscd: netgroup: Use two buffers in addgetnetgrentX (bug 31680)
1aa819a693 elf: Also compile dl-misc.os with $(rtld-early-cflags)
bcd2bf36b4 sparc: Remove 64 bit check on sparc32 wordsize (BZ 27574)
2a41cb9c71 login: Check default sizes of structs utmp, utmpx, lastlog
36ef0d2f2f login: structs utmp, utmpx, lastlog _TIME_BITS independence (bug 30701)
90304900c3 nscd: Use time_t for return type of addgetnetgrentX
f4de99ea83 hurd: fix build of tst-system.c
3956fd48d3 Force DT_RPATH for --enable-hardcoded-path-in-tests
340ca2d514 s390x: Fix segfault in wcsncmp [BZ #31934]
182f4a8c75 Add AT_RSEQ_* from Linux 6.3 to elf.h
a858172cf9 nptl: fix potential merge of __rseq_* relro symbols
643709c6ee elf: Make dl-rseq-symbols Linux only
7f769dd008 Linux: Make __rseq_size useful for feature detection (bug 31965)
40a1e1798b resolv: Allow short error responses to match any query (bug 31890)
3da1b0064a resolv: Do not wait for non-existing second DNS response after error (bug 30081)
708f507e30 resolv: Track single-request fallback via _res._flags (bug 31476)
88b3554ed9 tests: replace system by xsystem
40fb943e12 linux: Update the mremap C implementation [BZ #31968]
aaed1cc9fc mremap: Update manual entry
590e58b652 Add mremap tests
aca9c7d5de resolv: Fix tst-resolv-short-response for older GCC (bug 32042)
6e642a47fa Fix name space violation in fortify wrappers (bug 32052)
f82e0922de x86: Fix bug in strchrnul-evex512 [BZ #32078]
6eb9420551 support: Add FAIL test failure helper
5784740194 stdio-common: Add test for vfscanf with matches longer than INT_MAX [BZ #27650]
bb6cfec3dd Make tst-ungetc use libsupport
810fa2488c ungetc: Fix uninitialized read when putting into unused streams [BZ #27821]
5259c8f052 ungetc: Fix backup buffer leak on program exit [BZ #27821]
5b853745fd posix: Use <support/check.h> facilities in tst-truncate and tst-truncate64
3d0acc5b20 nptl: Use <support/check.h> facilities in tst-setuid3
0141e7c794 libio: Attempt wide backup free only for non-legacy code
a4d9258090 elf: Change ldconfig auxcache magic number (bug 32231)
4b2b81deb4 nptl: initialize rseq area prior to registration
b2ab6ce0f5 nptl: initialize cpu_id_start prior to rseq registration
71fca07505 x86: Avoid integer truncation with large cache sizes (bug 32470)
d5ff2fa5af x86_64: Sort fpu/multiarch/Makefile
3607863050 x86_64: Add log2 with FMA
c0cae389fb x86_64: Add expm1 with FMA
f2947239b6 x86_64: Add log1p with FMA
ec7c01efee x86: Check the lower byte of EAX of CPUID leaf 2 [BZ #30643]
0c6f7cd550 elf: Fix slow tls access after dlopen [BZ #19924]
f0c2fcce5f x86: Only align destination to 1x VEC_SIZE in memset 4x loop
ec40bb7938 sysdeps/x86/Makefile: Split and sort tests
b0eef2f27f x86_64: Fix missing wcsncat function definition without multiarch (x86-64-v4)
7e84df6892 x86: Improve large memset perf with non-temporal stores [RHEL-29312]
7d1c950582 x86/string: Fixup alignment of main loop in str{n}cmp-evex [BZ #32212]
19d8959b4d elf: Avoid some free (NULL) calls in _dl_update_slotinfo
abe2bb2b47 elf: Support recursive use of dynamic TLS in interposed malloc
9083997843 misc: Add support for Linux uio.h RWF_NOAPPEND flag
a3d7865b09 Fix underallocation of abort_msg_s struct (CVE-2025-0395)
24d69e33fc stdlib: Test using setenv with updated environ [BZ #32588]
5288c29247 assert: Reformat Makefile.
b989519fe1 assert: Add test for CVE-2025-0395
7feb4c414e AArch64: Improve generic strlen
7d16ea8b42 AArch64: Optimize memset
06eafb057a AArch64: Remove zva_128 from memset
93e4b0796e math: Improve layout of expf data
c747695762 AArch64: Add SVE memset
b4a783aa30 AArch64: Use prefer_sve_ifuncs for SVE memset
032545ebd3 math: Improve layout of exp/exp10 data
7403ede2d7 elf: Ignore LD_LIBRARY_PATH and debug env var for setuid for static
5b1ea2a223 support: Use const char * argument in support_capture_subprogram_self_sgid
1e29775735 support: Add support_record_failure_barrier
e8e6c54353 elf: Test case for bug 32976 (CVE-2025-4802)
0f4e5f764b x86_64: Fix typo in ifunc-impl-list.c.
fba1c47cb5 elf: Fix subprocess status handling for tst-dlopen-sgid (bug 32987)
9643281f9c support: Don't fail on fchown when spawning sgid processes
245dffa9ed support: Pick group in support_capture_subprogram_self_sgid if UID == 0
ea179f9a37 Fix error reporting (false negatives) in SGID tests
58b768addb posix: Fix double-free after allocation failure in regcomp (bug 33185)

Link: https://github.com/openwrt/openwrt/pull/19552
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-07-27 19:55:36 +02:00
2025-07-21 23:04:05 +02:00
2022-10-06 16:08:24 +02:00
2023-06-12 22:10:20 +02:00

OpenWrt logo

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 MacOSX 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.6+ rsync subversion unzip which

Quickstart

  1. Run ./scripts/feeds update -a to obtain all the latest package definitions defined in feeds.conf / feeds.conf.default

  2. Run ./scripts/feeds install -a to install symlinks for all obtained packages into package/feeds/

  3. Run make menuconfig to select your preferred configuration for the toolchain, target system & firmware packages.

  4. Run make to 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.

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 #openwrt on oftc.net.

Developer Community

License

OpenWrt is licensed under GPL-2.0

Description
No description provided
Readme 303 MiB
Languages
C 66.5%
Makefile 18.9%
Shell 6.8%
Perl 2.7%
Assembly 1.5%
Other 3.5%