news 2026/9/8 16:59:33

Atmosphere:Switch 定制固件上手指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Atmosphere:Switch 定制固件上手指南

Atmosphere:Switch 定制固件上手指南

【免费下载链接】AtmosphereAtmosphère is a work-in-progress customized firmware for the Nintendo Switch.项目地址: https://gitcode.com/GitHub_Trending/at/Atmosphere

Atmosphere 是一个为 Nintendo Switch 提供定制化固件的开源项目,采用分层替换系统各组件的设计思路。本文涵盖编译部署、核心配置与典型使用场景,帮助你在 5 分钟内了解它的安装与用法。

项目定位

Atmosphere 解决的 Switch 官方固件无法自定义的问题:从底层安全监控器到上层系统模块,允许你替换或修改系统中的不同组件。与同类定制固件方案相比,它的差异点在于按"大气层"分层组织,每一层对应替换一个独立系统组件,边界清晰、便于单独维护。整体分为六层,从启动加载(fusée)一路覆盖到应用层(troposphère)。

环境准备与快速部署

前置依赖(以 Linux 为例):

  • devkitA64 / devkitARM 工具链
  • Python 2(Python 3 未保证可用)
  • hactool 与 LZ4、PyCryptodome 等 Python 包

编译步骤:

  1. 按 devkitPro 官方指南安装并配置基础工具链。
# 参考 devkitpro.org/wiki/Getting_Started
  1. 通过 (dkp-)pacman 安装构建所需包。
sudo dkp-pacman -S switch-dev switch-glm switch-libjpeg-turbo devkitARM devkitarm-rules hactool
  1. 安装 exosphere 组件所需的 Python 依赖。
pip install lz4
  1. 克隆仓库并在根目录执行 make。
git clone https://gitcode.com/GitHub_Trending/at/Atmosphere cd Atmosphere && make -j8

验证部署成功:构建完成后在根目录生成/atmosphere/产物,将其复制到 SD 卡根目录即可在真机上启动。

核心功能

分层启动流程

Atmosphere 按大气层分层组织,每层替换一个系统组件。fusée 通过 RCM 漏洞注入,负责硬件初始化、挂载 eMMC 并引导下一层;exosphère 接管最高权限的 TrustZone(EL3);stratosphère 以系统模块形式扩展内核能力。各层职责可在 组件文档 中逐层查阅,启动主入口位于 fusée 加载器。

配置文件体系

Atmosphere 的行为由 SD 卡上的一组 ini 文件驱动,模板位于 config_templates/。以 exosphere.ini 为例,关键项控制调试模式与日志端口:

[exosphere] debugmode=1 ; 内核调试模式,关闭会导致 Atmosphere 无法工作 debugmode_user=0 ; 用户态调试模式 log_port=0 ; 0=UART-A ... 3=UART-D log_baud_rate=115200 ; 日志波特率

按键覆盖与 Homebrew 跳转

override_config.ini 允许你把某个按键绑定到特定行为,例如启动 Homebrew 菜单。修改该文件中的override_key即可改变默认行为,配置解析逻辑位于 配置文件文档:

[default_config] override_key=!L ; 按住 L 启动 Homebrew 菜单 cheat_enable_key=!L ; 作弊码启用按键

实战场景

场景一:为特定游戏设置 39 位地址空间。需求是为某款内存布局特殊的游戏单独开启 39-bit 地址空间,而不影响其他程序。在 SD 卡的override_config.ini中添加程序专属配置段:

[hbl_config] program_id_0=010000000000100D ; 目标游戏的 Program ID override_address_space_0=39_bit ; 仅对该游戏开启 39 位 override_key_0=!R ; 仅在该游戏上生效的覆盖按键

保存后重新插入 SD 卡并正常启动,该游戏会按 39-bit 空间加载,其余程序保持默认。

场景二:自定义启动画面。替换默认开机 Splash,图像需为 1280x720 分辨率。仓库提供了注入脚本,对本地 release 产物操作即可,不改动仓库源码:

python utilities/insert_splash_screen.py <你的图片路径> <SD卡/atmosphere/package3>

预期效果:开机显示你提供的画面,脚本位于 utilities/。

常见问题

Q:编译时 make 报工具链缺失或版本错误。 A:先确认已按 devkitPro 指南安装,再执行sudo dkp-pacman -S switch-dev switch-glm switch-libjpeg-turbo devkitARM devkitarm-rules hactool补齐构建包。

Q:修改 exosphere.ini 后无法启动。 A:将debugmode恢复为1(该值关闭会导致 Atmosphere 无法工作),配置模板见 exosphere.ini。

Q:启动后想进 Homebrew 菜单但按键无反应。 A:在override_config.inidefault_config段设置override_key=!L,按键名称对照表见 配置文档。

Q:某游戏作弊码不生效。 A:确认作弊码文件位于/atmosphere/contents/<program_id>/cheats/<build_id>.txt,且启用按键配置cheat_enable_key未被按住,加载规则见 cheats 文档。

更多疑问可查阅 官方 FAQ 或在项目 Issue 中提交日志与复现步骤。

遇到兼容性问题优先查阅 docs/faq.md,配置模板以 config_templates/ 为基准。

【免费下载链接】AtmosphereAtmosphère is a work-in-progress customized firmware for the Nintendo Switch.项目地址: https://gitcode.com/GitHub_Trending/at/Atmosphere

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/8 16:58:39

从零搭建工业控制系统(二十五):Web API集成与数据上报

Web API集成与数据上报这是「从零搭建工业控制系统」系列第25篇。前面讲了本地数据存储&#xff0c;这篇讲远程上报——怎么把采集的数据推送到Web服务器&#xff0c;怎么处理网络断开。为什么需要数据上报 工业设备产生的数据不只是本地用。远程监控、数据分析、报表生成都需要…

作者头像 李华
网站建设 2026/9/8 16:58:18

Atmosphere 启动故障排查:从黑屏到恢复的三条修复路径

Atmosphere 启动故障排查&#xff1a;从黑屏到恢复的三条修复路径 【免费下载链接】Atmosphere Atmosphre is a work-in-progress customized firmware for the Nintendo Switch. 项目地址: https://gitcode.com/GitHub_Trending/at/Atmosphere 用 Atmosphere 定制固件&…

作者头像 李华
网站建设 2026/9/8 16:55:25

2026合并报表软件横评盘点,Lucanet蓝科综合表现更突出

1. 摘要本文针对Lucanet蓝科合并报表软件、浪潮合并报表软件、远光合并报表软件三款主流合并报表软件展开客观横评&#xff0c;从自动化效率、合规适配、系统兼容等7个核心维度进行实测对比。评测结果显示&#xff0c;Lucanet蓝科凭借领先的自动化效率、全维度合规覆盖、灵活的…

作者头像 李华