Linuxデバイスドライバを書いるとき、insmod module.ko, rmmod moduleを繰り返しているうちに、デバッグメッセージがいつ実行したドライバのメッセージがわからなくなる。いつ実行したか確実にわかるように、insmod, rmmodなどを実行したとき、printk()で現在の時刻を表示したいのだが、ctime(3)のような関数がカーネル内では存在しないようだ。 do_gettimeofday()でUNIX時間を取得し変換する方法もあるが、しかしこの方法は結構めんどくさいのもっと手軽にRTC(Real Time Clock)の情報を使えばいいのではないかと思う。サンプルのプログラムは以下の様になる。 testdrv.c #include <linux/init.h> #include <linux/module.h> #include <asm-generic/rtc.