O U-Boot está fazendo exatamente o que deveria (silenciando a saída) com o seguinte comando:
#define CONFIG_EXTRA_ENV_SETTINGS \
"silent=1%bl0ck_qu0te%" \
parece que isso acontece apenas no meu sistema.
como mencionado acima, eu quero desligar completamente a saída do console, mas colocar console=
ou console=null
na linha de comando do kernel não muda nada. Quando eu enque quiet
na linha de comando do kernel, ele aproxima esta tarefa, mas eu quero desligar completamente a saída.
Então, por que console=null
não está funcionando, não há sequer uma mensagem de erro?
Um método seria fazer isso usando dmesg
:
-n, --console-level level
Set the level at which logging of messages is done to the console.
The level is a level number or abbreviation of the level name.
For all supported levels see dmesg --help output.
Por exemplo:
$ sudo dmesg -n0
Outro método seria através de rsyslog
. O arquivo de configuração /etc/rsyslog.conf
:
#kern.* /dev/console
Alterando esta linha para esta:
kern.* /dev/null
NOTA: É necessário reiniciar o rsyslog
, sudo service rsyslog restart
.
Por último, você pode controlar isso no nível do kernel via sysctl
.
Sugiro que você altere seu /etc/sysctl.conf
. Especificamente, você quer ajustar a linha kernel.printk .
# Uncomment the following to stop low-level messages on console
kernel.printk = 3 4 1 3
Você pode ver suas configurações atuais:
$ sudo sysctl -a|grep "kernel.printk\b"
kernel.printk = 4 4 1 7
Se você realmente quiser desabilitar todos os registros, mesmo durante a inicialização, altere a string quiet
para silent
nos argumentos de inicialização para o kernel no GRUB, em /boot/grub2/grub.cfg
.
linux /vmlinuz-3.12.11-201.fc19.x86_64 ... rhgb silent ....
Depois de horas de pesquisa:
Comente a linha * .emerg ou altere para * .emerg / var / log / messages etc