When starting a systemd unit file, it might print the following error based on errno=ENOENT: testscript[9959]: Failed at step EXEC spawning /testscript: No such file or directory This could mean /testscript is missing, or ld-2.19.so is missing or the interpreter in the shebang is missing. But the error message is not precise enough to know. The kernel does not give more details when execve() fails with errno=ENOENT. In order to print better error messages, we could have an option ExecFail in the unit file: ExecFail=/usr/bin/diagexec It would start the diagnostic tool to guess why execve() returned ENOENT. The code for diagexec is there: https://github.com/coreos/rocket/blob/master/stage1/rootfs/diagexec/diagexec.c#L58
Moving discussion to https://github.com/systemd/systemd/issues/3184
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.