前回の続きから。
まずはカーネルコンフィグレーションへの追加。
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をドライバが追加されるように変更します。
… 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 を実行)
これによりカーネルコンフィグレーションにドライバを追加することができる。
(もちろん、カーネルをビルドする前に行う)
次は静的ドライバの作成。(大して長くはならないはず)