An Immortalwrt variant for mediatek mt798x routers.
1,773
stars
34,498
commits
C
primary language
Dec 24, 2025
updated
ImmortalWrt is a fork of OpenWrt, with more packages ported, more devices supported, better performance, and special optimizations for mainland China users.
Compared the official one, we allow to use hacks or non-upstreamable patches / modifications to achieve our purpose. Source from anywhere.
Default login address: http://192.168.1.1 or http://immortalwrt.lan, username: root, password: none.
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.
To build with this project, Ubuntu 20.04 LTS is preferred. And you need use the CPU based on AMD64 architecture, with at least 4GB RAM and 25 GB available disk space. Make sure the Internet is accessible.
The following tools are needed to compile ImmortalWrt, the package names vary between distributions.
Method 1:
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 clang clangd cmake cpio curl device-tree-compiler ecj fastjar flex gawk gettext gcc-multilib \
g++-multilib git gperf haveged help2man intltool lib32gcc-s1 libc6-dev-i386 libelf-dev libglib2.0-dev \
libgmp3-dev libltdl-dev libmpc-dev libmpfr-dev libncurses5-dev libncursesw5 libncursesw5-dev libreadline-dev \
libssl-dev libtool lld lldb lrzsz mkisofs msmtp nano ninja-build p7zip p7zip-full patch pkgconf python2.7 \
python3 python3-pip python3-ply python3-docutils qemu-utils re2c rsync scons squashfs-tools subversion swig \
texinfo uglifyjs upx-ucl unzip vim wget xmlto xxd zlib1g-dev
Method 2:
sudo bash -c 'bash <(curl -sL https://build-scripts.immortalwrt.eu.org/init_build_environment.sh)'
Note:
Run git clone --depth=1 https://github.com/hanwckf/immortalwrt-mt798x.git to clone the source code.
Run cd immortalwrt-mt798x to enter source directory.
Run ./scripts/feeds update -a to obtain all the latest package definitions defined in feeds.conf / feeds.conf.default
Run ./scripts/feeds install -a to install symlinks for all obtained packages into package/feeds/
Copy the configuration file for your device from the defconfig directory to the project root directory and rename it .config
# MT7981
cp -f defconfig/mt7981-ax3000.config .config
# MT7986
cp -f defconfig/mt7986-ax6000.config .config
# MT7986 256M Low Memory
cp -f defconfig/mt7986-ax6000-256m.config .config
Run make menuconfig to select your preferred configuration for the toolchain, target system & firmware packages.
Run make -j$(nproc) 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.
The main repository uses multiple sub-repositories to manage packages of different categories. All packages are installed via the ImmortalWrt package manager called opkg. If you're looking to develop the web interface or port packages to ImmortalWrt, please find the fitting repository below.
For a list of supported devices see the OpenWrt Hardware Database
ImmortalWrt is licensed under GPL-2.0-only.
C
71.5%
Makefile
11.7%
Shell
5.7%
Roff
3.7%
Perl
1.9%
Lua
1.4%
An Immortalwrt variant for mediatek mt798x routers.
1,773
stars
34,498
commits
C
primary language
Dec 24, 2025
updated
ImmortalWrt is a fork of OpenWrt, with more packages ported, more devices supported, better performance, and special optimizations for mainland China users.
Compared the official one, we allow to use hacks or non-upstreamable patches / modifications to achieve our purpose. Source from anywhere.
Default login address: http://192.168.1.1 or http://immortalwrt.lan, username: root, password: none.
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.
To build with this project, Ubuntu 20.04 LTS is preferred. And you need use the CPU based on AMD64 architecture, with at least 4GB RAM and 25 GB available disk space. Make sure the Internet is accessible.
The following tools are needed to compile ImmortalWrt, the package names vary between distributions.
Method 1:
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 clang clangd cmake cpio curl device-tree-compiler ecj fastjar flex gawk gettext gcc-multilib \
g++-multilib git gperf haveged help2man intltool lib32gcc-s1 libc6-dev-i386 libelf-dev libglib2.0-dev \
libgmp3-dev libltdl-dev libmpc-dev libmpfr-dev libncurses5-dev libncursesw5 libncursesw5-dev libreadline-dev \
libssl-dev libtool lld lldb lrzsz mkisofs msmtp nano ninja-build p7zip p7zip-full patch pkgconf python2.7 \
python3 python3-pip python3-ply python3-docutils qemu-utils re2c rsync scons squashfs-tools subversion swig \
texinfo uglifyjs upx-ucl unzip vim wget xmlto xxd zlib1g-dev
Method 2:
sudo bash -c 'bash <(curl -sL https://build-scripts.immortalwrt.eu.org/init_build_environment.sh)'
Note:
Run git clone --depth=1 https://github.com/hanwckf/immortalwrt-mt798x.git to clone the source code.
Run cd immortalwrt-mt798x to enter source directory.
Run ./scripts/feeds update -a to obtain all the latest package definitions defined in feeds.conf / feeds.conf.default
Run ./scripts/feeds install -a to install symlinks for all obtained packages into package/feeds/
Copy the configuration file for your device from the defconfig directory to the project root directory and rename it .config
# MT7981
cp -f defconfig/mt7981-ax3000.config .config
# MT7986
cp -f defconfig/mt7986-ax6000.config .config
# MT7986 256M Low Memory
cp -f defconfig/mt7986-ax6000-256m.config .config
Run make menuconfig to select your preferred configuration for the toolchain, target system & firmware packages.
Run make -j$(nproc) 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.
The main repository uses multiple sub-repositories to manage packages of different categories. All packages are installed via the ImmortalWrt package manager called opkg. If you're looking to develop the web interface or port packages to ImmortalWrt, please find the fitting repository below.
For a list of supported devices see the OpenWrt Hardware Database
ImmortalWrt is licensed under GPL-2.0-only.
(top 30 of 369)
C
71.5%
Makefile
11.7%
Shell
5.7%
Roff
3.7%
Perl
1.9%
Lua
1.4%