2022年12月20日 星期二

Atmosphere整合包:內核包 + 擴展包

1. 內核包 = Atmosphere + Hekate + Sigpatch

hekate解析fss0 引導的區別 + 原版fusee引導。

Atmosphere = 破解ns系統權限,例:開啟相簿裡的nro。

Hekate = 強大可自定義的bootloader,破解開機引導。

Sigpatch = 允許非官方的nsp遊戲與nsp前端軟體。

2. Sigpatch常識

Sigpatch是基於大氣層內核的外掛補丁,目前應該有4部分,均跟著ns系統大版本走。

2.1 es插件: 位於atmosphere/exefs_patches/es_patches/

2.2 fs插件: 位於atmosphere/kip_patches/fs_patches/

es/fs插件原本是tx小組發明,後被人提取出來給大氣層作為外掛插件使用。

es/fs插件必須齊全,否則可能某些低版本的遊戲就無法運行。

2.3 loader插件: 位於atmosphere/kip_patches/loader_patches/

loader插件只對應當前大氣層內核,也就是1個就行。

對於fss0引導和fusee引導的大氣層來說,位於kip_patches/下的插件將通過bootloader/patches.ini存放並交給hekate解析便於管理。

而位於exefs_patches/下的插件,fss0 和fusee兩種引導的大氣層都一樣。所以用什麼引導只需要有對應什麼sigpatch就行。

2.4 nfim ctest 插件,位於atmosphere/exefs_patches/nfim_ctest/,

可有可無,可能是繞過任天堂服務器的聯網驗證。

3. 內核包整合(請參考前篇Set up Atmosphere with EmuNAND on Mariko)

3.1 整合過程

3.1.1 下載最新的atmosphere、hekate 和sigpatch

解壓atmosphere-1.4.0-master-36a33617a+hbl-2.4.3+hbmenu-3.5.1.zip + fusee.bin + hekate_ctcaer_6.0.0_Nyx_1.5.0 放在同資料夾,最後把sigpatch解壓縮覆蓋。

fusee.bin,放到bootloader/payloads/下。

3.1.2 atmosphere配置的template位於atmosphere/config_template/下的模板,可以轉移到atmosphere/config/下。文後附配置參考。

system_settings.ini = 大氣層內核重要配置

stratosphere.ini = 主要防止遊戲卡槽熔斷,不需要kip 補丁

override_config.ini = 涉及hbmenu 的設置

hekate_ipl.ini = fss0 引導與fusee 引導的配置作參考。

3.1.3整合注意幾個要點

----對於fss0 引導,讓sigpatch 生效,hekate_ipl.ini 中要添加kip1patch=nosigchk參數。

----建議最新版hekate.bin重命名reboot_payload.bin 並放到atmosphere/下覆蓋替換原由fusee.bin 重命名的reboot_payload.bin。

----建議最新的lockpick_rcm.bin(提取本機prod.key)和tegraexplorer.bin(提取固件)存放至bootloader/payloads/下。

4. Tesla平台和ovl插件的基本常識

4.1 mod路徑插件大氣層插件路徑atmosphere/contents/, 只是其中一種mod插件,還有常見的missioncontrol和sys-con等插件。

----這些插件是伴隨著cfw破解引導進駐內存,所以有可能因為插件版本不兼容新的ns系統與大氣層內核導致卡logo等引導失敗。

----但可以通過刪除atmosphere/contents/某插件titleid/flags/中的空文件boot2.flag實現禁止該插件開機後加載進內存,這樣就算插件版本低也不會出現問題。

----例:舊版missioncontrol 插件,你刪除該插件boot2.flag之後即使系統升級和大氣層內核更新,開機也沒事。

----所以除tesla 插件外,建議其它插件不用開啟,就算要用也只需deepsea工具箱裡開啟一下就行,有些插件開啟後需要重啟生效。

----當然系統主題mod只能刪除或者重命名對應titleid 才行。那些金手指代碼或遊戲漢化補丁等插件,因為使用遊戲titleid,所以不影響系統。

4.2 Tesla平台

