Atmosphere 自制固件:从首次启动到系统配置的完整讲解
【免费下载链接】Atmosphere-stable大气层整合包系统稳定版项目地址: https://gitcode.com/gh_mirrors/at/Atmosphere-stable
Atmosphere(大气层)是面向 Nintendo Switch 的开源自制固件,逐层替换官方系统,支持运行自制软件、虚拟系统和金手指修改。本文面向没有背景的新手,讲清安装、配置与常见故障的处理方法。
Atmosphere 启动时的默认画面,看到它说明引导链已经正常工作
先认识它:Atmosphere 能做什么
Atmosphere 把 Switch 的系统拆成从引导到应用的多个层级,每一层都用自己重写的版本替换官方实现,所以它不是"打补丁",而是一整套可以单独构建、单独替换的固件。它适合想深度定制主机的玩家,不适合只想"装完就忘"的用户。
| 适合的场景 | 不适合的场景 |
|---|---|
| 运行自制软件和调试工具 | 在真实系统(SysNAND)上跑修改内容 |
| 创建虚拟系统隔离官方系统 | 主机未破解、无法进 RCM 的机器 |
| 使用金手指、自定义启动画面 | 追求开箱即用、完全不想碰配置文件 |
| 研究 Switch 系统架构与内核 | 只想要成品整合包、不想自己构建 |
Atmosphere 的官方视觉图,对应项目内置的启动资源 img/ 目录
动手前检查:安装 Atmosphere 的硬件与软件条件
开始操作前,逐项核对下面这份清单:
- ✅ 一台已完成 RCM 破解的 Switch(fusee 引导程序依赖 RCM 端口注入)
- ✅ 16GB 以上 SD 卡,格式为 FAT32
- ✅ 带读卡器的电脑,以及 Hekate 或等价的 payload 注入工具
- ✅ 稳定的网络,用于拉取源码和工具依赖
- ⚠️ 最重要的一条:先把 SD 卡里的数据完整备份。引导链上任何一个文件缺失都会导致开不了机,备份是你唯一的重来机会
最小可行路径:让 Atmosphere 第一次跑起来
只需五步,目标是看到启动画面并进入系统:
拉取源码,在根目录执行构建(需要 devkitPro 工具链,详见构建文档)。也可以直接获取构建好的发布版,跳过此步。
git clone https://gitcode.com/gh_mirrors/at/Atmosphere-stable预期结果:本地得到完整源码树,含各层组件目录和 Makefile。
生成可启动文件:构建后得到
package3、bootloader/等产物(发布版则直接包含)。预期结果:能找到一个名为package3的文件。复制到 SD 卡根目录:
package3和bootloader/目录放在根目录,atmosphere/目录一并放入,不要改动层级。预期结果:SD 卡结构完整,exosphere.ini等配置位于规定位置。放入 Hekate:将 Hekate 相关文件复制到 SD 卡并按其说明放置。预期结果:开机可进入 Hekate 菜单。
启动并验证:开机进 Hekate,选择 payload 指向
package3。预期结果:出现 Atmosphere 启动画面并进入主界面。
系统拆解:Atmosphere 的分层架构与目录
Atmosphere 的目录名对应地球大气层的不同圈层,每一层替换官方系统的一个组件:
| 组件 | 作用 | 相关目录 |
|---|---|---|
| fusée | RCM 引导程序,负责硬件初始化、eMMC 挂载与补丁注入 | fusee/ |
| exosphère | 安全监控层,处理加密运算与 CPU 电源管理 | exosphere/ |
| thermosphère | EL2 层虚拟机管理 | thermosphere/ |
| mesosphère | 重写的系统内核(微内核设计) | mesosphere/ |
| stratosphère | 系统模块层,重新实现并扩展系统服务 | stratosphere/ |
| troposphère | 应用层示例程序 | troposphere/ |
| emummc | 模拟 eMMC,即虚拟系统(emuNAND) | emummc/ |
日常会打交道最多的几个模块:dmnt管理金手指和调试会话;boot/boot2控制启动流程和早期启动程序;creport收集崩溃报告;ams_mitm拦截部分系统服务以扩展功能。模块的完整列表说明见 stratosphère 组件文档。
场景实战:三个高频操作的具体做法
场景一:让金手指在游戏里生效
目标:为某款游戏启用 cheat 码文件。
操作:把 cheat 码文件放到/atmosphere/contents/<程序ID>/cheats/<build_id>.txt,其中build_id是主可执行文件前 8 字节的十六进制表示。启动游戏时注意按键状态——默认要求不按 L才会加载金手指,可通过 override 按键配置修改。
注意:加载后是否默认全部启用由系统设置dmnt_cheats_enabled_by_default控制;cheat 虚拟机还会把运行日志写到/atmosphere/cheat_vm_logs/,排查失败时先看这里。
场景二:更换开机启动画面
目标:用自定义图片替换默认启动画面。
操作:准备一张 1280x720 的图片,用仓库自带脚本写入 package3:
python insert_splash_screen.py <图片路径> <package3 路径>注意:脚本位于utilities/目录;分辨率不是 1280x720 会启动失败,不要用文本编辑器手改 package3。
场景三:绑定快捷按键进自制菜单
目标:从任意游戏一键呼出 Homebrew 菜单。
操作:编辑/atmosphere/config/override_config.ini,修改override_key项,可绑定 A/B/X/Y、肩键、方向键等任意按键;按键名前加!表示"按住该键才运行游戏,否则进菜单",例如override_key=!R。
注意:该文件模板在/atmosphere/config_templates/里,改完插回 SD 卡下次开机生效。各配置文件的位置和写法详见配置说明文档。
踩坑清单:新手最常见的五个错误
| 常见错误 | 表现 | 正确做法 |
|---|---|---|
| SD 卡用了 exFAT | Hekate 识别异常或启动失败 | 统一使用 FAT32 格式 |
system_settings.ini值写错类型 | 开机直接 fatal error | 值必须写成类型!数值形式(如u8!0x1),对照config_templates/模板修改 |
| 更新时新旧文件混放 | 随机崩溃、服务报错 | 先删干净旧版本目录,再整包复制新版本 |
| 在真实系统上跑自制软件和修改 | 真实系统数据暴露风险 | 用 emummc 建虚拟系统,一切修改内容都放在虚拟系统里 |
手改package3内容 | 签名校验失败,无法启动 | 一律通过utilities/insert_splash_screen.py等官方脚本修改 |
排障手册:三类高频问题的定位方法
启动黑屏
现象:进 Hekate 选择 package3 后无画面或闪退。
可能原因:
package3或bootloader/缺失、被移动过- SD 卡格式不是 FAT32
- 新旧版本文件混放导致校验失败
处理步骤:回看 SD 卡根目录结构是否完整 → 确认格式为 FAT32 → 删除全部旧文件后重新整包复制。
金手指不生效
现象:cheat 文件已放置,但游戏内无效果。
可能原因:
- 路径或
build_id文件名不对 - 启动时按住了 L 键(默认会被判定为不加载)
- dmnt 模块未启用金手指管理
处理步骤:核对/atmosphere/contents/<程序ID>/cheats/下文件名 → 启动游戏时松开 L → 检查cheat_vm_logs/里的日志确认是否真正加载。
改完配置后开不了机
现象:某次编辑 ini 之后,启动画面都出不来。
可能原因:
system_settings.ini的格式或类型标识写错(这是官方文档明确会触发 fatal error 的情况)override_config.ini绑定了非法按键名
处理步骤:把出问题的 ini 文件从 SD 卡移到电脑 → 重启确认能开机 → 对照config_templates/逐行修正后放回。
系统正常运行后的界面示例,可用于确认固件已完整启动
学习路径:按你的使用深度选入口
- 轻度使用:读 docs/main.md 了解组件划分,再对照
config_templates/里的模板改两三个配置项即可覆盖大部分需求。 - 调优折腾:逐份看
stratosphere/下各模块文档(如 dmnt、ams_mitm、boot2),结合金手指格式说明写自己的 cheat 文件。 - 参与开发:按 docs/building.md 搭好 devkitPro 工具链(devkitA64、devkitARM、hactool 等),在根目录执行
make走通一次完整构建,再从单一组件目录入手改代码。
速查卡片
| 要点 | 说明 |
|---|---|
| SD 卡格式 | 必须是 FAT32 |
| 关键文件位置 | package3、bootloader/在 SD 卡根目录 |
| 配置模板 | /atmosphere/config_templates/ |
| cheat 码路径 | /atmosphere/contents/<程序ID>/cheats/<build_id>.txt |
| 启动默认按键 | 不按 L 才加载金手指 |
| 启动画面规格 | 1280x720,用utilities/insert_splash_screen.py写入 |
| 修改内容的安全区 | 虚拟系统(emummc),不要碰真实系统 |
下一步很简单:现在就把 SD 卡备份做一次,然后用 emummc 创建虚拟系统,让真实系统保持干净。
【免费下载链接】Atmosphere-stable大气层整合包系统稳定版项目地址: https://gitcode.com/gh_mirrors/at/Atmosphere-stable
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考