AllHack

【Switch】Hekate(Kosmos)の解説 CFWのキホン

f:id:mp0025:20200121010658p:plain



EmuNANDの導入方法を先日載せました。その際に、SysNANDはどうやって起動するのですか?と質問を頂いたので、折角なのでHekateとKosmosについて解説しようと思います。

 2020年1月21日時点 執筆途中

 

 

Hekate

Hekateとは

簡単に言えばブートローダーです。CFW起動できたり、SDカードに保存したペイロードをここから読み込んだりできます。

・Home

f:id:mp0025:20200112154950j:plain

・Launch

f:id:mp0025:20200112155112j:plain

Kosmosを導入した初期状態で説明します。

CFW(SYSNAND) CFWをSYSNANDベースで起動します。
CFW(EMUMMC) CFWを、作成したemuMMCから起動します。
Stock(SYSNAND) SYSNANDで起動します。

SDカードのBootloader内にあるhekate_ipl.iniファイルを編集すれば、ここに新たに追加する事ができます。(hekate_ipl.iniについては下記で)

・More Configs

 

・Payloads

f:id:mp0025:20200119162712j:plain
bootloader/payloads/に保存したペイロードファイルを選択できます。

・emuMMC

f:id:mp0025:20200119231853j:plain

emuMMCの作成等で使用する。

Change emuMMC EmuNANDを起動するときに使用するemuMMCを選択する。
Create emuMMC emuMMCを作成する。
Migrate emuMMC バックアップファイルをSD fileもしくはSD partitionに移行する。

EmuNANDの導入の仕方はこちら

allhacking.hatenablog.com

・Tools

f:id:mp0025:20200120230837j:plain
f:id:mp0025:20200120230832j:plain
eMMC・package1/2

 

・Console Info

f:id:mp0025:20200121004054j:plain

Bootrom Bootromの情報を表示します
TSEC Keys TSEC Keysの情報を表示します
Fuses ヒューズの情報を表示します
KFuses "KFusesの情報をダンプします
SD:backup/{emmc_sn}/dumps/kfuses.bin"
eMMC eMMCの情報を表示します
microSD microSDの情報を表示します。
Battery バッテリーの情報を表示します

 

・Options

Autoboot ペイロードが読み込まれた時、自動でCFWを起動する
Boot Time Delay 起動遅延
Auto NoGC カートリッジリーダー有効無効のパッチを自動的に適応
Auto HOS Power Off 正常にシャットダウン出来るようにする
Backlight バックラトの明るさ
Data Verification バックアップ、リストアする際にデータの整合性を確認する

・Auto NoGC・・・ONにすると自動的にNo GCを適応するかしないかを判別して実行します。よくわからない人はONにしといて下さい。ここから解説しますが間違っている可能性があるので先にご了承頂きたい。そもそも、NoGCとは、ゲームカートリッジを無効化する機能です。なぜ無効化するか、まず、ゲームカートリッジには二種類あります。それはCart1とCart2です。元々Cart1だけ存在していたのですが、バージョン4.0.0が出た頃にでCart2が登場しました。そして、4.0.0のアップデートにカートリッジリーダーのコントローラー(Lotus)アップデートが含まれており、結果としてCart2に対応しました。しかしながら4.0.0未満のバージョンを実行した場合、カートリッジリーダーのコントローラーは最新バージョンなので不整合によりクラッシュします。なのでゲームカートリッジの機能を無効化して回避するわけです。
また、このAuto NO GCの判別源はヒューズチェックによるものです。
因みに、Cart1とCart2の主な違いはカードリッジのパーティション構造です。

・Auto HOS Power Off・・・Auto RCMをONしている方はONにすることを推奨します。これは、Auto RCMをONしている際に何らかの方法でシャットダウンすると、約15秒後に自動でRCMに入ってしまいます。なので、RCMに入っていると気づかずバッテリーが消費されてしまいます。これをONにすることによって何らかの方法でシャットダウンした際に正常に電源が切れるようになります。

・Data Verification・・・バックアップ、リストアする際にデータの整合性を確認するものです。簡単に言えばバックアップ、リストアした時に正しくできているかを確認するものです。万が一OFFだった場合最悪ブリック等考えられます。なので、せめてSparateにしましょう。以下、この設定による所要時間の目安は以下の通りです。

Off 9分
Sparse 15分
Full(Slow) 120分
Full(Hashes) 15 – 120分

