Atmosphere v0.8.4: Custom firmware Switch

Atmosphere est un custom firmware pour Nintendo Switch permettant de réécrire tout le code de l'OS.

Atmosphere est composé de plusieurs éléments :
Fusée: First-stage Loader, responsible for loading and validating stage 2 (custom TrustZone) plus package2 (Kernel/FIRM sysmodules), and patching them as needed. This replaces all functionality normally in Package1loader/NX Bootloader.
Exosphère: Customized TrustZone, to run a customized Secure Monitor
Thermosphère: EL2 EmuNAND support, i.e. backing up and using virtualized/redirected NAND images
Stratosphère: Custom Sysmodule(s), both Rosalina style to extend the kernel/provide new features, and of the loader reimplementation style to hook important system actions
Troposphère: Application-level Horizon OS patches, used to implement desirable CFW features
Version 0.8.4
Support for 7.0.0/7.0.1 was added.
This is facilitated through a new payload, sept, which can be signed, encrypted, and then loaded by Nintendo's TSEC firmware.
sept will derive the keys needed to boot new firmware, and then load sept/payload.bin off the SD card and jump to it.
Recognition of applications for override/mitm has been improved.
Nintendo's official Title ID range (0x0100000000000000-0x01FFFFFFFFFFFFFF) is now enforced.
A deadlock condition was fixed involving libstratosphere mitm sysmodules.
Kernel patches for JIT support were added (Thanks, @m4xw!).
These loosen restrictions on caller process in svcControlCodeMemory.
set.mitm and fs.mitm were merged into a single ams_mitm sysmodule.
This saves a process ID, allowing users to run one additional process up to the 0x40 process limit.
A bpc.mitm component was added, performing custom behavior on shutdown/reboot requests from am or applications.
Performing a reboot from the reboot menu now reboots to atmosphere. This can be configured via system_settings.ini.
Performing a shutdown from the reboot menu now works properly with AutoRCM, and does a real shutdown.
General system stability improvements to enhance the user's experience.

Version 0.8.3
A custom warmboot firmware was implemented, which does not perform anti-downgrade fuse checks.
This fixes sleep mode when using a downgraded NAND.
This also removes Atmosphère's final dependency on Nintendo's encrypted PK11 binary; all components are now re-implemented.
The ExternalContentSource API was changed to not clear on failure.
Content override now supports an "app" setting, that causes all applications to be overridden with HBL instead of a specific title.
Note: because override keys are system-wide, using this setting will prevent using mods in games (as every game will be HBL).
A bug was fixed causing incorrect fatal-error output when svcBreak was called on 5.0.0+.
An extension was added to set.mitm to support customization of system settings.
These are controlled by atmosphere/system_settings.ini, see here for documentation.
By default, this is used to disable error report uploading, and enable USB 3.0 superspeed when possible.
An extension was added to sm, adding a new sm:dmnt service.
This can be used by a debug monitor in order to debug the registration state of various other services.
A bug was fixed in the MitM API that could sometimes cause a system hang during boot.
A change was made to the MitM API: in cases where sm would have returned 0xE15 when installing a mitm service, it now defers the result (following GetService semantics).
Support for booting into maintenance mode by holding */- was added to PM.
An extension was added to exosphere, adding a custom SMC that allows for DMA to IRAM.
In addition, smcGetConfig was extended to reboot to a payload in IRAM at 0x40010000 when ConfigItem 65001 is set to 2.
Fatal will now use this to reboot to sdmc:/atmosphere/reboot_payload.bin if present, when a vol button is pressed.
An example homebrew ("reboot_to_payload") was also written and is now included with Atmosphère.
General system stability improvements to enhance the user's experience.

Version 0.8.0
Cette version ajoute le support du firmware 6.2.0 ainsi que une protection anti brick, et d'autres choses :

A custom fatal system module was added.
This re-implements and extends Nintendo's fatal module, with the following features:
Atmosphère's fatal does not create error reports.
Atmosphère's fatal draws a custom error screen, showing registers and a backtrace.
Atmosphère's fatal attempts to gather debugging info for all crashes, and not just ones that include info.
Atmosphère's fatal will attempt saving reports to the SD, if a crash report was not generated by creport.
Title flag handling was changed to prevent folder clutter.
Instead of living in atmosphere/titles//%s.flag, flags are now located in atmosphere/titles//flags/%s.flag
The old format will continue to be supported for some time, but is deprecated.
Flags can now be applied to HBL by placing them at atmosphere/flags/hbl_%s.flag.
Changes were made to the mitm API, greatly improving caller semantics.
sm now informs mitm services of a new session's process id, enabling custom handling based on title id/process id.
smhax is no longer enabled, because it is no longer needed and breaks significant functionality.
Users with updated HBL/homebrew should see no observable differences due to this change.
Functionality was added implementing basic protections for NAND from userland homebrew:
BOOT0 now has write protection for the BCT public key and keyblob regions.
The ns sysmodule is no longer allowed to write the BCT public keys; all other processes can.
This should prevent system updates from removing AutoRCM.
No processes should be allowed to write to the keyblob region.
By default, BIS partitions other than BOOT0 are now read-only, and CAL0 is neither readable nor writable.
Adding a bis_write flag for a title will allow it to write to BIS.
Adding a cal_read flag for a title will allow it to read CAL0.
An automatic backup is now made of CAL0 on boot.
fs.mitm maintains a file handle to this backup, so userland software cannot read it.
To facilitate this, fs.mitm now mitms all sessions for non-system modules; content overriding has been made separate from service interception.
Please note: these protections are basic, and sufficiently malicious homebrew can defeat them.
Please be careful to only run homebrew software from sources that you trust.
A bug involving HDCP titles crashing on newer firmwares was fixed.
Support was added for system version 6.2.0; our thanks to @motezazer for his invaluable help.
By default, new keys will automatically be derived without user input.
Support is also present for loading new keys from atmosphere/prod.keys or atmosphere/dev.keys
General system stability improvements to enhance the user's experience.

Au niveau des compatibilités, ça marche avec toutes les Switchs "première génération", celles construites avant juillet 2018.
Si vous êtes compatibles, vous devrez utiliser RCM (ou recovery mode) sur votre Switch pour lancer Atmosphere. Il s'agit de la technique utilisant les appuis simultanés des boutons "home" et "volume up", technique qui implique des bidouilles techniques étant donné que cette combinaison de touches ne peut se faire avec le joycon. Lisez ce guide pour savoir comment faire. officiel :

Identifiez vous pour télécharger les fichiers.