This adds the following changes: a88f07f71f stdlib: Remove attr_write from mbstows if dst is NULL [BZ: 29265] 4bc889c01c stdlib: Fixup mbstowcs NULL __dst handling. [BZ #29279] 1fcc7bfee2 alpha: Fix generic brk system call emulation in __brk_call (bug 29490) 68507377f2 socket: Check lengths before advancing pointer in CMSG_NXTHDR 536ddc5c02 elf: Call __libc_early_init for reused namespaces (bug 29528) 2a44960cbc Apply asm redirections in stdio.h before first use [BZ #27087] b41c535f46 Apply asm redirections in wchar.h before first use 2b3d020055 nscd: Fix netlink cache invalidation if epoll is used [BZ #29415] bc5cb538e5 elf: Run tst-audit-tlsdesc, tst-audit-tlsdesc-dlopen everywhere 2ff6775ad3 elf: Fix hwcaps string size overestimation f50a6c843a gconv: Use 64-bit interfaces in gconv_parseconfdir (bug 29583) 1a3afdfe31 resolv: Add tst-resolv-byaddr for testing reverse lookup 6a833d798e resolv: Add tst-resolv-aliases 4d2e67d6e5 resolv: Add internal __res_binary_hnok function bb8adbba4f resolv: Add the __ns_samebinaryname function c288e032ae resolv: Add internal __ns_name_length_uncompressed function e7c03f4765 resolv: Add DNS packet parsing helpers geared towards wire format d9c979abf9 nss_dns: Split getanswer_ptr from getanswer_r 32e5db3768 nss_dns: Rewrite _nss_dns_gethostbyaddr2_r and getanswer_ptr 7267341ec1 nss_dns: Remove remnants of IPv6 address mapping 9abc40d9b5 nss_dns: Rewrite getanswer_r to match getanswer_ptr (bug 12154, bug 29305) c36e7cca35 nss_dns: In gaih_getanswer_slice, skip strange aliases (bug 12154) 480c820493 resolv: Add new tst-resolv-invalid-cname 2def56a349 nss_dns: Rewrite _nss_dns_gethostbyname4_r using current interfaces 044755e2fa resolv: Fix building tst-resolv-invalid-cname for earlier C standards a2e259014f Avoid extra load with CAS in __pthread_mutex_lock_full [BZ #28537] ed8300c054 Avoid extra load with CAS in __pthread_mutex_clocklock_common [BZ #28537] a6b81f605d Add LLL_MUTEX_READ_LOCK [BZ #28537] 6bcfbee727 Move assignment out of the CAS condition 43760d33d7 nptl: Effectively skip CAS in spinlock loop 04efdcfac4 sysdeps: Add 'get_fast_jitter' interace in fast-jitter.h ea69248445 nptl: Add backoff mechanism to spinlock loop 95f5089d4a x86: include BMI1 and BMI2 in x86-64-v3 level 414fc856ff x86-64: Require BMI2 for AVX2 str(n)casecmp implementations e1561d8cf0 x86-64: Require BMI2 for AVX2 strcmp implementation b9cbb8dd48 x86-64: Require BMI2 for AVX2 strncmp implementation 67e863742d x86-64: Require BMI2 for AVX2 wcs(n)cmp implementations 94b9c1b640 x86-64: Require BMI2 for AVX2 (raw|w)memchr implementations 36d6b9be3d x86-64: Require BMI2 and LZCNT for AVX2 memrchr implementation e570b865b5 x86-64: Require BMI1/BMI2 for AVX2 strrchr and wcsrchr implementations e3976287b2 nscd: Drop local address tuple variable [BZ #29607] c95ef423d7 nss: Implement --no-addrconfig option for getent 16c7ed6e68 nss: Fix tst-nss-files-hosts-long on single-stack hosts (bug 24816) d5313bcb7e nss: Use shared prefix in IPv4 address in tst-reload1 9f55d2e7c4 elf: Do not completely clear reused namespace in dlmopen (bug 29600) ca5df79545 linux: Fix generic struct_stat for 64 bit time (BZ# 29657) f42d871b22 Makerules: fix MAKEFLAGS assignment for upcoming make-4.4 [BZ# 29564] 675ba1f361 mktime: improve heuristic for ca-1986 Indiana DST 6e8044e910 Fix memmove call in vfprintf-internal.c:group_number 291d440206 Allow #pragma GCC in headers in conformtest 86a701a204 regex: copy back from Gnulib fa5044f1e3 regex: fix buffer read overrun in search [BZ#28470] 06afa5e09f io: Fix ftw internal realloc buffer (BZ #28126) deea6ab1bc io: Fix use-after-free in ftw [BZ #26779] d57cdc1b5a Linux: Support __IPC_64 in sysvctl *ctl command arguments (bug 29771) 75b0edb7ef Update NEWS file in the right place 691f70b84a elf: Fix rtld-audit trampoline for aarch64 e3255e7d21 x86: Fix wcsnlen-avx2 page cross length comparison [BZ #29591] 309c4708ac elf: Fix wrong fscanf usage on tst-pldd 42b9d7def8 Allow for unpriviledged nested containers 405b8ae135 elf: Fix wrong fscanf usage on tst-pldd a1c12fdf3f _Static_assert needs two arguments for compatibility with GCC before 9 a4217408a3 Apply asm redirections in syslog.h before first use [BZ #27087] 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.
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
-
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.
-
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
- 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