Boot2: Difference between revisions
mNo edit summary |
Further updates and grammar fixes |
||
Line 1: | Line 1: | ||
boot2 is the first non-built-in sysmodule. It's hardcoded to be the first sysmodule launched by PM. | boot2 is the first non-built-in sysmodule. It's hardcoded to be the first sysmodule launched by PM. | ||
On retail systems, the boot2 title | On retail systems, the boot2 title is called [[#boot2.prodBoot|boot2.prodBoot]] while on debug systems it's called [[#boot2|boot2]]. During [[Factory Setup|the factory setup process]] the boot2 title is called [[#boot2.manuBoot|boot2.manuBoot]] instead. | ||
= boot2.prodBoot = | = boot2.prodBoot = | ||
It | It opens the [[Process_Manager_services#pm:shell|pm:shell]] service and launches the following titles in order: | ||
* 0100000000000021 (psc) | * 0100000000000021 (psc) | ||
* 0100000000000009 (settings) | * 0100000000000009 (settings) | ||
Line 13: | Line 13: | ||
* 010000000000001A (pcv) | * 010000000000001A (pcv) | ||
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". | |||
If the value reads successfully as false, it | If the value reads successfully as "false", it opens the [[Bus_services#gpio|gpio]] service and opens sessions for GPIOs 26 and 25. | ||
If both GPIOs read as zero, then [[Recovery_Mode|maintenance mode]] is forced despite the setting being false. This | If both GPIOs read as zero, then [[Recovery_Mode|maintenance mode]] is forced despite the setting being false. This checks if both volume up and down keys are held down at the same time. | ||
If it's in maintenance mode then it opens | If it's in maintenance mode then it opens the [[Process_Manager_services#pm:bm|pm:bm]] service and calls [[Process_Manager_services#pm:bm|SetMaintenanceBoot]]. | ||
It then launches the following titles in order: | |||
* 0100000000000023 (am) | * 0100000000000023 (am) | ||
* 0100000000000019 (nvservices) | * 0100000000000019 (nvservices) | ||
Line 38: | Line 38: | ||
* 0100000000000018 (ldn) | * 0100000000000018 (ldn) | ||
* 010000000000001E (account) | * 010000000000001E (account) | ||
* 010000000000000E (friends) [skipped in maintenance] | * 010000000000000E (friends) [skipped in maintenance mode] | ||
* 0100000000000020 (nfc) | * 0100000000000020 (nfc) | ||
* 010000000000003C (jpegdec) [4.0.0+] | * 010000000000003C (jpegdec) [4.0.0+] | ||
Line 44: | Line 44: | ||
* 0100000000000024 (ssl) | * 0100000000000024 (ssl) | ||
* 0100000000000025 (nim) | * 0100000000000025 (nim) | ||
* 010000000000000C (bcat) [skipped in maintenance] | * 010000000000000C (bcat) [skipped in maintenance mode] | ||
* 010000000000002B (erpt) | * 010000000000002B (erpt) | ||
* 0100000000000033 (es) | * 0100000000000033 (es) | ||
* 010000000000002E (pctl) | * 010000000000002E (pctl) | ||
* 010000000000002A (btm) | * 010000000000002A (btm) | ||
* 0100000000000030 (eupld) [skipped in maintenance] | * 0100000000000030 (eupld) [skipped in maintenance mode] | ||
* 0100000000000031 (glue) | * 0100000000000031 (glue) | ||
* 0100000000000032 (eclct) | * 0100000000000032 (eclct) | ||
* 010000000000002F (npns) [skipped in maintenance] | * 010000000000002F (npns) [skipped in maintenance mode] | ||
* 0100000000000034 (fatal) | * 0100000000000034 (fatal) | ||
* 0100000000000037 (ro) [3.0.0+] | * 0100000000000037 (ro) [3.0.0+] | ||
Line 67: | Line 67: | ||
= boot2 = | = boot2 = | ||
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) | ||
* 0100000000000009 (settings) | * 0100000000000009 (settings) | ||
Line 75: | Line 75: | ||
* 0100000000000007 (tma) | * 0100000000000007 (tma) | ||
* 010000000000001A (pcv) | * 010000000000001A (pcv) | ||
It then launches the following titles in order: | |||
* 0100000000000023 (am) | * 0100000000000023 (am) | ||
* 0100000000000019 (nvservices) | * 0100000000000019 (nvservices) | ||
Line 80: | Line 82: | ||
* 010000000000002D (vi) | * 010000000000002D (vi) | ||
* 010000000000001F (ns) | * 010000000000001F (ns) | ||
* 0100000000003003 (DebugMonitor0) [ | * 0100000000003003 (DebugMonitor0) [1.0.0-4.1.0] | ||
* 010000000000000D (dmnt) | * 010000000000000D (dmnt) | ||
* 0100000000000015 (lm) | * 0100000000000015 (lm) | ||
* 010000000000001B (ppc) [ | * 010000000000001B (ppc) [1.0.0-8.1.0] | ||
* 0100000000000010 (ptm) | * 0100000000000010 (ptm) | ||
* 0100000000000017 (cs) | * 0100000000000017 (cs) | ||
Line 96: | Line 98: | ||
* 0100000000000018 (ldn) | * 0100000000000018 (ldn) | ||
* 010000000000001E (account) | * 010000000000001E (account) | ||
* 010000000000000E (friends) [skipped in maintenance] | * 010000000000000E (friends) [skipped in maintenance mode] | ||
* 0100000000000020 (nfc) | * 0100000000000020 (nfc) | ||
* 010000000000003C (jpegdec) [4.0.0+] | * 010000000000003C (jpegdec) [4.0.0+] | ||
Line 102: | Line 104: | ||
* 0100000000000024 (ssl) | * 0100000000000024 (ssl) | ||
* 0100000000000025 (nim) | * 0100000000000025 (nim) | ||
* 010000000000000C (bcat) [skipped in maintenance] | * 010000000000000C (bcat) [skipped in maintenance mode] | ||
* 010000000000002B (erpt) | * 010000000000002B (erpt) | ||
* 0100000000000033 (es) | * 0100000000000033 (es) | ||
* 010000000000002E (pctl) | * 010000000000002E (pctl) | ||
* 010000000000002A (btm) | * 010000000000002A (btm) | ||
* 0100000000000030 (eupld) [skipped in maintenance] | * 0100000000000030 (eupld) [skipped in maintenance mode] | ||
* 0100000000000031 (glue) | * 0100000000000031 (glue) | ||
* 0100000000000032 (eclct) | * 0100000000000032 (eclct) | ||
* 010000000000B120 (nvdbgsvc) | * 010000000000B120 (nvdbgsvc) | ||
* 010000000000002F (npns) [skipped in maintenance] | * 010000000000002F (npns) [skipped in maintenance mode] | ||
* 0100000000000034 (fatal) | * 0100000000000034 (fatal) | ||
* 0100000000000037 (ro) [3.0.0+] | * 0100000000000037 (ro) [3.0.0+] | ||
Line 122: | Line 124: | ||
= boot2.manuBoot = | = 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: | |||
* 0100000000000021 (psc) | * 0100000000000021 (psc) | ||
* 0100000000000009 (settings) | * 0100000000000009 (settings) | ||
Line 132: | Line 132: | ||
* 0100000000000007 (tma) | * 0100000000000007 (tma) | ||
* 010000000000001A (pcv) | * 010000000000001A (pcv) | ||
If maintenance mode was requested, it then launches the following titles in order: | |||
* 0100000000000023 (am) | * 0100000000000023 (am) | ||
* 0100000000000019 (nvservices) | * 0100000000000019 (nvservices) | ||
Line 162: | Line 164: | ||
* 010000000000B120 (nvdbgsvc) | * 010000000000B120 (nvdbgsvc) | ||
* 0100000000000034 (fatal) | * 0100000000000034 (fatal) | ||
* 01000000000020D1 ( | * 01000000000020D1 (DevSafeModeUpdater) | ||
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. |