Another problem is that there is (or was, I don’t follow these things) friction between the Kernel and systemd, as systemd developers did not respect certain development philosophies.
When systemd sees "debug" as part of the kernel command-line, it will spit out so much informaiton about the system that it fails to boot… The init system just collapses the system with too much information being sent to the dmesg when seeing the debug option as part of the kernel command-line parameter. Within the systemd bug report it was suggested for systemd not to look for a simple "debug" string to go into its debug mode but perhaps something like "systemd.debug" or other namespaced alternatives. The debug kernel command-line parameter has been used by upstream Linux kernel developers for many years. However, upstream systemd developers don't agree about changing their debug code detection. Kay Sievers of Red Hat wrote, "Generic terms are generic, not the first user owns them."
tl;dr: systemd parsed kernel command line information; when "debug" was present, systemd enabled logging that was so verbose that it would cause the system to become unbootable. systemd developers were notified of the issue and started acting passive aggressive instead of fixing the issue.
Or to put it more simply: if you make changes that cause Linus Torvalds' system to stop booting properly, you're probably gonna have a bad time.
More information on this here:
tl;dr: systemd parsed kernel command line information; when "debug" was present, systemd enabled logging that was so verbose that it would cause the system to become unbootable. systemd developers were notified of the issue and started acting passive aggressive instead of fixing the issue.
Or to put it more simply: if you make changes that cause Linus Torvalds' system to stop booting properly, you're probably gonna have a bad time.