ImmortalWrt Image Builder

这是一个用于快速构建 ImmortalWrt 固件的自动化项目,基于 ImmortalWrt 官方 Image Builder 生成自定义固件。

当前仓库提供多个构建脚本:

  • x86-64.sh:构建 x86/64 通用固件
  • r2s.sh:构建 FriendlyARM NanoPi R2S 固件
  • hiwifi-b70.sh:构建 极路由 B70 固件
  • newifi3-d2.sh:构建 新三路由 固件

脚本会自动安装构建依赖、下载对应版本的 Image Builder、复制 files/ 目录中的自定义文件,并执行固件构建。

固件的默认登录地址是 192.168.1.1. 登录账号: root.密码: 无

环境要求

建议在 Debian/Ubuntu 或 WSL Ubuntu 环境中运行。

最好找一个独立的环境执行代码.

官方说最好找一个非 root 用户执行代码. 怕是 root 权限太大, 怕出现误删文件的情况.

使用方法

克隆本仓库:

git clone https://gitea.9001003.xyz/William/immortalwrt_image_builder.git
cd immortalwrt_image_builder

构建 x86-64 固件

sudo bash x86-64.sh

构建完成后,固件文件会生成到:

output/

构建 NanoPi R2S 固件

sudo bash r2s.sh

构建完成后,固件文件会生成到:

r2s_output/

构建 新三路由 wifi3-d2 固件

sudo bash newifi3_d2.sh

构建完成后,固件文件会生成到:

newifi3_output/

构建 极路由 B70 固件

sudo bash hiwifi-b70.sh

构建完成后,固件文件会生成到:

hiwifi_b70_output/

如果输出目录已经存在,脚本会先将旧目录备份为带时间戳的 .bak 目录,再移动新的构建结果。

默认配置

x86-64

  • ImmortalWrt 版本:25.12.1
  • Targetx86/64
  • Profilegeneric
  • 根分区大小:600 MB
  • 输出目录:output/

NanoPi R2S

  • ImmortalWrt 版本:25.12.1
  • Targetrockchip/armv8
  • Profilefriendlyarm_nanopi-r2s
  • 根分区大小:600 MB
  • 输出目录:r2s_output/

新三路由(Newifi3 D2

  • ImmortalWrt 版本:25.12.1
  • Targetramips/mt7621
  • Profiled-team_newifi-d2
  • 输出目录:newifi3_output/

    mt7621newifi3-d2)构建已移除 rootfs_partsize 参数,使用 ImageBuilder 默认分区策略。

极路由 B70

  • ImmortalWrt 版本:25.12.1
  • Targetramips/mt7621
  • Profilehiwifi_hc5962
  • 输出目录:newifi3_output/

自定义固件

修改 ImmortalWrt 版本

编辑对应脚本中的 version 变量:

version="25.12.1"

例如改为:

version="24.10.2"

请确认该版本在 ImmortalWrt 官方下载站中存在,否则 Image Builder 下载会失败。

x86-64 对应下载路径:

https://downloads.immortalwrt.org/releases/<version>/targets/x86/64/

NanoPi R2S 对应下载路径:

https://downloads.immortalwrt.org/releases/<version>/targets/rockchip/armv8/

修改预装软件包

编辑对应脚本中 build() 函数里的 PKG_LIST 数组。

示例:

PKG_LIST=(
  openssh-sftp-server
  vim-full
  curl
  luci-i18n-firewall-zh-cn
)

如果要从固件中移除某个包,可以在包名前加 -,例如:

-dropbear

修改根分区大小

脚本最后会调用 build 函数并传入根分区大小,单位为 MB。

示例:

rootfs_partsize=500 # 根分区大小,单位为 MB
build $builder_dir $rootfs_partsize

添加自定义文件

仓库中的 files/ 目录会被复制到固件根文件系统。

例如:

files/etc/uci-defaults/99-sshd-root-login

构建后会出现在固件中的:

/etc/uci-defaults/99-sshd-root-login

这个机制适合放置默认配置、初始化脚本、SSH 配置、LuCI 配置等文件。

注意事项

  • 不建议直接使用 curl | bash 运行脚本,因为脚本依赖仓库中的 files/ 目录。
  • 如果下载或安装依赖失败,请检查网络、系统源以及当前用户权限。
  • 如需查看某个目标支持的全部 profile,可进入解压后的 Image Builder 目录执行:
make info
S
Description
No description provided
Readme 208 KiB
aa Latest
2026-06-24 08:42:33 +01:00
Languages
Shell 100%