2020-02-09 00:11:36 +08:00
|
|
|
|
编译命令如下:
|
|
|
|
|
-
|
|
|
|
|
1. 首先装好 Ubuntu 64bit,推荐 Ubuntu 18 LTS x64
|
|
|
|
|
|
|
|
|
|
2. 命令行输入 `sudo apt-get update` ,然后输入
|
|
|
|
|
`
|
|
|
|
|
sudo apt-get -y install build-essential asciidoc binutils bzip2 curl gawk gettext git libncurses5-dev libz-dev patch python3.5 python2.7 unzip zlib1g-dev lib32gcc1 libc6-dev-i386 subversion flex uglifyjs git-core gcc-multilib p7zip p7zip-full msmtp libssl-dev texinfo libglib2.0-dev xmlto qemu-utils upx libelf-dev autoconf automake libtool autopoint device-tree-compiler g++-multilib antlr3 gperf
|
|
|
|
|
`
|
|
|
|
|
|
|
|
|
|
3. `git clone -b 21.02 --single-branch https://github.com/Lienol/openwrt openwrt` 命令下载好源代码,然后 `cd openwrt` 进入目录
|
|
|
|
|
|
|
|
|
|
4. ```bash
|
|
|
|
|
./scripts/feeds clean
|
|
|
|
|
./scripts/feeds update -a
|
|
|
|
|
./scripts/feeds install -a
|
|
|
|
|
make menuconfig
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
5. `make -j8 download V=s` 下载dl库(国内请尽量全局科学上网)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6. 输入 `make -j1 V=s` (-j1 后面是线程数。第一次编译推荐用单线程)即可开始编译你要的固件了。
|
|
|
|
|
|
|
|
|
|
6. 编译完成后输出路径:openwrt/bin/targets
|
|
|
|
|
|
|
|
|
|
你可以自由使用,但源码编译二次发布请注明我的 GitHub 仓库链接。谢谢合作!
|
|
|
|
|
|
|
|
|
|
-----------------------------------------------------
|
|
|
|
|
|
2020-11-27 17:23:41 +08:00
|
|
|
|
![OpenWrt logo](include/logo.png)
|
2020-07-16 16:19:37 +08:00
|
|
|
|
|
|
|
|
|
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](https://openwrt.org/docs/guide-developer/build-system/install-buildsystem)
|
|
|
|
|
documentation.
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
gcc binutils bzip2 flex python3 perl make find grep diff unzip gawk getopt
|
2021-03-04 02:48:55 +08:00
|
|
|
|
subversion libz-dev libc-dev rsync which
|
2020-07-16 16:19:37 +08:00
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
### Quickstart
|
|
|
|
|
|
|
|
|
|
1. Run `./scripts/feeds update -a` to obtain all the latest package definitions
|
|
|
|
|
defined in feeds.conf / feeds.conf.default
|
|
|
|
|
|
|
|
|
|
2. Run `./scripts/feeds install -a` to install symlinks for all obtained
|
|
|
|
|
packages into package/feeds/
|
|
|
|
|
|
|
|
|
|
3. Run `make menuconfig` to select your preferred configuration for the
|
|
|
|
|
toolchain, target system & firmware packages.
|
|
|
|
|
|
|
|
|
|
4. 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](https://github.com/openwrt/luci): Modern and modular
|
|
|
|
|
interface to control the device via a web browser.
|
|
|
|
|
|
|
|
|
|
* [OpenWrt Packages](https://github.com/openwrt/packages): Community repository
|
|
|
|
|
of ported packages.
|
|
|
|
|
|
2021-06-13 02:27:16 +08:00
|
|
|
|
* [OpenWrt Routing](https://github.com/openwrt/routing): Packages specifically
|
|
|
|
|
focused on (mesh) routing.
|
2020-07-16 16:19:37 +08:00
|
|
|
|
|
|
|
|
|
## Support Information
|
|
|
|
|
|
|
|
|
|
For a list of supported devices see the [OpenWrt Hardware Database](https://openwrt.org/supported_devices)
|
|
|
|
|
|
|
|
|
|
### Documentation
|
|
|
|
|
|
|
|
|
|
* [Quick Start Guide](https://openwrt.org/docs/guide-quick-start/start)
|
|
|
|
|
* [User Guide](https://openwrt.org/docs/guide-user/start)
|
|
|
|
|
* [Developer Documentation](https://openwrt.org/docs/guide-developer/start)
|
|
|
|
|
* [Technical Reference](https://openwrt.org/docs/techref/start)
|
|
|
|
|
|
|
|
|
|
### Support Community
|
|
|
|
|
|
|
|
|
|
* [Forum](https://forum.openwrt.org): For usage, projects, discussions and hardware advise.
|
2021-06-13 06:38:30 +08:00
|
|
|
|
* [Support Chat](https://webchat.oftc.net/#openwrt): Channel `#openwrt` on **oftc.net**.
|
2020-07-16 16:19:37 +08:00
|
|
|
|
|
|
|
|
|
### Developer Community
|
|
|
|
|
|
|
|
|
|
* [Bug Reports](https://bugs.openwrt.org): Report bugs in OpenWrt
|
|
|
|
|
* [Dev Mailing List](https://lists.openwrt.org/mailman/listinfo/openwrt-devel): Send patches
|
2021-06-13 06:38:30 +08:00
|
|
|
|
* [Dev Chat](https://webchat.oftc.net/#openwrt-devel): Channel `#openwrt-devel` on **oftc.net**.
|
2020-07-16 16:19:37 +08:00
|
|
|
|
|
|
|
|
|
## License
|
|
|
|
|
|
|
|
|
|
OpenWrt is licensed under GPL-2.0
|