Inicialização lenta ao usar o parâmetro do kernel console = ttyS0 para ocultar todas as saídas

0

Para um sistema operacional amigável ao usuário final, estou criando uma distribuição básica do Linux usando a ferramenta Buildroot. Eu estou usando o Syslinux / Isolinux como o carregador de inicialização e o kernel Linux 4.14.54 (Long Term Support). Se eu inicializar o arquivo ISO via Virtualbox, tudo está funcionando como esperado. Mas quando eu queimei esse ISO em um pendrive, o bootloader carrega o initrd e a inicialização do Linux em algum momento parece estar congelada ou desacelerada. Após 30 segundos , duas pequenas imagens 'tux' aparecem no canto superior esquerdo (elas normalmente nunca aparecem!) e a resolução é alterada para a resolução nativa do monitor (1600x900). Depois a inicialização parece continuar corretamente e o servidor x é iniciado.

Os parâmetros do kernel são assim: vt.global_cursor_default=0 console=ttyS0

Como você pode ver, eu especifico ttyS0 como console para esconder todas as mensagens de inicialização, redirecionando-as para um console serial não existente. Eu verifiquei o dmesg e não vi nenhuma mensagem problemática (mas a última mensagem foi de 16 segundos após a inicialização). Quando eu altero o parâmetro do console para console=tty1 , ele funciona perfeitamente, a última mensagem do dmesg é de 4 segundos após o boot, mas há muita coisa escrita no console.

Eu testei isso no meu laptop Lenovo S20-30 Touch.

O parâmetro console é a única opção para mim, já que outras opções como definir o nível de log do kernel não afetam algumas mensagens (por exemplo, printf em um shell script). Estou fazendo algo errado? Existe uma alternativa melhor para ocultar a saída do console realmente todos ?

    
por fameman 17.07.2018 / 19:55

0 respostas