Como escrever uma mensagem para o dmesg no começo?

1

Atualmente, na inicialização, quando executo dmesg | head , obtenho.

[    0.000000] Linux version 4.17.19+ (bob@bob-VirtualBox) (gcc version 7.3.0 (Ubuntu          7.3.0-16ubuntu3)) #2 SMP Mon Sep 10 21:33:25 EDT 2018
[    0.000000] Command line: BOOT_IMAGE=/boot/vmlinuz-4.17.19+ root=UUID=2e69cd99-b344-4014-bb00-ce3da383be05 ro quiet splash
[    0.000000] KERNEL supported cpus:

etc ...

Existe um arquivo já existente na fonte do kernel que eu posso modificar para imprimir uma mensagem como "Hello world" para que ele apareça no começo ou depois da primeira linha da saída do dmesg após uma inicialização depois de eu ter construído e instalado o novo kernel. Eu percebo que posso fazer isso através de um novo módulo, mas há algo que eu possa modificar que pré-existe?

    
por Steven Barklow 12.09.2018 / 04:14

2 respostas

1

Você pode modificar a função que imprime as primeiras linhas de saída; é start_kernel em init/main.c . A mensagem “Linux version” está armazenada em linux_banner e output usando pr_notice , que você deve usar também para mensagens antigas.

    
por 12.09.2018 / 09:20
0

Edite o crontab raiz:

# crontab -e

Adicione a seguinte linha:

@reboot  echo "Hello World!" > /dev/kmsg

Reinicie e verifique:

# dmesg | grep Hello
    
por 12.09.2018 / 12:55

Tags