Today I read Remove Boot Text On The Raspberry Pi For Noobs:
You will see a single line with all the boot options. Scroll along and change the following making sure not to add any linebreaks:
- Replace console=tty1 to console=tty3 to redirect boot messages to the third console.
- Add loglevel=3 to disable non-critical kernel log messages.
- Add logo.nologo to the end of the line to remove the Raspberry PI logos from displaying
- add disable_splash=1 at the end of the file.
I had a system which failed to boot. The last lines printed to the screen, which were not relevant to the problem, were:
[19.957783] async_tx: api initialized (async)
[20.899732] Btrfs loaded, crc32c=crc32c-intel
Then a little bit later:
[32.469926] random: crng init done
[32.470551] random: 7 urandom warning(s) missed due to ratelimiting
The full problem description is here. And the solution is here (careful about the typo on that page, the only relevant setting is GRUB_CMDLINE_LINUX_DEFAULT).
Basically the problem was a bogus GRUB_CMDLINE_LINUX_DEFAULT setting in /etc/default/grub applied by my salt config. I fixed the setting which fixed the issue.