Add patches: - 100-configure.ac-fix-AC_ARG_WITH.patch Remove upstreamed patches: - 200-resize_f2fs-fix_wrong_ovp_calculation.patch Changelog: 64f2596 f2fs-tools: upgrade version 1.15.0 d9d5b11 f2fs-tools: build silently 299c0b5 fsck.f2fs: fix broken file_map output 3af62be f2fs-tools: show segment/section layout correctly 4d9c009 f2fs-tools: use android config only if there's no config.h 0b9b89f dump.f2fs: compress: fix dstlen of LZ4_compress_fast_extState() eee3969 mkfs.f2fs: check uuid library e5fe1a2 f2fs-tools: use fsync() in Android ea9921f f2fs-tools: support zoned device in Android a8fefc2 android_config.h: add missing liblz4 0c54cf7 libf2fs_io: add unused mactor to avoid build failure 6eebd13 ci: Enable -Wall, -Wextra and -Werror c491657 Fix PowerPC format string warnings 70e4139 Suppress a compiler warning about integer truncation 7a1206a Annotate switch/case fallthrough b964b79 Change #ifdef _WIN32 checks into #ifdef HAVE_.* 28de4d1 tools/f2fs_io: Fix the type of 'ret' fdff1ab fsck/segment.c: Remove dead code ede3bde fsck/main.c: Suppress a compiler warning 93c6483 tools/f2fscrypt.c: Fix build without uuid/uuid.h header file 559e60e fsck: Remove a superfluous include directive 98f7f56 mkfs/f2fs_format.c: Suppress a compiler warning ef011a4 configure.ac: Detect selinux/android.h 2e59ab8 configure.ac: Detect the sparse/sparse.h header 1790203 Fix the MinGW build ecd27dc Use %zu to format size_t 24663b6 Include <stddef.h> instead of defining offsetof() cdefef0 Move the be32_to_cpu() definition 1612bf9 Remove unnecessary __attribute__((packed)) annotations 7a5109f f2fs_fs.h: Use standard fixed width integer types e61203c Suppress a compiler warning 9425b47 Verify structure sizes at compile time 006bb13 Change one array member into a flexible array member cb4c5d6 ci: Build f2fstools upon push and pull requests f3033fb Change the ANDROID_WINDOWS_HOST macro into _WIN32 87d7a95 Switch from the u_int to the uint types c483354 configure.ac: Enable cross-compilation 3e97d07 configure.ac: Sort header file names alphabetically 91ba5e5 configure.ac: Enable the automake -Wall option ae65a15 configure.ac: Remove two prototype tests d24fd5c configure.ac: Stop using obsolete macros 6afcf64 libf2fs: don't allow mkfs / fsck on non power-of-2 zoned devices c7757ec man: update mkfs.f2fs to give the default android option 46e1b83 f2fs-tools: use proper 64bit types for PPC 97ce230 mkfs.f2fs: fix wrong indentation and clean up 0d3d26d mkfs.f2fs: set project quota by default for -g android for v4.14+ 1de1db8 f2fs-tools: add atomic write related options to f2fs_io write command 85cd72a mkfs.f2fs: set required quota types only 028af9f fsck.f2fs: Add progression feedback 972d710 fsck.f2fs: do not assert if i_size is missing i_blocks in symlink f63551b f2fs-tools: separate other bugs in fsck_verify ade81b9 f2fs-tools: remove false failure alarm when fixing quota 99bc497 f2fs-tools: fall back to the original version check when clock_gettime is not supported 1603a3d mkfs.f2fs: wipe other FS magics given -f 63d5004 fsck.f2fS: is_valid_summary(): check whether offset is out of bounds 3fd996c Avoid redefined ALIGN_UP 1edc138 fsck.f2fs: Update the usage about option of preen mode 49159df f2fs-tools: change fiemap print out format 8bcb58e f2fs_io: add rename w/ fsync option 9429e86 fsck.f2fs: add basic compress related check/fix 529967e f2fs-tools: make fiemap command in accordance with uapi 1228009 f2fs-tools: rebuild the quota inode if it is corrupted 9ee091e f2fs-tools: add periodic check in kernel version check 1bc7658 dump.f2fs: minor clean ups 69952e3 f2fs-tools: fix wrong value of reserve_new_block parameter in page_symlink 76d2a91 f2fs-tools: add extent cache for each file 8d464ee f2fs-tools: fix wrong file offset acd2518 fsck|dump.f2fs: add -M to get file map 027488e mkfs.f2fs: remove android features for RO e01ad31 f2fs-tools: fix metadata region overlap with zoned block device zones f3b93bf sload.f2fs: Reword "IMMUTABLE" in strings/comments 820b5e3 sload.f2fs: use F2FS_COMPRESS_RELEASED instead of IMMUTABLE bit 1d2683f f2fs-tools: support small RO partition a9594c6 fsck.f2fs: add "-l" to show the layout information 38e3115 f2fs_io: add to show immutable bit 6afd3e9 tools: Introduce f2fslabel 3218ff9 f2fs-tools: correct get kernel version logic 19d49b5 dump.f2fs: fix memory leak caused by dump_node_blk() 15d4d7b fsck.f2fs: fix memory leak caused by fsck_chk_orphan_node() 1900c22 mkfs.f2fs: fix memory leak in not enough segments error path 5cc365c resize.f2fs: fix memory leak caused by migrate_nat() 870915f f2fs_io: split definition check for crypto ioctl 91f9db2 fsck.f2fs: update kernel version in superblock on forced check 1531853 f2fs_io: Add get file name encryption mode 3bfcca8 f2fs-tool: increase debug level from 0 to 1 in migrate_block 5263ae2 resize.f2fs: fix to check free space before shrink 159752d resize.f2fs: fix wrong sit/nat bitmap during rebuild_checkpoint() 98e6463 resize.f2fs: add force option to rewrite broken calculation f056fbe resize.f2fs: fix wrong ovp calculation 80dba0f Add -P option to preserve file owner f0fda11 libf2fs: fix memory leak caused by get_rootdev() 5144f2f mkfs.f2fs: add VM disk files to hot data types 73c0871 libzoned: use blk_zone_v2 and blk_zone_report_v2 by default 9cb5150 f2fs-tools: fix wrong blk_zone_rep_v2 definition 15474db mkfs.f2fs: allocate zones together to avoid random access 316e128 mkfs.f2fs: adjust zone alignment when using multi-partitions cc57f2c fsck.f2fs: fix alignment on multi-partition support ff7172e f2fs-tools: Miscellaneous cleanup to README. 2b26417 mkfs.f2fs.8: Better document the -g argument. e05afe5 mkfs.f2fs.8: fix formatting for -l parameter in man page 747b74c f2fs-tools: Make sload.f2fs reproduce hard links b585244 f2fs-tools:sload.f2fs compression support 7b63f7b f2fs_io: add compress/decompress commands 457392a f2fs-tools: Added #ifdef WITH_func d322d47 f2fs-tools: fix a few spelling errors in f2fs-tools fcd5cd0 f2fs-tools: skipped to end on error syntax error 31d30f0 mkfs.f2fs: show a message when compression is enabled 1d4c7e7 f2fs_io: add get/set compression option 4bd7008 Fix ASSERT() macro with '%' in the expression ca0ed8a f2fs-toos: fsck.f2fs Fix bad return value c954e7c fsck.f2fs: do xnid sanity check only during fsck 1bfc173 f2fs_io: add erase option e59bb17 mkfs.f2fs.8: document the verity feature 8fd836f fsck: clear unexpected casefold flags 1a7415a mkfs.f2fs: add -h and --help 717d70d f2fs_io: change fibmap to fiemap 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!
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