It might be useful for debugging purpose to add a new phase before init.
I think that the kernel could load all the plugins, get the kernelParameters, the root packages and the dependencies at this phase. Then the init phase would only do the request/init loop.
Discussion from seedstack/seed#201 with @adrienlauer
But if you do this there is still a question, where do we do the checks (mandatory kernel params, plugin dependencies, plugin name unicity, etc.)