TegraRcmSmash Switch

From GameBrew
Revision as of 03:41, 9 April 2023 by HydeWing (talk | contribs) (Created page with "{{Infobox Switch Homebrews |title=TegraRcmSmash |image=tegrarcmsmashswitch.png |description=A reimplementation of fusee-launcher in C++ for Windows platforms. |author=rajkosto |lastupdated=2018/06/21 |type=Payload senders (Software) |version=1.2.1-3 |license=Mixed |download=https://dlhb.gamebrew.org/switchhomebrews/tegrarcmsmashswitch.7z |website=https://gbatemp.net/threads/tegrarcmsmash-a-fusee-launcher-for-windows.502334/ |source=https://github.com/rajkosto/TegraRcmSma...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
TegraRcmSmash
File:Tegrarcmsmashswitch.png
General
Authorrajkosto
TypePayload senders (Software)
Version1.2.1-3
LicenseMixed
Last Updated2018/06/21
Links
Download
Website
Source

TegraRcmSmash is a C++ based alternative to fusee-launcher, designed specifically for Windows platforms. This program allows you to boot fusee/shofEL2 payloads to a Switch in RCM mode, provided it is connected via USB.

Setup for Drivers

  1. Connect your Switch to your Windows PC in RCM mode. It should appear in a program like Device Manager, labelled as "APX".
  2. Download and launch the Zadig driver installer from https://zadig.akeo.ie/.
  3. Locate APX from the device list. If it doesn't appear, click on the Options menu and select "List All Devices".
  4. Choose libusbK (v3.0.7.0) from the driver type options by using the arrows to cycle through them. This step is crucial.
  5. Finally, select the "Install Driver" button to install the driver. Once completed, Device Manager should now display "APX" under the libusbK USB Devices tree item.

Usage

TegraRcmSmash.exe [-V 0x0955] [-P 0x7321] [--relocator=intermezzo.bin] [-w] inputFilename.bin [-r] [--dataini=coreboot.ini] ([PARAM:VALUE]|[0xADDR:filename])*

If your Switch is ready and waiting in RCM mode, you can also just drag and drop the payload right onto TegraRcmSmash.exe

An example cmdline for launching linux using coreboot is something like this (the empty relocator is important): TegraRcmSmash.exe -w --relocator= "coreboot/cbfs.bin" "CBFS:coreboot/coreboot.rom"

A simpler way to load coreboot/other AArch64 payloads is to use https://github.com/rajkosto/memloader and either put the files on microsd or use the --dataini parameter

After that, you can use imx_load as you would on Linux (Windows binaries available here)

Alternatively, setup your u-boot cmdline to just load everything from microSD to not bother with imx_load ;)

Compiling Instructions

  1. Click on the big green Download button to get the binary package for libUSBK from this link.
  2. Execute the installer executable and take note of the installation directory. The default location is C:\libusbK-dev-kit.
  3. Navigate to Advanced system settings and define an environment variable named LIBUSBK_DIR with the path you noted earlier.
  4. Use Visual Studio 2017 to open TegraRcmSmash.sln and compile the Release or Debug configuration.

Changelog

v.1.2.1-3

  • Keep reading from usb device after BOOT if -r argument is specified.

v.1.2.0-2

  • Add -r (usb readback) and --dataini (send data to payload via USB) options.

v.1.0.0-1

  • Support shofEL2 style coreboot launch.

v.1.0.0-0

  • First Release.

External links

Advertising: