Atmosphere 定制固件上手:从源码构建到上机启动的 5 个关键点

发布时间:2026/9/8 16:29:07

Atmosphere 定制固件上手:从源码构建到上机启动的 5 个关键点 Atmosphere 定制固件上手从源码构建到上机启动的 5 个关键点【免费下载链接】AtmosphereAtmosphère is a work-in-progress customized firmware for the Nintendo Switch.项目地址: https://gitcode.com/GitHub_Trending/at/Atmosphere给 Switch 装完一次系统更新后你可能发现老游戏开始闪退或者你一直想玩金手指、跑 homebrew又不想动真机 eMMC 里的存档。AtmosphereAtmosphère就是做这件事的 Switch 定制固件它逐层替换系统组件让你可以在 SD 卡上运行虚拟系统、注入自定义系统模块、管理金手指。这篇文章带你把它从源码构建成可运行的产物并解释几个真正影响日常使用的配置。 它解决什么问题Atmosphere 的设计思路是分层替换Switch 固件每一层引导加载、安全监视器、NAND、内核、系统模块、应用层都被对应组件替换或修改任何一层出问题都只影响那一层。核心组件共六个按大气层命名Fusée— 一级引导加载器负责加载、校验并修补后续阶段的 TrustZone 和内核包Exosphère— 自定义安全监视器运行在最高特权模式Thermosphère— EL2 层 EmuNAND 支持实现 NAND 镜像的虚拟化与重定向Mesosphère— 内核实现Stratosphère— 自定义系统模块扩展内核能力并 hook 关键系统行为Troposphère— 应用层的 Horizon OS 补丁实现具体 CFW 功能 五分钟构建出来构建依赖几乎全部来自 devkitPro 生态先按 devkitPro 官方指南装好 devkitA64 和 devkitARM 工具链然后执行下面三组命令# 用 dkp-pacman 安装 Switch 目标工具链和构建依赖 dkp-pacman -S switch-dev switch-glm switch-libjpeg-turbo devkitARM devkitarm-rules hactool # 安装 LZ4 Python 库exosphere 构建脚本需要 pip install lz4 # 克隆仓库并在根目录执行 make 完成全部组件构建 git clone https://gitcode.com/GitHub_Trending/at/Atmosphere cd Atmosphere make可选依赖PyCryptodome部分加密步骤用到。Python 2 或 3 均可官方未保证 Python 3 全兼容。构建产物按组件散落在各子目录部署到 SD 卡的目录结构可参考 docs/features/configurations.md 中对各配置文件位置的描述。 核心能力速览虚拟系统emuMMC把整个 NAND 重定向到 SD 卡上的镜像系统更新、存档、密钥都发生在镜像里真机 eMMC 保持不动。配置入口是/emuMMC/下的emummc.ini进程能力定义见 emummc/emummc.json。金手指支持 Action-Replay 风格代码且自带一套重写过的虚拟机——修复了原版条件指令的多个 bug、支持嵌套条件块还新增了浮点运算指令。代码文件放在/atmosphere/contents/program_id/cheats/下按 build_id 命名。系统模块替换stratosphere/下每个子目录都是一个可独立编译的系统模块loader、pm、fs、sm等同名替换系统自带模块这是 Atmosphere 能 hook 系统行为的基础。调试与日志串口日志exosphere 可配 UART 端口和波特率、SD 卡日志LogManager 模块、cheat VM 调试日志三种通道。⚙️ 按需调整配置所有默认模板在 config_templates/SD 卡上的实际位置exosphere.ini放 SD 卡根目录其余放/atmosphere/config/。下面四个是最常被动的; exosphere.ini — 开启用户态调试模式默认 0 ; 什么时候改调试 homebrew 或抓用户进程崩溃时 [exosphere] debugmode_user 1注意debugmode 1是硬依赖注释里写明了关掉会直接破坏 Atmosphere。; stratosphere.ini — 强制禁用游戏卡读卡器nogc 保护 ; 什么时候改想防止系统更新时读卡器固件被烧写、又不想烧 fuse 时 [stratosphere] nogc 1; system_settings.ini — 禁止向任天堂上报错误报告 ; 什么时候改在意隐私、不希望 fatal 信息上传时 [eupld] upload_enabled u8!0x0; override_config.ini — 按住 R 启动游戏时进入 homebrew 菜单 ; 什么时候改需要常驻 homebrew 入口、或改金手指启用按键cheat_enable_key 同理 [hbl_config] pathatmosphere/hbl.nsp override_any_app_keyR其余项blank_prodinfo_*、log_port、enable_log_manager等含义都写在模板注释里建议对着 config_templates/exosphere.ini 逐个看其中 PRODINFO 空白功能的注释明确提示不鼓励使用。❓ 高频问题速查现象最可能原因快速处理make报工具链相关错误devkitA64/devkitARM 未装或 dkp-pacman 包缺失对照 docs/building.md 的依赖清单逐项安装开机直接 fatal 退出system_settings.ini值格式错误文档明确malformed 值会直接 fatal与 config_templates/ 逐项比对注意type!value格式金手指不生效cheat 路径或 build_id 不对或没按启用键文件须为/atmosphere/contents/program_id/cheats/build_id.txt参考 docs/features/cheats.md系统更新后卡带读卡器仍被更新未开启 nogc 保护stratosphere.ini中设nogc 1如果改完配置反而开不了机优先怀疑system_settings.ini它的取值是类型!值的强解析如u8!0x0一个字符写错就会在启动阶段 fatal而不是静默忽略。 进阶玩法自定义启动画面替换 1280x720 的开机图源码树里有现成脚本 utilities/insert_splash_screen.py用法见 docs/features/configurations.md。写自己的系统模块stratosphere/下每个模块都是源文件 system_module.mk*.json三件套照着stratosphere/erpt/这种最小模块抄结构即可。深入 emuMMC 配置多镜像、多系统切换的细节看 emummc/ 目录下的实现与 docs/features/configurations.md 的 emummc.ini 章节。 生态与社区随仓库分发的四个库是二次开发的主要入口libexosphere安全监视器 API、libmesosphere内核层、libstratosphere系统模块开发、libvapours工具库全部位于 libraries/。项目由 SciresM、TuxSH、hexkyz 和 fincs 维护社区入口Discord 邀请写在 README.md 里。先把config_templates/的模板原样拷进 SD 卡对应位置别凭记忆改配置。动nogc、debugmode_user之前确认你知道默认值改坏了删掉该行即可恢复默认。构建产物和文档一起看docs/changelog.md 记录了每个版本的变动。下一步把产物部署到 SD 卡用全默认配置冷启动一遍确认无误后再逐项加配置。【免费下载链接】AtmosphereAtmosphère is a work-in-progress customized firmware for the Nintendo Switch.项目地址: https://gitcode.com/GitHub_Trending/at/Atmosphere创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
延伸阅读