参考:https://tkgstrator.work/?p=16809

・Reload,Reboot,Power Off

f:id:mp0025:20200120222439j:plain
f:id:mp0025:20200120222443j:plain
f:id:mp0025:20200120222447j:plain
Power Off 電源を落とす
Reload hekateを再起動する
Reboot RCM・・・RCMに入る
OFW・・・OFWを起動する

起動について

OptionsでAuto Bootで起動するオプションを選択してONにした際、ペイロードが読み込まれると自動的に、選択した設定で起動します。Hekateのメニューを表示させたい時はペイロードを送信する時に-(マイナス)ボタンを押しておくと表示できます。

SDカードについて(bootloaderフォルダ)

・Bootloaderフォルダの構成
Folder/File Description
bootloader メインフォルダ
|__ bootlogo.bmp ロゴ
|__ hekate_ipl.ini このブートローダーの設定ファイル
|__ patches.ini

外部パッチを追加できます。 テンプレートはここ

|__ update.bin If newer, it is loaded at boot. For modchips. Auto updated. Can be skipped.
bootloader/ini/ More Configs
bootloader/res/ アイコンなどのユーザーリソース
|__ background.bmp 背景
|__ icon_switch.bmp CFWのアイコン
|__ icon_payload.bmp ペイロードのアイコン。
|__ icon_lakka.bmp Lakkaのアイコン
bootloader/sys/ For system modules.
|__ emummc.kipm emuMMC KIP1 module. Important!
|__ libsys_lp0.bso LP0 (sleep mode) module. Important!
|__ libsys_minerva.bso Minerva Training Cell. Used for DRAM Frequency training. Important!
|__ nyx.bin Nyx - Our GUI. Important!
|__ res.pak リソースパッケージ
bootloader/screenshots/ 下記の方法で撮ったスクリーンショットの保存フォルダ
bootloader/payloads/ ここにペイロードファイルを入れるとPayloadsで使用できる
bootloader/libtools/  
sept Sept folder. This must be always get updated via the Atmosphère release zip. Needed for tools and booting HOS on 7.0.0 and up. Unused for booting HOS if fss0= key is defined.

 ・「bootloader/res/」に置いたbmpファイルはhekate_ipl.iniを編集することで新たにアイコンを設定することができたり、LaunchやMore Configsで使用する画像を変更できる。

hekate_ipl.iniについて
Config option Description
autoboot=0 autobootの設定。0: 無効 ローダー内で変更できる。
autoboot_list=0 0: Read autoboot boot entry from hekate_ipl.ini, 1: Read from ini folder (ini files are ASCII ordered).
bootwait=3 0: Disable (It also disables bootlogo. Having VOL- pressed since injection goes to menu.), #: Time to wait for VOL- to enter menu.
verification=2 0: Disable Backup/Restore verification, 1: Sparse (block based, fast and not 100% reliable), 2: Full (sha256 based, slow and 100% reliable).
autohosoff=1 0: Disable, 1: If woke up from HOS via an RTC alarm, shows logo, then powers off completely, 2: No logo, immediately powers off.
autonogc=1 0: Disable, 1: Automatically applies nogc patch if unburnt fuses found and a >= 4.0.0 HOS is booted.
updater2p=0 0: Disable, 1: Force updates (if needed) the reboot2payload binary to be hekate.
backlight=100 バックライトの明るさ。

 bootloader/res/の中の画像は

その他便利な機能

スクリーンショット

三本指で画面をタップするとスクリーンショットが取れます。

 

Kosmos

Kosmosとは

改造に必要なものが1つにまとまっている物です。また、Kosmos独自の便利な機能を備えています。

CFWについて

KosmosのCFWはAtomosphereベースです。

便利な機能

FTP

 

参考
http://cmd0725.blog.fc2.com/blog-entry-2592.html
https://gbatemp.net/threads/updated-to-9-0-0-with-cfw-but-now-i-cant-play-my-carts.548073/
https://tkgstrator.work/?p=16809
https://www.reddit.com/r/SwitchHacks/comments/au2x9r/hekate_v48_released_70x_support/eh60w4w/
https://github.com/CTCaer/hekate/blob/master/README.md
https://gbatemp.net/threads/nogc-in-stock-sysmmc.551873/
https://yyoossk.blogspot.com/2018/12/hekate.html