diff --git a/kernel_module/user/README.md b/kernel_module/user/README.md index 453ce4a..14df18a 100644 --- a/kernel_module/user/README.md +++ b/kernel_module/user/README.md @@ -16,6 +16,7 @@ These programs can also be compiled and used on host. 1. inits 1. [sleep_forever](sleep_forever.c) 1. [poweroff](poweroff.c) + 1. [init_dev_kmsg](init_dev_kmsg.c) 1. [uio_read](uio_read.c) 1. Module tests 1. [anonymous_inode](anonymous_inode.c) diff --git a/kernel_module/user/init_dev_kmsg.c b/kernel_module/user/init_dev_kmsg.c new file mode 100644 index 0000000..bd20257 --- /dev/null +++ b/kernel_module/user/init_dev_kmsg.c @@ -0,0 +1,13 @@ +/* https://stackoverflow.com/questions/12683169/measure-time-taken-for-linux-kernel-from-bootup-to-userpace/46517014#46517014 */ + +#include +#include + +int main(void) { + FILE *fp; + fp = fopen("/dev/kmsg", "w"); + fputs(__FILE__ "\n", fp); + fclose(fp); + while (1) + sleep(0xFFFFFFFF); +} diff --git a/runqemu b/runqemu index cc026d5..f7e75e6 100755 --- a/runqemu +++ b/runqemu @@ -10,7 +10,7 @@ kgdb=false nographic=false # norandmaps: Don't use address space randomization. Equivalent to echo 0 > /proc/sys/kernel/randomize_va_space. # printk.time=y: log in format: "[time ] msg" for all printk messages. -extra_append='norandmaps printk.time=y' +extra_append='norandmaps printk.devkmsg=on printk.time=y' extra_flags='' while getopts a:de:knqt: OPT; do case "$OPT" in