main
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 固件
bash x86-64.sh
构建完成后,固件文件会生成到:
x86-64_output/
构建 NanoPi R2S 固件
bash r2s.sh
构建完成后,固件文件会生成到:
r2s_output/
构建 新三路由 wifi3-d2 固件
bash newifi3_d2.sh
构建完成后,固件文件会生成到:
newifi3_output/
构建 极路由 B70 固件
bash hiwifi-b70.sh
构建完成后,固件文件会生成到:
hiwifi_b70_output/
如果输出目录已经存在,脚本会先将旧目录备份为带时间戳的 .bak 目录,再移动新的构建结果。
默认配置
x86-64
- ImmortalWrt 版本:
25.12.1 - Target:
x86/64 - Profile:
generic - 根分区大小:
600 MB - 输出目录:
output/
NanoPi R2S
- ImmortalWrt 版本:
25.12.1 - Target:
rockchip/armv8 - Profile:
friendlyarm_nanopi-r2s - 根分区大小:
600 MB - 输出目录:
r2s_output/
新三路由(Newifi3 D2)
- ImmortalWrt 版本:
25.12.1 - Target:
ramips/mt7621 - Profile:
d-team_newifi-d2 - 输出目录:
newifi3_output/mt7621(newifi3-d2)构建已移除 rootfs_partsize 参数,使用 ImageBuilder 默认分区策略。
极路由 B70
- ImmortalWrt 版本:
25.12.1 - Target:
ramips/mt7621 - Profile:
hiwifi_hc5962 - 输出目录:
newifi3_output/
自定义固件
ImmortalWrt 版本
脚本在运行时会询问用户 ImmortalWrt 版本. 不知道用什么版本的, 直接默认版本就好.
版本查询 https://github.com/immortalwrt/immortalwrt/tags
修改预装软件包
编辑对应脚本中 build() 函数里的 PKG_LIST 数组。
示例:
PKG_LIST=(
openssh-sftp-server
vim-full
curl
luci-i18n-firewall-zh-cn
)
如果要从固件中移除某个包,可以在包名前加 -,例如:
PKG_LIST=(
-dropbear # 排除 dropbear
openssh-sftp-server
luci-i18n-firewall-zh-cn
)
添加自定义文件
仓库中的 files/ 目录会被复制到固件根文件系统。
例如:
files/etc/uci-defaults/99-sshd-root-login
构建后会出现在固件中的:
/etc/uci-defaults/99-sshd-root-login
这个机制适合放置默认配置、初始化脚本、SSH 配置、LuCI 配置等文件。
关于开发
如果需要增加新设备固件. 你可以用以下提示词和材料喂给 AI
材料:
- 代码模板: 找项目其中一个构建脚本作为模板, 比如: x86-64.sh
- ImmortalWrt image builder 下载地址: 其中下载地址可以在https://downloads.immortalwrt.org/找. 名字以x86-64为例,叫这个
immortalwrt-imagebuilder-25.12.1-x86-64.Linux-x86_64.tar.zst - 设备系统架构: 如果设备已安装了
openwrt系统, 可以通过命令cat /etc/os-release | grep ARCH查找设备系统架构信息.
AI 提示词:
image builder的下载地址: xxxx
目标设备型号: xxx
设备系统架构是: xxx
我想构建xxx设备固件, 请你按这个代码模板编写代码.
Description