介绍

immortalwrt是openwrt的一个分支,本文为自编译的教程。

https://github.com/immortalwrt/immortalwrt

准备

编译环境:Debain12 6c8G50G

创建非root用户:

# 新增群组
groupadd wrt
# 新增用户
useradd -r -g immortalwrt wrt
# 切换到用户
su immortalwrt

选择对应版本的代码下载:https://github.com/immortalwrt/immortalwrt/tags

编译固件

1. 环境更新

在root用户下执行

sudo bash -c 'bash <(curl -s https://build-scripts.immortalwrt.org/init_build_environment.sh)'

2. 编译

  1. 切换到immortalwrt用户:su immortalwrt

  2. 运行cd immortalwrt进入源目录。

  3. 运行./scripts/feeds update -a以获取 feeds.conf / feeds.conf.default 中定义的所有最新包定义

  4. 运行./scripts/feeds install -a以将所有获取的包的符号链接安装到 package/feeds/ 中

  5. 运行make menuconfig以选择工具链、目标系统和固件包的首选配置。

  6. make -j$(nproc)执行多线程编译,如果需要查看详细报错日志执行:make V=s -j$(nproc),如果需要单线程编译执行make -j1 V=s

  7. 编译完成进入bin/targets/x86/64目录获取固件

3. 重新编译

  1. 删除临时文件:rm -rf tmp

  2. 删除生成固件的文件夹: rm -rf /bin/targets

  3. 调整编译的内容:make menuconfig

  4. make -j$(nproc)执行多线程编译,如果需要查看详细报错日志执行:make V=s -j$(nproc),如果需要单线程编译执行make -j1 V=s