[systemd-devel] starting a service before anything else....

MALET Jean-Luc jeanluc.malet.snowsat at gmail.com
Thu Jun 28 14:55:35 UTC 2018


Hi!

I'm in charge of setting up an embedded solution based on debian, so on 
systemd, I'm more used to old init process, that was easy to tweak 
because based on script... but well... times seems now on systemd.

I'm really puzzled because since the documentation seems to lack 
information, I have to find information on tutorials that focus only on 
late services..

I found on one how to find the targets using "systemctl list-units 
--type=target" and some diagram explaining what target are suposed to be 
run in what order.... but well...

my issue is that I've to run a script as early as possible, before 
mounts are done because lot of service will fail without , so I created 
a service


[Unit]
Description=mount some file systems before anything and prepare the system
Before=systemd-remount-fs.service

[Service]
Type=oneshot
ExecStart=/etc/init.d/setup.sh start

[Install]
WantedBy=swap.target


using journalctl I found that the first Reached point was the 
swap.target so it looked like a good WantedBy, but looking at the 
journalctl showed that the service was still not run in early systemd 
steps... so I added a Before rule using the "systemctl list-units 
--type=service" to guess what service where run on the system... and 
well... it's not working as expected... I still see my service run after 
some other services...

on sysV init, it was easy to track down what would be run and assign 
order... here I'm puzzled because there are only partial information 
from tutorials and it's not clear what will be run, what is the entry 
point target, how to list the dependencies since some are hidden and 
built in...

so can you help me? how can I run my service (before it was run in rcS 
script, so that we were sure that it was the first thing done....)

thanks

JLM



More information about the systemd-devel mailing list