NXBoot enables running custom boot code on Tegra X1 devices such as the Nintendo Switch.

Batteries are not included: This application contains relocators and {re}switched's demo binaries, but you will have to import custom payloads with actual functionality first.

Overview

  1. Disclaimer
  2. Hardware Requirements
  3. Importing Boot Code
  4. Booting the Target Device
  5. Tips & Tricks

Disclaimer

It is recommended that you become familiar with the Nintendo Switch homebrew community prior to using this application. Early boot code has full access to the device it runs on and can damage it. Nintendo is known to ban modified devices from online services if such modification is detected.

Privacy: Aggregated statistics about the number of successful and failed boot attempts and common errors are collected per iOS version and country. The GDPR does not apply and no user/device-specific personal data is collected or retained.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Hardware Requirements

An OTG adapter is required for connecting your iOS device to the Nintendo Switch. The following configuration is known work:

A direct Lightning to USB 3 Type C cable (without OTG adapter in between) does not work. Third-party OTG adapters may work, but your mileage may vary.

Importing Boot Code

There are multiple methods for importing payloads:

  1. Store the payload in any container that is visible in your iOS Files app.
  2. Transfer the file into the app using iTunes (may not work on all jailbroken firmwares.)
  3. Copy the file into the app's Documents folder via SSH.

Create Boot Profiles by opening the Boot Code List from the app's start page and selecting Add Profile. Files transferred through iTunes/SSH appear in the file selection list along with built-in options.

A description and two files must be provided:

The first file is the relocator binary. The relocator is responsible for cleaning up the boot session and preparing the payload for execution. Most payloads want intermezzo.bin, which is shipped with this app. For loading Coreboot/Linux you must import a copy of cbfs.bin.

The second file is the payload. For Coreboot/Linux this file is usually named coreboot.rom. Other well-known payloads are fusee.bin and the Hekate bootloader hekate_ctcaer_X.Y.bin.

The selected relocator and payload files are copied to this application's storage, so that they don't have to remain in iOS' Files or cloud storage.

Booting the Target Device

  1. Select your Boot Code on this application's start page after importing it.
  2. Tap this app's Boot Now button.
  3. Enter RCM mode on the Nintendo Switch.
  4. Connect the Nintendo Switch via USB.

A warning about an unsupported accessory appears and can be ignored.

Always power on the Nintendo Switch prior to connecting it. Otherwise iOS will disconnect the device for consuming too much power.

Tips and Tricks