☰
大气层Atmosphere六层架构揭秘:从fusée到troposphère的完整原理
2026/9/25 2:49:39 网站建设 项目流程

大气层Atmosphere六层架构揭秘:从fusée到troposphère的完整原理

【免费下载链接】Atmosphere-stable大气层整合包系统稳定版项目地址: https://gitcode.com/gh_mirrors/at/Atmosphere-stable

Atmosphere(大气层)是任天堂 Switch 上最经典的定制化系统(定制固件),它采用独特的六层架构设计,每一层都对应地球大气层的一个层级,从底层的安全启动到上层的应用定制,逐层替换并扩展系统组件。本文将用最通俗的方式,带你完整看懂这套从 fusée 引导启动到 troposphère 应用层的六层原理,零基础也能轻松上手理解。

🌍 什么是大气层系统?

简单来说,Atmosphere 是一套运行在 Switch 上的完整定制系统环境:

  • 🚀 通过 RCM 漏洞(CVE-2018-6242)注入自定义引导程序
  • 🧩 用自研组件逐层替换 Horizon OS(Switch 官方系统)的各个部件
  • 📦 支持自研系统模块、金手指、emummc 模拟存储、自制软件等扩展功能

它的设计哲学是**"分层替换"**——不推翻整个系统,而是像洋葱一样,从最底层往上一层层剥离替换。

📊 六层架构总览:一张表看懂

层级组件名运行位置核心职责
第1层fusée(火箭)RCM 启动硬件初始化、挂载 eMMC、启动 exosphère
第2层exosphère(外层空间)EL3 最高特权级安全监视器、加密操作、电源管理
第3层thermosphère(热层)EL2 特权级预留的 hypervisor 虚拟化层
第4层mesosphère(中层)EL1 内核级重新实现的微内核
第5层stratosphère(平流层)系统模块级十余个自研系统模块
第6层troposphère(对流层)应用级应用层定制与扩展

整体架构说明可参考官方文档 docs/main.md,其中完整列出了六大核心组件与 emummc、libraries 两个辅助组件。

🚀 第一层:fusée —— 一切的起点

fusée 是整条链路上第一个运行的代码,它以独立 payload 的形式,通过 RCM 模式被注入 Switch。它承担了最"苦最累"的底层工作:

  • ⚡ 完成 Switch 所有低层级硬件初始化
  • 🔐 建立系统所需的加密体系
  • 💾 挂载并模拟 eMMC 存储
  • 📄 注入/修补系统模块,随后拉起 exosphère

源码位于 fusee/ 目录,核心入口见 fusee/program/source/fusee_main.cpp,详细说明见 docs/components/fusee.md。

🔒 第二层:exosphère —— 最高特权的安全管家

exosphère 是对 Horizon OS **Secure Monitor(安全监视器)**的定制重写版,运行在主处理器最高的特权模式EL3,相当于系统里的"保险柜管理员":

  • 负责所有敏感加密运算
  • 管理每颗 CPU 的电源策略
  • 扩展了 3 个自定义 SMC 调用(如 DRAM↔IRAM 内存拷贝、emummc 配置读取),专为自制软件生态服务
  • 内置lp0fw(唤醒)、sc7fw(休眠)、rebootstub(重启到任意 payload)三个小工具

相关实现见 exosphere/,文档见 docs/components/exosphere.md。

🧊 第三层:thermosphère —— 预留的虚拟化层

thermosphère 是一个**开发中的 hypervisor(虚拟机监控程序)**实现,瞄准 Horizon OS 未使用的 EL2 特权级,未来可提供虚拟化能力。

目前它体量很小,核心代码见 thermosphere/src/main.c,文档见 docs/components/thermosphere.md。

⚙️ 第四层:mesosphère —— 重新实现的内核

Switch 官方内核遵循微内核设计、运行在 EL1。mesosphère 是它的定制重写版,分为加载器(kernel_ldr)和主内核两部分:

  • 调度线程、管理内存页表
  • 实现全部 SVC 系统调用(共 37 个 SVC 实现文件)
  • 处理 IPC、进程与地址空间

完整内核对象实现(进程、线程、共享内存、同步原语等)都在 libraries/libmesosphere/,入门文档见 docs/components/mesosphere.md。

📦 第五层:stratosphère —— 系统模块的大本营

这是六层中代码量最大、功能最多的一层,负责在系统级"逐个替换"官方模块。内置 17 个模块,包括:

  • loader:重写进程加载器,支持用 SD 卡文件替换/打补丁游戏与系统模块(IPS 补丁、文件覆盖),是金手指和自制软件的基础
  • boot:开机动画与电池驱动
  • sm / pm / fssrv / htc:系统管理、进程管理、文件系统服务、温度控制等
  • ams_mitm:中间人模块,拦截并定制系统服务
  • fatal:自定义错误显示界面

模块清单见 docs/components/stratosphere.md,各模块文档在 docs/components/modules/,例如 loader 模块详解。源码目录见 stratosphere/loader/ 与 stratosphere/ams_mitm/。

🎮 第六层:troposphère —— 应用层定制

最外层的 troposphère 面向应用级定制,包含:

  • reboot_to_payload:一键重启到指定 payload 的示例应用
  • 自制 UI 界面(如 daybreak、haze 等系统主题)

源码见 troposphere/,文档见 docs/components/troposphere.md。

🎁 加分项:emummc 与公共库

除了六层主体,Atmosphere 还包含两个重要辅助组件:

  • emummc:在内存/SD 卡上模拟 eMMC 存储,实现"虚拟系统分区",是虚拟系统玩法的核心,代码见 emummc/
  • libraries:四大公共库 ——libexosphere(硬件抽象)、libmesosphere(内核)、libstratosphere(系统模块)、libvapours(加密与存储驱动),是整个架构的"地基",见 libraries/

📚 延伸阅读:从文档到配置

想深入学习的同学,建议按以下路径进阶:

  • 架构总览:docs/main.md
  • 构建指南:docs/building.md
  • 常见问题:docs/faq.md
  • 功能特性:金手指 与 配置项
  • 示例配置模板:config_templates/exosphere.ini、config_templates/override_config.ini

总结:Atmosphere 的六层架构并非炫技,而是对 Switch 启动链路的精确映射——fusée 点火起飞,exosphère 守住安全底线,mesosphère 与 stratosphère 撑起系统骨架,troposphère 让一切面向用户可见。理解了这六层,你就掌握了大气层系统的完整原理!🌟

【免费下载链接】Atmosphere-stable大气层整合包系统稳定版项目地址: https://gitcode.com/gh_mirrors/at/Atmosphere-stable

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

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询