14f2867b57 Fix failing nss/tst-nss-files-hosts-long with local resolver d27d1e4d13 posix: Fix attribute access mode on getcwd [BZ #27476] 4b95183785 S390: Add PCI_MIO and SIE HWCAPs 6090cf1330 elf: Replace nsid with args.nsid [BZ #27609] 9edf29fd72 s390: Use long branches across object boundaries (jgh instead of jh) 94c91ce231 support: Add xpthread_kill f9592d65f2 nptl: Do not set signal mask on second setjmp return [BZ #28607] 1cc490adca powerpc64[le]: Fix CFI and LR save address for asm syscalls [BZ #28532] c76a0ba878 gconv: Do not emit spurious NUL character in ISO-2022-JP-3 (bug 28524) c493f6a0e4 powerpc64[le]: Allocate extra stack frame on syscall.S 55b99e9ed0 powerpc: Fix unrecognized instruction errors with recent GCC a51b76b71e x86: use default cache size if it cannot be determined [BZ #28784] f10e992e8d socket: Add the __sockaddr_un_set function 4653cd9e36 CVE-2022-23219: Buffer overflow in sunrpc clnt_create for "unix" (bug 22542) dae9a8e7f6 sunrpc: Test case for clnt_create "unix" buffer overflow (bug 22542) 4f4452721d <shlib-compat.h>: Support compat_symbol_reference for _ISOMAC 0f70b829f8 CVE-2022-23218: Buffer overflow in sunrpc svcunix_create (bug 28768) 5cab4e3f3a powerpc: Fix unrecognized instruction errors with recent binutils ac148bdd88 elf: Fix glibc-hwcaps priorities with cache flags mismatches [BZ #27046] e081bafcb1 support: Add helpers to create paths longer than PATH_MAX e41e5b97e3 realpath: Set errno to ENAMETOOLONG for result larger than PATH_MAX [BZ #28770] f63cb3cf72 tst-realpath-toolong: Fix hurd build 46a70c49ba support: Add xclone bcdde07537 getcwd: Set errno to ERANGE for size == 1 (CVE-2021-3999) 41980af2d7 realpath: Avoid overwriting preexisting error (CVE-2021-3998) 48d9161e02 Linux: Detect user namespace support in io/tst-getcwd-smallbuff 06ce5fbd6d support: Fix xclone build failures on ia64 and hppa d251ad533e aarch64: align stack in clone [BZ #27939] 3d52239b30 x86: Fix __wcsncmp_avx2 in strcmp-avx2.S [BZ# 28755] 86c153d092 NEWS: Add a bug fix entry for BZ #28755 6b7b6c7514 test-strnlen.c: Initialize wchar_t string with wmemset [BZ #27655] a744a0a3fe test-strnlen.c: Check that strnlen won't go beyond the maximum length f0a2b67147 x86: Set Prefer_No_VZEROUPPER and add Prefer_AVX2_STRCMP 9cee072f8f x86-64: Add ifunc-avx2.h functions with 256-bit EVEX 06d1aed51b x86-64: Add strcpy family functions with 256-bit EVEX 1697e739ef x86-64: Add memmove family functions with 256-bit EVEX 47bf9f38bb x86-64: Add memset family functions with 256-bit EVEX 15bae38c8b x86-64: Add memcmp family functions with 256-bit EVEX 0598a25cbe x86-64: Add AVX optimized string/memory functions for RTM 82f1ba9af7 x86: Add string/memory function tests in RTM region 763cea698b x86-64: Use ZMM16-ZMM31 in AVX512 memset family functions d49105cc7a x86-64: Use ZMM16-ZMM31 in AVX512 memmove family functions 31dd3e3cb3 x86-64: Fix ifdef indentation in strlen-evex.S 902af2f5ee NEWS: Add a bug fix entry for BZ #27457 e09c377806 x86: Optimize memchr-avx2.S 453ed0a0f2 x86: Fix overflow bug with wmemchr-sse2 and wmemchr-avx2 [BZ #27974] b72b89705e x86: Optimize strlen-avx2.S 355afae940 x86: Optimize memchr-evex.S 3dea108f60 x86-64: Fix an unknown vector operation in memchr-evex.S 5697e2dda8 x86-64: Move strlen.S to multiarch/strlen-vec.S 3ac5a7fe8b x86-64: Add wcslen optimize for sse4.1 cef3bffade x86: Fix overflow bug in wcsnlen-sse4_1 and wcsnlen-avx2 [BZ #27974] 8a3a0177c7 x86: Optimize strlen-evex.S 2b00ee820a String: Add overflow tests for strnlen, memchr, and strncat [BZ #27974] 25941de34e NEWS: Add a bug fix entry for BZ #27974 3e2a15c666 x86-64: Require BMI2 for __strlen_evex and __strnlen_evex 5cb6edb6cd x86: Copy IBT and SHSTK usable only if CET is enabled 0a5f5e2dc1 x86: Check RTM_ALWAYS_ABORT for RTM [BZ #28033] 54fdfa2b33 x86: Black list more Intel CPUs for TSX [BZ #27398] 1b8f2456b9 x86: Use CHECK_FEATURE_PRESENT to check HLE [BZ #27398] 260360e89b x86: Remove wcsnlen-sse4_1 from wcslen ifunc-impl-list [BZ #28064] 1956ad4930 x86-64: Test strlen and wcslen with 0 in the RSI register [BZ #28064] 78d25827ae Linux: Simplify __opensock and fix race condition [BZ #28353] 9495d729f6 hurd if_index: Explicitly use AF_INET for if index discovery 55446dd8a2 socket: Do not use AF_NETLINK in __opensock 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!
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.
gcc binutils bzip2 flex python3 perl make find grep diff unzip gawk getopt
subversion libz-dev libc-dev rsync which
Quickstart
-
Run
./scripts/feeds update -a
to obtain all the latest package definitions defined in feeds.conf / feeds.conf.default -
Run
./scripts/feeds install -a
to install symlinks for all obtained packages into package/feeds/ -
Run
make menuconfig
to select your preferred configuration for the toolchain, target system & firmware packages. -
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.
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.
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
- Bug Reports: Report bugs in OpenWrt
- Dev Mailing List: Send patches
- Dev Chat: Channel
#openwrt-devel
on oftc.net.
License
OpenWrt is licensed under GPL-2.0