What is it, naokirin?

Linux デバイスドライバの開発 (2)

前回の続きから。

まずはカーネルコンフィグレーションへの追加。

Character driver下に追加する場合を書く。

1.カーネルソースコードがあるdrivers/char下にディレクトリを作成します。
(自分が使っている環境では/lib/modules/[version番号]-generic/drivers/char)

2.そのディレクトリに追加したいドライバのソースファイルをおく。

3.Makefileを以下のように書き換える。

obj-$(CONFIG_HELLO)+=hello.o

hello-objs:=main.o sub.o

4.Chracter driversのMakefileとKconfigをドライバが追加されるように変更します。

Makefile

…
obj-y    += mem.o random.o tty_io.o n_tty.o tty_ioctl.o

obj-$(CONFIG_HELLO) += hello/ #これを追加

obj-$(CONFIG_LEGACY_PTYS)    += pty.o
…

Kconfig

…
menu "Character devices"

config HELLO #ここから
    tristate "hello driver" 
    ---help---
      This is a sample driver. #ここまで追加
…

5.カーネルコンフィグレーションを実行(#make menuconfig を実行)



これによりカーネルコンフィグレーションにドライバを追加することができる。
(もちろん、カーネルをビルドする前に行う)

次は静的ドライバの作成。(大して長くはならないはず)