MSP Boot Process
From University of Washington - Ubicomp Research Page
Here's a brief overview of the MSP boot process:
- On power-up, blob, the bootloader, does some initial hardware configuration (GPIO port directions, clock speeds, etc.)
- After a short timeout, blob copies the kernel from flash into RAM and executes it.
- The kernel decompresses itself, and begins to bring itself up.
- All drivers built into the kernel are initialized.
- The root filesystem is mounted.
- The kernel launches /sbin/init.
- Init executes the script pointed to by /etc/inittab, which is /etc/init.d/rcS
- /etc/init.d/rcS executes every script in /etc/init.d starting with a capital S, in numerical order.
- S05core remounts the root filesystem as read/write, sets the hostname, clears out stale temporary files, and loads the modules specified by /etc/modules.
- S10networking brings up all of the available network interfaces.
- S12sshd starts the SSH server.
- S30bluetooth starts the Bluetooth daemons.
- S50mountmmc mounts the SD card, if one is inserted
- S80msp starts central.loop and proccontrol.loop in the msp directory on the SD card.
- central.loop starts /msp/central and restarts it if it should ever fail.
- proccontrol.loop starts /msp/proccontrol and restarts it if it should ever fail.
- proccontrol reads a list of processes to control from /msp/process.ini and starts them all. This usually includes msb-server, logger, etc.
- The logging process starts.
- The boot process is complete.