Bootloader: Difference between revisions
Restructure boot procedure and add cross references |
|||
Line 9: | Line 9: | ||
* 2 seconds - ARM9 bootrom attempts to initialize the NAND. | * 2 seconds - ARM9 bootrom attempts to initialize the NAND. | ||
**If the NAND is successfully initialized | **If the NAND is successfully initialized: | ||
***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 blue error screen similar to the one above appears. | **If the NAND cannot be initialized (i.e. the NAND chip is not connected/damaged/etc), a blue error screen similar to the one above appears. | ||
* 3 seconds - all essential hardware is active. The [[Process_Manager_Services|PM]] module launches [[NS]], [[NS]] | * 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. | |||
**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]]. | |||
* 4 seconds - the LCD screens are initialized. | * 4 seconds - the LCD screens are initialized. |