[ English | 中文 ]
- Do not compile as root user
- Firewall is enabled by default on the WAN interface
-
First, install a Linux system, Debian 11 or Ubuntu LTS is recommended
-
Install compilation dependencies
sudo apt update -y sudo apt full-upgrade -y sudo apt install -y ack antlr3 asciidoc autoconf automake autopoint binutils bison build-essential \ bzip2 ccache cmake cpio curl device-tree-compiler fastjar flex gawk gettext gcc-multilib g++-multilib \ git gperf haveged help2man intltool libc6-dev-i386 libelf-dev libglib2.0-dev libgmp3-dev libltdl-dev \ libmpc-dev libmpfr-dev libncurses5-dev libncursesw5-dev libreadline-dev libssl-dev libtool lrzsz \ mkisofs msmtp nano ninja-build p7zip p7zip-full patch pkgconf python2.7 python3 python3-pyelftools \ libpython3-dev qemu-utils rsync scons squashfs-tools subversion swig texinfo uglifyjs upx-ucl unzip \ vim wget xmlto xxd zlib1g-dev
-
Download the source code and update feeds, then select the configuration
./scripts/feeds update -a ./scripts/feeds install -a make menuconfig
-
Download the dl libraries and compile the firmware (-j is followed by the number of threads, for the first compilation, it is recommended to use a single thread)
make download -j$(nproc) make V=s -j1 -
Customize kernel configuration (optional) (If you need modules, you need to select them in
Kernel Modulesinmake menuconfig. The modules selected here will not be included in the image by default)make kernel_menuconfig
The output path after compilation is: bin/targets
- This repository includes content referenced from immortalwrt. Please indicate the reference when using it.