Add files via upload
This commit is contained in:
parent
70ac1f4898
commit
a588fd629d
16 changed files with 1335 additions and 0 deletions
30
about.md
Normal file
30
about.md
Normal file
|
@ -0,0 +1,30 @@
|
|||
# About this guide
|
||||
|
||||
This guide was written by staff members of the [Nintendo Homebrew Discord Server](https://discord.gg/C29hYvh)
|
||||
|
||||
> **Credits**
|
||||
>
|
||||
> **Flump, jerbear64, Phoenix, xGhostBoyx, Such Meme Many Skill, and oreo639.**
|
||||
>
|
||||
> Thank you to [everyone else](https://github.com/nh-server/switch-guide/graphs/contributors) that contributed to the guide on GitHub, but special thanks to **noirscape**.
|
||||
|
||||
?> [You can find this guide on GitHub](https://github.com/nh-server/switch-guide) It is licensed under the [ISC license.](https://github.com/nh-server/switch-guide/blob/master/LICENSE.md)
|
||||
|
||||
<figure class="thumbnails">
|
||||
<img src="assets/img/nh.jpg" alt="Nintendo Homebrew" title="Nintendo Homebrew">
|
||||
</figure>
|
||||
|
||||
> **Developer / Tool credits**
|
||||
> - **Atmosphere-NX** for [Atmosphere](https://github.com/Atmosphere-NX/Atmosphere).
|
||||
> - **switchbrew** for [nx-hbloader](https://github.com/switchbrew/nx-hbloader) and [nx-hbmenu](https://github.com/switchbrew/nx-hbmenu).
|
||||
> - **nwert** and **CTCaer** for [Hekate](https://github.com/CTCaer/hekate).
|
||||
> - **Flagbrew** for [Checkpoint](https://github.com/FlagBrew/Checkpoint).
|
||||
> - **mtheall** for [FTPD](https://github.com/mtheall/ftpd/).
|
||||
> - **joel16** for [NX-Shell](https://github.com/joel16/NX-Shell).
|
||||
> - **Cease & DeSwitch** for [fusee-gelee](https://github.com/Cease-and-DeSwitch/fusee-launcher).
|
||||
> - **MenosGrante** for [Rekado](https://github.com/MenosGrante/Rekado).
|
||||
> - **eliboa** for [TegraRcmGUI](https://github.com/eliboa/TegraRcmGUI).
|
||||
> - **vgmoose**, **pwsincd**, **rw-r-r_0644** and **crc32** for [hb-appstore](https://github.com/vgmoose/hb-appstore).
|
||||
> - **exelix** for [nxthemesinstaller and SwitchThemeInjector](https://github.com/exelix11/SwitchThemeInjector).
|
||||
> - **Essometer** for collecting patched Switch serials.
|
||||
> - **shchmue** for [Lockpick](https://github.com/shchmue/Lockpick/releases) and [Lockpick_RCM](https://github.com/shchmue/Lockpick_RCM/releases)
|
13
changelog.md
Normal file
13
changelog.md
Normal file
|
@ -0,0 +1,13 @@
|
|||
# Changelog
|
||||
|
||||
> Version 0.2 (16/04/2019)
|
||||
- Added introduction, getting started and FAQ
|
||||
- Changed expand to tabs on serials
|
||||
- Added placeholder graphics and cleaned up theme
|
||||
|
||||
> Version 0.1 (15/04/2019)
|
||||
- Initial Alpha
|
||||
- Matched Discords theme
|
||||
- Added required addons
|
||||
- Added Discord icon to top right of coverpage and every main section
|
||||
- Added theme option to top right. Dark and light to start with, more to come later
|
13
coverpage.md
Normal file
13
coverpage.md
Normal file
|
@ -0,0 +1,13 @@
|
|||
<img src="assets/img/logo.png" alt="" width="100%"/>
|
||||
|
||||
> A simple guide from Stock to Atmosphere CFW
|
||||
|
||||
- Backing up and restoring Nand guides
|
||||
- Introduction to game modding
|
||||
- Managing your save files
|
||||
- Dumping Title Keys
|
||||
- How to theme your user interface
|
||||
|
||||
[Get Started](introduction)
|
||||
[Discord](https://discord.gg/C29hYvh)
|
||||
[GitHub](https://github.com/nh-server/switch-guide)
|
158
entering-rcm.md
Normal file
158
entering-rcm.md
Normal file
|
@ -0,0 +1,158 @@
|
|||
# Entering RCM
|
||||
|
||||
As the Switch uses a Tegra X1 processor, it has a special recovery mode that is, in most scenarios, useless for the end-user. Fortunately, due to the fusee-gelee vulnerability, this special mode acts as our gateway into CFW.
|
||||
|
||||
There are several methods of entering RCM (**R**e**C**overy **M**ode). The most affordable of these require nothing more than common household items, while the most reliable are very cheap ($10).
|
||||
|
||||
!> **Patched Switch**
|
||||
Note that patched units **can** enter RCM, but it is not possible to send a payload on those systems. Also note that RCM is a different recovery mode than the one accessed by holding Volume Up, Volume Down, and Power.
|
||||
|
||||
?> **Note**
|
||||
The order of methods on this page is in the order of ease. The easiest to immediately accomplish are listed at the top, and the most advanced/difficult methods are at the bottom.
|
||||
|
||||
### Instructions
|
||||
|
||||
> 1. Power off the Switch and use one of the methods listed below to short the pins.
|
||||
> 2. Hold Volume Up and press the Power button.
|
||||
>
|
||||
> If your Switch displays the Nintendo logo and boots normally or immediately shuts down, you didn't successfully enter RCM and should try again.
|
||||
|
||||
<!-- tabs:start -->
|
||||
|
||||
#### **RCM Methods**
|
||||
|
||||
?> Select the tab that corresponds to the method you would like to use to short the pins for RCM mode.
|
||||
|
||||
#### **Jig**
|
||||
|
||||
*Easiest for beginners*
|
||||
|
||||
?> Some jig designs use paperclips, inheriting the same risks as the Metal Bridge / Paperclip method. If you would like a safe jig design, we highly recommend [switchjigs.com](https://switchjigs.com).
|
||||
|
||||
This method is similar to the Metal Bridge / Paperclip method, but is more reliable and safer in many cases. Jigs hold a wire in place so the correct pins (10 and a ground) are shorted every time.
|
||||
|
||||
Jigs range in price, with the ones we recommend being $5. They're slightly more expensive than some mass produced jigs, however we can guarantee their quality. Also spending $5 on a quality jig using 32-gauge wire is a smaller cost than replacing your entire Joy-Con rail after the pins are scratched off by a paperclip jig.
|
||||
|
||||
> ![switchjigs.com jigs](assets/img/entering-rcm-jig.jpg)
|
||||
|
||||
In the case you plan to make you own jig, this image lays out the pads numbers on the console. Make sure your jig NEVER touches pin 4. Pin 4 provides 5v power to the Joycons, if connected to any other pin you will fry the console.
|
||||
|
||||
> ![Console Numbered Pads Refrence](assets/img/entering-rcm-pads-numbered.jpg)
|
||||
|
||||
#### **Tinfoil**
|
||||
|
||||
*Easiest without a Jig*
|
||||
|
||||
?> This method will result in the right Joy-Con being detected as in wireless mode while attached to the Switch, and this method may result in the Joy-Con being permanently detected as wireless if you update the Joy-Con firmware while this mod is installed. In the latter case, fixing this requires opening up the Joy-Con and reseating the battery. It is recommended that you only use this to get into RCM, and immediately remove it once you're successfully in RCM.
|
||||
|
||||
?> Take care to not short pin 4 by accident while the system is on. This pin provides power to the Joy-Con, so shorting it by accident may damage your Switch permanently.
|
||||
|
||||
This method entails putting a thin piece of tinfoil in between pins 9 and 10 (seen below) on the Joy-Con, and the Joy-Con rail, then folding the foil over the back of the rail to tape it in place. This is best done by taking a 1/2 square inch piece of tinfoil (1.25 square cm), and folding it multiple times until it’s around 1 mm wide. Although we normally frown upon the use of video tutorials, we suggest you watch the small instructional video below before performing this task.
|
||||
|
||||
> ![Numbered Joycon Pins Refrence](assets/img/entering-rcm-joycon-pins.jpg)
|
||||
|
||||
> <iframe width=100% height=430 src="https://www.youtube.com/embed/dm6hxGbZZj4"> </iframe>
|
||||
|
||||
#### **Paperclip**
|
||||
|
||||
*Not recommended*
|
||||
|
||||
?> This method is not recommended due to having a serious risk of permanently damaging your Switch's right Joy-Con rail. It is listed here as it is utilizing household items, but it is highly recommended to either do the tinfoil method or to order an RCM jig. This risk is made exponentially higher if a tool such as a screwdriver is used instead of a metal wire or paperclip.
|
||||
|
||||
?> Take care to not short pin 4 by accident while the system is on. This pin provides power to the Joy-Con, so shorting it by accident may damage your Switch permanently.
|
||||
|
||||
This method entails taking a piece of metal (such as a paperclip or screwdriver) and bending it so that it touches pins 1 and 10, or any other grounded piece of metal and pin 10 (numbered pads shown below).
|
||||
|
||||
> ![Console Numbered Pads Refrence](assets/img/entering-rcm-pads-numbered.jpg)
|
||||
|
||||
Here are some examples of shorting pins 1 and 10 using a wire from HowDenKing#0001 on our Discord server.
|
||||
|
||||
> ![HowDenKing Paperclip Reference 1](assets/img/entering-rcm-paperclip-hdk-1.jpg)
|
||||
|
||||
> ![HowDenKing Paperclip Reference 2](assets/img/entering-rcm-paperclip-hdk-2.jpg)
|
||||
|
||||
#### **Bent Pins**
|
||||
|
||||
*Not recommended*
|
||||
|
||||
?> This method will result in the right Joy-Con being detected as in wireless mode while attached to the Switch, and this method may result in the Joy-Con being permanently detected as wireless if you update the Joy-Con firmware while this mod is installed. In the latter case, fixing this requires opening up the Joy-Con and reseating the battery.
|
||||
|
||||
?> This method requires opening your right Joy-Con, voiding its warranty. Not for the faint of heart.
|
||||
|
||||
The goal of this method is to open the right handed Joy-Con to the point that you can reach the contact pads easily, and use a thin object such as a knife to gently bend pin 9 and 10 (shown below) slightly up and towards each other so they touch, shorting them.
|
||||
|
||||
> ![Joycon Pin Refrence](assets/img/enterting-rcm-pins-numbered.jpg)
|
||||
|
||||
Here is an example from Sonlen#0666 on our Discord server.
|
||||
|
||||
> ![Sonlen example](assets/img/entering-rcm-bent-pins.jpg)
|
||||
|
||||
#### **Soldering**
|
||||
|
||||
*Advanced*
|
||||
|
||||
<!-- Links to add [9&10](entering-rcm#soldered-joy-con-pads-9-amp-10)
|
||||
[7&10](entering-rcm#soldered-joy-con-pads-7-amp-10)
|
||||
[Button](entering-rcm#soldered-joy-con-pads-physical-rcm-button-safest) -->
|
||||
|
||||
### Soldered Joy-Con Pads - 9 & 10 {docsify-ignore}
|
||||
|
||||
?> This method will result in the right Joy-Con being detected as in wireless mode while attached to the Switch, and this method may result in the Joy-Con being permanently detected as wireless if you update the Joy-Con firmware while this mod is installed. In the latter case, fixing this requires opening up the Joy-Con and reseating the battery. It is recommended to solder pads 7 and 10 together with a resistor instead.
|
||||
|
||||
?> This method requires opening your right Joy-Con, voiding its warranty. Not for the faint of heart.
|
||||
|
||||
This method requires opening your right Joy-Con, voiding its warranty. Not for the faint of heart.
|
||||
|
||||
The goal of this method is to open the right handed Joy-Con to the point that you can reach the contact pads easily. This is similar to the previous method, however the goal is to solder pads 9 and 10 (seen below) together. This can either be done using a small wire, or directly bridging the pads with solder.
|
||||
|
||||
> ![joycon numbered pads refrence](assets/img/entering-rcm-solder-numbered.jpg)
|
||||
|
||||
Here is an example from YyAoMmIi#3705 on our Discord server.
|
||||
|
||||
> ![YyAoMmIi solder example](assets/img/entering-rcm-solder-910-yyaommii.jpg)
|
||||
|
||||
---
|
||||
|
||||
### Soldered Joy-Con Pads - 7 & 10 {docsify-ignore}
|
||||
|
||||
?> This method requires opening your right Joy-Con, voiding its warranty. Not for the faint of heart.
|
||||
|
||||
The goal of this method is to open the right handed Joy-Con to the point that you can reach the contact pads easily. This is similar to the previous method, however the goal is to solder pins 7 and 10 (shown below) together with a surface-mount 0805 10k resistor. Apart from using a physical switch/button, this is currently considered the safest method that involves soldering to pads.
|
||||
|
||||
> ![joycon numbered pads refrence](assets/img/entering-rcm-solder-numbered.jpg)
|
||||
|
||||
Here is an example from stuckpixel#3421 on the ReSwitched Discord server.
|
||||
|
||||
> ![stuckpixel solder example](assets/img/entering-rcm-solder-710-stuckpixel.jpg)
|
||||
|
||||
---
|
||||
|
||||
### Soldered Joy-Con Pads - Physical RCM Button (Safest) {docsify-ignore}
|
||||
|
||||
?> This method requires opening your right Joy-Con, voiding its warranty. Not for the faint of heart.
|
||||
|
||||
This method comes to us from the mind of pbanj#9188 on Discord. All pictures of this method in action were provided by him, with some supplementary images provided by eip ∞#3283 on Discord.
|
||||
|
||||
The goal of this method is to open the right handed Joy-Con to the point that you can reach the contact pads easily. This is similar to the previous method, however you will be soldering wires to pins 7 and 10 (shown below) and wiring them to the "Joycon release button" at the top back of the right hand Joycon.
|
||||
|
||||
> ![joycon numbered pads refrence](assets/img/entering-rcm-solder-numbered.jpg)
|
||||
|
||||
In order to start this method you will want to take two lengths of wire, and wrap one end of each into a small circle.
|
||||
|
||||
> ![wire refrence](assets/img/entering-rcm-button-1.jpg)
|
||||
|
||||
You will then want to take the circular end of one of the wires and add a small amount of solder, keeping it mostly flat (ONLY DO THIS TO ONE OF THE WIRES!). You will then glue this wire down to the below point on the Joycon release button. Make sure glue doesn't cover the top of the solder/wire as it will act as a contact point. Also, ensure that you leave enough space for the button to function correctly. Try pushing the button from the outside and observing its travel path so that you can see where and how you should safely glue the solder glob.
|
||||
|
||||
> ![Eip joycon button refrence](assets/img/entering-rcm-button-5.jpg)
|
||||
|
||||
> ![pbanj joycon button refrence](assets/img/entering-rcm-button-3.jpg)
|
||||
|
||||
The first wire should now be in place as seen by the green circle below. The second wire does not need any solder, instead you will hold it in place using the screw as shown by the red circle in the picture below.
|
||||
|
||||
> ![pbanj joycon button refrence](assets/img/entering-rcm-button-6.jpg)
|
||||
|
||||
Pressing the Joycon button in you should now notice the solder point you created making contact with the piece of metal held in by the screw. Once you have these elements in place you want to connect one wire to pad 7 and the other to pad 10 (it doesn't matter which is which). After that you have successfully created an RCM button on your Joycon. You will now need to hold down the Joycon release button when attempting to boot RCM.
|
||||
|
||||
> ![pbanj joycon button refrence](assets/img/entering-rcm-button-2.jpg)
|
||||
|
||||
<!-- tabs:end -->
|
107
faq.md
Normal file
107
faq.md
Normal file
|
@ -0,0 +1,107 @@
|
|||
# FAQ
|
||||
|
||||
### Hackable Switches
|
||||
|
||||
> Currently two hardware revisions of the Switch exist. Any Switch bought before July 2018 has a bootrom bug that allows us to launch CFW regardless of the firmware version on the switch. This bug cannot be fixed by Nintendo once the console leaves the factory, not even if the console is sent in for repairs. This means that all current and future firmwares will be able to launch CFW through this exploit on the old hardware revision.
|
||||
>
|
||||
> The first claims of a new hardware revision of the Switch that fixes the exploit needed to launch cfw have been made in July 2018. Currently the only way to know if your Switch is hackable is by trying to send the payload in RCM. Even with this exploit fixed, any Switch on firmware 4.1 and below will be able to launch CFW through other means in the far future. The serial number on the back of the box can possibly tell you which consoles are patched and which aren't. See [GBA Thread](https://gbatemp.net/threads/switch-informations-by-serial-number.481215/) for an up to date list.
|
||||
|
||||
### How safe?
|
||||
|
||||
> The Switch comes with a lot of telemetry, and has been called a "telemetry monster" by several prominent developers. As long as the Switch is connected to the internet, Nintendo gets a report about a lot of different actions and states and has the option to log or act on them. Even if the Switch is offline and connects to the internet at a later point, Nintendo still recieves information about what happened while the Switch was disconnected.
|
||||
>
|
||||
> To disable some of this telemetry, it is advised to disable the sending of error reports in the System Settings of the Switch. Additionally if you live in the EU you can set the "do not share" option on [Nintendos Accounts Settings Page](https://accounts.nintendo.com/setting) to prevent your Switch from sending a lot of telemetry.
|
||||
>
|
||||
> Nintendo still recieves a lot of information, even with those options disabled. We also cannot know if Nintendo decides to look for something in the logs and ban people in retrospect. They have also shown to expand their telemetry options with every other firmware update.
|
||||
>
|
||||
> Currently all bans have been for very obvious and intrusive actions, specifically:
|
||||
>
|
||||
> - Developers using their unique Switch data to poke and reverse-engineer Nintendos Server responses
|
||||
> - People pirating games and using them online
|
||||
> - People changing their profile pictures to custom pictures
|
||||
> - People using savegame editors to unlock content that is not available yet and using it online (Splatoon 2)
|
||||
> - People cheating online in general (Modifying Cart stats in MK8)
|
||||
> - People installing homebrew NSP files, which Nintendo can pick up on with their telemetry
|
||||
> - People using unsafe custom firmware (such as ReiNX) that dangerously changes the system version string, creating a massive red flag for Nintendo (Atmosphere safely changes the version string and does not have this problem).
|
||||
>
|
||||
> Atmosphere stops some, but ***not all*** of Nintendo's telemetry, and prevents crash reports from being sent. This means Nintendo can't tell if anything, including homebrew or modded games crashed, and Atmosphere dumps the crash log to the SD card to help homebrew developers. However, Nintendo still receives information about what is being played, and general system report information.
|
||||
>
|
||||
> Atmosphere is not a silver bullet, and this does not mean that Nintendo won't decide to ban people for harmless homebrew in the future. If you are scared to get banned then don't use homebrew for now. In a future Atmosphere update, we will be able to create a dual-boot (EmuNAND) solution, that allows us to have a clean, online firmware and a seperate offline firmware for homebrew related software. Unbanning on the Switch will be a lot harder than previous Nintendo systems, if not impossible.
|
||||
|
||||
!> **SX OS**
|
||||
*Team Xecuter's "EmuNAND" is not a proper (or safe) EmuNAND, and Nintendo can pick up on it with their telemetry.*
|
||||
|
||||
### Exploit usage
|
||||
|
||||
> To launch CFW through the exploit, the Switch needs to be in "Recovery Mode"(RCM). The easiest way to enter RCM is by grounding pin 10 in the right joycon rail and holding VOL+ on boot. Several methods and designs to do this exist, see [this page of the guide](../user_guide/entering_rcm) for more information. Once the Switch is in RCM it needs to be connected to either a computer, phone or dongle to send the exploit and the payload.
|
||||
>
|
||||
> This procedure needs to happen every time the Switch boots from a completely "off" state, otherwise the Switch will boot into the stock firmware.
|
||||
|
||||
### Recommended Jigs
|
||||
|
||||
> Most people prefer to use 3d-printed jigs to enter RCM. These jigs are made in a way that they slide into the right joycon rail and have a piece of connected wire that then bridges pin 10 and one of the grounded pins on the Switch. A lot of different designs for these jigs exist, but it is important to understand, that these jigs can damage the Switch if they are made in a bad way.
|
||||
>
|
||||
> Since the wire in the jig is supposed to touch the pads inside the Switch's joycon rail, it is important to use wire that is thin, not rigid and bent/not pointy. Paperclips make for potentially dangerous jigs, as they are made out of a hard material, are rigid and pointy and can easily scratch off the pads inside the Switch. A good jig uses 32Gauge(0.2mm diameter) wire and is bent in a way that the end of the wire does not scratch the pads. [Switch Jigs](https://switchjigs.com/) sells jigs we consider "good". You can also download and 3d-print your own jig and use the pictures on the website to guide you on how to bend the wire correctly.
|
||||
|
||||
### Auto RCM
|
||||
|
||||
> To enter RCM more comfortably a solution called "AutoRCM" exists. Once set up, this method will always boot the Switch into RCM, even without a jig or holding any buttons. This works by "bricking" the Switch in a controlled manner. The Switch detects that something is wrong and boots into RCM to get repaired. The big downside of this method is, that it is impossible to boot the Switch without a computer, phone or dongle, as it will never boot into stock firmware by itself, and that it requires an SD card with the proper CFW files on it at all times. In addition, if the battery of the Switch is completely drained, the Switch will need to charge to at least 10% in Hekate before launching Atmosphere, otherwise the Switch will refuse to boot due to the low battery. Charging in RCM is not recommended as this is very slow. "AutoRCM" can be uninstalled, but it is advised to keep a working NAND and BOOT0/1 backup before using it.
|
||||
>
|
||||
> Many Android-phones are able to send the exploit to the Switch, making them a perfect portable way to launch CFW. Different designs for portable dongles exist, ranging from Raspberry Pi Zero and Arduino projects to internal dongles, that work completely autonomous. The latter should only be done by advanced users, as it requires soldering onto the Switch mainboard itself.
|
||||
|
||||
### Direct CFW
|
||||
|
||||
> In the future there will possibly be methods to launch CFW without needing a computer, phone or dongle to send the exploit and payload from. However, the higher the firmware of the Switch the less likely these exploits become. Currently there is little hope for such an exploit on firmware 5.0+. Even on lower firmwares, this exploit will most likely not directly boot you into CFW from a "off" state, but require you to launch an exploit on the original firmware to then reboot into CFW.
|
||||
>
|
||||
> The chances of a persistent, untethered coldboot solution (like on the 3DS and Wii-U) technically exist on firmwares below 3.0.2.
|
||||
|
||||
### Should I update FW?
|
||||
|
||||
> If your Switch is one of the new hardware revisions that patched the exploit in RCM and you are on firmware 4.1.0 or lower, you should not update if you want to have CFW in the forseeable future.
|
||||
>
|
||||
> If your Switch is one of the older hardware revisions and you don't mind having to use jigs/hardmods/AutoRCM and sending the exploit via computer, phone or dongle everytime you want to launch into CFW then it is completely safe to update. If you want the chance to maybe, one day, not have to use a external device, then it is recommended to stay on a FW as low as possible. Beware that this means that you potentially need to wait for a very long time (months to years) for this to happen, if ever. Private exploits to launch CFW are known to exist for firmwares up to 4.1.
|
||||
>
|
||||
> Downgrading on the Switch is possible, but it requires using AutoRCM and a custom bootloader payload to bypass the Switch's several hardware anti-downgrade mechanisms. This will not work on an unpatched system, and is practically useless for most users.
|
||||
>
|
||||
> On every boot the Switch firmware checks how many e-fuses have been burned and how many e-fuses the Switch expects to be burned. Major updates to the Switch, or updates in which a large vulnerability has been patched, irreversibly burn one of the Switch's 32 "e-fuses". If the Switch ever detects that more e-fuses have been burned than expected (meaning a downgrade happened), it will refuse to boot. Replacing e-fuses is not an option.
|
||||
>
|
||||
> A method to update without burning e-fuses exists, but, like downgrading, it forces you to use AutoRCM and sending the exploit via USB every time, as booting into the stock firmware even once would instantly burn the e-fuse. Note that other anti-downgrade mechanisms exist, making it for example impossible to boot game carts on a firmware below 4.1 if the Switch has ever launched a game on firmware 4.1+. This can only be worked around by completely disabling the game cart slot while on 4.1 or greater, which is similarly impractical for most users.
|
||||
|
||||
### Homebrew formats
|
||||
|
||||
> Homebrew can come in two different formats, namely in `nro` files and in `kip` files.
|
||||
>
|
||||
> `nro` files are placed in the `switch` folder on your SD card and can be launched using the Homebrew menu.
|
||||
>
|
||||
> `kip` files are placed in the `atmosphere/kips` folder on your SD card and provide additional services.
|
||||
|
||||
!> **Homebrew risks**
|
||||
*Be careful with launching downloaded homebrew! If you don't know the source, it's best not to launch it.*<br><br>
|
||||
*Homebrew can potentially damage your system! Atmosphere provides protections against common bricking methods, but these are not guaranteed to always work!*
|
||||
|
||||
### No homebrew showing
|
||||
|
||||
> This is an issue primarily affecting macOS users, but may occur on other devices as well. If you are able to launch the homebrew menu, but you are not seeing some or any of your homebrew, you will need to unset the archive bit with Hekate.
|
||||
>
|
||||
> 1. [Send the Hekate payload to your Switch](../user_guide/sending_payload/).
|
||||
> 2. Navigate to `Tools` with the volume buttons and press power to confirm.
|
||||
> 3. Navigate to `Fix archive bit (except Nintendo folder)` with the volume buttons and press power to confirm.
|
||||
> 4. Wait a bit, this may take a while.
|
||||
> 5. Press any button to continue.
|
||||
> 6. Navigate to `Fix archive bit (Nintendo folder)` with the volume buttons and press power to confirm.
|
||||
> 7. Wait a bit, this may take a while.
|
||||
> 8. Press any button to continue.
|
||||
> 9. Navigate to `Back...` with the volume buttons and press power to confirm.
|
||||
> 10. Follow the instructions at [Launching CFW](../user_guide/launching_cfw/) to launch Atmosphere.
|
||||
|
||||
### Which microSD?
|
||||
|
||||
> microSD cards that are 32GB or smaller can be used for homebrew, but are not recommended as these will not permit you to have a full NAND dump and an emuNAND in the future.
|
||||
>
|
||||
> The recommended microSD card size is 128GB. This will permit you to make a full NAND dump as well as having enough space to run an emuNAND in the future while also having adequate space for homebrew.
|
||||
>
|
||||
> The recommended filesystem format is FAT32. While the Switch supports exFAT through an additional update from Nintendo, this filesystem is prone to corruption and as a result is not advisable.
|
||||
|
||||
!> **Fake microSD cards**
|
||||
Do not buy microSD cards from sites like eBay. These microSD cards are often fake and do not have the advertised amount of storage and will result in data corruption if used. Consumer grade microSD cards do not exist in capacities over 512GB and any that advertise that they are 512GB or larger are fake.<br><br>
|
||||
If you suspect your microSD card is fake or damaged, see the instructions [here](https://3ds.filthycasuals.tech/sderrors.html) to verify the integrity of your SD card.
|
91
getting-started.md
Normal file
91
getting-started.md
Normal file
|
@ -0,0 +1,91 @@
|
|||
# Getting Started
|
||||
|
||||
### Setting up the SD-Card
|
||||
|
||||
The first thing to do is determine if your Switch is vulnerable to fusee-gelee, the exploit we will be using to launch CFW.
|
||||
|
||||
This vulnerability was independently discovered by several different Switch hacking teams, and multiple variants of it were released to the public in April 2018 after a 90-day disclosure period ended. Nintendo and NVIDIA were made aware of the issue before the public release as a result, and Switch systems that are not vulnerable to the exploit started being spotted in the wild in July 2018. NVIDIA [publicly acknowledged the flaw](https://nvidia.custhelp.com/app/answers/detail/a_id/4660/~/security-notice%3A-nvidia-tegra-rcm-vulnerability) in April as well.
|
||||
|
||||
Patched units can be identified by their serial number. This number can be found on the bottom of your Switch adjacent to the USB-C port, or in the Settings applet at **System -> Serial Information**.
|
||||
|
||||
> ![Serial location](assets/img/serial-location.jpg)
|
||||
|
||||
> ![Serial location on the bottom of console](assets/img/serial-switch.png)
|
||||
|
||||
### Check Vulnerability
|
||||
|
||||
The homebrew community has crowdsourced a list of known serial numbers which are vulnerable to fusee-gelee.
|
||||
|
||||
- If your serial number is on this list as "potentially patched", follow the guide and see if your system works.
|
||||
- If your serial number is listed as "patched", there is nothing you can do at this time.
|
||||
- If your system is patched, it is highly advised to keep it on 4.1.0 or lower, if possible, as there may be a vulnerability for these versions in the far future.
|
||||
|
||||
?> **Notice**
|
||||
If you are unsure if your serial is patched, you can test your console yourself following the instructions [here.](sending_payload.md)
|
||||
|
||||
The following information is based on [this GBATemp thread](https://gbatemp.net/threads/switch-informations-by-serial-number-read-the-first-post-before-asking-questions.481215/).
|
||||
|
||||
<!-- tabs:start -->
|
||||
|
||||
#### **Serials**
|
||||
|
||||
?> Select the tab that corresponds to the beginning of your serial number.
|
||||
|
||||
#### **XAW1**
|
||||
|
||||
- If your serial starts with **XAW1**:
|
||||
- XAW10000000000 through XAW10074000000 are unpatched
|
||||
- XAW10075000000 through XAW10120000000 are potentially patched
|
||||
- Serials above XAW10120000000 are patched
|
||||
|
||||
#### **XAW4**
|
||||
|
||||
- If your serial starts with **XAW4**:
|
||||
- XAW40000000000 through XAW40011000000 are unpatched
|
||||
- XAW40011000000 through XAW40012000000 are potentially patched
|
||||
- Serials above XAW40012000000 are patched
|
||||
|
||||
#### **XAW7**
|
||||
|
||||
- If your serial starts with **XAW7**:
|
||||
- XAW70000000000 through XAW70017800000 are unpatched
|
||||
- XAW70017800000 through XAW70030000000 are potentially patched
|
||||
- Serials above XAW70030000000 are patched
|
||||
|
||||
#### **XAJ1**
|
||||
|
||||
- If your serial starts with **XAJ1**:
|
||||
- XAJ10000000000 through XAJ10020000000 are unpatched
|
||||
- XAJ10020000000 through XAJ10030000000 are potentially patched
|
||||
- Serials above XAJ10030000000 are patched
|
||||
|
||||
#### **XAJ4**
|
||||
|
||||
- If your serial starts with **XAJ4**:
|
||||
- XAJ40000000000 through XAJ40046000000 are unpatched
|
||||
- XAJ40046000000 through XAJ40060000000 are potentially patched
|
||||
- Serials above XAJ40060000000 are patched
|
||||
|
||||
#### **XAJ7**
|
||||
|
||||
- If your serial starts with **XAJ7**:
|
||||
- XAJ70000000000 through XAJ70040000000 are unpatched
|
||||
- XAJ70040000000 through XAJ70050000000 are potentially patched
|
||||
- Serials above XAJ70050000000 are patched
|
||||
|
||||
#### **XAJ9**
|
||||
|
||||
- If your serial starts with **XAJ9**:
|
||||
- These units are refurbished units provided by Nintendo. No information is known yet, but they are potentially patched.
|
||||
|
||||
#### **XAK**
|
||||
|
||||
- If your serial starts with **XAK**:
|
||||
- No information is known yet- you are encouraged to continue with the guide and report on the GBATemp thread if the guide worked, along with the first few digits of your serial number.
|
||||
|
||||
<!-- tabs:end -->
|
||||
|
||||
### Console Preparation
|
||||
|
||||
!> **Important**
|
||||
Before setting up the console for homebrew, it is important to have at least one eShop game, application (such as Youtube or Hulu), or a game demo such as [10 Second Run RETURNS](https://www.nintendo.com/games/detail/10-second-run-returns-switch). A game cartridge will also work, but note that the cartridge will have to be inserted in order to run homebrew if you wish to go this route. Once you have a game or application, you are prepared to continue on with the guide.
|
73
index.html
Normal file
73
index.html
Normal file
|
@ -0,0 +1,73 @@
|
|||
<!doctype html>
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1.0, shrink-to-fit=no, viewport-fit=cover">
|
||||
<meta name="description" content="A guide to hacking the Nintendo Wii U.">
|
||||
<title>NH Wii U Guide</title>
|
||||
<link rel="icon" href="assets/img/favicon.ico">
|
||||
|
||||
<!-- Stylesheets -->
|
||||
<link rel="stylesheet" href="assets/css/dark.css" title="Dark">
|
||||
<link rel="stylesheet" href="assets/css/main.css">
|
||||
|
||||
<!-- Alternate Stylesheets -->
|
||||
<link rel="stylesheet alternate" href="assets/css/light.css" title="Light">
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div id="app"></div>
|
||||
|
||||
<!-- JavaScript -->
|
||||
<script>
|
||||
window.$docsify = {
|
||||
// GENERAL
|
||||
// -----------------------------------------------------------------
|
||||
name : 'NH Wii U Guide',
|
||||
logo : 'assets/img/logo.png',
|
||||
homepage : '/introduction.md',
|
||||
loadNavbar : 'navbar.md',
|
||||
mergeNavbar: true,
|
||||
loadSidebar: 'sidebar.md',
|
||||
|
||||
// NAVIGATION
|
||||
// -----------------------------------------------------------------
|
||||
alias: {
|
||||
'.*?/changelog': 'changelog.md',
|
||||
},
|
||||
auto2top : true,
|
||||
maxLevel : 4,
|
||||
subMaxLevel: 4,
|
||||
|
||||
// PLUGINS
|
||||
// -----------------------------------------------------------------
|
||||
executeScript: true,
|
||||
search: {
|
||||
depth : 3,
|
||||
noData : 'No results!',
|
||||
placeholder: 'Search...'
|
||||
},
|
||||
themeable : {
|
||||
readyTransition : true,
|
||||
responsiveTables: true
|
||||
},
|
||||
tabs: {
|
||||
persist : false,
|
||||
sync : false
|
||||
}
|
||||
};
|
||||
</script>
|
||||
<script src="assets/js/main.js"></script>
|
||||
<script src="https://cdn.jsdelivr.net/npm/docsify@4"></script>
|
||||
<script src="https://cdn.jsdelivr.net/npm/docsify-themeable@0"></script>
|
||||
<script src="https://cdn.jsdelivr.net/npm/docsify-tabs@1"></script>
|
||||
<script src="https://cdn.jsdelivr.net/npm/docsify-copy-code@2"></script>
|
||||
<script src="https://cdn.jsdelivr.net/npm/docsify-pagination@2/dist/docsify-pagination.min.js"></script>
|
||||
<script src="https://cdn.jsdelivr.net/npm/docsify@4/lib/plugins/external-script.min.js"></script>
|
||||
<script src="https://cdn.jsdelivr.net/npm/docsify@4/lib/plugins/search.js"></script>
|
||||
<script src="https://cdn.jsdelivr.net/npm/docsify@4/lib/plugins/zoom-image.min.js"></script>
|
||||
<script src="https://cdn.jsdelivr.net/npm/prismjs@1/components/prism-bash.min.js"></script>
|
||||
</body>
|
||||
</html>
|
49
introduction.md
Normal file
49
introduction.md
Normal file
|
@ -0,0 +1,49 @@
|
|||
# NH Wii U Guide
|
||||
|
||||
A guide collaboration between Nintendo Homebrew's Helpers and Staff, from stock to CBHC custom firmware.
|
||||
|
||||
?> **Discord Help**
|
||||
For live support with this guide please visit us in **#wiiu-assistance** on [Nintendo Homebrew Discord](https://discord.gg/C29hYvh).
|
||||
|
||||
### Homebrew
|
||||
|
||||
> Homebrew applications are custom, user-made software, which haven’t been authorised by Nintendo. This can include save editing tools, games, emulators, and more.
|
||||
>
|
||||
> Homebrew can be run on your Wii U as long as you have a way to put files on an SD Card regardless of version or region.
|
||||
|
||||
### Custom Firmware
|
||||
|
||||
> Custom Firmware (“CFW”) enables you to use more advanced hacks that userland homebrew can’t easily do. For instance, installing game modifications with ease.
|
||||
>
|
||||
>
|
||||
> Among other things, it allows you to do the following:
|
||||
> * Use “ROM hacks” for games that you own
|
||||
> * Backup, edit, and restore saves for many games
|
||||
> * Play games for older systems with various emulators, using RetroArch or other standalone emulators
|
||||
> * Play out-of-region games
|
||||
>
|
||||
> CFW can be set up on any console on any version (but will require additional tools).
|
||||
### End Goal
|
||||
|
||||
> This guide has the end goal of taking a completely unmodified Wii U from Stock to Custom Firmware.
|
||||
|
||||
### Before starting
|
||||
|
||||
!> Before beginning the guide, you must know the risks of Wii U hacking: EVERY time you modify your system, there is always the potential for an UNRECOVERABLE brick. They’re rare but still a possibility so make sure you follow ALL directions EXACTLY.
|
||||
>
|
||||
> This guide will work on all Wii U consoles in all regions on firmware 5.5.4 or below.
|
||||
>
|
||||
> You will need one of the following in order to successfully follow this guide:
|
||||
>
|
||||
> - An SD Card
|
||||
> - A device such as a Computer to place files onto the SD Card
|
||||
>
|
||||
> You will also need a micro SD card that is preferably 32 gigabytes large, as NAND backups for the console will take up around 8 or 30 gigabytes depending on your model.
|
||||
|
||||
If everything goes according to plan, you will lose no data and end up with everything that you started with (games, NNID, saves, etc will be preserved).
|
||||
|
||||
Keep your device plugged in and charged throughout the entire process to avoid data loss or damage from an unexpected power-off.
|
||||
|
||||
Custom Firmware is not permanent with current methods, and will be unloaded upon rebooting the system.
|
||||
|
||||
It is advised that you read the entire guide from start to finish one or more times before actually running through the guide with your system.
|
39
launching-cfw.md
Normal file
39
launching-cfw.md
Normal file
|
@ -0,0 +1,39 @@
|
|||
# Launching CFW
|
||||
|
||||
Now that the preparation work is out of the way, we're finally ready to launch custom firmware on the Switch.
|
||||
|
||||
Unlike systems such as the DSi, Wii, or 3DS, Switch CFW is currently volatile- it will only work as long as your Switch is on. As soon as your Switch crashes, is shut down, or restarted, CFW will no longer function and you will need to follow these instructions again.
|
||||
|
||||
### Instructions
|
||||
|
||||
> 1. Power on your Switch into RCM, and upload the Hekate payload
|
||||
> 2. Navigate to `Launch firmware` with the volume buttons, and press the power button to confirm
|
||||
> 3. Navigate to `Atmosphere FSS0` with the volume buttons, and press the power button to confirm
|
||||
|
||||
Your switch is now booting into Atmosphere.
|
||||
|
||||
To verify Atmosphere launched properly, open the Settings applet, and navigate to System. You should see `AMS` next to the version number.
|
||||
|
||||
> ![Atmosphere version string](assets/img/launching-cfw.jpg)
|
||||
|
||||
### Homebrew Menu
|
||||
|
||||
You will now be able to launch the Homebrew Menu by by holding the R button while launching any game (including demos/cartridges), application (e.g. Youtube/Hulu), or the album. If R is not held, the album, game, or application will launch like normal.
|
||||
|
||||
?> **A note about using the album for the Homebrew Menu**
|
||||
Using the album for the Homebrew Menu instead of a game or application has several limitations, including but not limited to: a smaller amout of available memory (RAM), as well as being unable to launch a full-featured web browser. It is strongly recommended to launch homebrew through applications or games instead.
|
||||
|
||||
?> **Adding new applications**
|
||||
Place homebrew applications (`.nro` files) into the `switch` folder on your SD card.
|
||||
|
||||
### Homebrew Applications
|
||||
|
||||
> - Checkpoint is a save manager, it can dump and restore saves from/to your system. For more information, see [Save Management](../extras/save_management.md)
|
||||
>
|
||||
> - FTPD is a ftp tool for connecting your Switch's sd card wirelessly to your pc. Tools like Filezilla can connect to your switch on `(ip of switch):5000`
|
||||
>
|
||||
> - NX-Shell is a file explorer for the Switch. You can move files, listen to mp3's, view images etc.
|
||||
>
|
||||
> - NXThemeInstaller is a theme installer app. See the [Theming section of our guide](../extras/theming.md) for more information
|
||||
>
|
||||
> - hbappstore is a homebrew app store where a large collection of switch homebrew is kept.
|
47
making-backups.md
Normal file
47
making-backups.md
Normal file
|
@ -0,0 +1,47 @@
|
|||
# Making Essential Backups
|
||||
|
||||
!> **Important**
|
||||
It is critical to make these backups. Do not skip these steps.
|
||||
|
||||
## Making a NAND Backup
|
||||
|
||||
!> **Important**
|
||||
A NAND backup is crucial. They can be used to restore the device to a working state in case of emergencies, and will be required in order to migrate to an EmuNAND setup in the near future.<br><br>
|
||||
Once the backup is finished, **keep it somewhere safe.** The best backup is the one you have but never need, and the worst backup is the one you need but never made. To save space, it's recommended to compress the end-result with a `.zip` file or something similar.<br><br>
|
||||
It's highly recommended that you use an SD card that is formatted to FAT32 and has at least 32 gigabytes of space free. This will still work on smaller cards, but it's not ideal.
|
||||
|
||||
### Instructions
|
||||
|
||||
> 1. Enter RCM and send the Hekate payload
|
||||
> 2. Use the volume buttons to navigate to `Tools` -> `Backup`, then press the power button
|
||||
> 3. Navigate to `Backup eMMC BOOT0/1`, then press the power button
|
||||
> - This may take a few minutes
|
||||
> 4. Press any key to continue, then navigate to `Backup eMMC RAW GPP` and press the power button
|
||||
> - This will take a long time
|
||||
> - On FAT32 SD cards or cards that have less than 32 gigabytes of space available, the NAND will be split into 1 or 2 gigabyte parts.
|
||||
> - Hekate will stop producing these parts when it runs out of space. When this happens, do the following:
|
||||
> - Power off your system
|
||||
> - Insert your SD card into your PC
|
||||
> - Move all files from the `backup` folder on your SD card to a safe location on your PC
|
||||
> - Insert your SD card into your Switch
|
||||
> - Enter RCM again, upload Hekate again, and continue by navigating to `Tools` -> `Backup` -> `Backup eMMC RAW GPP` again
|
||||
> - Repeat the process until the NAND is completely dumped
|
||||
> 5. Press any key to continue, then power off your Switch
|
||||
> 6. Insert your SD card into your PC
|
||||
> 7. Copy the `backup` folder on your SD card to a safe location on your PC
|
||||
|
||||
## Console Unique Keys
|
||||
|
||||
!> **Important**
|
||||
These keys are critical to have. They can be used as another way to restore your device to a working state when paired with other tools, if your NAND backup is not enough.
|
||||
|
||||
### Instructions
|
||||
|
||||
> 1. Enter RCM and upload the Hekate payload
|
||||
> 2. Use the volume buttons to navigate to `Launch` -> `Payloads...`, then press the power button
|
||||
> 3. Navigate to `Lockpick_RCM.bin`, then press the power button
|
||||
> 4. If Lockpick_RCM prompts you to `Reboot to Sept`, press power or either volume button to do so. A "sept by Atmosphere" logo will then display, followed by Lockpick_RCM starting again. If it does *not* prompt you, continue on to step 5.
|
||||
> 5. Lockpick_RCM should now inform you that your keys have been saved to `/switch/prod.keys` on the SD card.
|
||||
> 6. Press the power button to power off your Switch
|
||||
> 7. Insert your SD card into your PC
|
||||
> 8. Copy `prod.keys` from the `switch` folder on your SD card to a safe location on your PC (it is suggested to copy it to the same place that you copied your NAND backup to).
|
559
md-syntax.md
Normal file
559
md-syntax.md
Normal file
|
@ -0,0 +1,559 @@
|
|||
# Markdown Syntax
|
||||
|
||||
## Headings
|
||||
|
||||
<!-- tabs:start -->
|
||||
|
||||
#### ** Rendered **
|
||||
|
||||
# Heading 1 {docsify-ignore}
|
||||
|
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
|
||||
|
||||
## Heading 2 {docsify-ignore}
|
||||
|
||||
Vestibulum lobortis laoreet nunc vel vulputate.
|
||||
|
||||
### Heading 3 {docsify-ignore}
|
||||
|
||||
Suspendisse sit amet tincidunt nibh, ac interdum velit.
|
||||
|
||||
#### Heading 4 {docsify-ignore}
|
||||
|
||||
Donec odio orci, facilisis ac vehicula in, vestibulum ut urna.
|
||||
|
||||
##### Heading 5 {docsify-ignore}
|
||||
|
||||
Commodo sit veniam nulla cillum labore ullamco aliquip quis.
|
||||
|
||||
###### Heading 6 {docsify-ignore}
|
||||
|
||||
Ipsum ea amet dolore mollit incididunt fugiat nulla laboris est sint voluptate.
|
||||
|
||||
#### ** Markdown **
|
||||
|
||||
```markdown
|
||||
# Heading 1
|
||||
|
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
|
||||
|
||||
## Heading 2
|
||||
|
||||
Vestibulum lobortis laoreet nunc vel vulputate.
|
||||
|
||||
### Heading 3
|
||||
|
||||
Suspendisse sit amet tincidunt nibh, ac interdum velit.
|
||||
|
||||
#### Heading 4
|
||||
|
||||
Donec odio orci, facilisis ac vehicula in, vestibulum ut urna.
|
||||
|
||||
##### Heading 5
|
||||
|
||||
Commodo sit veniam nulla cillum labore ullamco aliquip quis.
|
||||
|
||||
###### Heading 6
|
||||
|
||||
Ipsum ea amet dolore mollit incididunt fugiat nulla laboris est sint voluptate.
|
||||
```
|
||||
|
||||
<!-- tabs:end -->
|
||||
|
||||
## Text
|
||||
|
||||
<!-- tabs:start -->
|
||||
|
||||
#### ** Rendered **
|
||||
|
||||
Body text
|
||||
|
||||
**Bold text**
|
||||
|
||||
*Italic text*
|
||||
|
||||
~~Strikethrough~~
|
||||
|
||||
<mark>Marked text</mark>
|
||||
|
||||
<pre>Preformatted text</pre>
|
||||
|
||||
<small>Small Text</small>
|
||||
|
||||
This is <sub>subscript</sub>
|
||||
|
||||
This is <sup>superscript</sup>
|
||||
|
||||
#### ** Markdown **
|
||||
|
||||
```markdown
|
||||
Body text
|
||||
|
||||
**Bold text**
|
||||
|
||||
*Italic text*
|
||||
|
||||
~~Strikethrough~~
|
||||
|
||||
<mark>Marked text</mark>
|
||||
|
||||
<pre>Preformatted text</pre>
|
||||
|
||||
<small>Small Text</small>
|
||||
|
||||
This is <sub>subscript</sub>
|
||||
|
||||
This is <sup>superscript</sup>
|
||||
```
|
||||
|
||||
<!-- tabs:end -->
|
||||
|
||||
## Links
|
||||
|
||||
<!-- tabs:start -->
|
||||
|
||||
#### ** Rendered **
|
||||
|
||||
[Inline link](https://google.com)
|
||||
|
||||
[Inline link with title](https://google.com "Google")
|
||||
|
||||
[Reference link by name][link1]
|
||||
|
||||
[Reference link by number][1]
|
||||
|
||||
[Reference link by self]
|
||||
|
||||
[link1]: https://google.com
|
||||
[1]: https://google.com
|
||||
[Reference link by self]: https://google.com
|
||||
|
||||
#### ** Markdown **
|
||||
|
||||
```markdown
|
||||
[Inline link](https://google.com)
|
||||
|
||||
[Inline link with title](https://google.com "Google")
|
||||
|
||||
[Reference link by name][link1]
|
||||
|
||||
[Reference link by number][1]
|
||||
|
||||
[Reference link by self]
|
||||
|
||||
[link1]: https://google.com
|
||||
[1]: https://google.com
|
||||
[Reference link by self]: https://google.com
|
||||
```
|
||||
|
||||
<!-- tabs:end -->
|
||||
|
||||
## Lists
|
||||
|
||||
<!-- tabs:start -->
|
||||
|
||||
#### ** Rendered **
|
||||
|
||||
**Ordered Lists**
|
||||
|
||||
1. Ordered 1
|
||||
1. Ordered 2
|
||||
1. Ordered 2a
|
||||
1. Ordered 2b
|
||||
1. Ordered 2c
|
||||
1. Ordered 3
|
||||
|
||||
**Unordered Lists**
|
||||
|
||||
- Unordered 1
|
||||
- Unordered 2
|
||||
- Unordered 2a
|
||||
- Unordered 2b
|
||||
- Unordered 2c
|
||||
- Unordered 3
|
||||
|
||||
**Task Lists**
|
||||
|
||||
- [x] Task 1
|
||||
- [ ] Task 2
|
||||
- [x] Subtask A
|
||||
- [ ] Subtask B
|
||||
- [ ] Task 3
|
||||
|
||||
#### ** Markdown **
|
||||
|
||||
```markdown
|
||||
**Ordered Lists**
|
||||
|
||||
1. Ordered 1
|
||||
1. Ordered 2
|
||||
1. Ordered 2a
|
||||
1. Ordered 2b
|
||||
1. Ordered 2c
|
||||
1. Ordered 3
|
||||
|
||||
**Unordered Lists**
|
||||
|
||||
- Unordered 1
|
||||
- Unordered 2
|
||||
- Unordered 2a
|
||||
- Unordered 2b
|
||||
- Unordered 2c
|
||||
- Unordered 3
|
||||
|
||||
**Task Lists**
|
||||
|
||||
- [x] Task 1
|
||||
- [ ] Task 2
|
||||
- [x] Subtask A
|
||||
- [ ] Subtask B
|
||||
- [ ] Task 3
|
||||
```
|
||||
|
||||
<!-- tabs:end -->
|
||||
|
||||
## Blockquotes
|
||||
|
||||
<!-- tabs:start -->
|
||||
|
||||
#### ** Rendered **
|
||||
|
||||
> Cras aliquet nulla quis metus tincidunt, sed placerat enim cursus. Etiam
|
||||
> turpis nisl, posuere eu condimentum ut, interdum a risus. Sed non luctus mi.
|
||||
> Quisque malesuada risus sit amet tortor aliquet, a posuere ex iaculis. Vivamus
|
||||
> ultrices enim dui, eleifend porttitor elit aliquet sed.
|
||||
>
|
||||
> *- Quote Source*
|
||||
|
||||
#### ** Markdown **
|
||||
|
||||
```markdown
|
||||
> Cras aliquet nulla quis metus tincidunt, sed placerat enim cursus. Etiam
|
||||
> turpis nisl, posuere eu condimentum ut, interdum a risus. Sed non luctus mi.
|
||||
> Quisque malesuada risus sit amet tortor aliquet, a posuere ex iaculis. Vivamus
|
||||
> ultrices enim dui, eleifend porttitor elit aliquet sed.
|
||||
>
|
||||
> *- Quote Source*
|
||||
```
|
||||
|
||||
<!-- tabs:end -->
|
||||
|
||||
## Notices
|
||||
|
||||
<!-- tabs:start -->
|
||||
|
||||
#### ** Rendered **
|
||||
|
||||
!> **Important** notice with `inline code` and additional placeholder text used
|
||||
to force the content to wrap and span multiple lines.
|
||||
|
||||
?> **Tip** notice with `inline code` and additional placeholder text used to
|
||||
force the content to wrap and span multiple lines.
|
||||
|
||||
#### ** Markdown **
|
||||
|
||||
```markdown
|
||||
!> **Important** notice with `inline code` and additional placeholder text used
|
||||
to force the content to wrap and span multiple lines.
|
||||
|
||||
?> **Tip** notice with `inline code` and additional placeholder text used to
|
||||
force the content to wrap and span multiple lines.
|
||||
```
|
||||
|
||||
<!-- tabs:end -->
|
||||
|
||||
## Tabs
|
||||
|
||||
<!-- tabs:start -->
|
||||
|
||||
#### **English**
|
||||
|
||||
Hello!
|
||||
|
||||
#### **French**
|
||||
|
||||
Bonjour!
|
||||
|
||||
#### **Italian**
|
||||
|
||||
Ciao!
|
||||
|
||||
#### ** Markdown **
|
||||
|
||||
```markdown
|
||||
<!-- tabs:start -->
|
||||
|
||||
#### **English**
|
||||
|
||||
Hello!
|
||||
|
||||
#### **French**
|
||||
|
||||
Bonjour!
|
||||
|
||||
#### **Italian**
|
||||
|
||||
Ciao!
|
||||
|
||||
<!-- tabs:end -->
|
||||
```
|
||||
|
||||
<!-- tabs:end -->
|
||||
|
||||
## Horizontal Rule
|
||||
|
||||
<!-- tabs:start -->
|
||||
|
||||
#### ** Rendered **
|
||||
|
||||
---
|
||||
|
||||
#### ** Markdown **
|
||||
|
||||
```markdown
|
||||
---
|
||||
```
|
||||
|
||||
<!-- tabs:end -->
|
||||
|
||||
## Images
|
||||
|
||||
<!-- tabs:start -->
|
||||
|
||||
#### ** Rendered **
|
||||
|
||||
![alt text](assets/img/serial-location.jpg)
|
||||
|
||||
> ![alt text](assets/img/serial-switch.png)
|
||||
|
||||
#### ** Markdown **
|
||||
|
||||
```markdown
|
||||
![alt text](assets/img/serial-location.jpg)
|
||||
|
||||
> ![alt text](assets/img/serial-switch.png)
|
||||
```
|
||||
|
||||
<!-- tabs:end -->
|
||||
|
||||
## Thumbnails
|
||||
|
||||
<!-- tabs:start -->
|
||||
|
||||
#### ** Rendered **
|
||||
|
||||
**Thumbnails (4)**
|
||||
|
||||
<figure class="thumbnails">
|
||||
<img src="assets/img/theme-dark-cover.png" alt="alt text" title="title text">
|
||||
<img src="assets/img/theme-dark-content.png" alt="alt text" title="title text">
|
||||
<img src="assets/img/theme-light-cover.png" alt="alt text" title="title text">
|
||||
<img src="assets/img/theme-light-content.png" alt="alt text" title="title text">
|
||||
</figure>
|
||||
|
||||
**Thumbnails (2)**
|
||||
|
||||
<figure class="thumbnails">
|
||||
<img src="assets/img/theme-light-content.png" alt="alt text" title="title text">
|
||||
<img src="assets/img/theme-dark-content.png" alt="alt text" title="title text">
|
||||
</figure>
|
||||
|
||||
**Default image with shadows from thumbnail css**
|
||||
|
||||
<figure class="thumbnails">
|
||||
<img src="assets/img/theme-light-content.png" alt="alt text" title="title text">
|
||||
</figure>
|
||||
|
||||
#### ** Markdown **
|
||||
|
||||
```markdown
|
||||
**Thumbnails (4)**
|
||||
|
||||
<figure class="thumbnails">
|
||||
<img src="assets/img/theme-dark-cover.png" alt="alt text" title="title text">
|
||||
<img src="assets/img/theme-dark-content.png" alt="alt text" title="title text">
|
||||
<img src="assets/img/theme-light-cover.png" alt="alt text" title="title text">
|
||||
<img src="assets/img/theme-light-content.png" alt="alt text" title="title text">
|
||||
</figure>
|
||||
|
||||
**Thumbnails (2)**
|
||||
|
||||
<figure class="thumbnails">
|
||||
<img src="assets/img/theme-light-content.png" alt="alt text" title="title text">
|
||||
<img src="assets/img/theme-dark-content.png" alt="alt text" title="title text">
|
||||
</figure>
|
||||
|
||||
**Default image with shadows from thumbnail css**
|
||||
|
||||
<figure class="thumbnails">
|
||||
<img src="assets/img/theme-light-content.png" alt="alt text" title="title text">
|
||||
</figure>
|
||||
```
|
||||
|
||||
<!-- tabs:end -->
|
||||
|
||||
## Code Window
|
||||
|
||||
<!-- tabs:start -->
|
||||
|
||||
#### ** Rendered **
|
||||
|
||||
Windows Joiner Script
|
||||
|
||||
```cmd
|
||||
copy /b rawnand.bin.* rawnand.bin
|
||||
```
|
||||
|
||||
Linux/Mac Joiner Script
|
||||
|
||||
```terminal
|
||||
#!/usr/bin/env bash
|
||||
if command -v pv >/dev/null; then
|
||||
cat rawnand.bin.* | pv -s 30g > rawnand.bin
|
||||
else
|
||||
cat rawnand.bin.* > rawnand.bin
|
||||
fi
|
||||
```
|
||||
|
||||
#### ** Markdown **
|
||||
|
||||
````markdown
|
||||
Windows Joiner Script
|
||||
|
||||
```cmd
|
||||
copy /b rawnand.bin.* rawnand.bin
|
||||
```
|
||||
|
||||
Linux/Mac Joiner Script
|
||||
|
||||
```terminal
|
||||
#!/usr/bin/env bash
|
||||
if command -v pv >/dev/null; then
|
||||
cat rawnand.bin.* | pv -s 30g > rawnand.bin
|
||||
else
|
||||
cat rawnand.bin.* > rawnand.bin
|
||||
fi
|
||||
```
|
||||
````
|
||||
|
||||
<!-- tabs:end -->
|
||||
|
||||
## Tables
|
||||
|
||||
<!-- tabs:start -->
|
||||
|
||||
#### ** Rendered **
|
||||
|
||||
| Left Align | Center Align | Right Align | Non‑Breaking Header |
|
||||
| ---------- |:------------:| -----------:| ------------------------------ |
|
||||
| A1 | A2 | A3 | A4 |
|
||||
| B1 | B2 | B3 | B4 |
|
||||
| C1 | C2 | C3 | C4 |
|
||||
|
||||
#### ** Markdown **
|
||||
|
||||
```markdown
|
||||
| Left Align | Center Align | Right Align | Non‑Breaking Header |
|
||||
| ---------- |:------------:| -----------:| ------------------------------ |
|
||||
| A1 | A2 | A3 | A4 |
|
||||
| B1 | B2 | B3 | B4 |
|
||||
| C1 | C2 | C3 | C4 |
|
||||
```
|
||||
|
||||
<!-- tabs:end -->
|
||||
|
||||
## Keyboard
|
||||
|
||||
<!-- tabs:start -->
|
||||
|
||||
#### ** Rendered **
|
||||
|
||||
<kbd>↑</kbd> Arrow Up
|
||||
|
||||
<kbd>↓</kbd> Arrow Down
|
||||
|
||||
<kbd>←</kbd> Arrow Left
|
||||
|
||||
<kbd>→</kbd> Arrow Right
|
||||
|
||||
<kbd>⇪</kbd> Caps Lock
|
||||
|
||||
<kbd>⌘</kbd> Command
|
||||
|
||||
<kbd>⌃</kbd> Control
|
||||
|
||||
<kbd>⌫</kbd> Delete
|
||||
|
||||
<kbd>⌦</kbd> Delete (Forward)
|
||||
|
||||
<kbd>↘</kbd> End
|
||||
|
||||
<kbd>⌤</kbd> Enter
|
||||
|
||||
<kbd>⎋</kbd> Escape
|
||||
|
||||
<kbd>↖</kbd> Home
|
||||
|
||||
<kbd>⇞</kbd> Page Up
|
||||
|
||||
<kbd>⇟</kbd> Page Down
|
||||
|
||||
<kbd>⌥</kbd> Option, Alt
|
||||
|
||||
<kbd>↵</kbd> Return
|
||||
|
||||
<kbd>⇧</kbd> Shift
|
||||
|
||||
<kbd>␣</kbd> Space
|
||||
|
||||
<kbd>⇥</kbd> Tab
|
||||
|
||||
<kbd>⇤</kbd> Tab + Shift
|
||||
|
||||
#### ** Markdown **
|
||||
|
||||
```markdown
|
||||
<kbd>↑</kbd> Arrow Up
|
||||
|
||||
<kbd>↓</kbd> Arrow Down
|
||||
|
||||
<kbd>←</kbd> Arrow Left
|
||||
|
||||
<kbd>→</kbd> Arrow Right
|
||||
|
||||
<kbd>⇪</kbd> Caps Lock
|
||||
|
||||
<kbd>⌘</kbd> Command
|
||||
|
||||
<kbd>⌃</kbd> Control
|
||||
|
||||
<kbd>⌫</kbd> Delete
|
||||
|
||||
<kbd>⌦</kbd> Delete (Forward)
|
||||
|
||||
<kbd>↘</kbd> End
|
||||
|
||||
<kbd>⌤</kbd> Enter
|
||||
|
||||
<kbd>⎋</kbd> Escape
|
||||
|
||||
<kbd>↖</kbd> Home
|
||||
|
||||
<kbd>⇞</kbd> Page Up
|
||||
|
||||
<kbd>⇟</kbd> Page Down
|
||||
|
||||
<kbd>⌥</kbd> Option, Alt
|
||||
|
||||
<kbd>↵</kbd> Return
|
||||
|
||||
<kbd>⇧</kbd> Shift
|
||||
|
||||
<kbd>␣</kbd> Space
|
||||
|
||||
<kbd>⇥</kbd> Tab
|
||||
|
||||
<kbd>⇤</kbd> Tab + Shift
|
||||
```
|
||||
|
||||
<!-- tabs:end -->
|
4
navbar.md
Normal file
4
navbar.md
Normal file
|
@ -0,0 +1,4 @@
|
|||
- Themes
|
||||
- <a href="#" data-link-title="Dark">Dark</a>
|
||||
- <a href="#" data-link-title="Light">Light</a>
|
||||
- [![Discord](assets/img/discord.png)](https://discord.gg/C29hYvh)
|
43
sd-preparation.md
Normal file
43
sd-preparation.md
Normal file
|
@ -0,0 +1,43 @@
|
|||
# SD Preparation
|
||||
|
||||
We will now place the required files for the Atmosphere custom firmware and some additional homebrew files on the SD card.
|
||||
|
||||
Atmosphere has its own bootloader, called fusee (primary). For the purposes of this guide we will be using Hekate instead, so that we can back up the system's NAND (internal storage) and take advantage of other advanced features in the future.
|
||||
|
||||
?> **Notice**
|
||||
Your SD card will need to be formatted as either FAT32 or exFAT. FAT32 is recommended as it is more stable and will work out of the box with the Switch's operating system, but has a file size limit of 4GB. If you plan on using exFAT, you will need to install the exFAT update for your Switch, which is downloaded when you insert an exFAT formatted SD card in to your Switch. Note that this will update your console and requires an internet connection.
|
||||
|
||||
!> **NxThemeInstaller**
|
||||
The ban risks of using Switch themes are at this time unknown. Use them at your own risk.
|
||||
|
||||
?> **File name extensions**
|
||||
If you use Windows, you should enable file name extensions before continuing. See [this link](../extras/showing_file_extensions.md) for a guide on how to do this.
|
||||
|
||||
### What you need
|
||||
|
||||
> - The latest release of [Hekate](https://github.com/CTCaer/hekate/releases/)
|
||||
> - The latest release of [Atmosphere](https://github.com/Atmosphere-NX/Atmosphere/releases)
|
||||
> - You will need to download the release zip.
|
||||
> - The latest release of [Lockpick_RCM](https://github.com/shchmue/Lockpick_RCM/releases)
|
||||
> - The latest release of [Checkpoint](https://github.com/FlagBrew/Checkpoint/releases)
|
||||
> - Download the `Checkpoint.nro` release of Checkpoint
|
||||
> - The latest release of [FTPD](https://github.com/mtheall/ftpd/releases)
|
||||
> - Download the `ftpd.nro` release of FTPD
|
||||
> - The latest release of [NXThemeInstaller](https://github.com/exelix11/SwitchThemeInjector/releases)
|
||||
> - Download the `NxThemesInstaller.nro` release of NxThemeInstaller
|
||||
> - The latest release of [NX-Shell](https://github.com/joel16/NX-Shell/releases)
|
||||
> - The latest release of the [hbappstore](https://github.com/vgmoose/hb-appstore/releases)
|
||||
> - <a href="../../files/hekate_ipl.ini" download>hekate-ipl.ini</a>
|
||||
|
||||
### Instructions
|
||||
|
||||
> 1. Insert your Switch's SD card into your PC
|
||||
> 2. Copy *the contents of* the Atmosphere `.zip` file to the root of your SD card
|
||||
> 3. Copy the `bootloader` folder from the Hekate `.zip` file to the root of your SD card
|
||||
> 4. Copy Hekate's `.bin` file from the Hekate `.zip` file to the `atmosphere` folder on your SD card
|
||||
> 5. Delete `reboot_payload.bin` in the `atmosphere` folder on your SD card
|
||||
> 6. Rename Hekate's `.bin` file to `reboot_payload.bin`
|
||||
> 7. Copy `hekate-ipl.ini` to the `bootloader` folder on your SD card
|
||||
> 8. Copy `Lockpick_RCM.bin` to the `/bootloader/payloads` folder on your SD card
|
||||
> 9. Create a folder named `appstore` inside the `switch` folder on your SD card, and put `appstore.nro` in it
|
||||
> 10. Copy `ftpd.nro` , `Checkpoint.nro` , `NX-Shell.nro` and `NxThemesInstaller.nro` to the `switch` folder on your SD card
|
67
sending-payload.md
Normal file
67
sending-payload.md
Normal file
|
@ -0,0 +1,67 @@
|
|||
# Sending a Payload
|
||||
|
||||
?> **If you were sent here directly**
|
||||
Make sure you've [put your device into RCM](entering_rcm.md), and downloaded Hekate (extract its zip file if necessary) before continuing.
|
||||
|
||||
Now that the device is in RCM, we will need to send it a payload. The methods are mostly the same, but slightly differs depending on what hardware you have available.
|
||||
|
||||
## Windows
|
||||
|
||||
### What you need
|
||||
|
||||
> - The latest release of [TegraRcmGUI](https://github.com/eliboa/TegraRcmGUI/releases) (either the MSI or zip)
|
||||
> - The latest release of [Hekate](https://github.com/CTCaer/hekate/releases/) (either the hekate_ctcaer bin or the hekate_ctcaer zip)
|
||||
> - A USB-A to USB-C cable (or a standard USB-C cable if your computer natively supports USB-C)
|
||||
|
||||
### Instructions
|
||||
|
||||
> 1. Install and run TegraRCMGUI
|
||||
> 2. Navigate to the `Settings` tab, then press `Install Driver` and follow the on-screen instructions
|
||||
> 3. Connect your Switch in RCM to your PC using the USB cable
|
||||
> 4. Navigate to the `Payload` tab of TegraRcmGUI
|
||||
> - Your Switch should be shown as detected in the bottom left corner
|
||||
> 5. Press the file button next to `Inject payload`, and navigate to and select your hekate_ctcaer `.bin` file
|
||||
> 6. Click `Inject payload` to launch Hekate
|
||||
|
||||
## Mac / Linux
|
||||
|
||||
### What you need
|
||||
|
||||
> - The latest release of [fusee-interfacee-tk](https://github.com/nh-server/fusee-interfacee-tk/releases)
|
||||
> - The latest release of [Hekate](https://github.com/CTCaer/hekate/releases/)
|
||||
> - A USB-A to USB-C cable (or a standard USB-C cable if your computer natively supports USB-C)
|
||||
|
||||
### Instructions
|
||||
|
||||
> 1. Download and run the payload injector (if you are on Linux, you will need to run this program as root or use `sudo`.)
|
||||
> 2. Connect your Switch in RCM to your PC using the USB cable
|
||||
> 3. Wait for your Switch to be shown as found in the injector
|
||||
> 4. Press `Select Payload`, and navigate to and select your hekate_ctcaer `.bin` file
|
||||
> 5. Click `Send Payload!` to launch Hekate
|
||||
|
||||
## Android
|
||||
|
||||
### What you need
|
||||
|
||||
> - The latest release of [Rekado](https://github.com/MenosGrante/Rekado/releases)
|
||||
> - You will need to enable Unknown Sources in your device settings to install this
|
||||
> - The latest release of [Hekate](https://github.com/CTCaer/hekate/releases/)
|
||||
> - A USB-C cable
|
||||
> - If your device has a USB-C port, you may use a C-C cable
|
||||
> - If your device only has a Micro USB port, you will need a USB OTG adapter and a USB A-C cable
|
||||
> - This **will not work** on every phone!
|
||||
|
||||
### Instructions
|
||||
|
||||
> 1. Copy the hekate_ctcaer `.bin` file from the Hekate `.zip` file to a location on your phone
|
||||
> - A tool such as Amaze File Manager can do this
|
||||
> 2. Launch Rekado on your phone
|
||||
> 3. Navigate to `Payloads`, then press the `+` button at the bottom right
|
||||
> 4. Navigate to your hekate_ctcaer `.bin` file, and tap it to add it to Rekado's menu
|
||||
> 5. **Optional, but recommended**: Navigate to Rekado's settings and enable `Hide bundled`
|
||||
> 6. Connect your Switch in RCM to your phone using the USB cable
|
||||
> 7. If prompted, grant Rekado access to the Switch
|
||||
> 8. Select your hekate_ctcaer `.bin` file in the dialog that pops up
|
||||
|
||||
!> **If nothing happens after you send the payload**
|
||||
If your console's screen remains black after you've sent Hekate, it's possible your payload was corrupted, or that your console is patched. If your payload injector program shows that 0 bytes were sent, then it is definitely patched, so you'll be unable to proceed with the rest of the guide.
|
17
sidebar.md
Normal file
17
sidebar.md
Normal file
|
@ -0,0 +1,17 @@
|
|||
- **User Guide**
|
||||
- [Introduction](introduction)
|
||||
- [Getting Started](getting-started)
|
||||
- [SD Preparation](sd-preparation)
|
||||
- [Entering RCM](entering-rcm)
|
||||
- [Sending Payload](sending-payload)
|
||||
- [Making Backups](making-backups)
|
||||
- [Launching CFW](launching-cfw)
|
||||
- [FAQ](faq)
|
||||
- **Extras**
|
||||
- [Themes](themes)
|
||||
- [Changelog](changelog)
|
||||
- [MD Syntax](md-syntax)
|
||||
- [About](about)
|
||||
- **Links**
|
||||
- [![Github](https://icongram.jgog.in/simple/github.svg?color=808080&size=16)Github](https://github.com/nh-server/switch-guide)
|
||||
- [![Discord](https://icongram.jgog.in/simple/discord.svg?colored&size=16)Discord](https://discord.gg/C29hYvh)
|
25
themes.md
Normal file
25
themes.md
Normal file
|
@ -0,0 +1,25 @@
|
|||
# Themes
|
||||
|
||||
### Dark
|
||||
|
||||
A clean, versatile theme featuring a Discord dark color scheme with vibrant accents, a [system font stack](https://css-tricks.com/snippets/css/system-font-stack/), a gradient
|
||||
background cover page, and visual indicators for drop-menus and expand/collapse
|
||||
state.
|
||||
|
||||
<a href="#" data-link-title="Dark">Preview</a>
|
||||
|
||||
<figure class="thumbnails">
|
||||
<img src="assets/img/theme-dark-cover.png" alt="Screenshot of coverpage" title="Cover page">
|
||||
<img src="assets/img/theme-dark-content.png" alt="Screenshot of content" title="Content">
|
||||
</figure>
|
||||
|
||||
### Light
|
||||
|
||||
A modified version of the Dark theme featuring a light color scheme.
|
||||
|
||||
<a href="#" data-link-title="Light">Preview</a>
|
||||
|
||||
<figure class="thumbnails">
|
||||
<img src="assets/img/theme-light-cover.png" alt="Screenshot of coverpage" title="Cover page">
|
||||
<img src="assets/img/theme-light-content.png" alt="Screenshot of content" title="Content">
|
||||
</figure>
|
Loading…
Reference in a new issue