the cutest bootloader for your 3ds

@d0k3 d0k3 authored on 14 May 2018
arm11 General cleanup + possible I2C bugfix. 8 years ago
arm9 Merge branch 'master' into lenny 8 years ago
assets Include fastboot3ds photo in readme. 8 years ago
include Fix a typo in menu entry descriptions. 8 years ago
source Bootrom dumper cosmetics. 8 years ago
superhax Fixed typo in comment. 8 years ago
thirdparty/ fatfs [fatfs] Disable features we don't use. 8 years ago
.gitignore Updated .gitignore for superhax. 8 years ago
LICENSE.txt Added license to all sources. Dir structure cleanup. 9 years ago
Makefile Use fixed target 'fasttboot3DS' instead of folder name. 8 years ago
README.md Also credit ChaN for the FATFS library. 8 years ago
patchSuperhaxSection.sh Added __superhaxEnabled var to make it detectable and added script to patch the section size. 8 years ago
signFirm.sh Added RSA public key for fastboot and a script to sign FIRMs. 8 years ago
README.md

fastboot3DS

A bootloader for the 3DS console, written by derrek, profi200, d0k3

fastboot3DS is a bootloader for the 3DS console, intended to be installed to the FIRM0 partition. It allows you to assign homebrew in .firm format to bootslots, and to chainload bootslots via either a bootmenu or a button combo of your choosing. fastboot3DS also contains basic tools for NAND backups and restores.

fastboot3DS on a real N3DS

Disclaimer

fastboot3DS installs to a critical partition of your system, and thus becomes one of the softwares critical to the functioning of your system. Although having been thoroughly tested, some risk may still remain, especially when fastboot3DS is not used in the way it is intended. In short: we are not responsible for any damage that may occur to your system as a direct or indirect result of you using fastboot3DS.

Quick start guide

These short instructions require you to have a way of booting OpenFirmInstaller. If you already have boot9strap installed, this is as simple as chainloading the OpenFirmInstaller.firm (either via some chainloader of your choosing, or put it on your SD card as sdmc:/boot.firm).

  • Have fastboot3DS.firm inside the sdmc:/ofifolder on your SD card. When installing from A9LH, secret_sector.bin is also required.
  • Boot OpenFirmInstaller and follow the on screen instructions. You will reboot to the fastboot3DS menu.
  • optional Enter Boot setup... -> Setup [slot 1]... -> Select [slot 1] firm and select the FIRM file of your main CFW. On typical systems that is smdc:/boot.firm, but anything goes.
  • optional Enter Boot setup... -> Change boot mode... -> Set quiet boot. Your system is now set to autoboot and will silently boot the CFW you selected above.

You may also want to set up the other boot slots and assign key combos to them. Keep in mind you need one autoboot slot (= a slot with no key combo assigned). If you want to access the fastboot3DS menu at a later point in time, hold the HOME button when powering on the console. From the fastboot3DS menu, you may continue the boot process via Continue boot, chainload a .firm file via Boot from file..., access the boot menu via Boot menu... or power off the console via the POWER button.

How to build

To compile fastboot3DS you need devkitARM, CTR firm builder and splashtool installed in your system. Additionally you need 7-Zip or on Linux p7z installed to make release builds. Also make sure the CTR firm builder and splashtool binaries are in your $PATH environment variable and accessible to the Makefile. Build fastboot3DS as debug build via make or as release build via make release.

Known issues

This section is reserved for a listing of known issues. At present only this remains:

  • Older releases of GodMode9 freeze when they are chainloaded via fastboot3DS. Use v1.5.0 or higher. In general (that means not only for fastboot3ds) it is recommended to have all your software updated to the latest version.
  • OpenFirmInstaller only allows installing official (= signed) releases of fastboot3ds. Developers wanting to test their own builds can install fastboot3ds custom builds via GodMode9.

If you happen to stumble over another bug, please open an issue in the official fastboot3DS repo on GitHub or contact us via other platforms.

License

You may use this under the terms of the GNU General Public License GPL v3 or under the terms of any later revisions of the GPL. Refer to the provided LICENSE.txt file for further information.

Thanks to...

  • yellows8
  • plutoo
  • smea
  • Normmatt (for sdmmc code)
  • WinterMute (for console code)
  • ctrulib devs (for HID code)
  • Luma 3DS devs (for fmt.c/gfx code)
  • mtheall (for LZ11 decompress code)
  • devkitPro (for the toolchain/makefiles)
  • ChaN (for the FATFS library)
  • fincs, Al3x_10m, Wolfvak, Shadowhand, Lilith Valentine, Crimson, Ordim3n (closed beta testing)
  • ...everyone who contributed to 3dbrew.org

Copyright (C) 2017 derrek, profi200, d0k3