Modernize readme and hekate_ipl_template.ini

Adds more info on how the configs work.
This commit is contained in:
Kostas Missos 2019-10-31 16:31:16 +02:00
parent 598073e50c
commit 74452074f6
2 changed files with 49 additions and 17 deletions

View file

@ -42,6 +42,9 @@ The bootloader can be configured via 'bootloader/hekate_ipl.ini' (if it is prese
There are four possible type of entries. "**[ ]**": Boot entry, "**{ }**": Caption, "**#**": Comment, "*newline*": .ini cosmetic newline.
You can find a template [Here](./res/hekate_ipl_template.ini)
### Global Configuration keys/values when boot entry is **config**:
| Config option | Description |
@ -59,22 +62,22 @@ There are four possible type of entries. "**[ ]**": Boot entry, "**{ }**": Capti
| Config option | Description |
| ---------------------- | ---------------------------------------------------------- |
| id=idname | Identifies boot entry for forced boot from id. Max 7 chars. |
| 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. |
| kip1={SD folder}/* | Loads every .kip/.kip1 inside a folder. Compatible with single kip1 keys. |
| fss0={SD path} | Takes a fusee-secondary binary and extracts all needed parts from it. |
| kip1patch=patchname | Enables a kip1 patch. Specify with multiple lines and/or as CSV. Current available patches nosigchk. |
| fss0={SD path} | Takes a fusee-secondary binary and `extracts` all needed parts from it. |
| kip1patch=patchname | Enables a kip1 patch. Specify with multiple lines and/or as CSV. If not found, an error will show up |
| fullsvcperm=1 | Disables SVC verification (full services permission) |
| debugmode=1 | Enables Debug mode. Obsolete when used with exosphere as secmon. |
| atmosphere=1 | Enables Atmosphère patching. |
| nouserexceptions=1 | Disables usermode exception handlers when paired with Exosphère. |
| emummc_force_disable=1 | Disabled emuMMC if it's enabled. |
| stock=1 | Disables unneeded kernel patching when running stock or semi-stock. `If emuMMC is enabled, emummc_force_disabled=1` is required to run completely stock. |
| id=idname | Identifies boot entry for forced boot via id. Max 7 chars. |
| payload={SD path} | Payload launching. Tools, Linux, CFW bootloaders, etc. |
| logopath={SD path} | If no logopath, `bootloader/bootlogo.bmp` will be used if exists. If logopath exists, it will load the specified bitmap. |
| icon={SD path} | Force Nyx to use the icon defined here. If this is not found, it will check for a bmp named as the boot entry ([Test 2] -> `bootloader/res/Test 2.bmp`). Otherwise default will be used. |
**Note1**: When using the wildcard (`/*`) with `kip1` you can still use the normal `kip1` after that to load extra single kips.
@ -82,12 +85,13 @@ There are four possible type of entries. "**[ ]**": Boot entry, "**{ }**": Capti
**Note2**: When using FSS0 it parses exosphere, warmboot and all core kips. You can override the first 2 by using `secmon`/`warmboot` after defining `fss0`.
You can define `kip1` to load an extra kip or many via the wildcard (`/*`) usage.
**Warning**: Never define core kips when using `fss0` and make sure that the folder (when using `/*`), does not include them. This is in case the kips are incompatible between them.
**Warning**: Never define *fss0 core* kips when using `fss0` and make sure that the folder (when using `/*`), does not include them.
This is in case the kips are incompatible between them. If compatible, you can override `fss0` kips with no issues (useful for testing with intermediate kip changes).
### Payload storage:
Hekate now has a new storage in the binary that helps it configure it outside of BPMP enviroment:
hekate has a boot storage in the binary that helps it configure it outside of BPMP enviroment:
| Offset / Name | Description |
| -------------------- | ----------------------------------------------------------------- |
@ -99,8 +103,6 @@ Hekate now has a new storage in the binary that helps it configure it outside of
| '0x98' xt_str[128] | Depends on the set cfg bits. |
You can find a template [Here](./res/hekate_ipl_template.ini)
If the main .ini is not found, it is created on the first hekate boot.

View file

@ -27,41 +27,71 @@ stock=1
{-- Custom Firmwares --}
[Atmo FSS0 Vanilla]
fss0=atmosphere/fusee-secondary.bin
logopath=cfw/atmo.bmp
logopath=bootloader/res/bootlogo_atmo.bmp
icon=bootloader/res/icon_atmo.bmp
# Note:
# You can have 2 entries of everything where one can boot with emuMMC and one without,
# via the emummc_force_disable=1 key.
# logopath= key is for bootlogo. icon= key is for Nyx icon.
# All entries can have these stylistic keys.
[CFW FSS0 extra kips]
[CFW FSS0 extra kips & patches]
fss0=atmosphere/fusee-secondary.bin
kip1patch=name_of_patch
kip1=cfw/mods/mods_extra/*
kip1=cfw/mods/mods_extra/single/extra.kip
logopath=cfw/cfw.bmp
# Note:
# Both options for kip1 can be used. Wildcard and single.
# You can override kips loaded from FSS0 if you define them after that entry.
# If kip1 patch resides in patches.ini and that file OR the patch for
# current HOS version does not exist, it will error out.
[Atmo Vanilla]
secmon=cfw/mods/exosphere.bin
warmboot=cfw/mods/lp0fw.bin
kip1=cfw/mods/loader.kip
kip1=cfw/mods/boot.kip
kip1=cfw/mods/spl.kip
kip1=cfw/mods/sm.kip
kip1=cfw/mods/pm.kip
kip1=cfw/mods/ams_mitm.kip
logopath=cfw/atmo.bmp
atmosphere=1
# All kips defined.
# Note:
# All kips defined method. This can be changed to what is below also.
# atmosphere=1 key is IMPORTANT when no FFS0 is defined.
[CFW Extra kips]
secmon=cfw/mods/exosphere.bin
warmboot=cfw/mods/lp0fw.bin
kip1=cfw/mods/*
kip1=cfw/mods/extra/extra.kip
logopath=cfw/cfw.bmp
atmosphere=1
# All kips parsed from a directory and extra added.
{ }
# Note:
# All kips parsed from a directory, plus extra added.
{------- Tools -------}
[memloader]
payload=bootloader/payloads/memloader.bin
# hekate - CTCaer mod v5.0.0 .ini template
# NOT TO BE USED AS IS!
# Pick [config] and then only the needed [sections]. # or { } lines can be ommited.
# If [config] is not copied, hekate will create one with defaults.
# Note: The keys in a section are parsed sequentially.
# This is important for override order of keys (if any double or matching functionality).
# Disclaimer: There are many combos, that allow hekate to basically boot everything NATIVELY.
# hekate will ALWAYS do what YOU tell it to do. If you get an error,
# that means that hekate_ipl.ini was wrongly made or files are missing!