CtrBootManager 3DS

From GameBrew - a wiki dedicated to Video Game Homebrew.



CtrBootManager is a boot manager for some 3DS homebrew applications, like HBL and CFW.

Here is a boot manager / loader, mainly for the HomeMenuHax but it should also work from homebrew menu(for loading arm9 payloads for example).

  • 3ds with fw <= 9.2 !
  • It currently allow you to configure boot entries (arm9 payload "*.bin/dat", tested with rxTools "code.bin" and homebrew menu "boot.3dsx") in a configuration file to be booted automatically, with a specified timer.
  • It can boot some arm9 payload "*.bin/dat" or ".3dsx" files from a crappy file manager if needed.
  • It can receive/execute .3dsx files from network (3dslink)


  • Install "HomeMenuHax", automatic one is better (no button to press for booting).
  • Edit "boot.cfg" to suits your needs (be careful to errors)
  • Copy "boot.3dsx" and "boot.cfg" to sdcard root

Custom backgrounds (Thanks to @Flat):

Images need to be in .bgr bin format. You can use this website to do so :

This can also be accomplished with image magick using the convert command and then rotating the image 90 degrees.

convert yourimg.png -channel BGR -separate -channel RGB -combine -rotate 90 yourimg.rgb

Place it on your sdcard and edit your config to the path of the image.

boot.cfg sample :


  • devkitpro-4.5 at least (ctrulib-1.0 at least)
  • libconfig in portlibs (tried with v1.5)


The recommended way:

  • mkdir build/
  • cd build/
  • cmake -DCMAKE_TOOLCHAIN_FILE=../DevkitArm3DS.cmake ../
  • make Binaries should now be in the build folder.


1.9: added return to homemenu (needs ninjhax >= 2.6)
1.8: added arm9 netloader (nc 80 < arm9.bin)
1.8: updated to latest ctrulib + hax
1.7: fix ui when no theme section found in cfg
1.6: fix file browser
1.6: add reboot/shutdown items to config
1.5: minor fixes and improvements
1.4: adds support for user images as a background (thanks @Flat)
1.3: add colors to configuration file
1.3: fix override button not working when timeout > 0 (thanks @Aroth)
1.3: add old ctrulib as submodule (fix CakeBrah)
1.3: add old CakeBrah as submodule (fix CakeBrah)
1.2: change font
1.1: add ("key") option to override autoboot entry
1.0: add boot menu entry from the file manager (X) (.3dsx only)
1.0: remove boot menu entry from boot menu (X)
1.0: add a few more help/information to the bottom screen
b09: add simple boot configuration screen ("More... -> Settings" menu)
b09: (re-re-re-re) fix netloading code
b08: fix broken wifi on a lot of 3dsx
b08: fix booting some 3dsx
b08: added 3dsx descriptor support (xml)
b08: fix 3dsx netload
b08: updated to latest ctrulib
b07: add "autobootfix" option to config.cfg file
b07: fix a bug when more than 22 files are in a directory (filer)...
b06: added colored ui
b06: alphasort files/dirs in filer
b06: filter out .3dsx, .bin, .dat in filer
b06: fix 3dsx loading (was broken after multiple launch)
b06: few fix and improvements
b05: fixed autoboot
b05: fixed booting of arm9 payload from filer (which doesn't require specific offset)
b04: fixed some .3dsx not booting
b03: added reboot and power off
b03: added 3dsx netloader (use 3dslink), thanks smea
b03: added recovery button to config.cfg (to be used when timeout=0)
b03: various menu changes cleanup and bug fixes
b02: fix cake-cfw loading
b02: fix screen corruption
b02: added arm9 offset in config file


For contributions to hb_menu:

  • smea : code
  • GEMISIS : code
  • fincs : code
  • mtheall : code
  • Fluto : graphics
  • Arkhandar : graphics
  • dotjasp : graphics (regionfree icon)

Other credits:

Readme by gemarcano This project also uses Brahma. See its repository for its credits.