Homebrew AIO Switch Updater - Update CFW, FW, cheats and more directly from the Switch

Homlet

Well-Known Member
OP
Member
Joined
Feb 28, 2020
Messages
589
Trophies
0
XP
2,509
Country
France
ok every time i try to update it crashes or takes me to a hekate that when i click boot, CFW isn't a option. there is no options...or payloads

using atmosphere, and fusee payload.

I click download latest, overwrite ini, when it then asks if i want to download the latest hekate as well. so here is where it goes wrong. if i say no, it goes black screen and crash. If I choose to download the latest hekate it reboots into hekate, but I am stuck there. I can't boot into cfw and when i click payloads nothing is there. Is there a way to just boot into my normal atmosphere without hekate for it to do the update and reboot? I am sure I am overlooking something simple, and for that I am sorry! the only sysmodules that I am using that I know of is the FTPlite
so it could be a few things, although the easiest way to fix it would simply be to delete your sept, atmophere, and bootloader folder and grab new ones (from the atmosphere and, if you use it, hekate github). If you some important config files you want to keep, back those up
 

Morawake

Member
Newcomer
Joined
May 21, 2021
Messages
7
Trophies
0
Age
30
XP
47
Country
United States
Can this install Atmosphere (Primary or Secondary) and the sigpatches without overwriting the Reboot to Payload files in the Atmosphere folder and the payloads folder, or changing the Hekate config files?

Side Note:
I boot into Atmosphere Primary from Hekate, but I'm not sure it makes a difference. I don't understand the need for the Secondary.
 

Homlet

Well-Known Member
OP
Member
Joined
Feb 28, 2020
Messages
589
Trophies
0
XP
2,509
Country
France
Can this install Atmosphere (Primary or Secondary) and the sigpatches without overwriting the Reboot to Payload files in the Atmosphere folder and the payloads folder, or changing the Hekate config files?

Side Note:
I boot into Atmosphere Primary from Hekate, but I'm not sure it makes a difference. I don't understand the need for the Secondary.
>without overwriting
You may do this with preserve.txt https://github.com/HamletDuFromage/aio-switch-updater#-update-cfw
>changing hekate config files
I will ask you if you want to overwrite .ini files when dowloading AMS or hekate, just say no

>I boot into Atmosphere Primary from Hekate, but I'm not sure it makes a difference. I don't understand the need for the Secondary.
It you meant chainloading, it should be fine yes
 

Morawake

Member
Newcomer
Joined
May 21, 2021
Messages
7
Trophies
0
Age
30
XP
47
Country
United States
I see, that would do what I want! But I noticed something that would perhaps be even more useful: the "copy_files.json"! I'd like to set it up to copy the latest hekate_ctcaer_*.*.*.bin file and rename it to reboot_payload.bin in the Atmosphere directory. The problem is I don't know if this can be setup with wildcard characters in the source file name to work regardless of the version number.

Code:
{
    "/source/path/to/file": "/destination/path/to/file",
    "/atmosphere/reboot_payload.bin": "/bootloader/payloads/payload.bin"
}


AIO Atmosphere Updater would switch out this file pretty easily, but too bad it doesn't work with the latest Atmosphere and is no longer supported.
 
Last edited by Morawake,

Homlet

Well-Known Member
OP
Member
Joined
Feb 28, 2020
Messages
589
Trophies
0
XP
2,509
Country
France
I see, that would do what I want! But I noticed something that would perhaps be even more useful: the "copy_files.json"! I'd like to set it up to copy the latest hekate_ctcaer_*.*.*.bin file and rename it to reboot_payload.bin in the Atmosphere directory. The problem is I don't know if this can be setup with wildcard characters in the source file name to work regardless of the version number.

Code:
{
    "/source/path/to/file": "/destination/path/to/file",
    "/atmosphere/reboot_payload.bin": "/bootloader/payloads/payload.bin"
}


AIO Atmosphere Updater would switch out this file pretty easily, but too bad it doesn't work with the latest Atmosphere and is no longer supported.
No, wildcards aren't supported with copyfiles_files.json, however whenever hekate_ctcaer* is extracted, it is copied to /bootloader/update.bin (https://github.com/HamletDuFromage/aio-switch-updater/blob/master/source/extract.cpp#L66) so that's where you find your hekate payload with a static name
 
  • Like
