OpenWrt
≈ 7 min read
Names in other languages
No names in other languages are held for this entry yet.
Article bodies are English and are not machine-translated. A name in another language is not a translation of the article.
OpenWrt (from open wireless router) is an open-source project for embedded operating systems based on Linux, primarily used on embedded devices to route network traffic. The main components are Linux, util-linux, musl, and BusyBox. All components have been optimized to be small enough to fit into the limited storage and memory available in home routers. OpenWrt is configured using a command-line interface (ash shell) or a web interface (LuCI). There are more than 9000 optional software packages available for installation via the apk package management system. OpenWrt can run on various types of devices, including CPE routers, residential gateways, SBCs, smartphones, pocket computers (e.g., Ben NanoNote). It is also possible to run OpenWrt on personal computers and laptops.
OpenWrt (from open wireless router) is an open-source project for embedded operating systems based on Linux, primarily used on embedded devices to route network traffic. The main components are Linux, util-linux, musl, and BusyBox. All components have been optimized to be small enough to fit into the limited storage and memory available in home routers. OpenWrt is configured using a command-line interface (ash shell) or a web interface (LuCI). There are more than 9000 optional software packages available for installation via the apk package management system. OpenWrt can run on various types of devices, including CPE routers, residential gateways, SBCs, smartphones, pocket computers (e.g., Ben NanoNote). It is also possible to run OpenWrt on personal computers and laptops. ===LEDE=== The Linux Embedded Development Environment (LEDE) project was a fork of the OpenWrt project and shared many of the same goals. It was created in May 2016 by a group of core OpenWrt contributors due to disagreements on OpenWrt internal processes. The schism was nominally reconciled a year later in May 2017 pending approval of the LEDE developers. The remerger preserves the OpenWrt branding, but uses many of the LEDE processes and rules. The remerge proposal vote was passed by LEDE developers in June 2017, and formally announced in January 2018. The merging process was completed before the OpenWrt 18.06 release. == Development == OpenWrt's development environment and build system, known together as OpenWrt Buildroot, are based on a heavily modified Buildroot system. OpenWrt Buildroot is a set of Makefiles and patches that automates the process of building a complete Linux-based OpenWrt system for an embedded device, by building and using an appropriate cross-compilation toolchain. Embedded devices usually use a different processor than the one found in host computers used for building their OpenWrt system images, requiring a cross-compilation toolchain. Such a compilation toolchain runs on a host system but generates code for a targeted embedded device and its processor's instruction set architecture (ISA). For example, if a host system uses x86 and a target system uses MIPS32, the regular compilation toolchain of the host runs on x86 and generates code for x86 architecture, while the cross-compilation toolchain runs on x86 and generates code for the MIPS32 architecture. OpenWrt Buildroot automates this whole process to work on the instruction set architectures of most embedded devices and host systems. OpenWrt Buildroot provides the following features: Makes it easy to port software across architectures Uses kconfig (Linux kernel menuconfig) for the configuration of all options Provides an integrated cross-compiler toolchain (gcc, ld, uClibc etc.) Provides an abstraction for autotools (automake, autoconf), CMake and SCons Handles standard OpenWrt image build workflow: downloading, patching, configuration, compilation and packaging Provides a number of common fixes for known badly behaving packages Besides building system images, OpenWrt development environment also provides a mechanism for simplified cross-platform building of OpenWrt software packages. Source code for each software package is required to provide a Makefile-like set of building instructions, and an optional set of patches for bug fixes or footprint optimizations. === Derivative projects === AREDN The Amateur Radio Emergency Data Network uses a firmware based on OpenWrt: GitHub Project CeroWrt (2011–2014) project to resolve bufferbloat in home networking, support IPv6, integrate DNSSEC, for wired and wireless, to complement the debloat-testing kernel tree and provide a platform for real-world testing of bufferbloat fixes. The CeroWRT project is completely by 2014, when the finalized fixes were merged into OpenWRT. The "Bufferbloat project" behind CeroWRT went on to research new methods such as CAKE. Coova chilli OpenWrt-based with focus on wireless hotspots, a fork of chillifire with focus on wireless hotspot management Flukso Wireless sensor nodes using an Atheros AR2317 chipset running a patched OpenWrt OS for communication. Sources and hardware schematics available on GitHub. Fon OpenWrt-based wireless routers acting as hotspots. Sources and toolchain available on fonosfera.org FreeWRT a meta-distribution designed for vintage Broadcom WLAN routers, such as the Linksys WRT54G and Asus WL500g. Not related to a project (with same name) based on Sveasoft firmware. Gargoyle a web interface for OpenWrt with a strong emphasis on usability that later forked into a separate distribution Gluon Framework for building OpenWrt-based firmwares fitted for mesh network deployment: GitHub Project JUCIWRT a modern distribution using the JUCI webgui that later became an OpenWrt feed instead. The source code for JUCI is available at mkschreder/juci and is still usable by installing openwrt feed found at mkschreder/juci-openwrt-feed libreCMC OpenWrt-based distribution which excludes non-free software or binary blobs, endorsed by the Free Software Foundation LibreMesh Framework for creating OpenWrt-based firmwares for wireless mesh nodes. GitHub Project Linino OpenWrt-based distribution for the MIPS-based Arduino Yùn: GitHub Project Midge Linux an OpenWrt-based distribution for devices based on Infineon Technologies ADM-5120 SoCs, such as Edimax BR-6104K and BR-6104KP. OpenMPTCProuter aggregation of multiple Internet connections using Multipath TCP OpenSAN iSCSI target Storage Area Network realization. PacketProtector OpenWrt-based security distribution that includes IDS, IPS, VPN, and web antivirus capabilities. Packages included Snort, Snort-inline, FreeRADIUS, OpenVPN, DansGuardian and ClamAV. These tools were accessible via the old web GUI management interface of OpenWrt, called X-Wrt or webif^2. Project ended on June 7, 2012. Qualcomm's QCA Software Development Kit (QSDK) which is being used as a development basis by many OEMs is an OpenWrt derivative RutOS an operating system for all Teltonika routers, based on OpenWrt. Source code found at GPL - Teltonika Networks Wiki. SmoothWAN aggregation of multiple Internet connections and network conditioning using Speedify, Engarde and tinyfecvpn. Turris Omnia and Turris MOX routers run on an OpenWrt derivative Ubiquiti's wireless router firmwares are based on OpenWrt Diverse grassroots projects for wireless community networks, including Freifunk, Libre-Mesh and qMp Some TP-Link, Xiaomi, ZyXEL and D-Link router firmwares are derived from OpenWrt Friendly Electronics manufactures the NanoPi series of SoC devices and makes available an OpenWRT derivative OS called FriendlyWRT. Ansuel's Technicolor Custom GUI a modified management web interface developed on the basis of the official Technicolor for Homeware firmware, which runs a fork of OpenWrt, unlocking Technicolor Modem/Routers. ==See also== List of router firmware projects Prpl Foundation Banana Pi GPL Code Center at Linksys
Text derived from https://en.wikipedia.org/w/index.php?oldid=1374464561 under CC BY-SA 4.0; modifications have been made.