Porting Guide/Tizen Bootup Overview

From Tizen Wiki
Jump to: navigation, search

This section provides a brief overview of the typical booting sequence, starting from the boot loader to the kernel and the platform.

Boot-1.png

Kernel Bootup

The Tizen bootup process is the same as any other Linux kernel. Just make sure that the correct machine ID and the boot arguments are passed from the boot loader.

Platform Bootup

After mounting the initial RAM disk image, initramfs hands over the control to systemd as system manager daemon in the Tizen platform. From this point, systemd is responsible for probing all remaining hardware, mounting all necessary file systems and spawning all configured services. Basically system boot-up process is split up in various discrete steps. To synchronize point during start-up, target units (some file whose name ends in .target) are used for grouping units. The boot-up process is highly parallelized in each target so that the order in which specific target units are reached is not deterministic. The system-plugin-slp is an OAL plugin for configuration setting such as mount point (/etc/fstab).


The following figure shows the early boot sequence after starting the kernel.

Boot-2.png

  • sysinit.target
    • Special target unit for early boot-up scripts
    • It has dependencies on necessary services and targets, such as local-fs.target</code.
    • At this point, most of file systems like <code>/opt, /tmp, and /media are mounted and the systemd related daemons, such as systemd-journald are launched.


  • basic.target
    • Special target unit for basic boot-up.
    • At this point, all necessary initialization for general purpose daemons such as mount points, sockets, timers, and path units are completed.
    • Tizen specific services (such as vconf-setup and tizen-debug-level) also are executed.


  • bootmode.target
    • Special target unit for selecting the boot mode.
    • If kernel boot parameter (/proc/cmdline) has the charger_detect_boot option passed by the boot loader such as uboot, the platform boots up as charging mode. In this mode, the system enters the low power mode and charges the battery.
    • If the charger_detect_boot option is not included as the kernel boot parameter, normal boot is started.


The following figure shows the overview of normal booting sequence in Tizen platform.

Boot-3.png

  • multi-user.target
    • Special target unit for setting up a multi-user system which is non-graphical support.
    • In Tizen platform, this target is used for launching platform infrastructure daemons such as dbus (system session), power manager, GPS manager, telephony daemon, WRT (Web Run Time) security daemon, and media server.
    • Some systemd related daemons (such as systemd-logind) are also started in this phase.


  • graphical.target
    • Special target unit for setting up a graphical environment.
    • Some important daemons (such as access control server and OMA DS agent server) that must have root permission are launched at this point.
    • Tizen platform uses the systemd user session for App privilege daemons.
    • Some daemons related with graphic system such as Enlightenment (Windows manager) are launched as App privilege in this phase.
    • Tizen platform has its special target for middleware and mobile service: tizen-middleware.target starts the platform service daemons, such as calendar, contacts, email, message, sound, and download provider. tizen-mobile-session.target starts some service daemons related with the mobile session.