更多相关文章

2026/9/8 16:29:07

Humanizer工具怎么用?彻底消除AI写作的机器味

很多人应该都有过这种经历:AI写出来的东西内容没什么毛病,但读起来总觉得哪里不对,像一个特别客气、特别拘谨的人在跟你说话,字字都标准,句句都工整,就是缺了那点“人味儿”。这几年我在内容行业里折腾&…

2026/9/8 16:29:07

深入浅出内存ECC:从原理到MBIST测试与服务器故障排查实战

搜ECC有个很尴尬的事:同一个缩写,能搜出两种完全不相干的东西。一边是SAP ECC年结——企业财务月底年底关账那套ERP操作;另一边是服务器内存上印着的“ECC”字样,以及运维群里常看到的“uncorr. ecc 显示2”这种报错。如果你搜出来…

2026/9/8 18:39:29

Claude Code修Bug第一步:先禁止改代码,只读分析是关键

先说个开场场景。上个月接手一个Qt桌面项目的收尾,朋友发来一长串报错日志,说“你赶紧把这段丢给Claude Code,让它直接改,几分钟就搞定”。我回了句:“改之前我得先跟它说清楚,你第一步不许碰任何文件&…

2026/9/8 18:39:29

终端AI编程智能体opencode实战指南:从安装到多模型配置

