Как вывести лог на экран во время выключения и запуска (после grub)

Как вывести лог на экран во время выключения и запуска (после grub)

Как мы знаем, при запуске системы (после grub) и при ее завершении на экране выводится множество журналов.

Я знаю, что ядро ​​будет писать некоторые логи ядра. Но как насчет остальных? Кто их пишет?

Насколько мне известно, Ubuntu использует systemdи есть некоторые логи от systemd. Я хочу знать, возможно ли создать службу systemd, которая может записывать некоторые логи на экран при запуске и завершении работы?

решение1

Можно проанализировать исходный код системного вызова перезагрузки, возможно, ответ там. ПУТЬ: linux-4.4.1/kernel/reboot.c

280 SYSCALL_DEFINE4(reboot, int, magic1, int, magic2, unsigned int, cmd,
281                 void __user *, arg)
282 {
        ....
315         switch (cmd) {
316         case LINUX_REBOOT_CMD_RESTART:
        ....
333         case LINUX_REBOOT_CMD_POWER_OFF:
334                 kernel_power_off();
335                 do_exit(0);
336                 break;
        ....


257 void kernel_power_off(void)
258 {
259         kernel_shutdown_prepare(SYSTEM_POWER_OFF);
260         if (pm_power_off_prepare)
261                 pm_power_off_prepare();
262         migrate_to_reboot_cpu();
263         syscore_shutdown();
264         pr_emerg("Power down\n");
265         kmsg_dump(KMSG_DUMP_POWEROFF);
266         machine_power_off();
267 }

Связанный контент