Commit graph

119 commits

Author SHA1 Message Date
Stéphane Lesimple
ee884add8c [Tools] implement hashfile generation on backup
Add a configuration option "Full w/ hashfile" to
the "verification" option menu, to enable hashfile
generation when doing full verification of a backup.

When enabled, during full backup verification we save the
chunk's SHA256 digest in a hashfile next to the output file
we're currently verifying.

The performance impact is negligible between "Full verify"
and "Full verify w/ hashfile", because we already
compute the SHA256 of the chunks when verifying.

We save the SHA256 per chunks (4 MB) because due to
SE limitations, we can't compute the SHA256 of the
whole partition (or rawnand).

On the other hand a pure software implementation
is way too slow to be bearable, even asm-optimized:
between 15 and 90 seconds per 4 MB chunk for
crc32/sha1/sha256, depending on the optimizations
and the actual algorithm.

The output hash file format is as follows:
 # chunksize: <CHUNKSIZE_IN_BYTES>
 sha256_of_chunk_1
 sha256_of_chunk_2
 ...
 sha256_of_chunk_N
2019-04-26 17:53:24 +02:00
ctcaer@gmail.com
36d2da5d79 Bump version to v4.10.0 2019-04-21 17:38:29 +03:00
ctcaer@gmail.com
fd0dc04953 [HOS] Add full 8.0.0 support
Additionally, allow pkg1 to be dumped if unknown fw version.
2019-04-21 17:37:12 +03:00
ctcaer@gmail.com
8eb5ee867d [GFX] Finish ctxt global usage
Plus:
- Some whitespace fixes
- Allow UHS bus to reach max 102MB/s from 81.6MB/s
2019-04-21 17:33:39 +03:00
shchmue
e34a7543b1 [TSEC] Fix tsec timeout
Without increasing probability of a race condition
2019-04-19 11:54:09 -04:00
ctcaer@gmail.com
c80fecd080 [main] Add brick protection for RCM patched units
- If AutoRCM was found enabled, force disable it.
 (In case of chainloading.)
