No description
Find a file
2018-09-23 11:06:45 -07:00
bootloader just use normal arm-none-eabi toolchain 2018-09-23 11:06:45 -07:00
common Add autolaunch updated bootloader (mostly for modchips) 2018-08-21 04:41:16 +03:00
modules just use normal arm-none-eabi toolchain 2018-09-23 11:06:45 -07:00
res Add KIP1 patching support (with 2 FS patches included) 2018-07-29 22:03:12 +02:00
rules just use normal arm-none-eabi toolchain 2018-09-23 11:06:45 -07:00
tools So it has come to this. 2018-05-01 17:22:03 +12:00
.gitignore Refactor ALL the things + enable LTO 2018-08-13 11:58:24 +03:00
LICENSE License. 2018-03-27 12:04:16 +13:00
Makefile just use normal arm-none-eabi toolchain 2018-09-23 11:06:45 -07:00
README.md Add PWM backlight support + options 2018-09-19 00:01:42 +03:00
README_BOOTLOGO.md Support custom backcolor when logo is smaller 2018-07-09 15:55:09 +03:00

hekate - CTCaer mod

Image of Hekate

Custom Nintendo Switch bootloader, firmware patcher, and more.

Bootloader folders and files

Folder/File Description
bootloader Main folder.
|__ bootlogo.bmp It is used when custom is on and no logopath found. Can be skipped.
|__ hekate_ipl.ini Main bootloader configuration and boot entries.
|__ update.bin If newer, it is loaded at boot. For modchips. Can be skipped.
bootloader/ini/ For individual inis. 'More configs...' menu. Autoboot is supported.
bootloader/sys/ For system modules.
|__ libsys_lp0.bso LP0 (sleep mode) module. Important!
bootloader/payloads/ For payloads. 'Payloads...' menu. Autoboot only supported by including them into an ini. All CFW bootloaders, tools, Linux payloads are supported.
bootloader/libtools/ Future reserved

Bootloader configuration

The bootloader can be configured via 'bootloader/hekate_ipl.ini' (if it is present on the SD card). Each ini section represents a boot entry, except for the special section 'config' that controls the global configuration.

There are four possible type of entries. "[ ]": Boot entry, "{ }": Caption, "#": Comment, "newline": .ini cosmetic newline.

Configuration keys/values when boot entry is config:

Config option Description
autoboot=0 0: Disable, #: Boot entry number to auto boot.
bootwait=3 0: Disable (It also disables bootlogo. Having VOL- pressed since injection goes to menu.), #: Time to wait for VOL- to enter menu.
customlogo=0 0: Use default hekate bootlogo, 1: Use bootlogo.bmp.
verification=2 0: Disable Backup/Restore verification, 1: Sparse (block based, fast and not 100% reliable), 2: Full (sha256 based, slow and 100% reliable).
backlight=100 Screen backlight level. 0-255.

Possible boot entry key/value combinations:

Config option Description
logopath={SD path} If global customlogo is 1 and logopath empty, bootlogo.bmp will be used. If logopath exists, it will load the specified bitmap.
warmboot={SD path} Replaces the warmboot binary
secmon={SD path} Replaces the security monitor binary
kernel={SD path} Replaces the kernel binary
kip1={SD path} Replaces/Adds kernel initial process. Multiple can be set.
kip1patch=patchname Enables a kip1 patch. Specify with multiple lines and/or as CSV. Implemented patches right now are nosigchk,nogc
fullsvcperm=1 Disables SVC verification (full services permission)
debugmode=1 Enables Debug mode
atmosphere=1 Enables Atmosphère patching
payload={SD path} Payload launching. Tools, Linux, CFW bootloaders, etc.

You can find a template Here

If the main .ini is not found, it is created on the first hekate boot.

hekate     (C) 2018 naehrwert, st4rk
CTCaer mod (C) 2018 CTCaer.

Thanks to: derrek, nedwill, plutoo, shuffle2, smea, thexyz, yellows8.
Greetings to: fincs, hexkyz, SciresM, Shiny Quagsire, WinterMute.

Open source and free packages used:
 - FatFs R0.13a, Copyright (C) 2017, ChaN
 - bcl-1.2.0, Copyright (C) 2003-2006, Marcus Geelnard
 - Atmosphère (SE sha256, prc id kernel patches), Copyright (C) 2018, Atmosphère-NX
 - elfload, Copyright (C) 2014 Owen Shepherd, Copyright (C) 2018 M4xw

                         ___
                      .-'   `'.
                     /         \
                     |         ;
                     |         |           ___.--,
            _.._     |0) = (0) |    _.---'`__.-( (_.
     __.--'`_.. '.__.\    '--. \_.-' ,.--'`     `""`
    ( ,.--'`   ',__ /./;   ;, '.__.'`    __
    _`) )  .---.__.' / |   |\   \__..--""  """--.,_
   `---' .'.''-._.-'`_./  /\ '.  \ _.--''````'''--._`-.__.'
         | |  .' _.-' |  |  \  \  '.               `----`
          \ \/ .'     \  \   '. '-._)
           \/ /        \  \    `=.__`'-.
           / /\         `) )    / / `"".`\
     , _.-'.'\ \        / /    ( (     / /
      `--'`   ) )    .-'.'      '.'.  | (
             (/`    ( (`          ) )  '-;   [switchbrew]