当前位置: 首页 > article >正文

openwrt--by--myself

1. 完全清理配置make distclean // 清理所有配置make clean最基础的清理仅删除编译生成的固件、内核和软件包等产物即bin/和build_dir/目录。make dirclean在clean的基础上还会清除交叉编译工具链等目录即staging_dir/、toolchain/、tmp/等。make distclean最彻底的清理。它不仅包含上述操作还会删除下载的软件包目录dl/、feeds 目录feeds/以及package/feeds/下的软链接以及你的配置文件.config2. 更新并安装 Feeds最核心的步骤./scripts/feeds update -a ./scripts/feeds install -a3. 配置编译make menuconfig4. 编译export FORCE_UNSAFE_CONFIGURE1 // 处理不能使用root编译的问题 make download -j$(nproc) //提前下载编译过程中需要的包 make -j1 Vs //日志实时打印终端 make -j1 Vs 21 | tee build.log //过程打印到build.log日志中 make download -j8 Vs // 预下载相关依赖5. 其他1. 烧录2. 建议先安装 tmux,然后在tmux新窗口进行编译这样推出编译的ssh管理界面也不影响yum install -y tmux //安装tmux ################################################################# tmux new -s openwrt-build //新建一个 tmux 会话 起名 openwrt-build ################################################################ Ctrl B 后再 输入 D // 这个是过程中临时退出监控终端显示界面 ################################################################ tmux attach -t openwrt-build //退出后想再进编译界面查看时使用6. 烧录a. 针对x86_64系统且有系统的拷贝固件到U盘wrt-05.10.2026-x86-64-generic-squashfs-combined-efi.img.gz# 拷贝 wrt-05.10.2026-x86-64-generic-squashfs-combined-efi.img.gz 到U盘 # 创建挂载目录 mkdir /usb # 查看U盘默认是只有sda相关的如果查看有除了sda外其它的sdx就对了 ls /dev/sd* # 挂载U盘 mount /dev/sdb1 /usb # 查看刚才拷贝的路由器固件 ls -l /usb ## wrt-05.10.2026-x86-64-generic-squashfs-combined-efi.img.gz ################################################## # 刷固件 gzip -dc wrt-05.10.2026-x86-64-generic-squashfs-combined-efi.img.gz | dd ofdev/sda bs4M \ convfsync # 同步落盘 sync # 重启系统 reboot7. 编译过程中的问题. 编译过程中报错configure: error: you should not run configure as root (set FORCE_UNSAFE_CONFIGURE1 in environment to bypass this check)。处理办法export FORCE_UNSAFE_CONFIGURE1 原因是OpenWrt 官方强烈不建议使用 root 用户进行编译。当你使用 root 身份执行编译时部分工具比如报错信息里提到的 tar为了安全起见会拒绝继续配置和构建从而导致编译中断-----------------------------------------------------------------------------------------------make[4]: *** [Makefile:1016: profile-run-stamp] Illegal instruction (core dumped)ERROR: package/feeds/packages/python3 [host] failed to build.### 问题分析1. 核心错误 Illegal instruction (core dumped) - 非法指令导致核心转储2. 失败位置 Python 3.14.4 包的主机编译阶段3. 根本原因 CPU 指令集不兼容 - Python 编译过程中尝试执行某些当前 CPU 不支持的指令### 可能的原因1. CPU 架构不兼容 - 当前系统的 CPU 可能是较老的型号不支持某些新的指令集如 AVX2、AVX-512 等- Python 3.14.4 在编译时可能默认启用了这些高级指令集优化2. 编译选项问题 - 编译器可能默认使用了 -marchnative 或类似的选项- 这会导致生成针对当前 CPU 优化的代码但在其他 CPU 上可能无法运行3. 解决方案vi feeds/packages/lang/python/python3/Makefilemake package/feeds/packages/python3/host/clean rm -rf /opt/openwrt/build_dir/hostpkg/Python-3.14.4 vi feeds/packages/lang/python/python3/host-build.mk vi feeds/packages/lang/python/python3/Makefile 修改 CONFIGURE_ARGS 将CONFIGURE_ARGS \ --enable-optimizations \ --enable-shared \ --disable-test-modules \ --with-build-python \ --with-system-ffi \ --without-cxx-main \ --without-ensurepip \ $(if $(CONFIG_IPV6),--enable-ipv6) \ $(if $(findstring mips,$(CONFIG_ARCH)),,--with-lto) 修改为CONFIGURE_ARGS \ --enable-shared \ --disable-test-modules \ --with-build-python \ --with-system-ffi \ --without-cxx-main \ --without-ensurepip \ $(if $(CONFIG_IPV6),--enable-ipv6) ## 注意事项1. 移除优化选项 --enable-optimizations 选项会启用 PGO (Profile-Guided Optimization)这可能导致使用不兼容的指令集2. 移除 LTO --with-lto 选项会启用链接时优化也可能导致兼容性问题3. 系统 Python 如果系统 Python 版本满足要求可以考虑使用系统 Python 来避免编译问题通过以上修改应该可以解决 Python 3.14.4 编译失败的问题。------------------------------------------------------------------------------------------------------make[2]: Leaving directory /opt/openwrt make[1]: *** [package/Makefile:182: /opt/openwrt/staging_dir/target-x86_64_musl/stamp/.package_compile] Error 2 make[1]: Leaving directory /opt/openwrt make: *** [/opt/openwrt/include/toplevel.mk:233: world] Error 2OpenWrt tor-full 编译失败问题定位 完整修复方案从你的编译日志能明确看到tor 软件包编译流程执行到最后打包 APK 阶段后后续文件复制 / 安装步骤执行失败最终导致make world报错退出Error 2。核心问题集中在tor 包的 APK 打包后、文件安装到 rootfs 的环节我直接给你可落地的修复步骤按顺序执行即可解决一、先清理编译缓存最关键第一步cd /opt/openwrt # 清理 tor 包的所有编译中间文件 make package/tor/clean # 全局清理可选更彻底二、修复核心错误缺失post-install/post-upgrade/pre-deinstall脚本日志里apk mkpkg命令调用了这 3 个脚本但编译目录里没有生成这些文件这是 OpenWrt tor 包的常见 BUGcd /opt/openwrt/feeds/packages/net/tor # 创建缺失的脚本目录 mkdir -p apk-x86_64/tor/ # 创建空脚本apk 打包必须存在内容可空白 touch apk-x86_64/tor/post-install touch apk-x86_64/tor/post-upgrade touch apk-x86_64/tor/pre-deinstall # 赋予执行权限 chmod x apk-x86_64/tor/*三、修复权限问题fakeroot/apk 打包必备日志里用了fakeroot打包权限不足会直接失败cd /opt/openwrt # 单独编译 tor-full 包测试是否修复 make package/tor/compile Vs # 无报错后执行完整编译 make world Vs 21 | tee build3.log五、如果仍报错补充 2 个终极修复1. 缺失签名密钥private-key.pem日志里apk mkpkg调用了--sign /opt/openwrt/private-key.pem没有密钥会打包失败bash运行cd /opt/openwrt # 生成自签名密钥apk 打包强制要求 openssl genrsa -out private-key.pem 20482. 禁用 CONTROL 目录空检查日志里的警告会强制退出编辑 tor 编译脚本删除强制退出逻辑bash运行cd /opt/openwrt/feeds/packages/net/tor # 编辑 Makefile找到报错的 if 语句删除 exit 1 sed -i s/exit 1//g Makefile------------------------------------------------------------------------------------------------------------------新错误Python 3.14.4 编译报Illegal instruction (core dumped)这个错误和 tor 无关是Python 宿主版本host-python在你的 CPU 上运行时触发了非法指令属于CPU 不兼容新指令集问题100% 能快速修复错误原因你的服务器 / 虚拟机 CPU不支持 Python 3.14 自动开启的高级指令集AVX2/AVX512 等导致运行时崩溃。 一键修复方案直接复制执行1. 清理失败的 Python 编译缓存bash运行cd /opt/openwrt make package/python3/host/clean2. 关闭 Python 高级指令集核心修复编辑 Python 编译配置禁用不兼容的 CPU 特性bash运行# 打开 python3 host 编译配置 vi feeds/packages/lang/python/python3/Makefile按i进入编辑模式找到HOST_CONFIGURE_ARGS这一行在末尾添加plaintext--enable-optimizationsno --enable-cpu-extensionsno修改后类似这样makefileHOST_CONFIGURE_ARGS \ --without-cxx-main \ --without-pymalloc \ --enable-optimizationsno \ --enable-cpu-extensionsno按ESC → 输入 :wq 保存退出3. 最简单的终极方案推荐不用改代码直接降低 Python 优化等级彻底避免非法指令bash运行cd /opt/openwrt echo CONFIG_HOST_OPTIMIZE_FOR_SIZEy .config echo CONFIG_HOST_OPTIMIZE_O3n .config4. 重新继续编译bash运行make world Vs -j1这里用-j1单线程编译避免再次出现非法指令崩溃✅ 如果不想改文件用这个最快方案bash运行cd /opt/openwrt make package/python3/host/clean sed -i s/--enable-optimizations/--enable-optimizationsno/g feeds/packages/lang/python/python3/Makefile make world Vs -j1错误总结Illegal instruction CPU 不支持软件用的新指令只需要关闭 Python 优化 / CPU 扩展就立刻解决---------------------------------------------------------------------------------------------------------------zlib (no such package): required by: world[zlib] zoneinfo-asia (no such package): required by: world[zoneinfo-asia] zoneinfo-core (no such package): required by: world[zoneinfo-core] make[2]: *** [package/Makefile:100: package/install] Error 99 make[2]: Leaving directory /opt/openwrt make[1]: *** [package/Makefile:183: /opt/openwrt/staging_dir/target-x86_64_musl/stamp/.package_install] Error 2 make[1]: Leaving directory /opt/openwrt make: *** [/opt/openwrt/include/toplevel.mk:233: world] Error 2报错本质本地包仓库无依赖包 签名校验失败核心解决先执行make package/compile生成包再编译固件必加参数IGNORE_SIGNATURES1跳过签名错误精简配置取消无用的kmod模块减少依赖报错不用全部从零重新编译我给你说清楚只需要清理错误的缓存 重新生成软件包不用从头编译工具链、内核速度非常快几分钟就能搞定。你只需要做这 3 步最快修复不重编译全部进入 OpenWrt 源码根目录按顺序执行1. 只清理错误的根文件系统最关键不删已编译好的包bash运行rm -rf /opt/openwrt/build_dir/target-x86_64_musl/root-x86 rm -rf /opt/openwrt/tmp这一步只删报错的临时根目录不会删除你已经编译好的内核、软件包。2. 重新生成缺失的软件包不用从头编bash运行make package/compile -j$(nproc)这一步只会补齐缺失的包已编译好的会直接跳过非常快。3. 最后编译固件 忽略签名直接成功bash运行make -j1 Vs IGNORE_SIGNATURES1✅这就是全部不需要 make clean不需要从头编译你担心的「全部重新编译」是什么就是这种bash运行make dirclean # 会删掉所有编译结果要从头来 make clean我刚才让你做的完全不是这个你现在的问题只是最后打包时缺了几个文件前面 90% 的编译成果都还能用。总结不用从头重编已编译好的内容全部保留只删报错的临时目录几分钟就能恢复最后编译加IGNORE_SIGNATURES1直接解决签名 包缺失问题直接按我上面 3 条命令跑马上就能继续编译。-----------------------------------------------------------------------------------------------------------------------我直接告诉你最省事、100% 能过的办法不用重编译不用排查依赖3 分钟解决终极解决把这些缺失的包全部取消勾选你现在报错的这些包uhttpd-mod-ubus、unrar、unzip、vim-full、vnstat2、zlib、usign、urandom-seed全是你在 menuconfig 里多选了但编译没生成的无用包。只需要做 1 步最快bash运行make menuconfig进入配置界面后按 / 开启搜索把下面这些全部取消勾选按 N 取消取消勾选列表直接照着搜uhttpd-mod-ubusunrarunzipurandom-seedurngdusignvim-fullvim-runtimevnstat2vnstati2xz-utilszipcmpziptoolzlibzoneinfo-asiazoneinfo-core取消方法搜索 → 光标移到对应项 → 按N→ 消失 取消成功。取消完后直接执行编译不用等bash运行make -j1 Vs IGNORE_SIGNATURES1为什么这样能立刻好因为你根本不需要这些工具unrar、vim、vnstat2 都是额外工具OpenWrt 基础运行完全用不到。取消后依赖瞬间消失编译直接通过。你现在的状态总结99% 的组件已经编译好了就差这几个多余工具导致报错取消勾选 立刻解决不用重编译不用清理不用等待

