Création d’une emuMMC avec Hekate

Le présent tutorial a pour but de vous expliquer la création et le lancement d’une emuMMC avec Atmosphère. Cette méthode a l’avantage d’isoler la sysNAND du hack, pour lui garder sa virginité et permettre une utilisation « officielle » (en ligne). Ainsi, tout ce qui sera installé en emuMMC ne transpirera pas sur la sysMMC. Et contrairement à ce qu’on pourrait croire, le démarrage de l’emuMMC est aussi rapide qu’avec la sysMMC interne !

La création et configuration de l’emuMMC se fait depuis l’excellent payload Hekate, accompagné de sa magnifique interface graphique « Nyx ». Il est fortement recommandé d’utiliser la méthode de stockage dite « fichier », qui vous évite de re-partitionner votre microSD (sans compter que certains OS, Windows notamment, ont horreur des partitions multiples sur ce type de média de stockage). Si vous souhaitez néanmoins utiliser la méthode « partition », gardez le strict minimum sur votre microSD. En effet, ce processus nécessite de faire une sauvegarde préalable des fichiers, limitée à 1Go, qui prend du temps supplémentaire ! L’idéal est donc d’avoir Hekate, Atmosphère, et rien d’autre !

Attention : Ce tutorial part du postulat que vous savez déjà démarrer votre console en mode RCM. Si tel n’est pas le cas, veuillez consulter le tutorial sur Atmosphère, ou bien encore celui sur le RCMLoader.

0/ Pré-requis :

La dernière version de Hekate (accompagné de Nyx) :

 

La dernière version du custom firmware Atmosphère :

 

Les derniers sigpatches compatibles :

 

Une carte microSD de 64Go (minimum recommandé) préalablement formatée en FAT32 (*)

(*) Windows étant volontairement limité, il ne vous proposera pas l’option FAT32 si la microSD dépasse une certaine taille (de mémoire, c’est à partir de 32Go). Vous pouvez contourner cette limitation arbitraire et totalement inexplicable avec l’excellent utilitaire GUI FAT32 Format (qui est léger et ne nécessite aucune installation pour faire correctement le boulot)

 


1/ Préparation :

Mettre le payload hekate_ctcaer_x.x.x.bin, renommé payload.bin, sur le média qui vous servira à démarrer la console :

  • sur un dongle RCMLoader : placé dans un des dossiers prédéfinis de votre choix (ATMOSPHERE_HEKATE en principe)
  • avec un dongle SX PRO :
    • à la racine de votre microSD : hekate_ctcaer_x.x.x.bin converti préalablement en boot.dat à l’aide de ce script python
    • à la racine de votre microSD : avec SX Gear décompressé également à la racine de la microSD
  • sur un téléphone Android avec l’application Rekado
  • sur Windows avec le logiciel TegraRCMGUI
  • à la racine de votre microSD si vous êtes équipés d’une puce type trinket m0, HWFLY ou SX  reflashée avec spacecracft-nx
    • avec une puce SX non convertie, obligation d’utiliser payload.bin conjointement avec SX Gear à décompresser également à la racine de la microSD

Puis décompresser telles quelles à la racine de votre microSD formatée préalablement en FAT32 les archives des dernières versions de :

  1. Atmosphère
  2. Hekate
  3. sigpatches

Vérifier que vous avez bien obtenu, au minimum, les dossiers bootloader et atmosphere à la racine de votre microSD.

 


2/ Création de l’emuMMC :

Lancer le payload hekate par le moyen de votre choix (RCMLoader, Rekado, TegraRCMGUI, etc.) et aller dans le menu emuMMC :

 

Choisir Create emuMMC :

 

Le gestionnaire va vous proposer de passer en mode fichier (SD File) ou partition (SD Partition). Nous allons privilégier le mode fichier par commodité :

 

En mode fichier, le processus démarre immédiatement. Votre sysMMC va être copiée dans votre emuMMC qui sera stockée dans le dossier emuMMC de votre microSD. À titre d’information, avec une mémoire bien remplie, le processus de copie prend environ 25 minutes :

 

