Bootloader/hekate_ipl.ini Has Boot — Entries Better
[Lakka] payload=boot/lakka/Image devicetree=boot/lakka/tegra210-lakka.dtb initrd=boot/lakka/initrd
[My Custom Boot] kip1=path/to/package3 Sections are enclosed in square brackets [ ] . Each section represents one boot entry. Keys are case‑sensitive (e.g., fss0 , kip1 , logopath ). | Parameter | Description | |-----------|-------------| | fss0 | Path to package3 (the main fusee secondary binary). Usually atmosphere/package3 . | | kip1 | Path to a KIP1 file (kernel initial process) – rarely used directly; prefer fss0 . | | secmon | Path to secmon binary (trusted OS). | | warmboot | Path to warmboot binary (power management). | | logopath | Custom bitmap image shown while booting this entry. | | payload | Launch a different payload (e.g., reboot_to_payload.bin ). | | emummcforce | Force emuMMC even if auto detect fails. | | id | Unique identifier (used for bootlogo selection or scripts). | Atmosphere‑specific (when using fss0 ): | Parameter | Effect | |-----------|--------| | atmosphere=1 | Enforce Atmosphere patches. | | cal0blank=1 | Blank prodinfo (protection against console bans). | | autoboot=0/1 | Override global autoboot for this entry. | | stock=1 | Launch completely stock Horizon (no CFW patches). | Linux / Android (via U-Boot): | Parameter | Effect | |-----------|--------| | payload=boot/fit/Image | Boot Linux kernel image. | | devicetree=boot/dtb/tegra210‑... | Load device tree blob. | | initrd=boot/initrd | Load initial RAM disk. | 4. Common Boot Entry Examples 4.1 Stock (Untouched) Horizon OS [Stock] fss0=atmosphere/package3 stock=1 emummc_force_disable=1 Explanation: Disables emuMMC, uses sysMMC, and applies no CFW patches. Useful for online play. 4.2 Atmosphere CFW (sysMMC) [Atmosphere SYS] fss0=atmosphere/package3 kip1patch=nosigchk atmosphere=1 emummc_force_disable=1 cal0blank=1 Explanation: Boots Atmosphere on sysMMC, blanked prodinfo, signature patches. 4.3 Atmosphere CFW (emuMMC) [Atmosphere EMU] fss0=atmosphere/package3 kip1patch=nosigchk atmosphere=1 emummcforce=1 cal0blank=1 Explanation: Forces emuMMC usage. Ideal for homebrew without touching sysMMC. 4.4 Lakka (RetroArch OS) [Lakka] payload=boot/lakka/Image devicetree=boot/lakka/tegra210‑lakka.dtb initrd=boot/lakka/initrd logopath=boot/lakka/bootlogo.bmp Explanation: Boots Lakka directly via U‑Boot. Device tree and initrd must match. 4.5 Switchroot Android 10 [Android] payload=boot/Android/u-boot.bin Explanation: Launches U‑Boot which then boots Android. Android’s bootloader ( u-boot.bin ) handles the rest. 4.6 Reboot to Payload (e.g., to reboot into RCM) [Reboot to Payload] payload=bootloader/update.bin Explanation: Re‑injects update.bin (often hekate itself). Useful for chain‑loading. 5. Advanced Features 5.1 Boot Entry with Custom Logo [My Custom Build] fss0=atmosphere/package3 logopath=bootloader/res/my_logo.bmp atmosphere=1 Note: Bitmap must be 720×480 or 1280×720, 24‑bit BMP. 5.2 Using kip1 Instead of fss0 (Legacy) [Old School] kip1=atmosphere/kips/loader.kip secmon=atmosphere/exefs/secmon.bin warmboot=atmosphere/exefs/warmboot.bin Modern Atmosphere uses fss0 → package3 → all KIPs loaded automatically. 5.3 Auto Boot with Timeout Global section (outside any entry): bootloader/hekate_ipl.ini has boot entries
[Reboot to RCM] payload=bootloader/update.bin bootloader/hekate_ipl.ini is the central control file for multi‑boot on a hacked Nintendo Switch. By mastering its syntax and parameters, users can seamlessly switch between stock OS, custom firmware, Linux, Android, and recovery tools. Always validate changes with hekate’s Config menu and keep a rescue payload accessible. This write‑up provides a complete reference for creating, understanding, and troubleshooting boot entries in hekate’s IPL configuration. | | secmon | Path to secmon binary (trusted OS)
[Atmosphere EMU] fss0=atmosphere/package3 kip1patch=nosigchk atmosphere=1 emummcforce=1 cal0blank=1 By mastering its syntax and parameters
[Android] payload=boot/Android/u-boot.bin