If you don't want any messages showing up betwen BIOS and X...
Mon, Nov 16, 2020
lvmetad is not active yet, using direct activation during sysinit
lvmetad is not active yet, using direct activation during sysinit
/dev/mapper/<device>: clean, XXXXX/XXXXXXX files, XXXXXXX/XXXXXXXX blocks
[ 6.183744] intel_soc_dts_thermal: request_threaded_irq ret -22
[ 6.189786] intel_rapl: no valid rapl domains found in package 0
There are really 2 things here, the console output and the blinking cursor. I’ll start with suppressing the console output:
GRUB_CMDLINE_LINUX_DEFAULT="quiet"
console=tty12 loglevel=0 rd.systemd.show_status=auto rd.udev.log_priority=3
GRUB_CMDLINE_LINUX_DEFAULT="quiet console=tty12 loglevel=0 rd.systemd.show_status=auto rd.udev.log_priority=3"
sudo update-grub
console=tty12 - Move all non-kernel messages to console 12.
loglevel=0 - must come after the quiet argument. This causes the output log level to be 0 (highest).
rd.systemd.show_status=auto - disable systemd status messages on the console, auto will disable only successful messages, false will disable all of them.
rd.udev.log_priority=3 - Disable printing the systemd version number.
Kernel messages also need to be hidden, this can be done by adding or modify the file /etc/sysctl.d/20-quiet-printk.conf
, and adding this line
kernel.printk = 3 3 3 3
If you can live with the blinking cursor it’s probably better than the following, however if you can’t…
Once you’ve hidden all the console output above, you are left with a blinking curosr at the upper left corner of the screen. So we can also remove that:
vt.cur_default=1
, this sets the cursor default to blankGRUB_CMDLINE_LINUX_DEFAULT="quiet console=tty12 loglevel=0 rd.systemd.show_status=auto rd.udev.log_priority=3 vt.cur_default=1"
sudo update-grub
$ infocmp > tmpterminfo.txt
tmpterminfo.txt
cnorm=
and add \E[?8c
at the end (before the next comma)cvvis=
and add \E[?8c
at the end (before the next comma)rs2=\E[?8c,is2=\E[?8c,
$ sudo tic tmpterminfo.txt
$ printf '\n\ntput cnorm\n' >> .profile