L’emuMMC est désormais créée et pleinement fonctionnelle ! Son statut est donc passé à « Enabled! » en vert et un résumé des paramètres est rappelé juste en dessous :

 

↓ Alternative avec une partition dédiée (cliquer pour voir) ↓

L’alternative, SD partition, consiste à re-partitionner votre microSD pour y intégrer une partition cachée de 30Go.

 

Aucune partition dédiée n’étant trouvée, on vous propose d’en créer une. Faire Continue :

 

Une liste des fichiers trouvés sur la microSD est établie, la taille de l’ensemble ne doit pas excéder 1Go pour être sauvegardés automatiquement. Faire OK :

 

Dans le gestionnaire de partition, la taille de l’emuMMC (RAW), en rouge, est pour l’instant de 0GiB. Tout à fait normal puisque rien n’a encore été re-partitionné :

 

Réglez la taille de votre emuMMC comme bon vous semble. La logique voudrait que celle-ci soit de 29Go (comme ci-dessous) pour correspondre exactement à la taille réelle de la sysNAND, mais ce n’est absolument pas obligatoire. Il n’y a de toute façon aucune vérification de la taille de la NAND par le firmware. Comme les jeux seront dans tous les cas lancés depuis la microSD, une emuMMC trop large serait totalement inutile. Cliquer sur Next Step une fois que vous avez défini la taille de partition souhaitée :

 

Dernière possibilité pour annuler ou modifier les paramètres. Appuyer sur Start pour lancer le partitionnement :

 

Après avoir sauvegardé les fichiers, Hekate repartitionne la microSD selon vos paramètres, et vous indique une fois le processus terminé. Faire OK :

 

Vous avez désormais une seconde partition sur votre microSD, mais celle-ci est encore vide ! D’où le statut « Disabled! » en orange. Cliquer à nouveau sur Create emuMMC :

 

Cette fois-ci, une partition supplémentaire est détectée et vous propose une nouvelle option. Cliquer sur Part 1 :

 

Votre sysMMC va être copiée dans votre emuMMC. À titre d’information, avec une mémoire bien remplie, le processus de copie prend environ 25 minutes :

 

L’emuMMC est désormais créée et pleinement fonctionnelle ! Son statut est donc passé à « Enabled! » en vert et un résumé des paramètres est rappelé juste en dessous :

 

 

 

Un fichier emummc.ini, contenant les paramètres, a été créé par Hekate, dans le dossier emuMMC. Vous constaterez que le dossier Nintendo, à l’origine à la racine de la microSD, est ici paramétré dans emuMMC/RAW1/ ou emuMMC/SD01, afin de ne pas marcher sur les pieds de la sysNAND et provoquer des mélanges douteux.

sd:/emummc/emummc.ini

mode Fichier

[emummc]
enabled=1
sector=0x0
path=emuMMC/SD01
id=0x0000
nintendo_path=emuMMC/SD01/Nintendo

 

mode Partition

[emummc]
enabled=1
sector=0x38c7800
path=emuMMC/RAW1
id=0x0000
nintendo_path=emuMMC/RAW1/Nintendo

 

Si vous prenez des captures d’écran ou vidéo, c’est ici qu’il faudra se rendre pour les y retrouver.


3/ Configuration de Hekate :

Il va désormais falloir paramétrer Hekate pour qu’il vous offre un menu de démarrage, depuis lequel vous pourrez lancer, par exemple (choix personnels) :

  1. Atmosphère en mode sysNAND
  2. Atmosphère en mode emuMMC
  3. SXOS
  4. Le firmware officiel

 

Vous pouvez télécharger un exemple de fichier INI en suivant ce lien. Une fois sur la page, cliquez-droit sur le bouton « Raw » et faites « Enregistrer le lien sous… »

 

Renommez de suite le fichier téléchargé « hekate_ipl_template.ini » en « hekate_ipl.ini ». Ouvrez-le avec votre éditeur texte préféré (notepad++ fortement recommandé, même si bloc-notes fonctionne aussi), et modifiez-le comme suit (vous pouvez tout supprimer du fichier, puis copier/coller la configuration ci-dessous) :

