I can’t completely answer your question, but here is some related info…
Before you remove serial console you should save a full serial console boot log. The reason I say this is that the boot log provides timestamps from both before Linux loads and after Linux loads. You can use those to track what needs optimizing. Before you save that log be sure to remove the word “quiet
” from your “/boot/extlinux/extlinux.conf
” so the log is full.
About that, consider that at the point when the kernel Image
file is loaded (which the log shows) the boot transfers from earlier boot stages tot he Linux kernel actually taking over. If you see something in need of optimizing once the Linux kernel takes over, then it is easier to deal with. If you see something in need of optimizing during earlier boot stages, then you might have to rebuild some software.
The serial console prints at speed 115200 (115.2kbps), and boot might wait for something to print, or else the overhead of printing might slow down boot. So this could help, but because of its utility, you are advised to not do so until you’ve tracked down every other optimization. If you remove serial console messages, then you’ve also cut off some of the tools useful to finding bottlenecks.
If it turns out you don’t see any specific slow spots, e.g., where it waits to allow a user to interrupt boot in case they want to pick a different Linux kernel, then possibly removing serial console could help. Keep in mind that removing serial console during Linux kernel run is separate from removing console in earlier boot stages…they are separate applications. If you have a problem with serial console slowing things down, then it is trivial to disable serial console in the Linux stage, but not as trivial (would require flash I think) to remove in those earlier stages…but if only one of the stages is a problem, then why disable all of them? You can enable/disable serial console separately for Linux and for boot (or both at the same time if you follow the documents on serial console disable and flash).
So…get a serial console boot log from the start. I couldn’t tell you everything you can do with that, but if you post a copy of the log, then it might be possible to post some ideas based on that.
Note: The “console=ttyTCU0,115200n8
” is the serial UART console. The “console=tty0
” is displaying boot messages on the text terminal, not the serial console. Both could slow things down, but the text mode console only runs in Linux and would not help to disable it if latency is in a boot stage prior to Linux running.