Instead of having a dedicated serial line for the debug logs, an idea could be to send them to the main (and likely only) serial line until the kernel has started. From there, we can avoid showing them because that would mess with the "UI" (e.g., kshell).
We could use a pseudo-file to show them if needed (e.g., we would use a ring buffer to store the logs exposed via the proc fs). It is going to work well until the system crashes, though because we'll lose everything probably. We could dump all the logs in PANIC() but, if it is a different crash, like unexpected, we'll be left without anything.
Another idea could be to use a feature flag for this?