Discussion:
[systemd-devel] how to make the systemd init faster
Dino Joseph Mycle
2021-06-04 22:08:41 UTC
Permalink
Hello all,

I am trying t improve my embedded system boot time which uses systemd.
debugging understood that it spends lot time around ~1.3 second in my iMX6
board running @800MHz on initialization of the systemd



plotting the graph using “systemd-analyze plot > /tmp/bootime.svg “ i am
seeing that, it spend around 1 second reading config file and generating
dyunamic file at /run/systemd. And then it start executing unit files



My questions are, since its an embedded system where the hardware and
configuration are always constant once you build the image so all these
dynamic stuff reading from files are not required

1) what all i should be doing to make the boot faster

2) is there a way I can configure the files statically at compile
time, which will reduce the time of reading each file from eMMC.

3) How can I disable the mounting of the root partition from the
systemd-generators as I see the kernel mounts it in my systemd and gets
remounted, even though I commented the line in fstab


Thanks for the support
Dino
Marc Pervaz Boocha
2021-06-05 06:34:20 UTC
Permalink
Post by Dino Joseph Mycle
Hello all,
I am trying t improve my embedded system boot time which uses systemd.
debugging understood that it spends lot time around ~1.3 second in my iMX6
plotting the graph using “systemd-analyze plot > /tmp/bootime.svg “ i am
seeing that, it spend around 1 second reading config file and generating
dyunamic file at /run/systemd. And then it start executing unit files
My questions are, since its an embedded system where the hardware and
configuration are always constant once you build the image so all these
dynamic stuff reading from files are not required
1) what all i should be doing to make the boot faster
This is more for desktop but you can refer to this:
https://wiki.archlinux.org/title/Improving_performance/Boot_process
Post by Dino Joseph Mycle
2) is there a way I can configure the files statically at compile
time, which will reduce the time of reading each file from eMMC.
Depend on which generator. For fstab, you can place mount files in /etc/
systemd/ directory. Then you can disable that generator via the kernel command
line. Also If you use sysvinit generator, try to manualy convert it.
Post by Dino Joseph Mycle
3) How can I disable the mounting of the root partition from the
systemd-generators as I see the kernel mounts it in my systemd and gets
remounted, even though I commented the line in fstab
If you think there is no issue in doing so, you can mask the unit.
Post by Dino Joseph Mycle
Thanks for the support
Dino
Loading...