Hekate es una aplicación de personalización para Nintendo Switch que incluye bootloader, parcheador de firmware, herramientras varias y más.
Carpetas y archivos del gestor de arranque:
- bootloader: Carpeta principal.
- |__ bootlogo.bmp: Se utiliza cuando está activado el custom y no se encuentra el logopath. Se puede omitir.
- |__ hekate_ipl.ini: Configuración principal del bootloader y entradas de arranque.
- |__ patches.ini: Añade parches externos. Se puede omitir. Se puede encontrar una plantilla aquí
- |__ update.bin: Si es más nuevo, se carga en el arranque. Para modchips. Se actualiza automáticamente. Se puede omitir.
- bootloader/ini/: Para inis individuales. Menú 'More configs...'. Soporta el autoarranque.
- bootloader/res/: Recursos de usuario de Nyx. Iconos y más.
- |__ background.bmp: Nyx - fondo personalizado.
- |__ icon_switch.bmp: Nyx - Icono por defecto para CFWs.
- |__ icon_payload.bmp: Nyx - Icono por defecto para Payloads.
- |icon_lakka.bmp: Nyx - Icono por defecto para Lakka.
- bootloader/sys/: Para los módulos del sistema.
- |__ emummc.kipmemu: Módulo MMC KIP1. ¡Importante!
- |__ libsys_lp0.bso: Módulo LP0 (modo de suspensión). ¡Importante!
- |__ libsys_minerva.bso: Célula de entrenamiento Minerva. Se utiliza para el entrenamiento de la frecuencia de la DRAM. ¡Importante!
- |__ nyx.bin: Nyx - Nuestro GUI. ¡Importante!
- |__ res.pak: Paquete de recursos de Nyx. ¡Importante!
- bootloader/screenshots/: Carpeta donde se guardan las capturas de pantalla de Nyx
- bootloader/payloads/: Para las cargas útiles. Menú 'Payloads...'. Sólo se admite el autoarranque incluyéndolos en un ini. Se soportan todos los cargadores de arranque CFW, herramientas y cargas útiles de Linux.
- bootloader/libtools/: Futuro reservado
- sept: Carpeta sept. Esto siempre debe actualizarse a través del zip de lanzamiento de Atmosphère. Necesario para las herramientas y el arranque del HOS en la versión 7.0.0 y superior. No se utiliza para arrancar el HOS si se define la clave fss0=.
Nota: Los archivos Sept para el arranque de la versión 7.0.0 y superior se esperan en la carpeta /sept en la raíz de la tarjeta sd.
Cómo actualizar Hekate
-
Arrastra y suelta la carpeta del cargador de arranque en la raíz de la tarjeta sd y pulsa fusionar/reemplazar.
- No es necesario borrar esa carpeta primero, especialmente si quieres tus configuraciones y cargas útiles.
-
Puedes elegir actualizar tu dispositivo de inyección RCM o tu PC con el nuevo hekate_ctcaer_x.x.x.bin o no.
- En cualquier caso, bootloader/update.bin, será comprobado y si es más nuevo se cargará.
- update.bin es hekate y ya está copiado con el proceso de actualización drag n drop de la carpeta bootloader.
Aviso sobre Atmosphere 1.0.0 y superiores: El fss0=atmosphere/fusee-secondary.bin en hekate_ipl.ini debe ser cambiado por fss0=atmosphere/package3. Y asegúrese de que la carpeta atmosphere/contents no tiene componentes antiguos de Atmosphere.
Configuración del gestor de arranque
El gestor de arranque se puede configurar a través de 'bootloader/hekate_ipl.ini' (si está presente en la tarjeta SD). Cada sección ini representa una entrada de arranque, excepto la sección especial 'config' que controla la configuración global.
Hay cuatro tipos de entradas posibles. "[ ]": Entrada de arranque, "{ }": Caption, "#": Comentario, "newline": Cosmética .ini newline.
Claves/valores de configuración global cuando la entrada de arranque está configurada:
- autoboot=00: Desactivar, #: Número de entrada de arranque para el autoarranque.
- autoboot_list=00: Leer la entrada de arranque autoboot desde hekate_ipl.ini, 1: Leer desde la carpeta ini (los archivos ini están ordenados en ASCII).
- bootwait=30: Desactivar (También desactiva el bootlogo. Teniendo VOL- pulsado desde la inyección se va al menú), #: Tiempo de espera de VOL- para entrar en el menú.
- autohosoff=10: Desactivar, 1: Si se despierta del HOS a través de una alarma RTC, muestra el logo, luego se apaga completamente, 2: No hay logo, se apaga inmediatamente.
- autonogc=10: Disable, 1: Aplica automáticamente el parche nogc si se encuentran fusibles no quemados y se arranca una EAS >= 4.0.0.
- updater2p=00: Disable, 1: Fuerza la actualización (si es necesaria) del binario reboot2payload para ser hekate.
- backlight=100: Nivel de retroiluminación de la pantalla. 0-255.
Claves/valores de configuración global de Nyx (nyx.ini):
- themecolor=167 Establece el color Nyx de los resaltados de texto.
- timeoff=100 Establece el desplazamiento de tiempo en HEX. Debe estar en formato de época HOS
- homescreen=0 Establece la pantalla de inicio. 0: Menú de inicio, 1: Todas las configuraciones (fusiona las configuraciones de inicio y más), 2: Inicio, 3: Más configuraciones.
- verification=10: Desactiva la verificación de Backup/Restore, 1: Sparse (basado en bloques, rápido y mayormente confiable), 2: Full (basado en sha256, lento y 100% confiable).
- umsemmcrw=11: eMMC/emuMMC UMS se montará como escribible por defecto.
Combinaciones de clave/valor de la entrada de arranque:
- warmboot={ruta SD} Reemplaza el binario warmboot
- secmon={ruta SD} Reemplaza el binario del monitor de seguridad
- kernel={ruta SD} Reemplaza el binario del kernel
- kip1={Ruta SD} Reemplaza/añade el proceso inicial del kernel. Se pueden establecer varios.
- kip1={carpeta SD}/* Carga todos los .kip/.kip1 dentro de una carpeta. Compatible con llaves kip1 individuales.
- fss0={SD path} Toma un binario de fusee-secondary y extrae todas las partes necesarias de él. kips, exosphere, warmboot y sept.
- fss0experimental=1 Permite cargar el contenido experimental desde un almacenamiento FSS0
- kip1patch=nombredelparche Activa un parche kip1. Especifique con varias líneas y/o como CSV. Si no se encuentra, se mostrará un error
- fullsvcperm=1 Desactiva la verificación SVC (permiso de servicios completos)
- debugmode=1 Activa el modo de depuración. Obsoleto cuando se utiliza con exosphere como secmon.
- atmosphere=1 Activa el parcheo de Atmosphère.
- emupath={carpeta SD} Obliga a emuMMC a utilizar la seleccionada. (=emuMMC/RAW1, =emuMMC/SD00, etc). emuMMC debe ser creado por hekate porque utiliza los archivos raw_based/file_based.
- emummcforce=1 Fuerza el uso de emuMMC. Si emummc.ini está deshabilitado o no se encuentra, entonces causa un error.
- emummc_force_disable=1 Desactiva emuMMC, si está habilitado.
- stock=1 Desactiva los parches innecesarios del kernel cuando se ejecuta stock o semi-stock. Si emuMMC está habilitado, se requiere emummc_force_disabled=1. emuMMC no está soportado en stock. Si se necesitan KIPs adicionales a los de OFW, se pueden definir con la clave kip1. No se debe utilizar ningún kip que dependa de los parches de Atmosphère, porque se colgará. Si se necesita NOGC, utilice kip1patch=nogc.
- id=idname Identifica la entrada de arranque para el arranque forzado mediante id. Máximo 7 caracteres.
- payload={SD path} Lanzamiento de la carga útil. Herramientas, Linux, cargadores de arranque CFW, etc.
- logopath={SD path} Si no hay logopath, se utilizará bootloader/bootlogo.bmp si existe. Si existe logopath, se cargará el mapa de bits especificado.
- icon={Ruta SD} Obliga a Nyx a utilizar el icono definido aquí. Si no se encuentra, buscará un bmp con el nombre de la entrada de arranque ([Test 2] -> bootloader/res/Test 2.bmp). En caso contrario, se utilizará el icono por defecto.
Boot entry key/value Exosphère combinations:
- nouserexceptions=1 Disables usermode exception handlers when paired with Exosphère.
- userpmu=1 Enables user access to PMU when paired with Exosphère.
- cal0blank=1 Overrides Exosphère config blank_prodinfo_{sys/emu}mmc. If that key doesn't exist, exosphere.ini will be used.
- cal0writesys=1 Overrides Exosphère config allow_writing_to_cal_sysmmc. If that key doesn't exist, exosphere.ini will be used.
Note1: When using the wildcard (/*) with kip1 you can still use the normal kip1 after that to load extra single kips.
Note2: When using FSS0 it parses exosphere, warmboot and all core kips. You can override the first 2 by using secmon/warmboot after defining fss0. You can define kip1 to load an extra kip or many via the wildcard (/*) usage.
Warning: Never define fss0 core kips when using fss0 and make sure that the folder (when using /*), does not include them. This is in case the kips are incompatible between them. If compatible, you can override fss0 kips with no issues (useful for testing with intermediate kip changes).
Payload storage:
hekate has a boot storage in the binary that helps it configure it outside of BPMP enviroment:
- '0x94' boot_cfgbit0: Force AutoBoot, bit1: Show launch log, bit2: Boot from ID, bit3: Boot to emuMMC, bit6: Boot to UMS, bit7: sept run.
- '0x95' autobootIf Force AutoBoot: 0: Force go to menu, else boot that entry.
- '0x96' autoboot_listIf Force AutoBoot and autoboot then it boots from ini folder.
- '0x97' extra_cfgbit7: Force Nyx to run Dump pkg1/2.
- '0x98' xt_str[128] Depends on the set cfg bits.
- '0x98' ums[1] When Boot to UMS is set, it will launch the selected UMS. 0: SD, 1: eMMC BOOT0, 2: eMMC BOOT1, 3: eMMC GPP, 4: emuMMC BOOT0, 5: emuMMC BOOT1, 6: emuMMC GPP,
- '0x98' id[8] When Boot from ID is set, it will search all inis automatically and find the boot entry with that id and boot it. Must be NULL terminated.
- '0xA0' emummc_path[120] When Boot to emuMMC is set, it will override the current emuMMC (boot entry or emummc.ini). Must be NULL terminated.
If the main .ini is not found, it is created on the first hekate boot.
- Thanks to: derrek, nedwill, plutoo, shuffle2, smea, thexyz, yellows8.
- Greetings to: fincs, hexkyz, SciresM, Shiny Quagsire, WinterMute.
by CTCaer.
Que novedades incluye la versión 6.2.2
Released
-
Cambios en hekate v6.2.2
- Compatibilidad con HOS 19.0.0
- L4T: Actualización de ARC a v6
- Se agregó desacoplamiento de latencia a través de ram_oc_opt.
- Se solucionó un problema en los SKU Oled donde no podían reiniciarse automáticamente a OFW si fallaba el stock.
-
Cambios en emuMMC
- Compatibilidad con HOS 19.0.0
-
Cambios en Nyx v1.6.4
- Compatibilidad con HOS 19.0.0
- Easter Egg se actualizó a v2.5.3
- Se redujo aún más el consumo de energía mientras está inactivo en cada cuadro.
- El botón Flash Android ahora tendrá la versión que se seleccionó en el esquema de partición.
- La partición GPT en el resumen de MBR ahora es violeta para no confundirse con las particiones de Android
- La información de la batería ahora puede mostrar hasta 6 perfiles PD
-
Cambios en BDK
- DIRLIST: ÚLTIMA HORA Se mejoró la velocidad de Dirlist y ahora devolverá una estructura en lugar de una matriz de caracteres
- JOYCON: Manejo mejorado de identificación de paquetes para mejorar la latencia
- UART: Corrige el borrado de FIFO y no fuerza tanto la transmisión como la recepción
- IRQ: No vuelve a habilitar IRQ si se produce un error al manejarlo
- BPMP: Se agregó compatibilidad con conjuntos de estados (para un mejor ahorro de energía si es necesario)
- TEMPORIZADOR: Las funciones de suspensión ahora usan nuevamente temporizadores RTC