1. opencode到底是什么,以及我为什么从Claude Code切过来1.1 一句话定位:终端里的AI结对程序员如果你最近在逛开发者社区,应该会频繁刷到opencode这个词。它不是又一个套壳聊天网页,而是一个跑在终端里的AI编程智能体(…

2026/9/8 7:15:10

超人会飞不算本事:系统稳定依赖清晰规则与边界设计

开头先不绕弯子。“#斯坦李吐槽dc 所以超人是无缘无故会飞的嘛哈哈哈哈哈哈哈锤哥真是技术人才啊!#雷神 #复联”这类调侃式短标题,第一波冲击力在于它把两个宇宙的角色塞进同一个吐槽箱里,但细想一下就能发现,它真正碰到的根本不是…

2026/9/8 7:15:15

超人VS蜘蛛侠:拆解超级IP的影响力与传播方法论

把“蜘蛛侠 vs 超人”放在 CSDN 上聊,可能很多人第一反应是走错片场了。但如果把这两个角色看成“两个持续运营了 80 多年的文化产品”,你会发现,这场比较本质上是两个不同 IP 策略的长期结果对比:超人赢在定义了整个超级英雄题材…

2026/9/8 7:15:10

基于CNN的调制信号识别:MATLAB实现时频图分类实战

简介:本资源是一套面向通信工程与信号处理方向学习者、研究者的深度学习实践方案,聚焦调制信号自动检测与识别这一典型无线通信任务,解决传统方法依赖人工特征、低信噪比下性能下降等痛点。压缩包共12个文件(10.73MB)&…

2026/9/8 0:01:49

踩多轮坑才跑通|OpenClaw 3.1.0 双平台本地 AI 自动化搭建实操实录

🔹 工具简述 OpenClaw 是一款备受开发者与办公人群青睐的开源本地智能工具,凭借离线本地运行、可视化图形面板、全流程自主任务处理三大核心特点,积累了众多忠实用户。与普通对话类 AI 产品不同,它能够直接调用电脑的软硬件操作权…

2026/9/8 0:01:50

拒绝复杂命令行,Hermes Agent 一键包快速解锁智能办公能力

🔍前言 不少想要体验 Hermes Agent 办公能力的使用者,往往会被复杂的环境配置拦住使用脚步。手动下载匹配依赖、反复调整系统目录、处理命令行持续报错、修复权限异常、补全丢失核心文件等一系列操作,对普通使用者而言门槛较高,很…

2026/9/7 16:23:03

USB Type-C PCB布局分区设计:电源、高速信号与PD协议全攻略

做硬件这行,Type-C接口算是典型的“看着简单,做起来全坑”的东西。光引脚就24个,高低速信号、电源、控制线全部塞在一个小小的连接器里,如果PCB布局不做规划,打样回来基本就是“插上没反应”、“高速掉线”、“静电一打…

2026/9/7 22:46:00

系统编程学习原型如何补齐稳定性边界

系统编程学习原型如何补齐稳定性边界预算有限时&#xff0c;我先优化明显多余的复制&#xff0c;而不是猜测性地换容器。用借用传递只读数据通常就能减少分配&#xff1a; fn parse(line: &str) -> Result<Item, Error> { /* ... */ }用基准确认热点确实在分配&am…

2026/9/7 22:45:59

雨花区哪家财务公司代理记账比较好?

在雨花区&#xff0c;企业处理财税事务常常面临诸多挑战&#xff0c;选择一家靠谱的财务公司至关重要。湖南巨勤财务管理咨询有限公司就是本地正规实体财税服务机构&#xff0c;深耕本地工商财税行业多年&#xff0c;熟悉当地工商局、税务局最新政策与申报流程。主营公司注册、…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
咨询二维码