构建 x86/64 架构的 ImmortalWrt 固件

举报
yd_286493358 发表于 2026/11/02 17:07:28 2026/11/02
【摘要】 方法一:使用官方云编译(最快、最省心)ImmortalWrt 官方提供了类似 OpenWrt Firmware Selector 的云构建页面,无需配置复杂的编译环境。打开浏览器访问 ImmortalWrt 固件定制页面(或通过 GitHub Actions 自定义仓库)。选择目标架构:Profile:选择 x86_64。Target Image Type:根据你的实际安装方式选择:squa...

方法一:使用官方云编译(最快、最省心)

ImmortalWrt 官方提供了类似 OpenWrt Firmware Selector 的云构建页面,无需配置复杂的编译环境。

  1. 打开浏览器访问 ImmortalWrt 固件定制页面(或通过 GitHub Actions 自定义仓库)。

  2. 选择目标架构:

    • Profile:选择 x86_64。

    • Target Image Type:根据你的实际安装方式选择:

      • squashfs-combined.img.gz / efi.img.gz:适合写入 U 盘或直接烧录到固态硬盘(EFI 引导选带 efi 的版本)。

      • ext4-combined.img.gz:适合需要完整利用硬盘剩余空间作为文件系统的场景。

  3. 定制软件包(Packages):

    • 在搜索框中添加你需要的插件,例如:

      • 网络与代理:luci-app-passwall、luci-app-sing-box、luci-app-ttyd 等。

      • 文件系统与驱动:根据网卡型号选择(如 Intel i225/i226 网卡通常内核自带,部分特殊网卡需勾选相应驱动)。

  4. 点击 Request Build,等待云端编译完成后下载对应的 .img.gz 固件。

方法二:在 Linux 环境下本地源码编译(高度自定义)

如果你需要集成第三方插件、修改内核配置或定制默认主题,建议在 Ubuntu / Debian 环境下进行源码编译。

1. 准备编译环境

推荐使用 Ubuntu 22.04 LTS x86_64(物理机或干净的虚拟机,建议至少分配 4C/8G 内存及 100G 以上硬盘空间)。

执行以下命令安装依赖包:

Bash
sudo apt update -y
sudo apt full-upgrade -y
sudo apt install -y ack antlr3 asciidoc autoconf automake autopoint binutils bison build-up
sudo apt install -y bzip2 ccache cmake cpio curl device-tree-compiler fastjar flex gawk gettext
sudo apt install -y gcc-multilib g++-multilib git gperf haveged help2man intltool libc6-dev-i386
sudo apt install -y libelf-dev libglib2.0-dev libgmp3-dev liblzo2-dev libncurses5-dev libreadline-dev
sudo apt install -y libssl-dev libtool lrzsz mkisofs msmtp nano ninja-build p7zip p7zip-full patch
sudo apt install -y python3 python3-dev python3-pip python3-setuptools qemu-utils rsync scons
sudo apt install -y squashfs-tools subversion swig texinfo uglifyjs upx-ucl unzip vim wget xmlto zlib1g-dev

2. 下载源码与更新订阅

注意:切勿使用 root 用户进行编译,请使用普通 Linux 用户。

Bash
# 克隆 ImmortalWrt 官方源码仓库
git clone https://github.com/immortalwrt/immortalwrt.git
cd immortalwrt

# 更新并安装 Feeds(插件包源)
./scripts/feeds update -a
./scripts/feeds install -a

3. 配置编译选项(Menuconfig)

运行配置界面:

Bash
make menuconfig

在弹出的终端图形界面中,按如下核心选项进行勾选:

  • Target System: x86

  • Subtarget: x86_64

  • Target Profile: Generic x86/64

  • Target Images:

    • 勾选 ramdisk(如果需要)

    • 勾选 ext4 或 squashfs 镜像格式(根据需求选择,推荐 ext4 方便动态扩容硬盘空间)。

    • 调整固件镜像大小(LuCI -> Extra Image Options 中可修改 Rootfs 分区大小,防止插件装满)。

  • LuCI 选择:

    • 进入 LuCI -> Collections,确保勾选了 luci。

    • 选择你喜欢的应用、主题(如 luci-theme-argon)。

    • 勾选需要的网络代理、DDNS、IPv6 辅助工具或监控插件。

提示:配置完成后,保存为 .config 并退出。

4. 下载 dl 库并开始编译

建议先下载依赖包(避免编译中途因网络问题中断):

Bash
make download -j8

开始正式编译(首次编译建议使用单线程 -j1 或 -j4 以便观察报错信息;后续二次编译可使用多线程如 -j$(nproc)):

Bash
make -j$(nproc) V=s

5. 获取编译好的固件

编译成功后,目标固件会保存在源码目录下的: bin/targets/x86/64/ 路径中。 常见的文件名为 immortalwrt-x86-64-generic-ext4-combined.img.gz(或 squashfs 版本)。

三、写入与安装

  1. 将生成的 .img.gz 解压得到 .img 文件。

  2. 在 Windows 下使用 Rufus 或 Physdiskwrite,或者在 Linux 下使用 dd 命令将镜像写入 U 盘或固态硬盘:

    Bash
    sudo dd if=immortalwrt-x86-64-generic-ext4-combined.img of=/dev/sdX bs=4M status=progress conv=fdatasync
    

    (请将 /dev/sdX 替换为你的目标物理硬盘盘符,务必仔细核对,以免误操作覆盖系统盘)

  3. 将硬盘插入软路由或 x86 主机,开机从该盘引导即可进入 ImmortalWrt 系统。默认后台 IP 通常为 192.168.6.1(ImmortalWrt 常见默认网段,具体以编译配置为准)。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0)

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。