From 74452074f654c25e0de3904ab828119241b36d60 Mon Sep 17 00:00:00 2001 From: Kostas Missos Date: Thu, 31 Oct 2019 16:31:16 +0200 Subject: [PATCH] Modernize readme and hekate_ipl_template.ini Adds more info on how the configs work. --- README.md | 18 +++++++------- res/hekate_ipl_template.ini | 48 ++++++++++++++++++++++++++++++------- 2 files changed, 49 insertions(+), 17 deletions(-) diff --git a/README.md b/README.md index 04dfe6e..3a91a4b 100644 --- a/README.md +++ b/README.md @@ -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. diff --git a/res/hekate_ipl_template.ini b/res/hekate_ipl_template.ini index ce9d9c2..86375fe 100644 --- a/res/hekate_ipl_template.ini +++ b/res/hekate_ipl_template.ini @@ -27,41 +27,71 @@ stock=1 {-- Custom Firmwares --} [Atmo FSS0 Vanilla] fss0=atmosphere/fusee-secondary.bin -logopath=cfw/atmo.bmp -# You can have 2 entries of everything where one can boot with emuMMC and one without, -# via the emummc_force_disable=1 key. +logopath=bootloader/res/bootlogo_atmo.bmp +icon=bootloader/res/icon_atmo.bmp -[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 +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!