Tutorial  Updated

Multiple emuMMC setup, including restoring a clean NAND for online use

I know there are several topics about setting up the emuMMC, but I decided to publish this tutorial because people keep asking about the creation / recognition of multiple emuMMC in Hekate.

The purpose of this tutorial is to provide an easy way to setup two (or more) emuMMC, being one of them your emulated clean backup, THAT IS ABLE TO RUN ONLINE (clean emuMMC) and the other an emulated copy of your current real sysnand (dirty emuMMC).

Your real sysnand must be maintained at the lowest firmware possible, so you can start Hekate without a dongle (DejaVu is already a reality from 1.0.0 to 4.0.1).

At first I tried this steps when going for an Android + 2 emuMMC setup but Android didn't boot, so I advise following this tutorial only for a multiple emuMMC setup.

P.S. From 5.2.0 on Hekate introduced a "SD Card Partition Manager", wich allows the selection of up to 2 emuMMC + Linux + Android (I didn't try it yet).

I had some trouble flashing the NANDs with Windows applications so I used a virtual machine (Oracle VM VirtualBox) + a Linux distro (Linux Mint) because in my opinion it handles better formatting / resizing partitions (with Gparted Live) and flashing NAND backups to specific partitions (with the dd command line tool).

Some people (@annson24 and @ben_dover) reported they were able to format / resize using Minitool Partition Wizard or DiskGenius and to flash using dd for Windows, so I included their instructions.

How to:

1. Delete all partitions from the SD card.

2. Create three partitions using your prefered application:

- first: SD card data, wich is recommend to be FAT32 (for homebrew). This partition size = SD card total size – (2x 29856 MB)
- second: emuMMC1 = RAW1, with exactly 29856 MB (if using Gparted Live: may be unformatted, but not unallocated)
- third: emuMMC2 = RAW2, with exactly 29856 MB (if using Gparted Live: may be unformatted, but not unallocated)

3. Join the files BOOT0, BOOT1 and RAWNAND.bin of your clean NAND backup:

- Linux: cat BOOT0 BOOT1 rawnand.bin > emummc.bin
- Windows: copy /b BOOT0+BOOT1+rawnand.bin emummc.bin

4. This is the key step: you have to flash that big file (emummc.bin) to the THIRD partition of your SD card (emuMMC2) using dd.

Linux
Run a terminal and type the following dd command:

sudo dd if=/media/sf_Shared_Folder/emummc.bin of=/dev/sdb3 bs=512M status=progress

P.S.1 The "if" path is MY Linux Mint shared folder path, you need to use your emummc.bin location
P.S.2 The "of" path is MY third SD card partition, you can check your driver identifier on Gparted Live (mine was "b")

Windows
1. Copy dd.exe (or ddrelease64.exe) to a folder of your choosing (I put it directly in C:\)
2. Disable your anti-virus software (it may prevent dd from having write access to the SD card)
3. Run diskmgmt.msc (Windows Disk Management) and find your SD card. Take note of the Disk # associated to it. This will help you with your dd command.
4. Right-click on your SD card FAT32 partition and select “Change Drive Letter…”. Remove the driver letter associated to it. This is equivalent to unmounting the drive. (not sure if this is needed to prevent access issues for dd but I did this step)
5. Open a command prompt window as an administrator and go to the folder where your dd.exe is located
6. Type the command “dd --list”. This will show all drives and partitions on your computer. Scroll down towards the bottom of the generated list and look for a Device with the Harddisk # you have taken note of earlier in Windows Disk Management. This Device will have 3 partitions: your FAT32 partition and the two RAW partitions. To confirm you are looking at the right Device, the two raw partitions will have the same size. The partition you want to dd to will be Partition3
7. Type the command to flash your emummc.bin to the RAW partition on your SD card:
“dd bs=512M if=drive:\folder\emummc.bin of=\\?\Device\Harddisk#\Partition3 --progress”

Here’s an example of the command with actual parameters:
“dd bs=512M if=c:\Nintendo_Switch_backup\emummc.bin of=\\?\Device\Harddisk3\Partition3 --progress”
- If you are using ddrelease64.exe replace “dd” in the command by “ddrelease64”

5. Grab your SD card, insert it on the Switch, start Hekate, tap emuMMC and then "Migrate emuMMC": voilà, now you have RAW2!

6. For the RAW1 select "Create emuMMC" > "SD partition" (this emuMMC will be an emulated copy of your current sysnand)

----------

In my case (stock firmware = 1.0.0):

- Turn on the Switch (no dongle)
- Reswitched link in the News (installed by Fake News) starts PegaScape
- Nereba takes me to Hekate
- From there I choose between RAW1 and RAW2

Hekate showing installed RAW1 and RAW2:
raw1-2.jpg

RAW1 Home screen
(emuMMC1, dirty, 90DNS, updated using ChoiDujourNX)
raw1.jpg

RAW2 Nintendo Shop
(emuMMC2, clean, no 90DNS, updated using Nintendo official servers)
raw2.jpg



*** Last system tested/working online: clean emuMMC 11.0.1 x Atmosphere 0.16.1 pre-release ***

Common concerns:

1. Even in the clean emuMMC Atmosphere is running in the background.
Simply running Atmosphere isn't a problem and doesn't generate a ban.

E.g. : If you check your system's version, Atmosphere's version will appear next to it ; you can access Hbmenu through Album ; in my case even the BootSoundNX sysmodule sound plays at startup (that hang is expected, I should use a shorter sound sample).

2. You don't need to move any files from your SD card when choosing one of the two emuMMC.
I have Kosmos Toolbox, Tesla, sysmodules and overlays in storage.

3. Fuses burn when updating + booting the real sysnand.
We are using the real sysnand only to start Hekate = no fuses burnt.

With that in mind I suggest:
- turning off nogc in Atmosphere and Hekate (there's no use for it)
- deleting any sysnand boot setup from hekate_ipl.ini (there's no use for it)

4. Apparently the burnt fuse count isn't sent to Nintendo.
I've had this configuration for several months now and my real sysnand is 1.0.0 = one burnt fuse.

Additional tips:

1. To facilitate switching between emuMMC configure Power options > Restart to initiate Hekate:
- confirm this is in atmosphere > config > system_settings.ini: power_menu_reboot_function = str!payload
- use Hekate's payload as your reboot_payload.bin in atmosphere's folder.

2. I recommend using latest "pure" Hekate and Atmosphere + only this patches: https://github.com/ITotalJustice/patches/releases

3. Change the emuMMC's backgrounds so you don't confuse them.

4. Change the dirty emuMMC's DNS (I use 90dns).
I didn't try Atmosphere's "blanking PRODINFO" new option because I think it will prevent online use on the clean emuMMC.

5. ChoiDujourNX only works in applet mode (to update the dirty emuMMC's firmware)

6. After updating the clean emuMMC make a new backup and delete the older one.
Hekate still can only backup the first 0xE0 partition that it finds (RAW1) so the easiest way to backup RAW2 is using dd, inverting the source and destination locations. In my case (for RAW2 = third partition):

- flash emuMMC: sudo dd if =/media/sf_Shared_Folder/emummc.bin of=/dev/sdb3 bs=512M status=progress
- backup emuMMC: sudo dd if =/dev/sdb3 of =/media/sf_Shared_Folder/emummc.img bs=512M status=progress

The extension (I used .img) probably doesn't matter, and may not even be needed.
I tested the generated file on NXNandManager (https://github.com/eliboa/NxNandManager) and it was recognized perfectly.

7. My clean emuMMC only booted with fusee-secondary. The dirty one was ok with fusee-primary, and I highly recommend its use because it allows Tinfoil to work.

8. Here's my simple and functional hekate_ipl.ini:

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

[CFW]
emummcforce=1
emupath=emuMMC/RAW1
payload=bootloader/payloads/fusee-primary.bin
icon=bootloader/res/atmosphere.bmp
logopath=bootloader/bootlogo.bmp
{}

[OFW]
emummcforce=1
emupath=emuMMC/RAW2
fss0=atmosphere/fusee-secondary.bin
icon=bootloader/res/icon_switch_custom.bmp
logopath=bootloader/bootlogo.bmp
{}
 
Last edited by kassio69,

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
    K3Nv2 @ K3Nv2: Let me finish do the harder drugs