- Additionally disable AutoRCM function.
2019-04-16 20:09:04 +03:00
ctcaer@gmail.com
ed047ef5f5 [Tool] Support AutoRCM on devkits 2019-04-16 20:05:35 +03:00
ctcaer@gmail.com
a2ba2ecf26 Battery "desync" fix is now applied on boot 2019-04-16 19:58:12 +03:00
ctcaer@gmail.com
07fe94b6d4 [exo] Add exosphere panic report save to sd 2019-04-14 04:24:37 +03:00
ctcaer@gmail.com
ca0c0f786c [Tools] Add status bar update while fixing arc bit 2019-04-14 02:41:29 +03:00
ctcaer@gmail.com
b0af57f98a [GFX] Refactor gfx to utilize global contexts 2019-04-14 02:30:14 +03:00
ctcaer@gmail.com
5ba4848571 Various bugfixes
- Add error msg for what fails in a particular ini boot entry
- Fix wrongly defined s8 type
- Change raw fuse dump to correct size
2019-04-14 02:19:04 +03:00
TehPsychedelic
2a2db6cb2f Added autoboot_list to README (#205)
* Added autoboot_list to README
2019-03-30 19:10:49 +02:00
ctcaer@gmail.com
961768e14e [sd tools] Utilize sd_file_read better
Additionally fix a long standing fread/fwrite bug, via a FatFS fix.
(Doesn't affect Tegra arch though)
2019-03-16 23:35:43 +02:00
Kostas Missos
491c4efe9c [FatFS] Update to R0.13c (p3) 2019-03-13 12:27:43 +02:00
Kostas Missos
ff9671c481 Bump version to v4.9.1 2019-03-10 00:38:18 +02:00
Kostas Missos
14c50ed7f8 [Stock] Add cleaner stock
[Stock]
fss0={sd path}
stock=1

Can now work for both older and new HOS versions.

- <= 6.2.0 loads nothing and removes kernel patching.
- >= 7.0.0 loads exo, wb and removes kernel patching.

This requires that fss0 {sd path} is valid. Otherwise it will fail on ini cfg parsing.

If <= 6.2.0 and no FSS0
[Stock]
stock=1

will provide a cleaner stock with no kernel patching.
2019-03-09 20:49:00 +02:00
Kostas Missos
61401d733e [eMMC Tools] Fix verif file offset and print alignment 2019-03-09 20:39:54 +02:00
Kostas Missos
be09b68532 Bump version to v4.9 2019-03-09 00:12:08 +02:00
Kostas Missos
50eff41351 [eMMC Tools] Support for partial restore
Co-Authored-By: emvym3two <emvym3two@users.noreply.github.com>
2019-03-09 00:09:36 +02:00
Kostas Missos
dfb5640bfe Performance fixes 2019-03-08 22:18:54 +02:00
Kostas Missos
f139f9c56f [FSS0] Add Fusee secondary storage parser
Using "fss0={sd path}" allows you to parse kips, exosphere and warmboot from a fusee secondary binary.

Exosphere and warmboot are overridable if these entries are defined after that.

Additionally any extra kip can be loaded as before via
kip1={sd path}/* for many
or
kip1={sd path} for a sigle one

Warning: Don't double load core kips like loader, pm, sm and ams_mitm. The result will be a hang.
2019-03-08 01:14:43 +02:00
Kostas Missos
4f4df9ccd1 [Auto boot] Change order of invoking sept
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.
2019-03-08 00:35:43 +02:00
Kostas Missos
bafc6f4a1d [Backup & Restore] Performance changes
- Use always aligned buffers to up the speed for DMA usage. For verification, backup and restore.
- Rework verification a little bit and make default Sparse mode.

Sparse mode protects from fake sd cards, bad sectors and frequent I/O corruption. Aka, ~100% of cases.
2019-03-08 00:30:56 +02:00
Kostas Missos
b1110caed1 [Reloc patcher] Use structs and name more consts 2019-03-08 00:23:19 +02:00
Kostas Missos
e7f72b711a [Utils] btn_wait_timeout
- Allow btn_wait_timeout to be triggered immediately
- Make power options global
2019-03-08 00:22:15 +02:00
Kostas Missos
0ddc1c71a8 Bugfixes and hardcoded naming
- 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
2019-03-08 00:19:04 +02:00
Kostas Missos
4e7c39d6a0 [Logos] Optimize logos and save ~7KB
Additionally stop unneeded frees of menu logo to increase redrwaing performance.
2019-03-08 00:08:39 +02:00
Kostas Missos
72a81e7c2a [gfx] Make gfx context and macros global 2019-03-08 00:02:37 +02:00
Kostas Missos
2e9a89aa20 [Versioning] Better and smarter for update and sept
- 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.
2019-03-07 23:53:58 +02:00
Kostas Missos
ca68818efe [Boot cfg] Proper usage of storage and structs 2019-03-07 23:41:07 +02:00
Kostas Missos
3b9bf65071 Bump version to v4.8 2019-02-24 03:09:07 +02:00
Kostas Missos
50d4cbbda1 [sept] Auto update sept payload via update.bin
This will check if payload.bin is the same version with update.bin
2019-02-24 03:04:28 +02:00
Kostas Missos
f911fab9f2 [7.0.0-7.0.1] Add full support via Atmosphere's sept 2019-02-24 03:03:17 +02:00
Kostas Missos
aae7689bf5 [7.0.0] Initial support 2019-02-24 02:58:15 +02:00
Kostas Missos
7d908c9ac5 [hos] Support new mailbox and refactor a little bit 2019-02-24 02:54:32 +02:00
Kostas Missos
2fb37db707 [Boot Config] Add HOS reboot to config
This storage allows you to reboot from HOS to the selected ini boot entry.

In the future it will be used for far more.
2019-02-24 02:43:13 +02:00
Kostas Missos
c8052e5b50 [exosphere] Support for new exo config 2019-02-24 02:34:04 +02:00
Kostas Missos
de830df7e7 Add automatic NOGC based on fuses burnt
Auto NoGC:
0: Force disable, 1: Auto (checks fuses and fw version)

And also remove customlogo. It's redudunt.
2019-02-24 01:06:24 +02:00
Kostas Missos
04907e2823 Bug fixes and refactoring
- Info tools
- Tools
- Tsec
- Many more
2019-02-24 00:59:33 +02:00
Kostas Missos
4f5fcf9fbd [config + ini] Refactor and fix bugs 2019-02-24 00:35:24 +02:00
Kostas Missos
ec890c7c97 [PMIC] Refactoring 2019-02-16 01:23:14 +02:00
Kostas Missos
4f2bbbf101 Fix GPU on Linux when booting from warmboot 2019-02-12 00:46:06 +02:00
Kostas Missos
b677d6cad3 Add max77620-rtc driver & disable alarm on shut off 2019-02-12 00:45:27 +02:00
Kostas Missos
b3f8961e45 Fix sleep with 6.X.X secmon when debug mode is on 2019-02-12 00:42:22 +02:00
Kostas Missos
2f37811aba Normalize brom patches & add sd autocalib fallback 2019-02-12 00:40:40 +02:00
Kostas Missos
5cd596e53c Add SVC generic patches
First patch allows same process on svcControlCodeMemory
2019-02-12 00:36:24 +02:00
Kostas Missos
4ae42c3a9d Small fixes and whitespace
Additionally make info functions smaller and show available fuses.
2019-02-12 00:34:35 +02:00
Kostas Missos
e105634b0d Proper warmboot exploit impl and documentation
Side effect:
Fixed a bug where the dumped patched bootrom had the warmboot exploit patch

Co-Authored-By: Balázs Triszka <balika011@gmail.com>
2018-12-17 21:10:13 +02:00
Kostas Missos
4781dc2ab4 Bump version to v4.6 2018-12-17 02:31:44 +02:00