Reactions: lordelan

lordelan

Well-Known Member
Member
Joined
Jan 4, 2015
Messages
5,793
Trophies
1
Age
44
XP
6,550
Country
Germany
When you download atmopshere, the fusee-primary.bin is located in atmopshere/reboot_payload.bin. So doing this should work for what you want to do
Code:
{
    "/atmopshere/reboot_payload.bin": "/bootloader/payloads/fusee-primary.bin"
    "/bootloader/update.bin": "/payload.bin",
    "/bootloader/update.bin": "/atmosphere/reboot_payload.bin",
    "/bootloader/update.bin": "/bootloader/payloads/hekate.bin"
}
That's the exact setup I need. :) Thx!
 

MastaG

Member
Newcomer
Joined
May 5, 2021
Messages
18
Trophies
0
Age
37
XP
61
Country
Netherlands
Uh, this is odd. that might be some incompatibility with some sysmodule you have. Can you try running it with full ram access (holding R while launching a game)

I haven't tried full ram access yet but I found something strange.

I tried it on a second switch with the exact same atmosphere/hekate release, sigpatches, firmware version and it doesn't crash on that one.

In fact, I copied all the content from the crashing switch's sd-card (sept, bootloader, switch, config folders etc) to the second switch's sd-card (deleting the existing ones first) just to be sure.

The only difference between the two is that the switch where it crashes is running from a emuMMC partition (not a raw file but a dedicated partition) which was created using hekate.

So the only difference between the two FAT32 partitions would be the Nintendo folder and the fact that the crashing switch has a emuMMC folder with some config file as well.

It's a bit strange because unpacking and installing zip archives is only happening on the FAT32 partition right?
Or does it call something that has something to do with the e(mu)MMC system partition that might crash when it's being emulated?

I'll try full ram access and see if it makes a difference.
 

Morawake

Member
Newcomer
Joined
May 21, 2021
Messages
7
Trophies
0
Age
30
XP
47
Country
United States
Thank you! I think set it all up correctly:

Code:
{
    "/bootloader/update.bin": "/atmosphere/reboot_payload.bin",
    "/bootloader/update.bin": "/bootloader/payloads/reboot_payload.bin"
}
 

MastaG

Member
Newcomer
Joined
May 5, 2021
Messages
18
Trophies
0
Age
37
XP
61
Country
Netherlands
I haven't tried full ram access yet but I found something strange.

I tried it on a second switch with the exact same atmosphere/hekate release, sigpatches, firmware version and it doesn't crash on that one.

In fact, I copied all the content from the crashing switch's sd-card (sept, bootloader, switch, config folders etc) to the second switch's sd-card (deleting the existing ones first) just to be sure.

The only difference between the two is that the switch where it crashes is running from a emuMMC partition (not a raw file but a dedicated partition) which was created using hekate.

So the only difference between the two FAT32 partitions would be the Nintendo folder and the fact that the crashing switch has a emuMMC folder with some config file as well.

It's a bit strange because unpacking and installing zip archives is only happening on the FAT32 partition right?
Or does it call something that has something to do with the e(mu)MMC system partition that might crash when it's being emulated?

I'll try full ram access and see if it makes a difference.

I figured it out (finally).
Full ram access doesn't make a difference here.

When installing Atmosphere on the switch running from emuMMC, I need to answer No when it asks me to "delete all the custom sysmodules startup flags".
If I say Yes here, the switch running from emuMMC will crash.

So to sum things up... lets say a new atmosphere and hekate release are out.

My situation is: RCM X86 chip -> /payload.bin (hekate) -> /bootloader/payloads/fusee-primary.bin (ams)

I have the following set in: config/aio-switch-updater/copy_files.json
Code:
{
    "/bootloader/update.bin": "/payload.bin",
    "/bootloader/update.bin": "/atmosphere/reboot_payload.bin",
    "/bootloader/update.bin": "/bootloader/payloads/hekate.bin"
}

I first go to: Tools -> Download payloads to /bootloader/payloads -> fusee-primary.bin
This will get me the latest payload for chainloading Atmosphere.
(btw the message that appears on the screen when finishing the download is a bit vague..)