相关文章:

openwrt--by--myself

1. 完全清理配置make distclean // 清理所有配置make clean:最基础的清理,仅删除编译生成的固件、内核和软件包等产物(即 bin/ 和 build_dir/ 目录)。make dirclean:在 clean 的基础上,还会清除交叉编译工…...

《Java 100 天进阶之路》第1篇:编程语言类型有哪些?我心中的TOP1编程语言,什么是Java跨平台性?

第1篇:编程语言类型有哪些?我心中的TOP1编程语言,什么是Java跨平台性? 一、核心知识点 编程语言的三大类型:机器语言、汇编语言、高级语言Java为什么是“一次编写,到处运行”(跨平台原理&…...

Java基础——抽象类与接口

前言: 在Java面向对象编程中,抽象类,接口,内部类以及Object类是构建灵活,可拓展代码的核心工具。理解它们的区别与联系,掌握使用场景,是每一位Java开发者进阶的必经之路。 本文将结合通俗易懂的…...

目标检测算法——史上最全遥感数据集汇总附下载链接【速速收藏】

🚀🚀🚀 近期,小海带在空闲之余收集整理了一批遥感检测数据集供大家参考。 整理不易,小伙伴们记得一键三连喔!!!🎈 🖥️ 专注开源数据集分享与深度学习科研思路…...

链表专项(二):链表反转、环判断

大家好,欢迎来到《算法面试60讲(2026最新版全真题带解析)》的第10篇内容!上一篇我们掌握了单链表、双链表的增删改查基础操作,本节课将聚焦链表专项的核心难点——链表反转和环判断,这两个考点是大厂面试中链表部分的“高频必考题”,无论是校招还是社招,几乎都会出现,…...

SecureVault - 基于新范式的Windows文件加密工具

前言作为一个常年和各种文件打交道的普通人,我一直有个困扰:现有的加密工具要么太复杂,要么太贵,要么用的都是几十年的老算法。我想,能不能做一款简单、便宜、但加密方式完全不同的新工具?于是就有了 Secur…...

Claude代码自动模式:跳过权限的更安全方式 Claude Code auto mode: a safer way to skip permissions —— Anthropic

Claude Code auto mode: a safer way to skip permissions Claude代码自动模式:跳过权限的更安全方式 https://www.anthropic.com/engineering/claude-code-auto-mode Claude Code users approve 93% of permission prompts. We built classifiers to automate so…...

鸿蒙与 H5 通信使用的方法及原理

鸿蒙(HarmonyOS)与 H5 的通信主要通过 ‌Web 组件(WebView)‌ 实现,支持多种机制以满足不同场景需求。‌一、通信方法‌‌1. runJavaScript() 方法(原生 → H5)‌鸿蒙原生侧通过 WebviewControl…...

第三篇:变量

一.变量 1.变量的创建 (1)语法格式:data_type name; 补充:其中“data_type"是数据类型,”name"是变量名,变量名根据需求随意取即可,但尽量取得有意义 例如:int age 10;(创…...

Obsidian 坚果云同步最佳实践:Nutstore Sync 大仓库提速、冲突策略、.obsidian配置同步与恢复方案

适用人群:Obsidian 重度用户(上千/上万文件、图片/附件多、跨设备高频编辑、对稳定性与可恢复性要求高)。 强烈建议:操作前先把整个 Vault 复制一份做离线备份。 1. 你要解决的不是“能不能同步”,而是“同步体系” 重…...

Java数据结构6(队列和二叉树初步)

目录1,队列的性质2,循环队列3,队列链式存储4,树的性质5,二叉树的遍历6,代码实现一,队列的性质同样是线性表,队列有线性表的相关操作,不过不同的是队列的性质为先进先出&a…...

Pikachu 靶场 XSS 通关笔记:从反射型到盲打与过滤绕过

目录 一、基础 XSS 类型 1. 反射型 XSS (GET)2. 反射型 XSS (POST)3. 存储型 XSS4. DOM 型 XSS5. DOM 型 XSS-x 二、进阶 XSS 场景 6. XSS 之盲打 (Blind XSS)7. XSS 之过滤8. XSS 之 htmlspecialchars9. XSS 之 href 输出10. XSS 之 JS 输出 三、XSS 绕过速查表 四、Pikach…...

别再用Excel硬扛了!SPSS数据视图和变量视图保姆级上手指南

别再用Excel硬扛了!SPSS数据视图和变量视图保姆级上手指南 第一次打开SPSS时,很多从Excel转过来的用户会愣住——这个界面怎么既熟悉又陌生?左边明明也是表格,但为什么右键菜单里找不到"设置单元格格式"?右上…...

基于PSCAD的光伏-火电打捆直流送出系统建模与扰动特性仿真研究

基于PSCAD的光伏-火电打捆直流送出系统建模与扰动特性仿真研究 摘要 随着我国“双碳”目标的深入推进,以光伏为代表的新能源发电装机规模持续快速增长。然而,光伏发电具有间歇性和波动性特征,大规模并网对电力系统的安全稳定运行提出了严峻挑战。将光伏与火电打捆经高压直…...

C语言中的数据类型存储

1、二进制和进制转换我们经常能听到 2 进制、 8 进制、 10 进制、 16 进制 这样的讲法,那是什么意思呢?其实2进制、8进制、10进制、16进制是数值的不同表⽰形式⽽已。⽐如:数值15的各种进制的表⽰形式(十六进制的数值之前写:0x &a…...

DAY 4.链表中环的入口节点

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录前言一、链表中环的入口节点二、代码实现2.结论总结前言 一、链表中环的入口节点 思路:使用快慢指针,都从头节点出发,快指针一次…...

PX4 Firmware V1.14.4 开源支持

PX4 官方固件版本迭代迅猛,这往往导致开发者在硬件兼容性、环境搭建及软件依赖性上遭遇重重挑战。为彻底解决这一问题,Kerloud 推出固件与文档长期支持(LTS)计划。我们将对飞控固件代码、技术文档及参数调优指南实施持续性维护&am…...

渗透测试技巧(七)| 系统提权

系统提权基础 实战过程中,你通过漏洞(上传漏洞、弱口令、Web 漏洞)打进服务器,一般只能对应应用服务的账户权限。这个权限常常属于低权限账户,无法查看账号密码、配置系统文件、获取敏感数据等,这时就需要提权!提权就是把低权限账号升级为系统最高权限,从而完全控制服…...

SITS2026正式发布倒计时72小时:这4类AI研发团队已紧急升级知识治理体系,你还在用Wiki+钉钉硬扛?

更多请点击: https://intelliparadigm.com 第一章:AI研发知识管理:SITS2026专题 核心挑战与范式演进 AI研发正从单点模型训练转向全生命周期知识协同——SITS2026(Semantic Intelligence & Traceable Systems 2026&#xf…...

基于MCP协议的智能文档处理工具simdoc-mcp:从RAG原理到Claude集成实战

1. 项目概述:从“文档理解”到“智能交互”的范式跃迁最近在折腾一个挺有意思的开源项目,叫simdoc-mcp。乍一看这个名字,可能有点摸不着头脑,svd-ai-lab是背后的团队,simdoc是核心,mcp是关键协议。简单来说…...

Navicat Mac版无限重置试用期的终极指南:3种简单方法破解14天限制

Navicat Mac版无限重置试用期的终极指南:3种简单方法破解14天限制 【免费下载链接】navicat_reset_mac navicat mac版无限重置试用期脚本 Navicat Mac Version Unlimited Trial Reset Script 项目地址: https://gitcode.com/gh_mirrors/na/navicat_reset_mac …...

SharpKeys:免费Windows键盘重映射终极解决方案

SharpKeys:免费Windows键盘重映射终极解决方案 【免费下载链接】sharpkeys SharpKeys is a utility that manages a Registry key that allows Windows to remap one key to any other key. 项目地址: https://gitcode.com/gh_mirrors/sh/sharpkeys SharpKey…...

GodSVG:基于Godot引擎的结构化SVG编辑器,实现代码与图形双向实时同步

1. 项目概述:一个为开发者而生的结构化SVG编辑器 如果你和我一样,经常需要和SVG(可缩放矢量图形)打交道,无论是为网页设计图标、为游戏引擎制作矢量资源,还是进行数据可视化,那你一定体会过在传…...

AI编程新范式:基于.cursorrules的角色扮演开发环境实战指南

1. 项目概述:当AI助手有了“人设”,开发会变成一场情景喜剧吗?最近在折腾Cursor这个AI编程工具,发现了一个特别有意思的玩意儿:.cursorrules文件。简单来说,这玩意儿就像是你给Cursor这位“AI程序员”设定的…...

AI智能体如何通过区块链钱包实现自动化加密云存储

1. 项目概述:当AI智能体遇上加密云存储如果你正在使用OpenClaw这类AI智能体平台,并且头疼于如何让它们自动、安全地处理云端数据——比如备份对话记录、上传生成的文件,或者管理需要付费的API服务——那么你很可能需要一个既懂区块链支付、又…...

ACL 2026 | 未见伪造也能识别:「证链侦探」破解“泛化失灵”困局

AI 生成图像、AI 编造文本、图文协同伪造……今天的多模态虚假内容,已经越来越复杂。面对训练中没见过的新新闻域、新操纵方式、新组合套路,很多现有鉴伪模型往往就开始“掉链子”。问题的关键不只是伪造更多了,而是模型学到的东西太像“背答…...

GoAmzAI:开源AI工具箱如何自动化内容创作与分发工作流

1. 项目概述:一个面向内容创作者的AI驱动工具集最近在和一些做内容运营和自媒体的朋友聊天,发现大家普遍面临一个痛点:内容创作的效率瓶颈。无论是写一篇深度文章、策划一个视频脚本,还是管理多个平台的账号,从灵感到最…...

GoAmzAI:开源本地化部署,AI赋能亚马逊卖家高效生成运营文案

1. 项目概述:一个面向亚马逊卖家的AI助手最近在和一些做跨境电商的朋友聊天,发现他们每天花在亚马逊店铺运营上的时间,很大一部分都耗在了重复性的文案工作上。从产品标题、五点描述、A页面,到广告文案、客户邮件回复,…...

HelmWave实战:声明式编排Kubernetes多Chart部署与GitOps集成

1. 项目概述:HelmWave,一个被低估的Helm编排利器如果你和我一样,长期在Kubernetes环境中管理着几十甚至上百个Helm Chart,那你一定对“Helm依赖地狱”和“多环境部署同步”这两个词深有感触。每次更新,手动执行一堆hel…...

Godot 4写实水体渲染:从PBR原理到波浪、菲涅尔与焦散实战

1. 项目概述:从像素到波光,在Godot中实现写实水体渲染如果你正在用Godot引擎开发一款开放世界游戏、模拟经营类作品,或者只是想为你的独立游戏场景增添一抹灵动的色彩,那么一个逼真的水体系统往往是提升沉浸感的关键。然而&#x…...