Skip to content

destan19/immortalwrt-mt798x-fros

 
 

Repository files navigation

项目简介

immortalwrt-mt798x加入fros插件编译,调整部分代码用于适配fros功能

当前支持的芯片架构(持续更新中)

  • mt7981

支持的产品

只列出部分,只要是7981芯片的都可以编译

  • RAX3000M
  • RAX3000M(emmc)
  • 360T7(M/U)
  • JCG Q30 Pro
  • CT3003
  • H3C NX30 Pro
  • GL-iNet MT3000

如何编译

编译方法和immortalwrt-mt798x项目编译类似,具体细节见下方原始的编译说明。

  1. 更新feeds
./scripts/feeds update -a
./scripts/feeds install -a
  1. 拷贝7981默认配置
    cp -f defconfig/mt7981-ax3000.config .config

  2. 开启fros插件编译配置
    以下为命令行方式,当然也可以通过make menuconfig选择

echo "CONFIG_PACKAGE_fros=y" >>.config
echo "CONFIG_PACKAGE_fros_files=y" >>.config
echo "CONFIG_PACKAGE_luci-app-fros=y" >>.config
make defconfig
  1. 开始编译固件
  • 单核编译
make V=s
  • 多核编译
    首次不要用多核编译,可能会报错,编译成功过一次后可以通过多核编译
make V=s -j4

Project ImmortalWrt

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.

About immortalwrt-mt798x

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

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.

  • Here is an example for Ubuntu users:
    • Method 1:

      Setup dependencies via APT
      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 python-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 -s https://build-scripts.immortalwrt.eu.org/init_build_environment.sh)'

Note:

  • Do everything as an unprivileged user, not root, without sudo.
  • Using CPUs based on other architectures should be fine to compile ImmortalWrt, but more hacks are needed - No warranty at all.
  • You must not have spaces or non-ascii characters in PATH or in the work folders on the drive.
  • If you're using Windows Subsystem for Linux (or WSL), removing Windows folders from PATH is required, please see Build system setup WSL documentation.
  • Using macOS as the host build OS is not recommended. No warranty at all. You can get tips from Build system setup macOS documentation.
  • For more details, please see Build system setup documentation.

Quickstart

  1. Run git clone --depth=1 https://github.com/hanwckf/immortalwrt-mt798x.git to clone the source code.

  2. Run cd immortalwrt-mt798x to enter source directory.

  3. Run ./scripts/feeds update -a to obtain all the latest package definitions defined in feeds.conf / feeds.conf.default

  4. Run ./scripts/feeds install -a to install symlinks for all obtained packages into package/feeds/

  5. 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
    
  6. Run make menuconfig to select your preferred configuration for the toolchain, target system & firmware packages.

  7. 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.

Related Repositories

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.

Support Information

For a list of supported devices see the OpenWrt Hardware Database

Documentation

Support Community

License

ImmortalWrt is licensed under GPL-2.0-only.

Acknowledgements

Dler Cloud JetBrains Black Box Logo logo SourceForge

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 71.6%
  • Makefile 11.6%
  • Shell 5.7%
  • Roff 3.9%
  • Perl 1.9%
  • Lua 1.4%
  • Other 3.9%