Tesla平台等於在屏幕上懸浮菜單實現各種實時功能,由edizon 金手指作者WerWolv發布,實現免相簿直接開啟修改菜單。並延伸各種功能,你可以把Tesla平台看作ovl插件的管理平台,視同相簿hbmenu。但tesla平台就是下面三個核心組件構成:

(1)nx-ovlloader,位於atmosphere/contents/420000000007E51A,顧名思義ovl加載器,目的是隨著大氣層破解自動加載駐留內存。

(2)tesla-menu,位於switch/.overlays/ovlmenu.ovl 是人機交互界面。

(3)ovl-Sysmodules,位於switch/.overlays/ovlSysmodules.ovl相當於第三方ovl插件的管理端口,類似deepsea工具箱後台插件管理。

有了tesla 平台,nro 開發者可再開發個ovl版本,比如edizon作者就發布ovlEdiZon.ovl,儘管功能不如edizon.nro多,但實際體驗不錯。

Tesla 插件默認(L+Ddown+RS)三鍵開啟菜單,但config/tesla/config.ini中可以配置快捷鍵key_combo = 實現自定義。

4.3 第三方ovl插件

兩個常用的sys-clk-overlay.ovl(超頻管理)和fastCFWswitch.ovl(重啟引導管理)。

5. NRO 自製軟體基本常識

5.1 目前xci/nsp 安裝器大致分這幾類:

tinfoil、dbi、goldleaf和一堆以awoo installer為源碼的寨版安裝器這四類。

5.2 deepsea 工具箱(包括kosmos工具箱,hekate工具箱等是同源),

它主要4 個功能

(1)mod路徑插件的後台管理開關,類似ovlSysmodules.ovl

(2)配置bootloader/hekate_ipl.ini 中的autoboot 啟動選項

(3)配置atmosphere/config/override_config.ini 中的快捷鍵

5.3

checkpoint/jksv是常用的ns遊戲存檔管理器,當然比如tinfoil和edizon等也含類似功能,注意checkpoint3.75 是大氣層作者為適配新版大氣層內核做的兼容版,需要APP模式才能運行,此外注意導出的存檔路徑和格式。

5.4

nro在applet mode下運行權限較小。所以有些自製軟件,比如awoo、atmoxl、tinleaf等安裝整合版xci的時候,需要按住R點擊某個遊戲後進入application mode下運行nro獲得較高的系統權限。

當然你也可以安裝萬能前端hbmenu.nsp。

6. 部分設定檔說明(僅供參考)

6.1 atmosphere/config/system_settings.ini

[usb]

usb30_force_enabled = u8!0x1(強制開usb3.0,建議開啟適用dbi)

[eupld]

upload_enabled = u8!0x0

[ro]

ease_nro_restriction = u8!0x0

[lm]

enable_sd_card_logging = u8!0x1(無所謂,改成0x0 也無妨)

sd_card_log_output_directory = str!atmosphere/binlogs

[atmosphere]

fatal_auto_reboot_interval = u64!0x0

power_menu_reboot_function = str!payload

dmnt_cheats_enabled_by_default = u8!0x0(防止金手指自動開啟)

dmnt_always_save_cheat_toggles = u8!0x0(保存上次金手指設置)

enable_hbl_bis_write = u8!0x0

enable_hbl_cal_read = u8!0x0

fsmitm_redirect_saves_to_sd = u8!0x0

enable_deprecated_hid_mitm = u8!0x0

enable_am_debug_mode = u8!0x0

enable_dns_mitm = u8!0x1(開啟dns 中間件)

add_defaults_to_dns_hosts = u8!0x1(本機就可開90dns,不用去路由器)

enable_dns_mitm_debug_log = u8!0x0

enable_htc = u8!0x0

enable_log_manager = u8!0x0

[hbloader]

applet_heap_size = u64!0x0

applet_heap_reservation_size = u64!0x8600000

6.2 atmosphere/config/override_config.ini

[hbl_config]

program_id=010000000000100D(就是相簿titleid,尾號改13 就是頭像)

override_any_app=true

path=atmosphere/hbl.nsp

override_key=!R(點相簿自動進入hbmenu,按住R 進相簿是原版相簿)

