自行编译OpenWrt(ImmortalWrt) 固件

2025 年 2 月 4 日 星期二

阅读此文章之前,你可能需要首先阅读以下的文章才能更好的理解上下文。

自行编译OpenWrt(ImmortalWrt) 固件

在 x86 平台编译可直接参考官方文档,在 arm 平台编译需要略作修改

X86 平台

apt update -y
apt install -y ack antlr3 asciidoc autoconf automake autopoint binutils bison build-essential \
bzip2 ccache clang cmake cpio curl device-tree-compiler ecj fastjar flex gawk gettext gcc-multilib \
g++-multilib git gnutls-dev gperf haveged help2man intltool lib32gcc-s1 libc6-dev-i386 libelf-dev \
libglib2.0-dev libgmp3-dev libltdl-dev libmpc-dev libmpfr-dev libncurses-dev libpython3-dev \
libreadline-dev libssl-dev libtool libyaml-dev libz-dev lld llvm lrzsz mkisofs msmtp nano \
ninja-build p7zip p7zip-full patch pkgconf python3 python3-pip python3-ply python3-docutils \
python3-pyelftools qemu-utils re2c rsync scons squashfs-tools subversion swig texinfo uglifyjs \
upx-ucl unzip vim wget xmlto xxd zlib1g-dev zstd

git clone https://github.com/immortalwrt/immortalwrt --depth=1
cd immortalwrt
./scripts/feeds update -a
./scripts/feeds install -a
make menuconfig    # 非首次编译 make defconfig
make V=s -j$(nproc) || make V=s -j1     # 首次编译时使用多线程可能失败

编译后固件位于./bin/targets

ARM 平台

总体上与 X86 一样,安装依赖:

apt install -y ack antlr3 asciidoc autoconf automake autopoint binutils bison build-essential \
bzip2 ccache clang cmake cpio curl device-tree-compiler ecj fastjar flex gawk gettext gcc-arm-linux-gnueabihf \
g++-arm-linux-gnueabihf git gnutls-dev gperf haveged help2man intltool lib32gcc-s1-amd64-cross libc6-dev-i386-amd64-cross \
libelf-dev libglib2.0-dev libgmp3-dev libltdl-dev libmpc-dev libmpfr-dev libncurses-dev libpython3-dev \
libreadline-dev libssl-dev libtool libyaml-dev libz-dev lld llvm lrzsz mkisofs msmtp nano \
ninja-build p7zip p7zip-full patch pkgconf python3 python3-pip python3-ply python3-docutils \
python3-pyelftools qemu-utils re2c rsync scons squashfs-tools subversion swig texinfo uglifyjs \
upx-ucl unzip vim wget xmlto xxd zlib1g-dev zstd

修改配置Languages > Go > Configuration > External bootstrap Go root directory,填/usr/lib/go

(/usr/lib/go) External bootstrap Go root directory

否则编译会报错

参考

https://winger.alundra.uk/index.php/archives/8/

使用社交账号登录

  • Loading...
  • Loading...
  • Loading...
  • Loading...
  • Loading...