Il developer Kostas Missos (CTCaer) ha rilasciato un nuovo aggiornamento di Hekate – ipl, il bootloader personalizzato ora supporta il boot su tutti i Custom Firmware, Linux chainloading e payload.
Hekate non deve essere confuso con un Custom Firmware, hbmenu o qualsiasi altra cosa derivante dal sistema operativo Horizon OS (Switch OS).
Il bootloader personalizzato supporta le schede SD formattate in exFAT, SOLO se si è eseguito l’aggiornamento per la lettura del file system exFAT, non funzionerà sul sistema operativo Horizon OS o su qualsiasi homebrew.
Sommario
La mod CTCaer è basata su hekate – ipl di naehrwert. Hekate è fondamentalmente un bootloader personalizzato per Nintendo Switch con molte funzionalità avanzate.
Supporta tutte le schede SD (eccetto SDSC) e sceglie automaticamente se eseguire il dump in parti o meno, in base al tuo spazio libero e al file system della scheda SD.
Supporta il lancio di Custom Firmware nei seguenti aggiornamenti della Switch (tutti correnti):
- Firmware 1.0.0.
- Firmware 2.X.X (tutti).
- Firmware 3.X.X (tutti).
- Firmware 4.X.X (tutti).
- Firmware 5.X.X (tutti).
Viene fornito con molte funzionalità aggiuntive. Ad esempio puoi vedere i fusibili del SoC, le informazioni eMMC, le informazioni sulla scheda SD, ecc..
Caratteristiche principali
- Lancia un Custom Firmware per TUTTI gli aggiornamenti correnti (1.0.0, 2.X, 3.X, 4.X, 5.X).
- Funzione Auto boot.
- Supporto completo di Atmosphère con avvio di Exosphère.
- Dumping parziale e automatico della memoria RAW eMMC.
- Ripristina eMMC
- Modalità di lavoro attiva su 1.0.0-2.X, 4.X-5.X
- …e molto altro.
Cartelle e file del Bootloader
Cartella o file | Descrizione |
bootloader | Cartella principale. |
|__ bootlogo.bmp | Viene utilizzato quando è attiva la personalizzazione e non è stato trovato nessun logopath, può essere comunque saltato. |
|__ hekate_ipl.ini | Configurazione principale del bootloader e voci di avvio. |
|__ update.bin | Se più recente, viene caricato all'avvio. Per modchips. Può essere saltato. |
bootloader/ini/ | Per file .ini individuali. Menu 'More configs...'. Supporto autoboot. |
bootloader/sys/ | Per i moduli di sistema. |
|__ libsys_lp0.bso | Modulo LP0 (modalità sleep). Importante! |
bootloader/payloads/ | Per i payload. Menu 'Payloads'. Autoboot supportato solo se incluso in un file .ini . Sono supportati tutti i CFW bootloader, gli strumenti, i payload Linux. |
bootloader/libtools/ | Riservato in futuro. |
Configurazione IPL
Hekate può essere configurato tramite il file hekate_ipl.ini
(se presente sulla scheda SD). Ogni sezione rappresenta una voce di avvio, ad eccezione della sezione speciale ‘config’ che controlla la configurazione globale.
Ci sono quattro possibili tipi di voci. “[]”: Boot entry, “{}”: Caption, “#”: Comment, “newline”: .ini
newline cosmetica.
Opzione di configurazione | Descrizione |
autoboot=0 | 0: Disabilita, #: numero della voce di avvio per l'avvio automatico. |
bootwait=3 | 0: Disabilita (tenere premuto VOL- dopo l'iniezione per passare al menu. Disabilita anche bootlogo.), #: Tempo di attesa per VOL- per accedere al menu. |
customlogo=0 | 0: Utilizza di default il bootlogo di hekate 1: Utilizza bootlogo.bmp. |
verification=2 | 0: Disattiva la verifica del backup/ripristino, 1: Scarso (basato su blocco, veloce e non affidabile al 100%), 2: Completo (basato su sha256, lento e affidabile al 100%). |
Possibili combinazioni di chiavi e valori di inserimento
Opzione di configurazione | Descrizione |
logopath={SD path} | Se customlogo globale è 1 e logopath è vuoto, verrà utilizzata l'immagine di default bootlogo.bmp. Se invece logopath esiste, caricherà l'immagine bitmap specificata. |
warmboot={SD path} | Sostituisce il file binario del warmboot. |
secmon={SD path} | Sostituisce il binario del monitor di sicurezza. |
kernel={SD path} | Sostituisce il file binario del kernel. |
kip1={SD path} | Sostituisce o aggiunge il processo iniziale del kernel. molto può essere impostato. |
kip1patch=patchname | Abilita una patch kip1. Specificare con più linee e/o come CSV. Le patch implementate adesso sono nosigchk, nogc. |
fullsvcperm=1 | Disabilita la verifica SVC. |
debugmode=1 | Abilita la modalità di debug. |
atmosphere=1 | Abilita l'applicazione di Atmosphère. |
payload={SD path} Attenzione: solo su hekate - CTCaer mod v4.0 | Inietta e lancia payload. Strumenti, Linux, CFW bootloader, ecc.. |
Guida sulle caratteristiche
Lancia il firmware
- Utilizzato per avviare il Custom Firmware, in realtà si tratta di Atmosphere.
- Al momento esiste un solo tipo di versione.
- Quello, è usato per lanciare qualsiasi hbmenu o qualsiasi homebrew con il nome del file
hbmenu.nro
attraverso l’icona dell’album. - Verifica la presenza di sdfiles.zip di @tomGER.
- Sostituisci hbmenu.nro con quello fornito qui o con l’ultima versione.
Opzioni di lancio
- Questo menu ti permette di configurare le opzioni di avvio automatico.
Auto boot.
- Scegliete quale Custom Firmware avviare automaticamente.
Boot time delay.
- Tempo di attesa all’avvio per consentire l’accesso al menu del bootloader premendo VOL- (non aumentare il volume).
Custom boot logo.
- Abilita l’uso di un logo di avvio personalizzato all’avvio automatico.
- Se viene specificato un logo nella voce di avvio selezionata, verrà utilizzato
- In caso contrario o se logo non è stato trovato, verrà utilizzato
bootlogo.bmp
. - Se non viene trovato nulla o il logo di avvio personalizzato è disabilitato, verrà utilizzato il logo incorporato di hekate.
Opzioni di verifica
- Come descritto sopra, queste sono le opzioni per il backup e la verifica del ripristino.
- Puoi disabilitarlo qui se vuoi. L’impostazione predefinita è piena.
- Sparse: Controlla solo 4 byte ogni 128 byte. Questo è normalmente sufficiente per errori di blocco.
- Full: Crea gli hash sha256 dei tuoi dati di backup sd ed eMMC e li confronta da byte a byte.
Backup eMMC BOOT0/1 (importante!)
- Questo eseguirà il backup delle partizioni eMMC fisiche BOOT0 e BOOT, necessari per completare il tuo backup completo eMMC.
Backup eMMC RAW GPP (importante!):
Eseguiamo il backup dell’intera partizione generica dall’eMMC dello Switch. Questo include il sistema Switch e i file utente.
Questa è solo una delle 4 partizioni fisiche della eMMC. Gli altri sono BOOT0, BOOT1 e RPMB (non utilizzati). Poiché l’intero GPP è di 29,1 GiB (31,268,536,320 B), esistono diversi modi automatici per eseguirne il backup.
Il primo metodo prevede l’utilizzo di una scheda SD formattata in exFAT delle dimensioni di 32GiB* o superiore:
*Alcune schede da 32 GB hanno meno spazio disponibile rispetto ai 29,1 GiB richiesti, quindi potrebbero attivare il backup parziale.
Risoluzione dei problemi per quando si verifica un errore:
Ci sono alcuni casi in cui la scheda SD potrebbe generare degli errori, a causa di settori danneggiati o di I/O errati. In questi casi dalla versione 1.5 in su, questo strumento mostrerà un errore specifico, che dovrete correggere per scoprire perché.
Se l’errore non può essere risolto dovrete andare a forzare il backup parziale, creando un nuovo file chiamato partial.idx
. Apritelo con un HEX editor e scrivere esattamente questi valori esadecimali: 00 00 00 00
(il rosso è l’LSB, perché Little-endianess).
La prossima volta che proverai ad eseguire la funzione Backup eMMC RAW GPP, lo strumento eseguirà il backup in parti da 2 GB.
Il secondo metodo invece ci permette di utilizzare un dispositivo che può essere sia in FAT32 che in exFAT e con uno spazio più piccolo di 29.1GiB:
Questo metodo attiverà in automatico il backup parziale. In questa modalità si avvierà il backup in parti da 2 GB o di 1 GB se si dispone di schede da 8 GB e più piccole.
Esegue il backup della eMMC, fino a quando non riempie tutta la scheda SD. Utilizza anche un file chiamato partial.idx
, quindi sa quale è la parte successiva del backup. Al termine vedrete apparire sullo schermo un messaggio simile (anche se scritto in inglese, lo abbiamo tradotto comunque).
- Al termine della sessione, premere un tasto qualsiasi e spegnere o riavviare rcm (se si desidera saltare il passaggio 3) Passare dal menu principale
- Spostare i file dalla scheda SD al PC per liberare spazio.
- Non spostare il file partial.idx! Questo file, mantiene le schede su cui si trova la parte successiva del backup.
- Scollegare e ricollegare il cavo USB mentre si preme Vol+ (salta se si è riavviato in rcm dal menu principale di hekate).
- Eseguire nuovamente
hekate_ctcaer_1.5.1.bin
e premere Backup eMMC RAW GPP per continuare con le parti successive. - Ripetere i passaggi 1-4 finché non avrai tutti i 15 file da 2 GB o 30 da 1 GB.
- Unisci i file dal prompt dei comandi o con l’app preferita, puoi anche scegliere di utilizzare gli script forniti.
Per il passaggio 6, ci sono anche alcuni script all’interno di un file .zip
, forniti nel link di download qui sotto. Scegliere quello corretto in base alle dimensioni delle parti (15 x 2GB or 30 x 1GB) e in base al tuo sistema operativo.
partial.idx
.
Risoluzione dei problemi per quando si verifica un errore:
In questa modalità, è più semplice saltare l’area problematica della scheda SD.
- Prima provate ad eseguire nuovamente Dump RAW eMMC. Proverà a continuare dall’ultima parte che stava tentando di eseguire il backup.
- Se questo non funziona, spostate i file già salvati sul tuo PC, senza cancellare o spostare il file
partial.idx
. - Eseguite nuovamente Backup eMMC RAW GPP per avviare il backup.
Puoi colpire queste aree problematiche della scheda SD. In questo caso, risciacquare e ripetere i passaggi precedenti, mantenendo sempre il file partial.idx
così com’è.
Avviso sugli errori: se gli errori persistono, provare ad eseguire una formattazione a basso livello (completa) o provare ad eseguire chkdsk /f /r /x Z:
(dove Z è la lettera dell’unità).
Backup eMMC SYS (non necessario se hai già eseguito il backup RAW eMMC):
La partizione fisica General Purpose, contiene diverse partizioni GPT. Utilizzando questa opzione, è possibile eseguire il backup di tutte queste partizioni, ad eccezione di USER, come file separati.
Backup eMMC USER (non necessario se hai già eseguito il backup RAW eMMC):
Come descritto sopra, questo eseguirà il backup della partizione USER dalla partizione General Purpose di eMMC.
Ripristina GPU eMMC RAW (pericoloso!):
Questa funzione ci permette di ripristinare la partizione generica eMMC di eMMC. Se hekate trova /Backup/Restore/rawnand.bin
, lo ripristinerà e lo verificherà.
Se non lo trova, non farà nulla invece. Per ora supporta solo exFAT. Nessun ripristino parziale.
Ripristina eMMC BOOT0/1 (pericoloso!):
Questa funzione ci permette di ripristinare le partizioni eMMC BOOT0 e BOOT1. Ripristina solo i file in /Backup/Restore/BOOT0
e /Backup/Restore/BOOT1
.
Se non lo trova, non farà nulla invece.
Ripristina le partizioni GPP eMMC (pericoloso!):
Questa funzione ci permette di ripristinare le partizioni GPP eMMC. Ripristina solo i file che si trovano nella directory /Backup/Restore/Partitions/*
Qualsiasi file che non viene trovato, viene saltato. La partizione USER richiede exFAT.
Dump package1:
Questa funzione scarica e decodifica il package1 da BOOT0. Ne ricava anche i binari per il monitoraggio sicuro e di warmboot.
La funzione precedente è destinata all’utilizzo da parte degli sviluppatori.
Fix SD files attributes:
Questa funzione disabilita il bit di archivio in tutti i file delle schede SD. Se si hanno problemi nella visualizzazione degli homebrew, usare questa caratteristica.
Fix battery de-sync:
Questa funzione corregge la mancata configurazione del monitor della batteria scarica al PMIC max77160, prodotta dalle build di linux. La correzione è istantanea e dopo puoi avviare direttamente Horizon OS.
AutoRCM (pericoloso!):
L’AutoRCM, noto anche come briccmii, si basa sulla seconda revisione di AutoRCM sviluppato dal developer @Reisyukaku e che corregge in modo intelligente la configurazione di avvio nella partizione BOOT0.
Questa funzione permette all’utente di accendere e riavviare la console Switch sempre in modalità RCM, e senza la necessità di un jig.
Poiché scrive nell’eMMC, è considerato un’operazione pericolosa e deve essere utilizzato con cautela e solo se necessario.
Print fuse info:
Questo funzione stampa i fusibili di Tegra X1 sullo schermo. Include anche un’opzione per scaricarli sulla scheda SD, in modo da poterli esaminare più facilmente.
Print kfuse info:
Questa funzione stampa i kfuses di Tegra X1 sullo schermo. Include anche un’opzione per scaricarli sulla scheda SD, in modo da poterli esaminare più facilmente.
Print TSEC keys:
Questa funzione stampa le chiavi del tuo coprocessore di sicurezza Tegra X1 sullo schermo.
Print eMMC info:
Questa funzione stampa le informazioni della eMMC.
Da qui è possibile visualizzare molte informazioni, come la velocità massima consentita, il produttore e il modello, tutte le partizioni fisiche, tutte le partizioni GPT, ecc..
Print SD Card info:
Questa funzione stampa le informazioni attuali della scheda SD.
Da qui è possibile visualizzare molte informazioni, come le classi di velocità massima e i gradi di velocità consentiti, il produttore e il modello, lo spazio utente totale, lo spazio libero, la dimensione del cluster, ecc..
Print battery info:
Visualizza a schermo molte informazioni che riguardano la batteria (Battery Charger IC e Fuel Gauge IC).
Se la batteria si scarica, lasciarla caricare nella modalità normale (icona rossa in alto a sinistra) per circa 20-30 minuti, meglio rimuovere anche la scheda SD, se si dispone di payload/homebrew/eMMC, perché si avvierà nel sistema operativo Horizon.
Changelog v4.0
- Aggiunto launcher dei payload. Supporta tutti gli attuali bootloader di CFW, Linux chainloading e strumenti per payload.
- Usa la nuova voce in Launch, Payloads. Autoboot è supportato tramite file
.ini
su tutti i payload.
- Usa la nuova voce in Launch, Payloads. Autoboot è supportato tramite file
- Aggiunto Ianos, il nostro modulo supporta il caricamento e l’avvio. Il primo modulo è LP0 (modalità sleep).
- Aggiunto supporto per i file
.ini
splittati.- Dovrebbero essere localizzati su bootloader/ini. Sono supportati tutti i bootloader cfw, i payload e i payload linux, insieme ai file Horizon.
- Supporto per l’avvio automatico. Utilizzate il menu More configs nella configurazione di avvio automatico.
- Aggiornamento automatico all’avvio per modchips. Per gli utenti che non amano aggiornare sempre la propria eeprom.
- Aggiunto il supporto per il patching dei KIP1.
- La velocità di backup ora è più veloce, grazie alla maggiore velocità di scrittura.
- La cartella di backup ora utilizza il numero di serie degli eMMC.
- AutoRCM ora mostra lo stato e può annullare l’univoco di tutte le versioni e tipi di AutoRCM.
- Ora il programma ti chiede di continuare se manca la scheda SD. Non è più possibile avviare accidentalmente il lancio di HOS.
- Permette di eseguire il dumping delle chiavi TSEC sulla scheda SD.
- Risolto un problema di sanitizzazione del display per tutti i firmware. Niente più flash bianco o schermo nero.
- Risolto un bug critico per FatFs.
- Innumerevoli correzioni e correzioni di errori.
- ..e molto altro.
Ora tutti i file risiedono nella cartella del bootloader . Tranne ciò che è stato definito da sdpath e backup (che ora usano un seriale eMMC come nome della cartella).
Changelog v3.1
- Corretto il problema della modalità di sospensione per 3.0.0-3.0.2.
- Aggiunta barra di stato con le informazioni sulla batteria.
- Ora puoi controllare sempre lo stato della batteria durante un backup o ripristino che richiede molto tempo.
- Aggiunto il supporto del colore di sfondo dal primo pixel della bitmap.
- Se il tuo logo è più piccolo di 720×1280, ora utilizzerà il primo pixel come colore di sfondo, anziché grigio scuro.
- Aggiunto dumping del package2.
- Aggiunto il bit di archivio a tutti i file di schede SD aggiunti nuovamente.
- Ora non tocca la cartella Nintendo. Tieni presente che questo può rovinare un po’ di applicazioni homebrew.
- Corretto un bug con il lancio di un firmware non funzionante quando prima veniva usato “Dump package1”.
- Cambiato il messaggio di backup parziale per informare sullo smontaggio della scheda SD quando ci si trova in un menu.
- Alcuni piccoli bugfix.
Download: Hekate – ipl (CTCaer mod v4.0)
Download: joiner_scripts_for_windows_linux_macos.zip
Download: Source code Hekate – ipl (CTCaer mod v4.0)
PER SWITCH CON 6.0 non sarà valido presumo :/
Ciao, il supporto per firmware 6.0 è stato introdotto nella versione 4.2: https://www.biteyourconsole.net/2018/09/25/scena-switch-rilasciato-hekate-ipl-ctcaer-mod-v4-2/