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. 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**: ### Global Configuration keys/values when boot entry is **config**:
| Config option | Description | | Config option | Description |
@ -59,22 +62,22 @@ There are four possible type of entries. "**[ ]**": Boot entry, "**{ }**": Capti
| Config option | Description | | 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 | | warmboot={SD path} | Replaces the warmboot binary |
| secmon={SD path} | Replaces the security monitor binary | | secmon={SD path} | Replaces the security monitor binary |
| kernel={SD path} | Replaces the kernel binary | | kernel={SD path} | Replaces the kernel binary |
| kip1={SD path} | Replaces/Adds kernel initial process. Multiple can be set. | | 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. | | 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. | | 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. | | 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) | | fullsvcperm=1 | Disables SVC verification (full services permission) |
| debugmode=1 | Enables Debug mode. Obsolete when used with exosphere as secmon. | | debugmode=1 | Enables Debug mode. Obsolete when used with exosphere as secmon. |
| atmosphere=1 | Enables Atmosphère patching. | | atmosphere=1 | Enables Atmosphère patching. |
| nouserexceptions=1 | Disables usermode exception handlers when paired with Exosphère. | | nouserexceptions=1 | Disables usermode exception handlers when paired with Exosphère. |
| emummc_force_disable=1 | Disabled emuMMC if it's enabled. | | 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. | | 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. | | 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. | | 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. **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`. **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. 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: ### 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 | | 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. | | '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. 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 --} {-- Custom Firmwares --}
[Atmo FSS0 Vanilla] [Atmo FSS0 Vanilla]
fss0=atmosphere/fusee-secondary.bin fss0=atmosphere/fusee-secondary.bin
logopath=cfw/atmo.bmp logopath=bootloader/res/bootlogo_atmo.bmp
# You can have 2 entries of everything where one can boot with emuMMC and one without, icon=bootloader/res/icon_atmo.bmp
# via the emummc_force_disable=1 key.
[CFW FSS0 extra kips] # 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 & patches]
fss0=atmosphere/fusee-secondary.bin fss0=atmosphere/fusee-secondary.bin
kip1patch=name_of_patch
kip1=cfw/mods/mods_extra/* kip1=cfw/mods/mods_extra/*
kip1=cfw/mods/mods_extra/single/extra.kip kip1=cfw/mods/mods_extra/single/extra.kip
logopath=cfw/cfw.bmp
# Note:
# Both options for kip1 can be used. Wildcard and single. # 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] [Atmo Vanilla]
secmon=cfw/mods/exosphere.bin secmon=cfw/mods/exosphere.bin
warmboot=cfw/mods/lp0fw.bin warmboot=cfw/mods/lp0fw.bin
kip1=cfw/mods/loader.kip kip1=cfw/mods/loader.kip
kip1=cfw/mods/boot.kip
kip1=cfw/mods/spl.kip
kip1=cfw/mods/sm.kip kip1=cfw/mods/sm.kip
kip1=cfw/mods/pm.kip kip1=cfw/mods/pm.kip
kip1=cfw/mods/ams_mitm.kip kip1=cfw/mods/ams_mitm.kip
logopath=cfw/atmo.bmp
atmosphere=1 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] [CFW Extra kips]
secmon=cfw/mods/exosphere.bin secmon=cfw/mods/exosphere.bin
warmboot=cfw/mods/lp0fw.bin warmboot=cfw/mods/lp0fw.bin
kip1=cfw/mods/* kip1=cfw/mods/*
kip1=cfw/mods/extra/extra.kip kip1=cfw/mods/extra/extra.kip
logopath=cfw/cfw.bmp
atmosphere=1 atmosphere=1
# All kips parsed from a directory and extra added.
{ } { }
# Note:
# All kips parsed from a directory, plus extra added.
{------- Tools -------} {------- Tools -------}
[memloader] [memloader]
payload=bootloader/payloads/memloader.bin payload=bootloader/payloads/memloader.bin
# hekate - CTCaer mod v5.0.0 .ini template # 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!