1
0
Fork 0
mirror of https://github.com/CTCaer/hekate.git synced 2024-11-10 04:21:45 +00:00

[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.
This commit is contained in:
Kostas Missos 2019-03-08 00:35:43 +02:00
parent bafc6f4a1d
commit 4f4df9ccd1
2 changed files with 13 additions and 14 deletions

View file

@ -695,11 +695,8 @@ out:
void auto_launch_firmware()
{
if (!(b_cfg.boot_cfg & BOOT_CFG_FROM_LAUNCH))
{
if (!h_cfg.sept_run)
auto_launch_update();
gfx_con.mute = true;
}
u8 *BOOTLOGO = NULL;
char *payload_path = NULL;
@ -719,6 +716,9 @@ void auto_launch_firmware()
bool bootlogoFound = false;
char *bootlogoCustomEntry = NULL;
if (!(b_cfg.boot_cfg & BOOT_CFG_FROM_LAUNCH))
gfx_con.mute = true;
ini_sec_t *cfg_sec = NULL;
LIST_INIT(ini_sections);
LIST_INIT(ini_list_sections);
@ -843,13 +843,8 @@ void auto_launch_firmware()
else
goto out;
payload_path = ini_check_payload_section(cfg_sec);
if (!payload_path)
check_sept();
u8 *bitmap = NULL;
if (!(b_cfg.boot_cfg & BOOT_CFG_FROM_LAUNCH))
if (!(b_cfg.boot_cfg & BOOT_CFG_FROM_LAUNCH) && h_cfg.bootwait)
{
if (bootlogoCustomEntry) // Check if user set custom logo path at the boot entry.
bitmap = (u8 *)sd_file_read(bootlogoCustomEntry);
@ -915,13 +910,13 @@ void auto_launch_firmware()
if (h_cfg.autoboot_list)
ini_free(&ini_list_sections);
if (b_cfg.boot_cfg & BOOT_CFG_FROM_LAUNCH)
if (h_cfg.sept_run)
display_backlight_brightness(h_cfg.backlight, 0);
else if (h_cfg.bootwait)
display_backlight_brightness(h_cfg.backlight, 1000);
// Wait before booting. If VOL- is pressed go into bootloader menu.
if (!(b_cfg.boot_cfg & BOOT_CFG_FROM_LAUNCH))
if (!h_cfg.sept_run)
{
btn = btn_wait_timeout(h_cfg.bootwait * 1000, BTN_VOL_DOWN);
@ -929,6 +924,8 @@ void auto_launch_firmware()
goto out;
}
payload_path = ini_check_payload_section(cfg_sec);
if (payload_path)
{
ini_free_section(cfg_sec);
@ -936,7 +933,10 @@ void auto_launch_firmware()
free(payload_path);
}
else
{
check_sept();
hos_launch(cfg_sec);
}
out:
ini_free(&ini_sections);

View file

@ -29,8 +29,7 @@
#include "../utils/util.h"
#include "../hos/hos.h"
/* #include "../gfx/gfx.h"
extern gfx_con_t gfx_con; */
// #include "../gfx/gfx.h"
static int _tsec_dma_wait_idle()
{