urngd: update to the latest master
[openwrt/openwrt.git] / README.md
1 ![OpenWrt logo](include/logo.png)
2
3 OpenWrt Project is a Linux operating system targeting embedded devices. Instead
4 of trying to create a single, static firmware, OpenWrt provides a fully
5 writable filesystem with package management. This frees you from the
6 application selection and configuration provided by the vendor and allows you
7 to customize the device through the use of packages to suit any application.
8 For developers, OpenWrt is the framework to build an application without having
9 to build a complete firmware around it; for users this means the ability for
10 full customization, to use the device in ways never envisioned.
11
12 Sunshine!
13
14 ## Development
15
16 To build your own firmware you need a GNU/Linux, BSD or MacOSX system (case
17 sensitive filesystem required). Cygwin is unsupported because of the lack of a
18 case sensitive file system.
19
20 ### Requirements
21
22 You need the following tools to compile OpenWrt, the package names vary between
23 distributions. A complete list with distribution specific packages is found in
24 the [Build System Setup](https://openwrt.org/docs/guide-developer/build-system/install-buildsystem)
25 documentation.
26
27 ```
28 gcc binutils bzip2 flex python3 perl make find grep diff unzip gawk getopt
29 subversion libz-dev libc-dev rsync which
30 ```
31
32 ### Quickstart
33
34 1. Run `./scripts/feeds update -a` to obtain all the latest package definitions
35 defined in feeds.conf / feeds.conf.default
36
37 2. Run `./scripts/feeds install -a` to install symlinks for all obtained
38 packages into package/feeds/
39
40 3. Run `make menuconfig` to select your preferred configuration for the
41 toolchain, target system & firmware packages.
42
43 4. Run `make` to build your firmware. This will download all sources, build the
44 cross-compile toolchain and then cross-compile the GNU/Linux kernel & all chosen
45 applications for your target system.
46
47 ### Related Repositories
48
49 The main repository uses multiple sub-repositories to manage packages of
50 different categories. All packages are installed via the OpenWrt package
51 manager called `opkg`. If you're looking to develop the web interface or port
52 packages to OpenWrt, please find the fitting repository below.
53
54 * [LuCI Web Interface](https://github.com/openwrt/luci): Modern and modular
55 interface to control the device via a web browser.
56
57 * [OpenWrt Packages](https://github.com/openwrt/packages): Community repository
58 of ported packages.
59
60 * [OpenWrt Routing](https://github.com/openwrt/routing): Packages specifically
61 focused on (mesh) routing.
62
63 ## Support Information
64
65 For a list of supported devices see the [OpenWrt Hardware Database](https://openwrt.org/supported_devices)
66
67 ### Documentation
68
69 * [Quick Start Guide](https://openwrt.org/docs/guide-quick-start/start)
70 * [User Guide](https://openwrt.org/docs/guide-user/start)
71 * [Developer Documentation](https://openwrt.org/docs/guide-developer/start)
72 * [Technical Reference](https://openwrt.org/docs/techref/start)
73
74 ### Support Community
75
76 * [Forum](https://forum.openwrt.org): For usage, projects, discussions and hardware advise.
77 * [Support Chat](https://webchat.oftc.net/#openwrt): Channel `#openwrt` on **oftc.net**.
78
79 ### Developer Community
80
81 * [Bug Reports](https://bugs.openwrt.org): Report bugs in OpenWrt
82 * [Dev Mailing List](https://lists.openwrt.org/mailman/listinfo/openwrt-devel): Send patches
83 * [Dev Chat](https://webchat.oftc.net/#openwrt-devel): Channel `#openwrt-devel` on **oftc.net**.
84
85 ## License
86
87 OpenWrt is licensed under GPL-2.0