Add /sbin/init logic for multiprocess configurations. This is controlled
by a new option, CONFIG_LIBUKBOOT_INIT. The init logic is implemented as
part of PID 1, and spawns the application into a new process. Besides
fostering reparented orphans, and reaping children, it also manages
system shutdown and returning the application's exit status back to
ukboot.
A second option, namely CONFIG_LIBUKBOOT_GRACEFUL_SHUTDOWN, provides the
ability to signal children with a configurable signal, and block until
they exit until a configurable timeout. If the timeout is reached and
children are still alive, init returns and libposix-process forcefully
terminates all remaining processes.
Checkpatch-Ignore: AVOID_EXTERNS
Checkpatch-Ignore: LONG_LINE; Signed-off-by: Michalis Pappas <michalis@unikraft.io> Approved-by: Andrei Tatar <andrei@unikraft.io> Reviewed-by: Andrei Tatar <andrei@unikraft.io>
GitHub-Closes: #1633