Then I select Update Atmosphere:
Overwrite exsiting ini files -> Yes
delete custom sysmodules startup flags -> NO!
Install hekate -> Yes
Overwrite ini files -> Yes (it doesn't overwrite the bootloader/hekate_ipl.ini as this is not shipped by default)

Now it prompts me te reboot.
But the copy_files.json action didn't trigger..

I tested it by removing my /payload.bin and /bootloader/payloads/hekate.bin files prior to running the program.

Am I doing something wrong?

EDIT:
I see now that only the last line is being parsed:
Code:
"/bootloader/update.bin": "/bootloader/payloads/hekate.bin"
The first two are not.. probably because it's the same source that's being copied to multiple locations.

EDIT2:
Yes that seems to be the case, you cannot specify the source file more than once.
So I've changed it to this:
Code:
{
    "/bootloader/update.bin": "/payload.bin",
    "/payload.bin": "/atmosphere/reboot_payload.bin",
    "/atmosphere/reboot_payload.bin": "/bootloader/payloads/hekate.bin"
}

Et voila.. it's solved now.
First it'll copy the latest hekate payload to /payload.bin.
Then it'll copy /payload.bin to /atmosphere/reboot_payload.bin
And last but not least it will copy /atmosphere/reboot_payload.bin to /bootloader/payloads/hekate.bin

Et voila!

I can now succesfully updated both my modded switches without having to rip out the sd-cards!
Thank you!
 
Last edited by MastaG,

Homlet

Well-Known Member
OP
Member
Joined
Feb 28, 2020
Messages
589
Trophies
0
XP
2,509
Country
France
I figured it out (finally).
Full ram access doesn't make a difference here.

When installing Atmosphere on the switch running from emuMMC, I need to answer No when it asks me to "delete all the custom sysmodules startup flags".
If I say Yes here, the switch running from emuMMC will crash.

So to sum things up... lets say a new atmosphere and hekate release are out.

My situation is: RCM X86 chip -> /payload.bin (hekate) -> /bootloader/payloads/fusee-primary.bin (ams)

I have the following set in: config/aio-switch-updater/copy_files.json
Code:
{
    "/bootloader/update.bin": "/payload.bin",
    "/bootloader/update.bin": "/atmosphere/reboot_payload.bin",
    "/bootloader/update.bin": "/bootloader/payloads/hekate.bin"
}

I first go to: Tools -> Download payloads to /bootloader/payloads -> fusee-primary.bin
This will get me the latest payload for chainloading Atmosphere.
(btw the message that appears on the screen when finishing the download is a bit vague..)

Then I select Update Atmosphere:
Overwrite exsiting ini files -> Yes
delete custom sysmodules startup flags -> NO!
Install hekate -> Yes
Overwrite ini files -> Yes (it doesn't overwrite the bootloader/hekate_ipl.ini as this is not shipped by default)

Now it prompts me te reboot.
But the copy_files.json action didn't trigger..

I tested it by removing my /payload.bin and /bootloader/payloads/hekate.bin files prior to running the program.

Am I doing something wrong?

EDIT:
I see now that only the last line is being parsed:
Code:
"/bootloader/update.bin": "/bootloader/payloads/hekate.bin"
The first two are not.. probably because it's the same source that's being copied to multiple locations.

EDIT2:
Yes that seems to be the case, you cannot specify the source file more than once.
So I've changed it to this:
Code:
{
    "/bootloader/update.bin": "/payload.bin",
    "/payload.bin": "/atmosphere/reboot_payload.bin",
    "/atmosphere/reboot_payload.bin": "/bootloader/payloads/hekate.bin"
}

Et voila.. it's solved now.
First it'll copy the latest hekate payload to /payload.bin.
Then it'll copy /payload.bin to /atmosphere/reboot_payload.bin
And last but not least it will copy /atmosphere/reboot_payload.bin to /bootloader/payloads/hekate.bin

Et voila!

I can now succesfully updated both my modded switches without having to rip out the sd-cards!
Thank you!
I'm glad you got it working, but there is some weird stuff going on I need to look into then. It should be much more straight forward, you should be able to delete the flags, copy the same payload to different spots etc.
Out of curiosity, which FW/CFW were you on while running the app?
 

MastaG

Member
Newcomer
Joined
May 5, 2021
Messages
18
Trophies
0
Age
37
XP
61
Country
Netherlands
I'm glad you got it working, but there is some weird stuff going on I need to look into then. It should be much more straight forward, you should be able to delete the flags, copy the same payload to different spots etc.
Out of curiosity, which FW/CFW were you on while running the app?

Both switch consoles are running:
- system firmware 12.0.2
- atmosphere-0.19.3-master-691a453d+hbl-2.4.1+hbmenu-3.4.0.zip
- hekate_ctcaer_5.5.6_Nyx_1.0.3.zip

And they're using identical configurations on the sd-card.
They're both using a RCM x86 chip which will load /payload.bin from the sd-card which is hekate.
Hekate will chainload into atmosphere using it's fusee-primary.bin payload.
It's set like this in bootloader/hekate_ipl.ini:
Code:
[CFW - Atmosphere]
payload=bootloader/payloads/fusee-primary.bin


The only difference is that one switch runs from a emuMMC partition (which was created using hekate).
So it has emuMMC folder with a emummc.ini file in the root of the sd-card.
This one seems to crash when I answer YES for "delete all the custom sysmodules startup flags"
I think this is to be expected because Atmosphere probably uses these sysmodules for accessing the emuMMC partition.
So I simply have to say No as I'm not using any custom sysmodules.

The only other bug encountered was that if I specify the same source file in copy_files.json more than once, is that it only seems to process the last one.

Other then that it's pretty straight-forward :)

Perhaps an additional feature would be to ask whether the user would like to place the latest "fusee-primary.bin" the in /bootloader/payloads folder after installing Atmosphere CFW (only if the user said Yes to Hekate of course).

This will save us the need to first go to Tools -> Download payloads to /bootloader/payloads -> fusee-primary.bin.
I can't do it afterwards since I'm forced to reboot after installing Atmosphere.

I love the possibility to download and prepare new system firmware btw, it's really an awesome application for updating my switch consoles!
 
Last edited by MastaG,

Homlet

Well-Known Member
OP
Member
Joined
Feb 28, 2020
Messages
589
Trophies
0
XP
2,509
Country
France
Both switch consoles are running:
- system firmware 12.0.2
- atmosphere-0.19.3-master-691a453d+hbl-2.4.1+hbmenu-3.4.0.zip
- hekate_ctcaer_5.5.6_Nyx_1.0.3.zip

And they're using identical configurations on the sd-card.
They're both using a RCM x86 chip which will load /payload.bin from the sd-card which is hekate.
Hekate will chainload into atmosphere using it's fusee-primary.bin payload.
It's set like this in bootloader/hekate_ipl.ini:
Code:
[CFW - Atmosphere]
payload=bootloader/payloads/fusee-primary.bin


The only difference is that one switch runs from a emuMMC partition (which was created using hekate).
So it has emuMMC folder with a emummc.ini file in the root of the sd-card.
This one seems to crash when I answer YES for "delete all the custom sysmodules startup flags"
I think this is to be expected because Atmosphere probably uses these sysmodules for accessing the emuMMC partition.
So I simply have to say No as I'm not using any custom sysmodules.

The only other bug encountered was that if I specify the same source file in copy_files.json more than once, is that it only seems to process the last one.

Other then that it's pretty straight-forward :)

Perhaps an additional feature would be to ask whether the user would like to place the latest "fusee-primary.bin" the in /bootloader/payloads folder after installing Atmosphere CFW (only if the user said Yes to Hekate of course).

This will save us the need to first go to Tools -> Download payloads to /bootloader/payloads -> fusee-primary.bin.
I can't do it afterwards since I'm forced to reboot after installing Atmosphere.

I love the possibility to download and prepare new system firmware btw, it's really an awesome application for updating my switch consoles!
>I think this is to be expected because Atmosphere probably uses these sysmodules for accessing the emuMMC partition.
definitely not, since AMS 0.19 you can have an empty /atmosphere/contents folder, and even prior to that it was fine deleting the startup flags. Besides I use emuMMC myself and it works. And you think those problems still arise with a clean install of AMS?

>The only other bug encountered was that if I specify the same source file in copy_files.json more than once, is that it only seems to process the last one.
I'll look into that, that might be some oversight from my part but this is not intended behavior

>Perhaps an additional feature would be to ask whether the user would like to place the latest "fusee-primary.bin" the in /bootloader/payloads
This I'm not sure I will be adding, that might be too convoluted and I'm trying to keep it as simple as possible (which already isn't really the case)
 

hippy dave

BBMB
Member
Joined
Apr 30, 2012
Messages
9,879
Trophies
2
XP
29,203
Country
United Kingdom
>The only other bug encountered was that if I specify the same source file in copy_files.json more than once, is that it only seems to process the last one.
I'll look into that, that might be some oversight from my part but this is not intended behavior
I think I experienced this too - when I tried to set up copy_files I got a crash, didn't investigate it really yet, but I definitely had the same source file multiple times.
 

Homlet

Well-Known Member
OP
Member
Joined
Feb 28, 2020
Messages
589
Trophies
0
XP
2,509
Country
France
I think I experienced this too - when I tried to set up copy_files I got a crash, didn't investigate it really yet, but I definitely had the same source file multiple times.
Both switch consoles are running:
- system firmware 12.0.2
- atmosphere-0.19.3-master-691a453d+hbl-2.4.1+hbmenu-3.4.0.zip
- hekate_ctcaer_5.5.6_Nyx_1.0.3.zip

And they're using identical configurations on the sd-card.
They're both using a RCM x86 chip which will load /payload.bin from the sd-card which is hekate.
Hekate will chainload into atmosphere using it's fusee-primary.bin payload.
It's set like this in bootloader/hekate_ipl.ini:
Code:
[CFW - Atmosphere]
payload=bootloader/payloads/fusee-primary.bin


The only difference is that one switch runs from a emuMMC partition (which was created using hekate).
So it has emuMMC folder with a emummc.ini file in the root of the sd-card.
This one seems to crash when I answer YES for "delete all the custom sysmodules startup flags"
I think this is to be expected because Atmosphere probably uses these sysmodules for accessing the emuMMC partition.
So I simply have to say No as I'm not using any custom sysmodules.

The only other bug encountered was that if I specify the same source file in copy_files.json more than once, is that it only seems to process the last one.

Other then that it's pretty straight-forward :)

Perhaps an additional feature would be to ask whether the user would like to place the latest "fusee-primary.bin" the in /bootloader/payloads folder after installing Atmosphere CFW (only if the user said Yes to Hekate of course).

This will save us the need to first go to Tools -> Download payloads to /bootloader/payloads -> fusee-primary.bin.
I can't do it afterwards since I'm forced to reboot after installing Atmosphere.

I love the possibility to download and prepare new system firmware btw, it's really an awesome application for updating my switch consoles!
Ah I'm dumb, with json files keys need to be unique, so that why this didn't work. I'll come up with a fix
 
  • Like
Reactions: hippy dave

ChokingVictim87

Well-Known Member
Member
Joined
Feb 21, 2014
Messages
1,088
Trophies
1
Age
37
Location
Cardiff
XP
1,554
Country
Ive updated Edizon and the overlay while also having the latest version of this Updater. Ive downloaded cheats with it but none of my games are showing as having any cheats available when I boot the overlay up while in game.

Any reason why this would be happening?
 

Homlet

Well-Known Member
OP
Member
Joined
Feb 28, 2020
Messages
589
Trophies
0
XP
2,509
Country
France
Ive updated Edizon and the overlay while also having the latest version of this Updater. Ive downloaded cheats with it but none of my games are showing as having any cheats available when I boot the overlay up while in game.

Any reason why this would be happening?
Do cheats show in the atmopshere/contents/<Title ID>/ directories?
 

Homlet

Well-Known Member
OP
Member
Joined
Feb 28, 2020
Messages
589
Trophies
0
XP
2,509
Country
France
Would anyone with a chipped switch help me test the updater for Mariko? I wrote the code but I'm not sure it works
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
    Psionic Roshambo @ Psionic Roshambo: I did use a bot for Diablo III though but no ban there lol