CTCaer
414721a1ff
bootloader: Add animated ticker for VOL- wait
...
Now an animated line is drawn while bootlogo wait is active.
This will remind user to press VOL- if needed and also give visible feedback.
A new config key was added to disable it for custom bootlogos. Set `noticker=1` in `[config]` section.
It always show for default hekate one.
For now now there's no GUI option for it.
2022-10-11 07:49:17 +03:00
CTCaer
c0b16320cc
bootloader: improve launch code
...
- Fix error not showing if payload is missing or can't be read
- Move errors to their callee function to save binary space
- Refactor various parameters and comments
- Reduce size on some errors
- Do not read HOS specific config in case of payload launch
- Remove unneeded code
2022-10-11 07:21:41 +03:00
CTCaer
e7866387cd
bootloader: remove volatile from reloc
...
To save binary space, as it's not needed.
2022-10-11 07:00:24 +03:00
CTCaer
6739f03893
bootloader: remove rtc stop alarm from auto hos powerr off
...
It's done in power_set_state anyway.
2022-10-11 06:59:39 +03:00
CTCaer
0a9c71d5d6
bootloader: simplify emmcsn_path_impl
2022-10-11 06:58:22 +03:00
CTCaer
5392971c2c
hekate/nyx: utilize emmc_end
2022-10-11 04:19:29 +03:00
CTCaer
1499f958dd
Bump hekate to v5.8.0 and Nyx to v1.3.0
2022-07-01 13:47:47 +03:00
CTCaer
fe7fd6370e
hekate/nyx: push some missed changes
2022-07-01 11:33:43 +03:00
CTCaer
535ea95086
hekate/nyx: gfx: add text color defines
...
And reduce code size when using W/EPRINTF macros
2022-07-01 04:37:57 +03:00
CTCaer
eba6b285ec
hekate: utilize watchdog to catch sd based hangs
...
Utilize watchdog when configuring LP0/Minerva.
A problematic SD card connector can cause corrupted reads to happen and thus cause hekate to hang on a black screen.
By using a watchdog there, such issues can be avoided and the user can get notified visually.
2022-06-29 12:19:19 +03:00
CTCaer
3fa01a1975
hekate: fix a bug in low battery monitor
...
Do not try to deinit display if it's not enabled.
Can happen if LBM disables display to reserve power while charging and user presses both VOL buttons to exit the mode.
2022-06-04 22:03:47 +03:00
CTCaer
10205b17dd
hekate: remove sd mount/unmout management for payload launch
...
Callers manage it anyway.
Fixes a case where missing the payload would result to Nyx not relaunching because sd was unmount.
2022-05-21 13:10:12 +03:00
CTCaer
75b7d91abf
hekate: always init sublist on section creation
...
Even if there are no edge cases here
2022-05-21 13:08:46 +03:00
CTCaer
8428ce1a2e
hekate/nyx: gfx: changes to putn
2022-05-19 15:06:37 +03:00
CTCaer
334d89973f
hekate/nyx: adhere to uart driver changes
2022-05-08 05:46:23 +03:00
CTCaer
c2869703af
hekate: gfx: add negative decimals printing
...
And remove external handling
2022-05-08 05:29:30 +03:00
CTCaer
8f540b2543
Bump hekate to v5.7.2 and Nyx to v1.2.2
2022-03-23 19:34:59 +02:00
CTCaer
f687c4f6da
hos: add support for HOS 14.0.0
2022-03-23 02:21:59 +02:00
CTCaer
547c90a0a9
hekate: remove ipatches info from main hekate
2022-03-23 00:24:13 +02:00
CTCaer
cfd6567f5d
pkg1: move warmboot rsa patching into pkg1
...
And create a function for hekatf to be used
2022-02-15 00:26:07 +02:00
CTCaer
9aa55c2d76
hekate/nyx: correct type on heap_init
2022-02-15 00:23:23 +02:00
CTCaer
ad4014f295
hekate: sd info: always reset mode after done
2022-02-15 00:18:24 +02:00
CTCaer
73d38e1183
hos: loop through counter instead of explicit sets
2022-02-15 00:16:42 +02:00
CTCaer
70ee61f0da
More 2022 copyright updates
2022-01-29 01:43:35 +02:00
CTCaer
ce16a08694
main: check pstore log size if 0
2022-01-29 01:37:02 +02:00
CTCaer
0ad42762e7
main: rename logo buffer
2022-01-29 01:36:35 +02:00
CTCaer
5f337bffd6
config: do not unmount on exit
...
Fixes Nyx not found for new users without hekate_ipl.ini
2022-01-29 01:35:09 +02:00
CTCaer
aee5861f65
hekate/nyx: improve cyclomatic complexity
2022-01-29 01:23:40 +02:00
CTCaer
2f1d1572f7
Bump hekate to v5.7.0 and Nyx to v1.2.0
2022-01-20 14:34:54 +02:00
CTCaer
49f34581bb
hos: add 13.2.1 support
2022-01-20 14:06:50 +02:00
CTCaer
17b0270eb5
hekate: move display init above others that need it
2022-01-20 13:57:25 +02:00
CTCaer
39ce19e6f4
hekate: remove unnecessary sd mounts
...
- Main already mounts sd. Also by trying again it takes forever to go into TUI
- Skip l4t kernel pstore dump and auto launch fw if sd failed to mount
2022-01-20 13:56:36 +02:00
CTCaer
b18b5076b3
hos: change order of deinits and update for newer exo
2022-01-20 13:49:29 +02:00
CTCaer
6ac9d79282
pkg2: do not hash kernel/ini1 if exo
2022-01-20 13:34:18 +02:00
CTCaer
836530d4e3
pkg2: refactor bitflags and remove debugging code
2022-01-20 13:32:48 +02:00
CTCaer
3b2f438f69
pkg2: ini patches: reduce heap fragmentation/pressure
2022-01-20 13:31:16 +02:00
CTCaer
28167b7304
hekate/nyx: move emmc ops to bdk and adhere to changes
2022-01-20 13:15:04 +02:00
CTCaer
943f675046
hekate/main: move sd ops into bdk
2022-01-20 12:49:18 +02:00
CTCaer
06e7af150e
hekate/nyx: improve exceptions reporting
...
- Do not report HOS panic if status is 0
- Do not report LP0/MTC libs missing if failed to mount sd
- Rename panics to be explicit of their source
2022-01-16 01:33:07 +02:00
CTCaer
864ec50a2d
main: add L4T kernel panic report back
...
L4T kernel now uses a PANIC magic flag instead of a bitflag and so it's simpler to detect.
2022-01-16 01:23:39 +02:00
CTCaer
aa0a9da37b
fatfs: default year to 2022
2022-01-16 01:09:45 +02:00
CTCaer
30a4861da6
exo: change BOOT2 error message
2022-01-16 01:08:56 +02:00
CTCaer
5894062b93
hekate/nyx: utilize bdk global header
2022-01-16 00:04:34 +02:00
CTCaer
01b6e645b3
Bump hekate to v5.6.5 and Nyx to v1.1.1
2021-10-26 11:39:53 +03:00
CTCaer
db8c41cdaa
hos: pkg2: add 13.1.0 support
2021-10-26 11:39:32 +03:00
CTCaer
c6fdb637ca
Bump hekate to v5.6.4 and Nyx to v1.1.0
2021-10-19 09:16:49 +03:00
CTCaer
d2684f66a1
hos: change exfat check order
2021-10-19 09:11:36 +03:00
CTCaer
a7f0701cbf
hos: move storage end above final touches
2021-10-15 16:47:06 +03:00
CTCaer
65b3b87c99
hos: pkg1: explicitly which type pkg1 is wrongly flashed
2021-10-15 16:42:39 +03:00
CTCaer
8d3700b76b
hos: improve error for missing BEK or corrupt pkg1 on T210B01
2021-10-15 16:40:06 +03:00
CTCaer
d2595a00b6
nyx: move autorcm protection in nyx
2021-10-15 16:34:15 +03:00
CTCaer
c4bf129d5e
hos: name pkg1/secmon states
2021-10-15 16:30:14 +03:00
CTCaer
503f4d4cd6
tui: tools: simplify autorcm warning
2021-10-15 16:26:57 +03:00
CTCaer
9c29ee437a
Bump hekate to v5.6.3 and Nyx to v1.0.8
2021-10-01 15:54:49 +03:00
CTCaer
785baad5ea
hos: exo: better fatal description for boot2
2021-10-01 15:46:38 +03:00
CTCaer
91b08f10fd
hekate/nyx: use size defines where applicable
2021-10-01 15:45:25 +03:00
CTCaer
b47c01981f
hekate: add OS panic error reporting
2021-10-01 14:35:39 +03:00
CTCaer
05ce867064
hekate: move emummc config load inside relevant functions
...
This ensures that hekate can re-read it in case of sd card swap while in TUI and also doesn't read it if not needed.
2021-09-26 12:23:54 +03:00
CTCaer
0160df7fb9
Bump hekate to v5.6.2
2021-09-20 11:45:58 +03:00
CTCaer
05c989a1ce
emummc: correct id size and also set id if emupath is used
...
This corrects a truncation that was happening and also if `emupath` key is used to change emuMMC on the fly, it now uses the path as id instead of 0.
2021-09-20 11:41:48 +03:00
CTCaer
ebefd1c2d3
Bump hekate to v5.6.1 and Nyx to v1.0.7
2021-09-19 22:35:56 +03:00
CTCaer
d61be73bca
nyx: add reminder that reload also checks for update.bin
2021-09-17 23:34:16 +03:00
CTCaer
768b3ba2d9
hos: update some log messages
2021-09-17 23:32:48 +03:00
CTCaer
0ff121284a
hos: add full 13.0.0 support
...
- 13.0.0 master key support
- Derive proper keys per mkey revision instead of the latest for Erista devices
This allows to identify issues with Pkg1/Pkg2 mismatch and also allows using old Exosphere/Atmosphere versions.
- Simplify pkg2 decryption because of proper keys
7.0.0 is still done via 8.1.0 mkey because of an Exosphere bug.
- Add nogc patches
2021-09-17 23:32:13 +03:00
CTCaer
bcc2512cb6
hos: exo: fatal: add check for mixed atmosphere sysmods
...
Normally that can only happen if atmosphere is updated and config uses fusee-secondary instead of package3. In that case boot2 sysmodule (0100000000000008) will fatal.
2021-09-17 23:23:43 +03:00
CTCaer
a2d18f0848
hos: update fss0 parser
...
- Move extra key checks in the parser
- Remove some sept leftover checks
- Update printing to reflect PK3 name (FSS0 -> FSS/PK3)
2021-09-17 23:20:39 +03:00
CTCaer
197ed8c319
Bump hekate to v5.6.0 and Nyx to v1.0.6
2021-08-28 20:08:44 +03:00
CTCaer
f61e284ac0
config: add clamping of bootwait
2021-08-28 17:57:36 +03:00
CTCaer
9d69c9bd3f
main: deduplicate code
2021-08-28 17:56:19 +03:00
CTCaer
9258025eea
hos: add wrong pkg1 flashed detection
2021-08-28 17:55:30 +03:00
CTCaer
063abb3e23
hos: Fix compilation
2021-08-28 17:55:03 +03:00
CTCaer
f5ec4a3a37
hekate/Nyx: remove Sept completely
...
- remove any reference to sept and parsing of it
- completely refactor and simplify keygen
- use new Atmo tsec keygen for 7.0.0 and up
- simplify all info/tools that depend on hos keygen and bis keys
2021-08-28 17:53:14 +03:00
CTCaer
d8995ee9c0
hekate: clean unused stuff
...
Remove anything that will never be in TUI in the future.
Especially these that need modernization.
2021-08-22 16:56:05 +03:00
CTCaer
42f86cf82c
Bump hekate to v5.5.8 and Nyx to v1.0.5
2021-07-06 20:02:23 +03:00
CTCaer
f231173ebe
fss: remove deprecated check
2021-07-06 10:06:49 +03:00
CTCaer
561a96c62a
hos: small refactoring
2021-07-06 10:05:37 +03:00
CTCaer
57e6623d74
hos: 12.1.0 support
2021-07-06 10:02:52 +03:00
CTCaer
57623acc99
Bump hekate to v5.5.7 and Nyx to v1.0.4
2021-06-08 06:06:26 +03:00
CTCaer
4f8d29d0b7
pkg2: Add HOS 12.0.3 support
...
In 12.0.3 only FS is the relevant change.
So add support for 12.0.3 emuMMC and NOGC
2021-06-08 06:05:12 +03:00
CTCaer
432d4a4ffa
Use bit_count for burnt fuses counting
2021-06-08 05:57:00 +03:00
CTCaer
3f22601022
Bump hekate to v5.5.6 and Nyx to v1.0.3
2021-05-12 12:55:03 +03:00
CTCaer
a80a7ecba9
hos: nogc detection support for 12.0.2
...
12.0.2 burnt a fuse so we can now automatically detect if NoGC is needed for LAFW v5
2021-05-12 12:04:46 +03:00
CTCaer
7c450f4a5f
hos: 12.0.2 support
2021-05-12 11:47:39 +03:00
CTCaer
253de81a6b
Further reduce hekate size by streamlining about screen
2021-05-11 10:11:31 +03:00
CTCaer
21e6a0cf7e
pkg1: reduce struct sizes
2021-05-11 10:08:43 +03:00
CTCaer
80d9718770
GCC 11 fixes
...
The array/stringop warning removals are undesirable.
Consider removing them when a new GCC version moves back to saner checks for pointers.
2021-05-11 09:51:08 +03:00
CTCaer
dfbbca4c9f
pkg2: isolate kernel/kip patches structs from code
2021-05-11 09:45:12 +03:00
CTCaer
f4d08b2d9b
pkg2: refactor defines for kernel patches
2021-05-11 09:38:20 +03:00
CTCaer
833dda7e7c
nyx: bpmp: automatically find best clock for t210
...
There were 4 reports of Nyx hanging or UMS and backup verification failing because of low binned Erista SoC.
This change reduces clock for hekate main and Nyx will now automatically try and find a working one.
In case Nyx hangs it will reduce it on next inject.
If Nyx works and user still has issues with UMS/Verification, manually editing nyx.ini and setting `bpmpclock=2` will fix that.
2021-05-11 09:32:38 +03:00
CTCaer
4d90fa4830
hos: set applied bits on double defined kip patches
...
The loop would break before and if a patch was double defined, would not set its applied bit and thus throw an error.
2021-04-12 04:28:14 +03:00
CTCaer
501fdda138
main: do not clear screen on payload launch
2021-04-12 04:26:16 +03:00
CTCaer
678e8d34e3
Bump hekate to v5.5.5 and Nyx to v1.0.2
2021-04-11 15:02:35 +03:00
CTCaer
28008ac7ac
hwinit: add seamless display (L4T Linux/Android)
...
Initial support is for coreboot based preloading.
2021-04-11 09:18:55 +03:00
CTCaer
edff6c551d
hos: Add 12.0.0 support
2021-04-09 19:49:44 +03:00
CTCaer
d42a94f148
minerva: Scale down RAM OC if stock boot
2021-04-09 19:28:04 +03:00
CTCaer
c01b8aa89c
exo: add usb3 force enable support
...
Like the other configs, it can be read from system_settings.ini and be set.
Additionally a new `usb3force` key was added to allow user to override and enable/disable that setting via a boot entry.
This allows for fast (re)boot into an entry that disables that (important because of the huge interference that USB3 creates to Bluetooth and WiFi 2.4GHz).
2021-03-17 09:31:06 +02:00
CTCaer
6981c59de3
gpt: properly check that GPT is valid
2021-03-17 09:14:50 +02:00
CTCaer
0e12d8545b
Decrease stack usage on various functions
2021-03-17 09:08:34 +02:00
CTCaer
c6ec175045
Bump hekate to v5.5.4 and Nyx to v1.0.0
2021-02-06 17:32:07 +02:00
CTCaer
b6e458e97b
sept: Correct bct buffer pointer and turn on backlight on error
2021-02-06 17:14:07 +02:00
CTCaer
497bbdf3cd
fatfs: Add PrFile2Safe creation in format tool
2021-02-06 03:59:20 +02:00
CTCaer
8683a0ff58
gfx: Accept any type in gfx_hexdump
2021-02-06 03:57:39 +02:00
CTCaer
874c801772
Do not force deinit on hekate TUI sd info
2021-02-06 03:55:43 +02:00
CTCaer
eea5463a5c
nyx: Refactor nyx extra cfg
2021-02-06 03:55:01 +02:00
CTCaer
38f456a2ee
sdmmc: Refactor again
...
- Refactor various variables and defines
- Removed Card/BGA and OEM ID info as they are static and useless
- Commented out bkops functions completely as not used
- Remove extra buf usage when there's already storage for storing that data
- Optimize various functions to save space
- Clean up useless or duplicate code
2021-02-06 03:41:35 +02:00
CTCaer
a980eac647
hos: disallow no configuration booting as it's useless nowadays
2021-02-06 03:27:18 +02:00
CTCaer
ea83566fc9
sept: Disallow sept if improper BCT to avoid black screen
2021-02-06 03:24:58 +02:00
CTCaer
48e98ab8c9
eks: Update old version automatically
2021-02-06 03:20:43 +02:00
CTCaer
8cd438146d
sdmmc: Use global emmc storage in various places
2021-02-06 03:19:42 +02:00
CTCaer
a80cc0ae2c
hos: Add error message for mariko warmboot fw not found
...
Ability to continue without sleep working also.
2021-02-06 03:05:41 +02:00
CTCaer
2428736bfa
hos: Use structs for eks keyblobs and tsec keys
2021-02-06 03:00:48 +02:00
CTCaer
a7bf8bf118
se: Refactor with proper names
...
Additionally fix some bugs in rsa access control
2021-02-06 02:55:58 +02:00
CTCaer
15a7e49dde
fatfs: Add simple GPT support
...
This allows for a simple GPT parsing and checking first partition to see if it's FAT based.
This allows hekate booting GPT with tiny size cost.
2021-02-05 23:27:52 +02:00
CTCaer
63d03303a2
Rename Reboot normal to OFW in TUI
...
That otherwise needless change was actually made to change the compiled and compressed size of the payload.
A certain bad chainloader actually corrupts payloads when launched from it. The corruption seems to depend on hekate's actual compressed payload size.
2021-01-14 23:04:21 +02:00
CTCaer
1a50425475
Bump hekate to v5.5.3 and Nyx to v0.9.9
2021-01-14 18:55:11 +02:00
CTCaer
7aa1e77642
nyx: Do not over decrypt pkg1 on t210b01
2021-01-11 23:28:06 +02:00
CTCaer
d1f0ea3de7
Formalize language in various messages
2021-01-11 21:39:44 +02:00
CTCaer
13e5216a4e
Bump hekate to v5.5.2 and Nyx to v0.9.8
2021-01-05 17:13:39 +02:00
CTCaer
f196b8bb0e
eks: Add compatibility support for v1.1
2021-01-05 15:37:36 +02:00
CTCaer
7b460f7e56
gfx: Do not try to print if console is not initialized
2021-01-05 15:36:43 +02:00
CTCaer
bf8fd9a33b
hos: Replace fuse count if current fw is higher
2021-01-04 19:05:04 +02:00
CTCaer
46921aca22
Disable battery management on dev units
2021-01-04 02:58:07 +02:00
CTCaer
41f96d4305
hos: Utilize burnt fuse info instead of keyblob
...
Streamline identification of HOS version quirks
2021-01-04 02:57:07 +02:00
CTCaer
60b629e57f
Move display related objects to display parrent
2020-12-28 05:19:23 +02:00
CTCaer
cbbd427d3a
Change coreboot error from T210B01 to Mariko
...
Change T210B01 name in order for users to understand that it's about Mariko.
2020-12-26 17:30:49 +02:00
CTCaer
e2dd218f33
pmc: Add latest pmc secure scratch lock
2020-12-26 16:48:00 +02:00
CTCaer
a85891ae00
Refactor AutoRCM tools
2020-12-26 16:38:21 +02:00
CTCaer
2628044ba8
fuse: Move more parsing into its specific object
2020-12-26 16:34:12 +02:00
CTCaer
52c65661d8
Improve Power off by resetting all regulators
2020-12-15 19:37:52 +02:00
CTCaer
601c85c23e
util: Refactor power management (reboot/power off)
2020-12-15 19:33:46 +02:00
CTCaer
9d79f39897
Bump hekate to v5.5.1 and Nyx to v0.9.7
2020-12-11 18:34:52 +02:00
CTCaer
2a7a3452ba
hos: Add HOS 11.0.1 support
2020-12-11 18:24:10 +02:00
CTCaer
f1386c60af
hos: Fix sleep on modchiped Erista
2020-12-11 18:22:33 +02:00
CTCaer
b6ec217484
exo: Support uart logging
...
This can be enabled via compile time flags or exosphere.ini.
Compile time flags override exosphere.ini
2020-12-11 18:14:00 +02:00
CTCaer
14a048a496
nyx: Add SD init info from bootloader
...
This shows info about the sd initialization process that happened on hekate main
2020-12-11 17:46:44 +02:00
CTCaer
5b8fb9fb6b
Various refactoring and addition of comments
2020-12-11 17:25:59 +02:00
CTCaer
4a152504cb
Bump hekate to v5.5.0 and Nyx to v0.9.6
2020-12-02 22:34:54 +02:00
CTCaer
d4d6730c20
fss: Disallow Mariko boot on Atmosphere< 0.17.0
...
Trying to boot on lower Atmosphere versions can have serious implications.
2020-12-02 22:03:20 +02:00
CTCaer
d287d40208
hos: Add HOS 11.0.0 support
2020-12-02 02:41:32 +02:00
CTCaer
7e5e365f18
hos: Change warmboot PA id calculation a bit
2020-12-02 02:17:41 +02:00
CTCaer
7bebec1304
hos: Change warmboot storage numbering from dec to hex
2020-12-02 02:14:06 +02:00
CTCaer
8e45fcc069
hos: Disable stock secmon for Mariko until fixed
2020-12-02 01:56:29 +02:00
CTCaer
d1e3a0fdff
display: Add new Switch Lite panel support
2020-12-02 01:53:00 +02:00
CTCaer
19ddff299a
hos: Fix exfat FS check again..
2020-12-02 01:47:37 +02:00
CTCaer
0a9931ddb3
exo: Add exosphere fatal binary support for Mariko
...
Can be overriden with `exofatal={SD path}`.
2020-12-02 01:41:23 +02:00
CTCaer
2424ecc4f0
Disable coreboot.rom chainloading for T210B01
...
Unlike all RCM payloads that are based on hekate's hwinit, coreboot does full power management before sdram init is run.
Because of that and because it doesn't support T210B01, it does not hang as expected and configures all regulators and pins which can be dangerous!
2020-12-02 00:57:32 +02:00
CTCaer
da0cdf1bd0
hos: Add stock secmon support for Mariko
2020-07-04 21:58:21 +03:00
CTCaer
708863358e
hos: Move warmboot patching into pkg1 object
2020-07-04 21:44:39 +03:00
CTCaer
a862b85a46
hos: Add Mariko warmboot storage and general configurator
...
The Mariko warmboot storage is needed because the warmboot exploit is not existant.
Fuses and PA id must match with the proper warmboot binary. Thus for supporting downgrades, we keep a copy of it for future use.
2020-07-04 21:43:34 +03:00
CTCaer
495907b8a4
sept: Mark as ready for Mariko
2020-07-04 21:36:37 +03:00