Resource for understanding BBB boot process with systemd

Hello Experts,

We have BBB based custom Linux board running Linux 3.12

We are using SysV init, for boot, And I understand that boot happens in following sequence,

  1. ROM code lookks for boot device based on boot pin configuration.

  2. ROM code loads first stage boot loader(SPL/X-loader) to Internal SRAM and gives control to it.

  3. SPL does some initialization like DDR and proceeds to load U-Boot to RAM

  4. U-Boot does other peripheral initialization i.e. NAND/eMMC/ethernet and loads kernel+dtb

  5. Kernel executes initializes configures different hardware/peripherals based on dtb and initializes all the drivers.

  6. Kernel runs first process i.e. init (/sbin/init in our case but can be set in Kernel command line parameters).

  7. init application based on inittab(configuration file) runs startup script specified in inittab file e.g. ::sysinit:/etc/init.d/rcS

  8. This /etc/init.d/rcS runs all the init scripts placed in “/etc/init.d/” folder.

So this is how board boots with SysV init, (or atleast this is my understanding), Correct If I am wrong in some points,
Now some point we want to evaluate how “systemd” init happens, we will have to make POC and see any improvement or degradation of the system boot and process maintenance.

We know some basics that systemd works on cgroups and can start processes in parallel but handles process like what monit does.
However what we don’t know is "Boot process with systemd’ can someone explain boot process with systemd for BeagleboneBlack or in general?
Or can you point me to any document/website/blog which explains this ?

Thank you,

Regards,
Ankur

Start reading:

https://www.freedesktop.org/wiki/Software/systemd/

There isn't anything "BeagleBone Black" specific... We use systemd like
everyone else..

Regards,

Ankur Tank <artfri2@...> writes:

Hello Experts,
We have BBB based custom Linux board running Linux 3.12
We are using SysV init, for boot, And I understand that boot happens in

following sequence,

1. ROM code lookks for boot device based on boot pin configuration.
2. ROM code loads first stage boot loader(SPL/X-loader) to Internal SRAM and

gives control to it.

3. SPL does some initialization like DDR and proceeds to load U-Boot to RAM
4. U-Boot does other peripheral initialization i.e. NAND/eMMC/ethernet and

loads kernel+dtb

5. Kernel executes initializes configures different hardware/peripherals

based on dtb and initializes all the drivers.

6. Kernel runs first process i.e. init (/sbin/init in our case but can be set

in Kernel command line parameters).

7. init application based on inittab(configuration file) runs startup script

specified in inittab file e.g. ::sysinit:/etc/init.d/rcS

8. This /etc/init.d/rcS runs all the init scripts placed in

"/etc/init.d/" folder.

So this is how board boots with SysV init, (or atleast this is my

understanding), Correct If I am wrong in some points,

Now some point we want to evaluate how "systemd" init happens, we will have

to make POC and see any improvement or degradation of the system boot and
process maintenance.

We know some basics that systemd works on cgroups and can start processes in

parallel but handles process like what monit does.

However what we don't know is "Boot process with systemd' can someone explain

boot process with systemd for BeagleboneBlack or in general?