mirror of
https://github.com/CTCaer/hekate.git
synced 2024-11-05 11:27:09 +00:00
hekate - A GUI based Nintendo Switch Bootloader
780736591e
- Allow no hekate_ipl.ini and create it at 1st hekate boot - Show Payloads/More configs options when no boot entry in main .ini - Fix black screen on empty ini/payload folders - Fix some stack corruption with freeing ini lists (wip) |
||
---|---|---|
bootloader | ||
common | ||
modules | ||
res | ||
tools | ||
.gitignore | ||
LICENSE | ||
Makefile | ||
README_BOOTLOGO.md | ||
README.md |
hekate - CTCaer mod
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 (Having VOL- pressed since injection goes to menu. It also disables bootlogo.), #: 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). |
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 |
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
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]