1
0
Fork 0
mirror of https://github.com/CTCaer/hekate.git synced 2024-11-26 03:32:17 +00:00
Commit graph

631 commits

Author SHA1 Message Date
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
CTCaer
8ef9f888f6 hos: Add PK21 decryption support for Mariko 2020-07-04 21:35:26 +03:00
CTCaer
9b3e9724b7 hos: Add Mariko PK11 decryption and unpacking 2020-07-04 21:32:36 +03:00
CTCaer
8880dfab24 eks: Disallow on Mariko 2020-07-04 21:21:48 +03:00
CTCaer
5ffbbf40a5 hos: Add Mariko keygen 2020-07-04 21:13:25 +03:00
CTCaer
528ddbe12c minerva: Disable for T210B01
Minerva is currently unsupported for Mariko LPDDR4X.
2020-07-04 21:02:45 +03:00
CTCaer
1c9efa327c Correct RCM patched status for Mariko
This also disallows AutoRCM for Mariko.
2020-06-26 22:40:06 +03:00
CTCaer
d0a73bdc72 sc7: Add T210B01 SC7/LP0 (deep sleep) support
Note to future self: Almost a month passed and nothing changed, have fun cleaning that in the end...
2020-06-26 19:00:30 +03:00
CTCaer
cabaa6cfb8 Utilize BIT macro everywhere 2020-11-26 01:41:45 +02:00
CTCaer
cabb8cd33a Allow booting on damaged fuel gauge 2020-11-15 14:49:54 +02:00
CTCaer
669e42960c Utilize ARRAY_SIZE macro 2020-11-15 13:56:45 +02:00
CTCaer
1c19a69e35 hos: Do not use custom kernel if stock 2020-11-15 13:45:45 +02:00
CTCaer
67a03bbd85 eks: Use LOT0 for identification 2020-11-15 13:43:22 +02:00
CTCaer
68d57861cd Add missing guard from some macros
Guard them for future usage, as none of these macros had a non-preset variable used with them yet.
2020-11-15 13:39:27 +02:00
CTCaer
5a6608dff4 Bump hekate to v5.3.4 and Nyx to v0.9.5 2020-10-27 21:28:06 +02:00
CTCaer
8f222fd0bd main: Fix update.bin creation on first boot 2020-10-27 21:27:51 +02:00
CTCaer
1f5b371608 Refactor some names
Additionally:
- Do not retry to init sd if all modes failed in Nyx.
- Do not try to read/write if sdmmc controller and card are not initialized.
2020-10-23 06:32:24 +03:00
CTCaer
ce156ab4e7 hos: Automate some eks and bis checks 2020-10-20 11:53:28 +03:00
CTCaer
9d1c0ce308 Create update.bin if missing
This will allow l4t/Android to always use latest hekate in case of old r2p.
2020-10-20 10:34:33 +03:00
CTCaer
27b1f0e843 Various small fixes 2020-10-20 10:32:32 +03:00
CTCaer
2f5b52223c config: Add bootloader protection
`bootprotect=1` enables protection of the `bootloader` folder inside HOS.

This disallows any reading/writing of the folder and its contents inside HOS, preventing any corruption of it.

This of course has the side-effect of homebrew that depend on it (e.g. hekate Toolbox) to not work fully.
2020-10-20 10:16:12 +03:00
CTCaer
bf222290b8 hos: Add support for mesosphere
The change adds support for mesosphere loading from fss0 or sd (kernel=).
2020-10-17 23:18:48 +03:00
CTCaer
d825be5eb2 hos: Tiny refactoring 2020-10-17 23:16:16 +03:00
Aurora Wright
216d97aada Push changes as requested 2020-10-17 21:11:21 +02:00
Aurora Wright
e3421fd44e hos: Prevent sysmmc boot on emummc patch failure if emummc is forced 2020-10-14 19:37:36 +02:00
CTCaer
85d43147ee Bump hekate to v5.3.3 and Nyx to v0.9.4 2020-09-15 20:24:56 +03:00
CTCaer
8f7bdd45b1 hos: Report exFAT compatible if missing FS kip hashes 2020-09-15 19:07:16 +03:00
CTCaer
0142ac1697 Add TUI reload in case of missing bootloader files 2020-09-15 18:57:49 +03:00
Nichole Mattera
bdb21ce3fd Added new FS patches for 10.2.0. 2020-09-15 07:26:27 -04:00
CTCaer
926bd5d2fb Add SD error report on first boot 2020-08-28 09:37:48 +03:00
CTCaer
9686eaf3f1 info: Add better SD error debugging on hekate main
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.
2020-08-15 13:23:11 +03:00
CTCaer
98555b24f8 l4t: Clear boot mode if user canceled autoboot 2020-08-15 13:12:41 +03:00
CTCaer
15b46ddb27 hos: Hold more devices in Reset for secmon launch 2020-08-15 12:31:44 +03:00
CTCaer
78c4e6510d hos: Add backup bootloader support 2020-08-15 12:30:18 +03:00
CTCaer
fb7c83a66c exo: Fix exo fatal dump's header 2020-08-02 03:51:36 +03:00