sd:/bootloader/hekate_ipl.ini

[config]
autoboot=0
autoboot_list=0
bootwait=0
verification=1
backlight=100
autohosoff=0
autonogc=0
updater2p=0

[Atmosphere]
fss0=atmosphere/package3
kip1patch=nosigchk
atmosphere=1
emummc_force_disable=1

[Atmosphere_emummc]
fss0=atmosphere/package3
kip1patch=nosigchk
atmosphere=1
emummcforce=1

[Original]
fss0=atmosphere/package3
stock=1
emummc_force_disable=1

Vous obtiendrez ce menu de lancement, en cliquant sur Launch :

Bon à savoir : la ligne « autoboot= » permet de démarrer automatiquement l’option de son choix. Dans l’exemple ci-dessus, si vous mettez autoboot=2, Hekate démarrera automatiquement la 2ème entrée du menu, à savoir Atmosphere_emummc. L’autoboot est désactivable temporairement en maintenant Volume-, si vous souhaitez entrer sur Hekate 😉

 

Évidemment, si seule l’emuMMC vous intéresse, vous pourriez aussi vous contenter de ce fichier INI plus light :

sd:/bootloader/hekate_ipl.ini

[config]
autoboot=1
autoboot_list=0
bootwait=0
verification=1
backlight=100
autohosoff=0
autonogc=0
updater2p=0[Atmosphere_emummc]
fss0=atmosphere/package3
kip1patch=nosigchk
atmosphere=1
emummcforce=1

 

Voilà, vous avez désormais une emuMMC prête à l’utilisation. Bon jeu ! Étant donné que je chainload Atmosphère depuis Hekate, ce tutoriel aborde le lancement de l’emuMMC par ce biais. Libre à vous de l’adapter en fonction de vos propres besoins (Atmosphère peut logiquement gérer cela tout seul, comme un grand).

 


4/ Options supplémentaires :

si vous souhaitez vous protéger au maximum d’un possible ban de votre console (qui toucherait aussi bien la sysMMC officielle que l’emuMMC hackée), il est recommandé de procéder à deux réglages essentiels :

  1. masquer les données propres à votre console (prodinfo)
  2. utiliser des DNS alternatifs bloquant la connexion aux serveurs de Nintendo

 

4.1 Masquer votre prodinfo

Sachez qu’Atmosphère dispose d’une option native pour masquer en temps réel les données spécifiques à votre console (partition prodinfo), rendant le bannissement plus compliqué. Par défaut, cette option n’est malheureusement PAS active, on va donc corriger cela. Tout se passe dans le fichier exosphere.ini, qui se trouve à la racine de votre microSD (si vous avez déjà démarré Atmosphère au moins une fois). Si vous n’avez pas ce fichier, rendez-vous dans atmosphere\config_template, copiez exosphere.ini et collez-le à la racine de votre microSD.

Editez le fichier exosphere.ini avec l’éditeur de texte de votre choix (notepad++ fortement recommandé ! mais bloc-notes fera aussi l’affaire), vous devriez avoir ceci (tout en bas du fichier) :

[exosphere]
debugmode=1
debugmode_user=0
disable_user_exception_handlers=0
enable_user_pmu_access=0
blank_prodinfo_sysmmc=0
blank_prodinfo_emummc=0
allow_writing_to_cal_sysmmc=0

Ciblez la ligne « blank_prodinfo_emummc » et remplacez la valeur 0 par 1. Vous obtiendrez donc :

[exosphere]
debugmode=1
debugmode_user=0
disable_user_exception_handlers=0
enable_user_pmu_access=0
blank_prodinfo_sysmmc=0
blank_prodinfo_emummc=1
allow_writing_to_cal_sysmmc=0

Sauvegardez les modifications. Bravo, désormais, Atmosphère masquera les informations personnelles de votre console. Vous pouvez vérifier cela dans les Paramètres de la console → Console → Numéros de série. Si tout est bon, le numéro de série de la console doit être remplacé par « XAW00000000000 »

