immortalwrt/README.md
Tianling Shen 57192d12d8
README: tweak host dependencies
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2021-06-30 21:29:01 +08:00

124 lines
3.8 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# PROJECT IMMORTALWRT
## The Core Source Code of ImmortalWrt
### Welcome to our Telegram Group: [@ctcgfw\_openwrt\_discuss](https://t.me/ctcgfw_openwrt_discuss).
- - -
# How to make it
## 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)
```bash
sudo apt-get update -y
sudo apt-get full-upgrade -y
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
```
#### 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)"
```
<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>
## Clone the source
```bash
git clone -b master --single-branch https://github.com/immortalwrt/immortalwrt && cd immortalwrt
./scripts/feeds update -a && ./scripts/feeds install -a
```
<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
```
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.
```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
```
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>
## Configure your firmware
```bash
make menuconfig
```
## Make it
```bash
make -j$(nproc) V=s
```
<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>
## 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
### See [CONTRIBUTED.md](https://github.com/immortalwrt/immortalwrt/blob/master/CONTRIBUTED.md).
# License
### [GNU General Public License v3.0](https://github.com/immortalwrt/immortalwrt/blob/master/LICENSES/GPL-3.0).