Line 12: |
Line 12: |
| * 0100000000000007 (tma) | | * 0100000000000007 (tma) |
| * 010000000000001A (pcv) | | * 010000000000001A (pcv) |
| + | |
| + | All processes are launched with [[Process_Manager_services|pm:shell]] LaunchProgram and launch_flags=0, Abort is used if the returned Result matches certain errors. |
| | | |
| It then opens the [[Settings_services#set:sys|set:sys]] service and reads a bool from the "boot" section called "force_maintenance" with default value set to "true". | | It then opens the [[Settings_services#set:sys|set:sys]] service and reads a bool from the "boot" section called "force_maintenance" with default value set to "true". |
Line 52: |
Line 54: |
| * 0100000000000031 (glue) | | * 0100000000000031 (glue) |
| * 0100000000000032 (eclct) | | * 0100000000000032 (eclct) |
− | * 010000000000002F (npns) [skipped in maintenance mode] | + | * 010000000000002F (npns) [skipped in maintenance mode on 1.0.0-6.2.0] |
| * 0100000000000034 (fatal) | | * 0100000000000034 (fatal) |
| * 0100000000000037 (ro) [3.0.0+] | | * 0100000000000037 (ro) [3.0.0+] |
Line 74: |
Line 76: |
| | | |
| Then it launches the following titles in order: | | Then it launches the following titles in order: |
| + | * 0100000000000045 (omm) [14.0.0+] |
| * 0100000000000023 (am) | | * 0100000000000023 (am) |
| * 0100000000000019 (nvservices) | | * 0100000000000019 (nvservices) |
Line 87: |
Line 90: |
| * 010000000000000B (bluetooth) | | * 010000000000000B (bluetooth) |
| * 0100000000000012 (bsdsockets) | | * 0100000000000012 (bsdsockets) |
| + | * 0100000000000046 (eth) [15.0.0+] |
| * 010000000000000F (nifm) | | * 010000000000000F (nifm) |
| * 0100000000000018 (ldn) | | * 0100000000000018 (ldn) |
Line 93: |
Line 97: |
| * 010000000000003C (jpegdec) | | * 010000000000003C (jpegdec) |
| * 0100000000000022 (capsrv) | | * 0100000000000022 (capsrv) |
| + | * 010000000000001B (capmtp) [11.0.0+] |
| * 0100000000000024 (ssl) | | * 0100000000000024 (ssl) |
| * 0100000000000025 (nim) | | * 0100000000000025 (nim) |
Line 106: |
Line 111: |
| * 0100000000000038 (profiler) (doesn't exist on retail systems) | | * 0100000000000038 (profiler) (doesn't exist on retail systems) |
| * 0100000000000039 (sdb) | | * 0100000000000039 (sdb) |
− | * 010000000000003A (migration) | + | * 010000000000003A (migration) [10.0.0-11.0.1] |
− | * 0100000000000035 (grc) | + | * 0100000000000035 (grc) [10.0.0-11.0.1] |
| * 010000000000003E (olsc) | | * 010000000000003E (olsc) |
| + | * 0100000000000050 (ngc) [16.0.0+] |
| * 0100000000000041 (ngct) | | * 0100000000000041 (ngct) |
| * 010000000000000E (friends) [skipped in maintenance mode] | | * 010000000000000E (friends) [skipped in maintenance mode] |
| * 010000000000000C (bcat) [skipped in maintenance mode] | | * 010000000000000C (bcat) [skipped in maintenance mode] |
| * 0100000000000030 (eupld) [skipped in maintenance mode] | | * 0100000000000030 (eupld) [skipped in maintenance mode] |
| + | |
| + | [16.0.0+] After launching pcv and before tma, it uses [[NCM_services|ncm]] cmd15 with input value 0, Aborting on failure (service init/exit is also done in nnMain now). |
| + | |
| + | After launching all titles, it'll check the "boot!boot_devmenuapp_installer" setting and attempt to launch 01000000000020f0 (devmenuapp_installer) if it's set to true. |
| | | |
| This list is probably optimized for boot-time. It launches display-related things first presumably to make sure it displays something as soon as possible. | | This list is probably optimized for boot-time. It launches display-related things first presumably to make sure it displays something as soon as possible. |
Line 165: |
Line 175: |
| * 0100000000000032 (eclct) | | * 0100000000000032 (eclct) |
| * 010000000000B120 (nvdbgsvc) | | * 010000000000B120 (nvdbgsvc) |
− | * 010000000000002F (npns) [skipped in maintenance mode] | + | * 010000000000002F (npns) [skipped in maintenance mode on 1.0.0-6.2.0] |
| * 0100000000000034 (fatal) | | * 0100000000000034 (fatal) |
| * 0100000000000037 (ro) [3.0.0+] | | * 0100000000000037 (ro) [3.0.0+] |
Line 185: |
Line 195: |
| * 010000000000001A (pcv) | | * 010000000000001A (pcv) |
| * 0100000000000007 (tma) or 010000000000B240 (htc) | | * 0100000000000007 (tma) or 010000000000B240 (htc) |
| + | * 0100000000000051 (dmgr) [17.0.0+] |
| * 010000000000000D (dmnt) or 010000000000D609 (dmnt.gen2) | | * 010000000000000D (dmnt) or 010000000000D609 (dmnt.gen2) |
| | | |
Line 190: |
Line 201: |
| | | |
| Then it launches the following titles in order: | | Then it launches the following titles in order: |
| + | * 0100000000000045 (omm) [14.0.0+] |
| * 0100000000000023 (am) | | * 0100000000000023 (am) |
| * 0100000000000019 (nvservices) | | * 0100000000000019 (nvservices) |
Line 197: |
Line 209: |
| * 0100000000000017 (cs) | | * 0100000000000017 (cs) |
| * 0100000000000011 (shell) | | * 0100000000000011 (shell) |
| + | * 010000000000D640 (htcnet) [16.0.0+] [skipped in maintenance] |
| + | * 010000000000D633 [14.0.0+] [skipped in maintenance mode] |
| * 0100000000000042 (pgl) | | * 0100000000000042 (pgl) |
| * 010000000000001F (ns) | | * 010000000000001F (ns) |
Line 206: |
Line 220: |
| * 010000000000000B (bluetooth) | | * 010000000000000B (bluetooth) |
| * 0100000000000012 (bsdsockets) | | * 0100000000000012 (bsdsockets) |
| + | * 0100000000000046 (eth) [15.0.0+] |
| * 010000000000000F (nifm) | | * 010000000000000F (nifm) |
| * 0100000000000018 (ldn) | | * 0100000000000018 (ldn) |
Line 212: |
Line 227: |
| * 010000000000003C (jpegdec) | | * 010000000000003C (jpegdec) |
| * 0100000000000022 (capsrv) | | * 0100000000000022 (capsrv) |
| + | * 010000000000001B (capmtp) [11.0.0+] |
| * 0100000000000024 (sll) | | * 0100000000000024 (sll) |
| * 0100000000000025 (nim) | | * 0100000000000025 (nim) |
Line 225: |
Line 241: |
| * 0100000000000038 (profiler) | | * 0100000000000038 (profiler) |
| * 0100000000000039 (sdb) | | * 0100000000000039 (sdb) |
− | * 010000000000003A (migration) | + | * 010000000000003A (migration) [10.0.0-11.0.1] |
− | * 0100000000000035 (grc) | + | * 0100000000000035 (grc) [10.0.0-11.0.1] |
| * 010000000000003E (olsc) | | * 010000000000003E (olsc) |
| + | * 0100000000000050 (ngc) [16.0.0+] |
| * 0100000000000041 (ngct) | | * 0100000000000041 (ngct) |
| * 010000000000000E (friends) [skipped in maintenance mode] | | * 010000000000000E (friends) [skipped in maintenance mode] |
| * 010000000000000C (bcat) [skipped in maintenance mode] | | * 010000000000000C (bcat) [skipped in maintenance mode] |
| * 0100000000000030 (eupld) [skipped in maintenance mode] | | * 0100000000000030 (eupld) [skipped in maintenance mode] |
| + | |
| + | After launching all titles, it'll check the "boot!boot_devmenuapp_installer" setting and attempt to launch 01000000000020f0 (devmenuapp_installer) if it's set to true. |
| | | |
| = boot2.SafeMode = | | = boot2.SafeMode = |
Line 238: |
Line 257: |
| In maintenance mode its launch order is identical to the launch order in [[#boot2|boot2]] maintenance mode. | | In maintenance mode its launch order is identical to the launch order in [[#boot2|boot2]] maintenance mode. |
| | | |
− | = boot2.manuBoot = | + | = boot2.Minimum = |
| + | This is used for recovery mode on development systems on 4.1.0+. |
| + | |
| + | Just like [[#boot2.prodBoot|boot2.prodBoot]], it opens the [[Process_Manager_services#pm:shell|pm:shell]] service and prior to 10.0.0 launches the following titles in order: |
| + | * 0100000000000021 (psc) |
| + | * 0100000000000009 (settings) |
| + | * 0100000000000006 (usb) |
| + | * 010000000000001D (pcie) |
| + | * 010000000000000A (bus) |
| + | * 0100000000000007 (tma) |
| + | * 010000000000001A (pcv) |
| + | * 0100000000000015 (lm) |
| + | * 010000000000000D (dmnt) |
| + | * 010000000000001F (ns) |
| + | * 0100000000000037 (ro) |
| + | * 010000000000B22A (scs) |
| + | |
| + | In 10.0.0 the order was switched up a bit |
| + | |
| + | It now launches the following titles in order: |
| + | * 0100000000000021 (psc) |
| + | * 0100000000000009 (settings) |
| + | * 0100000000000006 (usb) |
| + | * 010000000000001D (pcie) |
| + | * 010000000000000A (bus) |
| + | * 010000000000001A (pcv) |
| + | * 010000000000000D (dmnt) or 010000000000D609 (dmnt.gen2) |
| + | * 0100000000000007 (tma) or 010000000000B240 (htc) |
| + | * 0100000000000015 (lm) |
| + | * 0100000000000042 (pgl) |
| + | * 0100000000000037 (ro) |
| + | * 010000000000B22A (scs) [10.0.0-11.0.1] |
| + | * 0100000000000017 (cs) [12.0.0+] |
| + | |
| + | If the "boot!use_htc_gen2" setting is set to "true", htc and dmnt.gen2 are used, otherwise tma and dmnt are used (Note: dmnt and dmnt.gen2 are not currently present in recovery mode). |
| + | |
| + | After launching all titles, it'll check the "boot!boot_devmenuapp_installer" setting and attempt to launch 01000000000020f0 (devmenuapp_installer) if it's set to true. |
| + | |
| + | = boot2.ManuBoot = |
| Just like [[#boot2.prodBoot|boot2.prodBoot]], it opens the [[Process_Manager_services#pm:shell|pm:shell]] service and launches the following titles in order: | | Just like [[#boot2.prodBoot|boot2.prodBoot]], it opens the [[Process_Manager_services#pm:shell|pm:shell]] service and launches the following titles in order: |
| * 0100000000000021 (psc) | | * 0100000000000021 (psc) |
Line 253: |
Line 310: |
| * 010000000000001C (nvnflinger) | | * 010000000000001C (nvnflinger) |
| * 010000000000002D (vi) | | * 010000000000002D (vi) |
| + | * 010000000000001F (ns) |
| * 010000000000000D (dmnt) | | * 010000000000000D (dmnt) |
| * 010000000000001F (ns) | | * 010000000000001F (ns) |
| * 0100000000000015 (lm) | | * 0100000000000015 (lm) |
| + | * 010000000000001B (ppc) [1.0.0-8.1.0] |
| + | * 0100000000000010 (ptm) |
| * 0100000000000017 (cs) | | * 0100000000000017 (cs) |
| * 0100000000000011 (shell) | | * 0100000000000011 (shell) |
Line 268: |
Line 328: |
| * 010000000000001E (account) | | * 010000000000001E (account) |
| * 0100000000000020 (nfc) | | * 0100000000000020 (nfc) |
| + | * 010000000000003C (jpegdec) [4.0.0+] |
| * 0100000000000022 (capsrv) | | * 0100000000000022 (capsrv) |
| * 0100000000000024 (ssl) | | * 0100000000000024 (ssl) |
Line 278: |
Line 339: |
| * 0100000000000032 (eclct) | | * 0100000000000032 (eclct) |
| * 010000000000B120 (nvdbgsvc) | | * 010000000000B120 (nvdbgsvc) |
| + | * 010000000000002F (npns) [7.0.0+] |
| * 0100000000000034 (fatal) | | * 0100000000000034 (fatal) |
− | * 01000000000020D1 (DevSafeModeUpdater) | + | * 0100000000000037 (ro) [3.0.0+] |
| + | * 0100000000000038 (profiler) [3.0.0+] |
| + | * 0100000000000039 (sdb) [3.0.0+] |
| + | * 010000000000003A (migration) [4.0.0+] |
| + | * 0100000000000035 (grc) [4.0.0+] |
| + | * 010000000000003E (olsc) [6.0.0+] |
| + | * 0100000000000041 (ngct) [9.0.0+] |
| + | * 01000000000020D1 (DevSafeModeUpdater) [1.0.0] |
| | | |
| Otherwise, it launches exactly the same titles as [[#boot2.prodBoot|boot2.prodBoot]] in the same order, but then finishes by launching 010000000000B14A ([[Manu Services|Manu]]) before exiting itself. | | Otherwise, it launches exactly the same titles as [[#boot2.prodBoot|boot2.prodBoot]] in the same order, but then finishes by launching 010000000000B14A ([[Manu Services|Manu]]) before exiting itself. |
| + | |
| + | After launching all titles, it'll check the "boot!boot_devmenuapp_installer" setting and attempt to launch 01000000000020f0 (devmenuapp_installer) if it's set to true. |
| + | |
| + | = boot2.Manu1st = |
| + | As of version [[2.1.0|2.1.0]], just like [[#boot2.prodBoot|boot2.prodBoot]], it opens the [[Process_Manager_services#pm:shell|pm:shell]] service and launches the following titles in order: |
| + | * 0100000000000021 (psc) |
| + | * 0100000000000009 (settings) |
| + | * 0100000000000006 (usb) |
| + | * 010000000000001D (pcie) |
| + | * 010000000000000A (bus) |
| + | * 0100000000000007 (tma) |
| + | * 010000000000001A (pcv) |
| + | |
| + | At this point it checks if the device is being booted in maintenance mode, if it is it opens the [[Process_Manager_services#pm:bm|pm:bm]] service and calls [[Process_Manager_services#pm:bm|SetMaintenanceBoot]] then attempts to to launch titles in the same order that [[#boot2.ManuBoot|boot2.ManuBoot]] does in maintenance mode. |
| + | |
| + | Then it attempts to launch the following titles in the following order: |
| + | * 010000000000001F (ns) |
| + | * 0100000000000015 (lm) |
| + | * 0100000000000034 (fatal) |
| + | * 010000000000B14A (manu) |
| + | |
| + | After launching these processes, it exits. |
| | | |
| = boot2.FromHost = | | = boot2.FromHost = |
− | Loads a set of processes using a list from a text document then exits.
| + | Just like [[#boot2.prodBoot|boot2.prodBoot]], it opens the [[Process_Manager_services#pm:shell|pm:shell]] service and launches the following titles in order: |
| + | * 0100000000000021 (psc) |
| + | * 0100000000000009 (settings) |
| + | * 0100000000000006 (usb) |
| + | * 010000000000001D (pcie) |
| + | * 010000000000000A (bus) |
| + | * 0100000000000007 (tma) |
| + | * 010000000000001A (pcv) |
| + | |
| + | After launching these processes it'll attempt to load a list of process to launch off the host device. |
| | | |
− | First it checks if a "SIGLO_BOOT_LIST_DIR" environmental variable is present on the host PC, if it is, it loads the list from "NX-NXFP2-a64.txt" from the directory specified in "SIGLO_BOOT_LIST_DIR". | + | First it checks if a "SIGLO_BOOT_LIST_DIR" environmental variable is present on the host device, if it is, it loads the list from "NX-NXFP2-a64.txt" from the directory specified in "SIGLO_BOOT_LIST_DIR". |
| | | |
− | If that fails, it checks if a "SIGLO_BOOT_LIST_PATH" environmental variable is present on the PC, if it is, it loads the list from the path specified by "SIGLO_BOOT_LIST_PATH". | + | If that fails, it checks if a "SIGLO_BOOT_LIST_PATH" environmental variable is present on the host device, if it is, it loads the list from the path specified by "SIGLO_BOOT_LIST_PATH". |
| | | |
| If that also fails, it defaults to loading "C:/siglo_boot/list.txt" from the host PC. | | If that also fails, it defaults to loading "C:/siglo_boot/list.txt" from the host PC. |