I have some minimal linux systems that spew much information on bootup, and I would like to suppress nearly all output during the boot sequence.

Ideally, I would like to have the system print 'Loading...' and display no more, but specifically what I want to suppress is the 'Starting foobard [ OK ]'.

The system is based on centos, and the kernel does not have 'framebuffer' capabilities required for most of the 'nice splash boot' projects to work.

Ideas I've considered:

  • Switching to another virtual terminal - but I can't seem to do this until /etc/rc.sysinit has run, which is too late.
  • Echoing ansi codes that make the text invisible. This doesn't seem to work. I've tried ^[[8m and ^[[24;25r and neither of these worked.

Most of these messages are printed via the LSB init message functions defined in /lib/lsb/init-functions. You can create a custom version of those functions that don't do anything. This would stop all the init messages. It wouldn't keep the kernel quiet though. On unbuntu, you can use the "quiet" kernel parameter which stops printk from logging to the console. I don't know if CentOS does something similar.

  • Something I never thought I'd need to know ... I like those messages myself. – Joseph Kern Sep 18 '09 at 10:02

You could try appending console= to your kernel options - however that will disable the console completely - maybe not what you want.

Redhat/CentOS doesn't use the lsb init-functions stuff AFAIK.

Most of the Redhat init scripts use "echo" for their status messages, so you could also try overriding the echo builtin in /etc/init.d/functions, as well as butchering the success/failure/passed functions in there.

Also - the "quiet" kernel parameter works on all kernels, not just Ubuntu.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.