Nota : Cette méthode est bien moins dangereuse que celle utilisée par incognito (qui efface physiquement les données de la partition prodinfo !).

4.2 Serveurs DNS alternatifs

Il existe plusieurs serveurs DNS alternatifs, qui ont la particularité de bloquer les adresses IP des serveurs de Nintendo. Vous ne pourrez donc pas profiter du online officiel (ce qui est tout à fait normal pour une console hackée) mais la console ne pourra pas non plus envoyer de télémétrie à Nintendo, qui lui permettrait de savoir que la console fait tourner des choses exotiques et vous bannir (ce qui bannirait également la partie sysMMC non hackée). Le plus connu de ces serveurs DNS s’appelle 90DNS.

Il suffit de vous rendre dans les options de connexion, de choisir le réglage manuel des serveurs DNS, puis de renseigner ces deux IP :

  • DNS primaire : 163.172.141.219
  • DNS secondaire : 207.246.121.77

 

Bravo, vous êtes protégé du mieux que vous pouvez contre un bannissement. Attention cependant, il ne s’agit pas d’une méthode infaillible, même les hackeurs ne connaissent pas toutes les méthodes utilisées par Nintendo pour repérer les Switch hackées. Vous enfilez idonc ci un gilet par-balles pour mettre toutes les chances de votre côté, ce qui ne veut pas dire pour autant que vous ne tomberez pas un jour sur une mine !

4.3 Redirections DNS d’Atmosphère

Depuis sa version 0.18.0, Atmosphère dispose nativement d’un module de redirection DNS, qui permet d’obtenir les mêmes résultats qu’avec 90DNS sans modifier les DNS de la console. Il suffit pour cela d’aller dans « Atmosphere\hosts » (si « hosts » n’existe pas, il faudra le créer) puis générer un nouveau fichier texte qui contiendra ceci :

# 90DNS
127.0.0.1 *nintendo.com
127.0.0.1 *nintendo.net
127.0.0.1 *nintendo.jp
127.0.0.1 *nintendo.co.jp
127.0.0.1 *nintendo.co.uk
127.0.0.1 *nintendo-europe.com
127.0.0.1 *nintendowifi.net
127.0.0.1 *nintendo.es
127.0.0.1 *nintendo.co.kr
127.0.0.1 *nintendo.tw
127.0.0.1 *nintendo.com.hk
127.0.0.1 *nintendo.com.au
127.0.0.1 *nintendo.co.nz
127.0.0.1 *nintendo.at
127.0.0.1 *nintendo.be
127.0.0.1 *nintendods.cz
127.0.0.1 *nintendo.dk
127.0.0.1 *nintendo.de
127.0.0.1 *nintendo.fi
127.0.0.1 *nintendo.fr
127.0.0.1 *nintendo.gr
127.0.0.1 *nintendo.hu
127.0.0.1 *nintendo.it
127.0.0.1 *nintendo.nl
127.0.0.1 *nintendo.no
127.0.0.1 *nintendo.pt
127.0.0.1 *nintendo.ru
127.0.0.1 *nintendo.co.za
127.0.0.1 *nintendo.se
127.0.0.1 *nintendo.ch
127.0.0.1 *nintendo.pl
127.0.0.1 *nintendoswitch.com
127.0.0.1 *nintendoswitch.com.cn
127.0.0.1 *nintendoswitch.cn
95.216.149.205 *conntest.nintendowifi.net
95.216.149.205 *ctest.cdn.nintendo.net

Sauvegarder le fichier en sysmmc.txt et/ou emummc.txt (en fonction de vos besoins). Désormais, Atmosphère bloquera toutes les adresses (actuellement connues) des serveurs Nintendo. Cette méthode n’est pas parfaite (de nouvelles adresses peuvent émerger), mais, cumulée avec le masquage des données personnelles (et, pourquoi pas, les serveurs DNS de 90DNS), a le mérite de mettre toutes les chances de votre côté pour éviter le coup de massue du ban.