Linuxドライバー超サンプル

何の機能も無いが、とりあえずドライバーとして組み込めるモジュールを作ってみる。

確認環境

  • CentOS5.5(Intel64)

モジュールのソースコード(ファイル名はtoy_mod.c)

#include <linux/init.h>
#include <linux/module.h>
#include <linux/kernel.h>
static int toy_mod_init(void)
{
       return 0;
}
static void toy_mod_exit(void)
{
}
module_init(toy_mod_init);
module_exit(toy_mod_exit);
MODULE_LICENSE("GPL");
MODULE_DESCRIPTION("toy module: no function, no action");
MODULE_AUTHOR(“Nekooyaji”);

Makefile

obj-m := toy_mod.o

コンパイル方法

# make -C /lib/modules/$(uname -r)/build SUBDIRS=$PWD modules

モジュール組み込み

# /sbin/insmod toy_mod.ko
# /sbin/lsmod | grep toy
toy_mod                34304  0

モジュール取り外し

# /sbin/rmmod toy_mod
# /sbin/lsmod | grep toy

メモ

  • MODULE_DESCRIPTION、MODULE_AUTHORは動作上必須ではない
  • MODULE_LICENSEを設定しない場合、insmod時に下記メッセージが/var/log/messagesに発生
    toy_mod: module license 'unspecified' taints kernel.

コメント

このブログの人気の投稿

[Minecraft: Wii U Edition] SEED:306959825 海底神殿、森の洋館、メサがある有名神マップ [ネタバレ注意]

【パソコン】富士通LIFEBOOKでUSBブートする

浴室の電球をLEDへ交換(National製白熱灯照明RL93013)

【パソコン】 WiinUProでSwitchプロ・コントローラーをPCで使ってみる

VOBファイルの結合

Windows XPのLANを有効化/無効化する

[Minecraft Bedrock] Lifeboatってなんだ?!