Read sd:/config/omninx/debug.ini [Debug] with skip_* flags for clean/update modes and hekate post-copy. Documented in DEBUG_INI.md. Made-with: Cursor
91 lines
3.2 KiB
Markdown
91 lines
3.2 KiB
Markdown
# Debug configuration (`debug.ini`)
|
|
|
|
Optional file to **skip parts of the install** for testing (e.g. run only deletion and inspect the SD card). If the file is **missing**, the installer ignores debug entirely and runs the full flow.
|
|
|
|
## Location
|
|
|
|
```
|
|
sd:/config/omninx/debug.ini
|
|
```
|
|
|
|
Create the folder `sd:/config/omninx/` on the SD card if it does not exist. Same parent directory as `manifest.ini` and `ram_config.ini`.
|
|
|
|
## Format
|
|
|
|
- Section name must be exactly **`[Debug]`** (case-sensitive in the parser).
|
|
- One key per line: `name=value`.
|
|
- **Enabling a skip:** set the value so it **starts** with one of: `1`, `t`, `T`, `y`, `Y`
|
|
Examples: `1`, `true`, `yes`, `True` — all enable that skip.
|
|
- **Disabling:** `0`, `false`, `no`, or omit the key.
|
|
|
|
## Parameters
|
|
|
|
### Clean install mode (`INSTALL_MODE_CLEAN`)
|
|
|
|
| Key | What is skipped |
|
|
|-----|-----------------|
|
|
| `skip_clean_backup` | Step 1 — backup of `sd:/switch/DBI/dbi.config`, `sd:/switch/prod.keys` to `sd:/temp_backup` |
|
|
| `skip_clean_wipe` | Step 2 — all cleanup from `deletion_lists_clean.h` (deletion / wipe) |
|
|
| `skip_clean_restore` | Step 3 — restore from `sd:/temp_backup` and post-restore paths (e.g. delete `sd:/switch/tinfoil/db`) |
|
|
| `skip_clean_install` | Step 4 — copy files from the OmniNX staging folder to the SD root |
|
|
| `skip_clean_staging_cleanup` | After install: do not remove the staging directory or other variant staging folders |
|
|
|
|
### Update mode (`INSTALL_MODE_UPDATE`)
|
|
|
|
| Key | What is skipped |
|
|
|-----|-----------------|
|
|
| `skip_update_cleanup` | Step 1 — selective deletion from `deletion_lists_update.h` |
|
|
| `skip_update_install` | Step 2 — copy from staging to SD |
|
|
| `skip_update_staging_cleanup` | End: do not remove staging / other variant folders |
|
|
| `skip_update_horizon_oc` | **OC variant only:** HorizonOC config backup before update, restore and cleanup after (entire HorizonOC update side path) |
|
|
|
|
### Both modes
|
|
|
|
| Key | What is skipped |
|
|
|-----|-----------------|
|
|
| `skip_hekate_8gb_post_copy` | After a successful copy: the optional `hekate_8GB` / RAM menu and related file moves (see `install_hekate_8gb_post_copy` in `install.c`) |
|
|
|
|
## Behaviour
|
|
|
|
- On startup, if `debug.ini` exists and parses successfully, the payload prints a **DEBUG-MODUS** banner listing which skips are active.
|
|
- If the file is absent, unreadable, or has no `[Debug]` section, **no** skips apply — behaviour matches a release install.
|
|
- Skipping steps can leave the SD in an inconsistent state; this is **for developers/testers only**.
|
|
|
|
## Examples
|
|
|
|
### Wipe only (test deletion, no backup/restore/copy)
|
|
|
|
Inspect leftovers after the clean-install wipe, without backing up, restoring, installing, or cleaning staging:
|
|
|
|
```ini
|
|
[Debug]
|
|
skip_clean_backup=1
|
|
skip_clean_restore=1
|
|
skip_clean_install=1
|
|
skip_clean_staging_cleanup=1
|
|
skip_hekate_8gb_post_copy=1
|
|
```
|
|
|
|
Do **not** set `skip_clean_wipe` (leave unset or `0`).
|
|
|
|
### Update: deletion only
|
|
|
|
```ini
|
|
[Debug]
|
|
skip_update_install=1
|
|
skip_update_staging_cleanup=1
|
|
skip_hekate_8gb_post_copy=1
|
|
```
|
|
|
|
### OC update without touching HorizonOC backup/restore
|
|
|
|
```ini
|
|
[Debug]
|
|
skip_update_horizon_oc=1
|
|
```
|
|
|
|
## Implementation
|
|
|
|
- Parsed in `install.c`: `install_debug_load()`, `perform_installation()`.
|
|
- Uses the same INI parser as `ram_config.ini` (`ini_parse` from BDK).
|