Line 265: |
Line 265: |
| | | |
| * 0 seconds - unit is powered on. The ARM9 and ARM11 [[Memory_layout|bootroms]] begin execution. | | * 0 seconds - unit is powered on. The ARM9 and ARM11 [[Memory_layout|bootroms]] begin execution. |
− | | + | * <= ~1 second - BootROMs fully run, load FIRM, etc. The loaded FIRM begins running. |
− | * 2 seconds - ARM9 bootrom attempts to initialize the NAND. | + | **The ARM11 sysmodules included with FIRM are launched by ARM11-kernel, etc. |
− | **If the NAND is successfully initialized:
| + | **The [[Process_Manager_Services|PM]] module launches [[NS]]. |
− | ***the ARM9 bootrom loads the [[FIRM|firmware]] stored in the NAND [[FIRM]] partition which handles booting the rest of the system (if verification for NAND firm0 fails, the ARM9 bootrom will attempt to use firm1 instead).
| |
− | ***The ARM11 kernel loaded from FIRM then launches the [[NCCH#CXI|CXI]] ARM11 system modules loaded from FIRM (i.e. sm, fs, pm, loader, and pxi). (Note that the ARM11 kernel does not handle any encryption/RSA verification, this is handled by the [[FIRM|ARM9]].)
| |
− | **If the NAND cannot be initialized (i.e. the NAND chip is not connected/damaged/etc), a [[Bootloader#Error_Codes|blue error screen]] appears.
| |
− | | |
− | * 3 seconds - all essential hardware is active.
| |
− | **The [[Process_Manager_Services|PM]] module launches [[NS]] | |
| **If [[Home_Menu#Auto-Boot_Function|auto-booting]] is needed, NS will [[NS#Auto-boot|auto-boot]] titles. | | **If [[Home_Menu#Auto-Boot_Function|auto-booting]] is needed, NS will [[NS#Auto-boot|auto-boot]] titles. |
| **Otherwise, NS will instead launch [[ErrDisp]] and the [[Configuration Memory#ACTIVEMENUTID|current active menu]] via the PM module. For retail units, this menu is usually the [[Home Menu]]. Note that the PM module first launches the module dependencies when launching a process, prior to actually launching the process. | | **Otherwise, NS will instead launch [[ErrDisp]] and the [[Configuration Memory#ACTIVEMENUTID|current active menu]] via the PM module. For retail units, this menu is usually the [[Home Menu]]. Note that the PM module first launches the module dependencies when launching a process, prior to actually launching the process. |
− | **The further Home Menu startup process is described [[Home_Menu#Home_Menu_startup|here]]. | + | **The further Home Menu startup process is described [[Home_Menu#Home_Menu_startup|here]]. This includes Home Menu manually launching various sysmodules. |
| | | |
| * 4 seconds - the LCD screens are initialized. | | * 4 seconds - the LCD screens are initialized. |