[OE-core] systemd + run-postinsts.service

Patrick Ohly patrick.ohly at intel.com
Mon Mar 23 21:57:14 UTC 2015


Hello!

I'm using systemd from OE-core master to boot core-image-minimal. I'm
seeing a boot failure where "Run pending postinsts" (aka
run-postinsts.service) gets stuck during booting under very specific
circumstances:

     1. The package has a pkg_postinst_${PN} which (intentionally)
        failed during image building, thus delaying its execution to the
        first boot.
     2. The package uses "inherit systemd" to enable its own systemd
        service.

It seems to be "systemctl start <service name>" which is hanging,
because I can reproduce the same behavior without systemd.bbclass in the
following pkg_postinst:

pkg_postinst_${PN} () {
#!/bin/sh -e
   # Cannot run during image building...
   if [ x"$D" != "x" ]; then
      exit 1
   fi

   # Do something on target during first boot.

   systemctl enable foobar
   systemctl start foobar # <====
}

It works without the last line. The actual recipe is a bit more complex,
but I can try to create a dummy one if that would help.

Any idea what could be causing this and, more importantly, how to fix
it?






More information about the Openembedded-core mailing list