Changes: 67f3b2a libtracefs: version 1.8 8a1322f libtracefs utest: Add tests to use mapping if supported 0a65b79 libtracefs: Add tracefs_mapped_is_supported() API 805f650 libtracefs: Call mmap ioctl if a refresh happens cf7e2a5 libtracefs: Fix tracefs_mmap() kbuf usage 3a26b26 libtracefs: Have nonblock tracefs_cpu reads set errno EAGAIN 2b5bb09 libtracefs: Have tracefs_mmap_read() include subbuf meta data dee0448 libtracefs: Have mapping work with the other tracefs_cpu* functions 28eebc1 libtracefs: Have tracefs_cpu_flush(_buf)() use mapping 065d914 libtracefs: Use mmapping for iterating raw events 1124e0e libtracefs: Use tracefs_cpu_*_buf() calls for iterator f43b293 libtracefs: Unmap mmap mapping on tracefs_cpu close 0d24516 libtracefs Documentation: Fix tracefs_cpu_snapshot_open() man pages 5ff31c0 libtracefs Documentation: Add tracefs_follow_events_clear() to main man page 0c7d9f7 libtracefs: Add man pages for tracefs_snapshot_*() functions b2dc3e0 libtracefs sql: Rename TIMESTAMP_USECS_DELTA to TIMESTAMP_DELTA_USECS 585ec77 libtracefs: Force off trace mmapping 2ed14b5 libtracefs: Add ring buffer memory mapping APIs 173ffc0 libtracefs meson: Add option to disable samples a55e2e8 libtracefs meson: Add option to disable documentation 93e20af libtracefs: Fix tracefs_instance_reset to clear synthetic events a1ecbff libtracefs utest: Add more tests to test tracefs_sql() 975c37c libtracefs utest: Add matches to trace_sql() tests 0567e2d libtracefs synthetic: Handle hashed name variables fcb3a83 libtracefs synthetic: Remove multiple adding of action in tracefs_synth_save() a9dae65 libtracefs: Fix sqlhist used uninitialized error fe7a467 libtracefs: Add updating and reading snapshot buffers 1ad57ab libtracefs: Add PID filtering API d8726bf libtracefs: Also clear max_graph_depth on reset eb4dd60 libtracefs: Add TIMESTAMP_USECS_DELTA to simplify SQL timestamp compares 8c57eb4 libtracefs: Add tracefs_instance_set/get_subbuf_size() 9bafb21 libtracefs: Add API to extract ring buffer statistics 141d25e libtracefs: Add tracefs_load_headers() API ef3fae7 libtracefs: Add kerneldoc comments to tracefs_instance_set_buffer_size() 31acfe1 libtracefs utest: Add test to test tracefs_instance_set/get_buffer_percent() 3e6d975 libtracefs: Add tracefs_instance_clear() API c4efaaf libtracefs: Add tracefs_instance_get/set_buffer_percent() 1e1cc54 libtracefs: Add API to read tracefs_cpu and return a kbuffer 7d395b1 libtracefs: Add tracefs_instance_file_write_number() e34cbd8 libtracefs: Increase splice to use pipe max size 1f50965 libtracefs: Add API to remove followers from an instance or toplevel 576ee0b libtracefs: Reset tracing before and after unit tests 118b694 libtracefs: Free dynamic event list in utest 5159973 libtracefs: Free tracing_dir in case of remount df563eb libtracefs: Free buf in clear_func_filter() 3cbac37 libtracefs: Free "missed_followers" of instance 0cbe56e libtracefs testing: Use one tep handle for most tests adac30f libtracefs Documentation: Fix tracefs_event_file_exists() issues 07ab199 libtracefs: Pass enum value where expected instead of int bb299b4 libtracefs: fix cscope makefile rule 420d677 libtracefs: Free "followers" when freeing instance 3f436fc libtracefs: Fix documentation of tracefs_trace_pipe_stream() flags 1fde9df libtracefs: Add explicit pthread dependency to meson d1989ae tracefs-perf: Add missing headers for syscall() and SYS_* defines Signed-off-by: Nick Hainke <vincent@systemli.org>
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.7+ 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