it-swarm-eu.dev

Jak mohu napsat do dmesg z příkazového řádku?

Rád bych napsal prohlášení dmesgovi. [Jak to mohu udělat?

49
notlesh

Napsat /dev/kmsg (ne /proc/kmsg jak navrhuje @ Nils ). Viz linux/kernel/printk/printk.cdevkmsg_writev pro implementaci na straně jádra a systemd/src/journal/journald-kmsg.cserver_forward_kmsg pro příklad použití.

42
ephemient

pro BSD

%logger -p kern.crit MESSAGE

(s laskavým svolením Ian, mailing list s otázkami freebsd )

pro Linux

su root -c 'echo MESSAGE > /dev/kmsg'
14
xitij

Za předpokladu, že nikdo jiný nepřijde s oficiálním způsobem, jak to udělat ...

Můžete napsat modul jádra, který volá funkci printk. Je zde příklad zde , který by mohl udělat práci jen za vás.

3
ams

Pokud jsem rozuměl man dmesg správně, měli byste být schopni napsat /proc/kmsg .

0
Nils

-> Můžete napsat program C takto:

test_mod.c

#include <linux/module.h>
#include <linux/kernel.h>

int init_module(void)
{
    printk("Hello All\n This is a test init\n");
    return 0;
}

void cleanup_module(void)
{
    printk("Good Bye");
}

-> vytvořit objektový soubor:

echo "obj-m := test_mod.o" > Makefile

-> kompilace spuštěním:

make -C /lib/modules/$(Shell uname -r)/build M=$(PWD) modules`

-> načtěte modul níže:

insmod ./test_mod.ko

viz výstup:

dmesg | tail

-> uvolnit modul:

rmmod test_mod.ko
0
Bhavana Johri