懒人福利飞牛NAS本地编译ImmortalWrt保姆级教学
懒人福利飞牛NAS本地编译ImmortalWrt保姆级教学
YONIE懒人福利飞牛NAS本地编译ImmortalWrt保姆级教学
编译完成的路径: /home/xiaochen/immortalwrt/bin/targets
代码https://github.com/immortalwrt/immortalwrt
【Debian11下载链接】
构建要求 (Requirements)
要构建此项目,推荐使用 Debian 11 系统。此外,您需要满足以下硬件条件:
- CPU: 基于 AMD64 架构
- 内存 (RAM): 至少 4GB
- 磁盘空间: 至少 25GB 可用空间
- 网络: 确保互联网访问通畅
编译 ImmortalWrt 需要以下工具链,不同 Linux 发行版的软件包名称可能会有所不同。以下是面向 Debian/Ubuntu 用户的安装示例:
方法一:通过 APT 安装依赖
巴什
1 | sudo apt update -y |
方法二:使用一键脚本环境配置
巴什
1 | sudo bash -c 'bash <(curl -s https://build-scripts.immortalwrt.org/init_build_environment.sh)' |
注意事项 (Note):
- 权限警告: 所有操作请使用普通用户权限执行,切勿使用 root 用户,也不要加
sudo。- CPU 架构: 使用其他架构的 CPU 理论上也可以编译 ImmortalWrt,但这需要更多额外的代码调整——我们对此不提供任何保证。
- 路径规范: 您的系统
PATH环境变量或工作目录路径中,绝不能包含空格或非 ASCII 字符(如中文字符)。- WSL 用户: 如果您使用的是 Windows Subsystem for Linux (WSL),则必须从
PATH中移除 Windows 系统文件夹,详情请参阅“构建系统设置 WSL”文档。- macOS 用户: 不推荐使用 macOS 作为宿主编译系统。我们对此不提供任何保证。您可以从“构建系统设置 macOS”文档中获取相关提示。
- 更多详情,请参阅“构建系统设置”文档。
快速上手 (Quickstart)
- 克隆源码: 运行以下命令克隆源代码(请将
<branch>替换为您想要编译的分支,例如master或openwrt-23.05):Bashgit clone -b <branch> --single-branch --filter=blob:none https://github.com/immortalwrt/immortalwrt - 进入目录: 运行以下命令进入源码目录:Bash
cd immortalwrt - 更新软件源 (Feeds): 运行以下命令,获取
feeds.conf/feeds.conf.default中定义的所有最新软件包:./scripts/feeds update -a - 安装软链接: 运行以下命令,将获取到的所有软件包软链接安装到
package/feeds/目录下:./scripts/feeds install -a - 配置固件: 运行以下命令,打开配置菜单,选择您需要的工具链、目标系统(路由器型号)以及固件包含的软件包:
make menuconfig - 开始编译: 运行以下命令构建您的固件:Bash
make系统将自动下载所有源代码,构建交叉编译工具链,然后为您的目标系统交叉编译 GNU/Linux 内核以及所有选定的应用程序。
要求和快速入门
要求要使用此项目,建议使用 Debian 11 系统。此外,您需要使用基于 AMD64 架构的 CPU,至少 4GB 内存和 25GB 可用磁盘空间。请确保网络 连接 畅通。
编译 ImmortalWrt 需要以下工具,软件包名称因发行版而异。
- 以下是针对 Debian/Ubuntu 用户的示例:
- 方法一:通过 APT 设置依赖项 sudo apt update -y sudo apt full-upgrade -y sudo 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
- 方法二:sudo bash -c ‘bash <(curl -s https://build-scripts.immortalwrt.org/init\_build\_environment.sh)’
笔记:
- 所有操作均以非特权用户身份执行,而非 root 用户,无需使用 sudo。
- 使用基于其他架构的 CPU 编译 ImmortalWrt 应该没问题,但需要更多技巧——完全不提供任何保证。
- PATH 环境变量或驱动器上的工作文件夹中不得 包含 空格或非 ASCII 字符。
- 如果您使用的是适用于 Linux 的 Windows 子系统(或 WSL),则需要从 PATH 中删除 Windows 文件夹,请参阅 WSL 文档中的“构建系统设置” 。
- 不建议使用 macOS 作为主机构建操作系统 。不提供任何担保。您可以从 macOS 构建系统设置 文档中获取相关提示。
- 更多详情请参阅 构建系统设置 文档。
快速入门1. 运行 git clone -b <branch> --single-branch --filter=blob:none https://github.com/immortalwrt/immortalwrt 以克隆源代码。
- 运行
cd immortalwrt此命令进入源目录。 - 运行此命令
./scripts/feeds update -a以获取 feeds.conf / feeds.conf.default 中定义的所有最新软件包定义。 - 运行此命令
./scripts/feeds install -a将所有获取的软件包的符号链接安装到 package/feeds/ 目录中。 - 运行程序
make menuconfig以选择您喜欢的工具链、目标系统和固件包配置。 - 运行
make此命令以构建固件。它将下载所有源代码,构建交叉编译工具链,然后交叉编译 GNU/Linux 内核以及所有选定的应用程序,以适配您的目标系统。
| 英文插件名 (LuCI -> Applications) | 中文/通俗名称 | 核心功能简介 |
|---|---|---|
| 广告卫兵之家 | AdGuard 主页 | 全网去广告、防追踪 DNS 拦截工具 |
| aria2 | Aria2 下载器 | 高速多线程下载神器 |
| 自动重启 | 自动重启 | 定时重启路由器释放内存 |
| ddns | 动态 DNS | 绑定动态公网 IP 到固定域名 |
| Dockerman | Docker 管理 | 路由器的 Docker 容器可视化管理工具 |
| frpc / frps | Frp 内网穿透 | 常见的内网穿透工具 (分为客户端/服务端) |
| 高清空闲 | 硬盘休眠 | 让挂载的机械硬盘在不使用时停转,省电保护 |
| 模块域名 | MosDNS | 非常强大的 DNS 转发和防污染工具 |
| mwan3 | 多线多拨 / 负载均衡 | 支持多条宽带叠加网速,或单线多拨 |
| qBittorrent | qBittorrent | 目前最火的 BT/PT 种子下载工具 |
| samba4 | Samba 网络共享 | 在电脑上像访问本地硬盘一样访问路由器 U盘 |
| 智能域名系统 | SmartDNS | 测速并优选最快的 DNS IP,加快网页打开速度 |
| 平方米 | SQM Qos 控制 | 改善游戏延迟,防止下载时占用全部带宽 |
| 尾鳞 | 尾鳞 | 目前非常火的 Mesh VPN 异地组网神器 |
| 传播 | 传播 | 老牌的 BT/PT 种子下载器 |
| 时间 | 网页终端 | 直接在网页浏览器里使用 SSH 命令行界面 |
| 涡轮加速器 | Turbo ACC 网络加速 | DNS加速、BBR加速、软硬流控 |
| 向上np | UPnP 即插即用 | 改善 P2P 下载速度,提升主机游戏联机 NAT 类型 |
| 监视猫 | 断网自动重启 | 检测到网络断开时自动重启路由器或光猫 |
| 护套 | WireGuard | 新一代的高性能 VPN 工具 |
| 羊毛 | 网络唤醒 | 远程开机局域网内的电脑或 NAS |
| 零层 | ZeroTier 内网穿透 | 异地组网,在外网访问家里局域网设备 |
| [1]: https://github.com/zippoyg/immortalwrt “https://github.com/zippoyg/immortalwrt“ |
[up主专用,视频内嵌代码贴在这]