override_any_app_key=R(只有按住R 點擊遊戲才會進入hbmenu)只要注意:"!"表示不按!後面那個鍵,自動執行

[default_config]

override_key=!L

cheat_enable_key=!L

6.3 atmosphere/config/stratosphere.ini

[stratosphere]

nogc = 1(預防遊戲卡槽熔斷,其實hekate 那裡也可以設置)

如果真實/虛擬系統一直同步升級的就無所謂,建議了解一下游戲卡槽熔斷。

6.4 exosphere.ini

[exosphere]

debugmode=1

debugmode_user=0

disable_user_exception_handlers=0

enable_user_pmu_access=0

blank_prodinfo_sysmmc=1(cfw-sysnand 真實係統下隱藏序列號)

blank_prodinfo_emummc=1(cfw-emummc 虛擬系統下隱藏序列號)

allow_writing_to_cal_sysmmc=0

log_port=0

log_baud_rate=115200

log_inverted=0

如果類似deepsea 這樣fss0 引導,可以直接去hekate_ipl.ini 裡編輯對

應段落,在其中添加cal0blank=1 就行,兩者無差別,當然exosphere 優先。

6.5 bootloader/hekate_ipl.ini

[config]

autoboot=0(表示開機啟動到hekate 菜單,不設置自動引導選項)

autoboot_list=0

bootwait=3(在出現開機bootlogo 時有3 秒內可按音量-返回hekate)

backlight=100

autohosoff=0

autonogc=1

[CFW-SYSNAND](真實係統破解狀態,所有插件可生效)

emummc_force_disable=1(強制指向真實係統)

fss0=atmosphere/package3(原來是fusee-secondary.bin)

kip1patch=nosigchk(允許patches.ini,也就是sigpatch 生效)

atmosphere=1(加載大氣層進入系統)

logopath=bootloader/bootlogo.bmp(開機bootlogo 圖片路徑)

icon=bootloader/res/sysnand.bmp(launch 菜單的icon 圖標路徑)

id=cfw-sys(用於fastcfwswitch 引導做的id 識別,自定義)

{}

[CFW-EMUNAND](虛擬系統破解狀態,所有插件可生效)

emummcforce=1(強制指向虛擬系統)

fss0=atmosphere/package3

kip1patch=nosigchk

atmosphere=1

logopath=bootloader/bootlogo.bmp

icon=bootloader/res/emunand.bmp

id=cfw-emu

{}

[OFW-SYSNAND](真實係統不破狀態,禁止所有插件與配置生效)

emummc_force_disable=1(強制指向真實係統)

fss0=atmosphere/package3

stock=1(只跳過熔斷數,不開啟所有大氣層配置參數,視同官方系統)

icon=bootloader/res/icon_switch.bmp

id=ofw-sys

6.6 bootloader/ini/more.ini

[CFW-Auto]

payload=bootloader/payloads/fusee.bin(表示大氣層原版fusee 引導,不

加參數,將不區分指向真實係統或虛擬系統)

icon=bootloader/res/icon_ams.bmp

6.7 config/fastcfwswitch/config.ini

[CFW-SYSNAND]

name=cfw-sys(表示tesla 菜單fastcfwswitch 出現的引導名稱)

path=/payload.bin(表示根目錄payload.bin,就是hekate)

bootId=cfw-sys(表示調用hekate_ipl 裡面的配置id 的那個引導段落)

[CFW-EMUNAND]

name=cfw-emu

path=/payload.bin

bootId=cfw-emu

[OFW-SYSNAND]

name=ofw-sys

path=/payload.bin

bootId=ofw-sys

[CFW-auto](二次payload 的不需要id,直接寫明payload 文件路徑就行)

name=cfw-auto

path=/bootloader/payloads/fusee.bin

6.8 config/tesla/config.ini

[tesla]

key_combo=L+DDOWN(tesla 通過左手柄的L 鍵+十字方向鍵下開啟)

參考網址:

http://www.265xh.com/nszhinan/4269.html

https://www.marsshen.com/posts/20e16ead/

https://www.999bj.com/t-19160.html

沒有留言:

張貼留言