--------- 8< --------------
if you want to be an early boot service, then you should use something like this:
Before=sysinit.target
And that's all.
Inserting yourself between the sockets and the regular services (which your suggested deps do) is highly problematic, if you actually intend to make use of the sockets, as then you will make the system hang, as to fulfill your requests you need the services you are delaying...
--------- 8< --------------
So replacing cloud-init.service's
Before=basic.target
Before=dbus.socket
with
Before=sysinit.target
should DTRT. dbus.socket (and all other sockets) will start after sysinit.target as part of basic.target.
Discussed that upstream: The gist of it is:
--------- 8< --------------
if you want to be an early boot service, then you should use something like this:
Before= sysinit. target
And that's all.
Inserting yourself between the sockets and the regular services (which your suggested deps do) is highly problematic, if you actually intend to make use of the sockets, as then you will make the system hang, as to fulfill your requests you need the services you are delaying...
--------- 8< --------------
So replacing cloud-init. service' s
Before= basic.target dbus.socket
Before=
with
Before= sysinit. target
should DTRT. dbus.socket (and all other sockets) will start after sysinit.target as part of basic.target.