Now the SD Card info function on hekate main will not rely on proper FAT partition, allowing for SDMMC init and FAT mounting to be separate for debugging issues with each one.
Additionally, add SDMMC error counters info.
By using `BOOT_CFG_AUTOBOOT_EN` in `boot_cfg` and `EXTRA_CFG_NYX_UMS` in `extra_cfg` you can launch UMS from boot.
The `ums` variable must be populated with one of the following:
```
NYX_UMS_SD_CARD 0
NYX_UMS_EMMC_BOOT0 1
NYX_UMS_EMMC_BOOT1 2
NYX_UMS_EMMC_GPP 3
NYX_UMS_EMUMMC_BOOT0 4
NYX_UMS_EMUMMC_BOOT1 5
NYX_UMS_EMUMMC_GPP 6
```
Using the key `emupath` on a boot entry will load the selected emuMMC.
This can also be forced by using the correct boot cfg storage bit and writing the path at the emummc path offset. Check readme for these.
This can only be used if the emuMMC was created via Nyx. because of the raw_based and file_based files that have emuMMC info.
(emupath=emuMMC/RAW1, emupath=emuMMC/SD00, etc)
This disables low battery monitor shutdown (LBM shutdown) on boot and checks if battery is enough.
The logic is as follows:
If battery is not enough:
- If not charging and 15s pass, it will re enable LBM shutdown and power off.
- If charging, it will wait until it is charged above the limit.
Screen will auto turn off to save power. A press on Power button or a change on charger, will enable it for another 15s.
If battery is enough:
- Enables LBM shutdown and continues with the boot process.
Additionally disable archive bit fix tool in hekate main to shave binary size.
The archive bit fix in Nyx is the only maintained one and so the only one that should be used.
This fixes the following case:
When force is 0 and the payload is not hekate, the function jumps to the 'is old' check.
This skips the is magic value check and only does the version check.
In case the foreign payload has a low value on that offset, it causes an overwrite which is unneeded.
If `fss0=` key is detected, sept will be loaded from fusee-secondary.bin instead of `sept/sept_*`.
This will negate missing sept and failed to decrypt pkg2 errors, when booting HOS, for users that forget to update sept folder.
It will now show erros for the following:
- Missing or old libsys_minerva.bso (DRAM training).
- Missing libsys_lp0.bso (LP0 sleep mode).
- Missing or old Nyx version
This is conditional:
In order to not cancel booting while trying to enter fastboot in android, the combo MUST be initiated with `VOL+` (hold) -> `VOL-` (hold)
3 users had issues with 602MHz.
This will probably bring the SoC binning compatibility to 100%.
Additionally, make it easy to change default boost frequency.
The tiny loss in perf, will be mitigated in Nyx. (It's actually even faster)
- Allow SHA to calculate sizes > 16MB and refactor sha function
- Name various registers and magic numbers
- Fix various key access bugs
In a later commit this new design will boost verification times significantly and also allow full SHA256 hashes.
By using the key `id=` with a max 7 ASCII id, hekate will search all inis automatically and pinpoint the boot entry with that id.
After that it forces a boot from this one.
This is important, otherwise it can break tools like memloader.
Until a semi-usb init solution is found, hekate will show bootlogo and allow you to go to menu.
If >= 7.0.0 after that, it will run sept and then show logo again without a wait. For as long as rebuilding the boot process takes.
- Make debugmode for exosphere mandatory
- Support dev RSA modulus for warmboot
- Fix a critical bug where it allowed free() to be used on a non-heap address.
- Better the makefile
- Still compatible with old hekate.
- Allows for hotfix control
- Sept is now copied from actual running payload, negating the need to check update.bin
- If a foreign payload is found in sept then it is renamed and hekate copies itself. After sept run, it renames it back and continues with boot.