目前,当我运行时启动时dmesg | head
我得到了。
[ 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...
内核源代码中是否有一个已经存在的文件,我可以修改它来打印一条类似“Hello world”的消息,这样一旦我构建并安装了新的文件,它就会显示在启动后 dmesg 输出的开头或第一行之后核心。我意识到我可以通过一个新模块来做到这一点,但是我可以修改预先存在的东西吗?
答案1
您可以修改打印第一行输出的函数;在start_kernel
里面init/main.c
。 “Linux版本”消息被存储linux_banner
并输出使用pr_notice
,您也应该将其用于早期消息。
答案2
编辑根 crontab:
# crontab -e
添加以下行:
@reboot echo "Hello World!" > /dev/kmsg
重新启动然后检查:
# dmesg | grep Hello