2021-02-06 16:58:12 +08:00
|
|
|
|
# PROJECT IMMORTALWRT
|
|
|
|
|
|
## The Core Source Code of ImmortalWrt
|
2020-04-08 01:58:42 +08:00
|
|
|
|
### Welcome to our Telegram Group: [@ctcgfw\_openwrt\_discuss](https://t.me/ctcgfw_openwrt_discuss).
|
2020-02-08 19:55:38 +08:00
|
|
|
|
- - -
|
2019-11-09 00:05:43 +08:00
|
|
|
|
|
|
|
|
|
|
# How to make it
|
2020-02-08 19:55:38 +08:00
|
|
|
|
## Minimum requirements
|
|
|
|
|
|
Linux with case sensitive<br/>
|
|
|
|
|
|
2G DDR2 RAM<br/>
|
|
|
|
|
|
2 CPU Cores (AMD64, 1.4Ghz)<br/>
|
|
|
|
|
|
25G disk space left<br/>
|
|
|
|
|
|
Has access to both ChinaNet & Internet
|
|
|
|
|
|
|
|
|
|
|
|
## Install the necessary packages (for Ubuntu user)
|
2019-11-09 00:05:43 +08:00
|
|
|
|
```bash
|
|
|
|
|
|
sudo apt-get update -y
|
|
|
|
|
|
sudo apt-get full-upgrade -y
|
2021-06-30 21:29:01 +08:00
|
|
|
|
sudo apt-get install -y build-essential cmake asciidoc binutils bzip2 gawk gettext git libncurses5-dev libz-dev patch unzip zlib1g-dev lib32gcc1 libc6-dev-i386 subversion flex uglifyjs git-core gcc-multilib g++-multilib p7zip p7zip-full msmtp libssl-dev texinfo libreadline-dev libglib2.0-dev xmlto qemu-utils upx libelf-dev autoconf automake libtool autopoint ccache curl wget vim nano python2.7 python3 python3-pip python3-ply haveged lrzsz device-tree-compiler scons antlr3 gperf intltool mkisofs rsync
|
2020-02-08 19:55:38 +08:00
|
|
|
|
```
|
|
|
|
|
|
#### For mainland China & Ubuntu(16.04+) user, you may run the following command to setup quickly:
|
|
|
|
|
|
```bash
|
|
|
|
|
|
sudo bash -c "bash <(curl -s https://build-scripts.project-openwrt.eu.org/init_build_environment.sh)"
|
2019-11-09 00:05:43 +08:00
|
|
|
|
```
|
|
|
|
|
|
|
2021-05-01 20:54:58 +08:00
|
|
|
|
<details>
|
|
|
|
|
|
<summary>opde</summary>
|
|
|
|
|
|
|
|
|
|
|
|
you can also download and use pre-build container directly:
|
|
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
|
docker pull immortalwrt/opde:base
|
|
|
|
|
|
# docker run --rm -it immortalwrt/opde:base
|
|
|
|
|
|
```
|
|
|
|
|
|
</details>
|
|
|
|
|
|
|
2019-11-09 00:05:43 +08:00
|
|
|
|
## Clone the source
|
|
|
|
|
|
```bash
|
2021-02-06 16:58:12 +08:00
|
|
|
|
git clone -b master --single-branch https://github.com/immortalwrt/immortalwrt && cd immortalwrt
|
2019-11-09 00:05:43 +08:00
|
|
|
|
./scripts/feeds update -a && ./scripts/feeds install -a
|
|
|
|
|
|
```
|
|
|
|
|
|
|
2021-05-01 20:54:58 +08:00
|
|
|
|
<details>
|
|
|
|
|
|
<summary>opde</summary>
|
|
|
|
|
|
|
|
|
|
|
|
1. For Linux User:
|
|
|
|
|
|
```bash
|
|
|
|
|
|
git clone -b master --single-branch https://github.com/immortalwrt/immortalwrt && cd immortalwrt
|
|
|
|
|
|
docker run --rm -it \
|
|
|
|
|
|
-v $PWD:/openwrt \
|
|
|
|
|
|
immortalwrt/opde:base zsh
|
|
|
|
|
|
./scripts/feeds update -a && ./scripts/feeds install -a
|
|
|
|
|
|
```
|
2021-05-01 20:54:58 +08:00
|
|
|
|
|
2021-05-02 17:18:04 +08:00
|
|
|
|
2. For Windows User:
|
|
|
|
|
|
|
|
|
|
|
|
openwrt source code can not be cloned into NTFS filesystem(symbol link problem during compilation),
|
|
|
|
|
|
but docker volume is fine.
|
|
|
|
|
|
|
|
|
|
|
|
Create a volume 'immortalwrt' and clone immortalwrt source into volume.
|
2021-05-01 20:54:58 +08:00
|
|
|
|
|
2021-05-02 17:18:04 +08:00
|
|
|
|
```bash
|
|
|
|
|
|
docker run --rm -it -v immortalwrt:/openwrt immortalwrt/opde:base git clone -b master --single-branch https://github.com/immortalwrt/immortalwrt .
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
Enter docker container and update feeds
|
|
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
|
docker run --rm -it -v immortalwrt:/openwrt immortalwrt/opde:base
|
|
|
|
|
|
./scripts/feeds update -a && ./scripts/feeds install -a
|
|
|
|
|
|
```
|
2021-05-01 20:54:58 +08:00
|
|
|
|
|
2021-05-01 20:54:58 +08:00
|
|
|
|
|
2021-05-01 20:54:58 +08:00
|
|
|
|
Proxy Support:
|
|
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
|
docker run --rm -it \
|
|
|
|
|
|
-e all_proxy=http://example.com:1081 \
|
|
|
|
|
|
-e http_proxy=http://example.com:1081 \
|
|
|
|
|
|
-e https_proxy=http://example.com:1081 \
|
|
|
|
|
|
-e ALL_PROXY=http://example.com:1081 \
|
|
|
|
|
|
-e HTTP_PROXY=http://example.com:1081 \
|
|
|
|
|
|
-e HTTPS_PROXY=http://example.com:1081 \
|
|
|
|
|
|
-v $PWD:/openwrt \
|
|
|
|
|
|
immortalwrt/opde:base zsh
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
> recommand `http` rather `socks5` protocol
|
|
|
|
|
|
>
|
|
|
|
|
|
> ip can not be `localhost` or `127.0.0.1`
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</details>
|
|
|
|
|
|
|
2019-11-09 00:05:43 +08:00
|
|
|
|
## Configure your firmware
|
|
|
|
|
|
```bash
|
|
|
|
|
|
make menuconfig
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
## Make it
|
|
|
|
|
|
```bash
|
2021-02-06 16:58:12 +08:00
|
|
|
|
make -j$(nproc) V=s
|
2019-11-09 00:05:43 +08:00
|
|
|
|
```
|
|
|
|
|
|
|
2021-05-02 17:18:04 +08:00
|
|
|
|
<details>
|
|
|
|
|
|
<summary>opde</summary>
|
|
|
|
|
|
For Windows User, binary is still in volume. It can be copied to outside via followed command
|
|
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
|
docker run --rm -v <D:\path\to\dir>:/dst -v openwrt:/openwrt -w /dst immortalwrt:base cp /openwrt/bin /dst
|
|
|
|
|
|
```
|
|
|
|
|
|
> make sure `D:\path]to\dir` has been appended in [File Sharing](https://docs.docker.com/docker-for-windows/#file-sharing)
|
|
|
|
|
|
|
|
|
|
|
|
</details>
|
|
|
|
|
|
|
2020-02-08 19:55:38 +08:00
|
|
|
|
## Tips
|
|
|
|
|
|
You'd better not use **root** to make it, or you may be not able to use.<br/>
|
|
|
|
|
|
Default login address: 192.168.1.1, username is **root** and password is **password**.
|
|
|
|
|
|
|
|
|
|
|
|
# Contributed
|
2021-02-06 16:58:12 +08:00
|
|
|
|
### See [CONTRIBUTED.md](https://github.com/immortalwrt/immortalwrt/blob/master/CONTRIBUTED.md).
|
2019-11-09 00:05:43 +08:00
|
|
|
|
|
|
|
|
|
|
# License
|
2021-02-16 14:12:14 +08:00
|
|
|
|
### [GNU General Public License v3.0](https://github.com/immortalwrt/immortalwrt/blob/master/LICENSES/GPL-3.0).
|