カーネル2.6では、ローダブルモジュールのアーキテクチャが変わるとともに、拡張子が'*.ko'となり、モジュールの作成方法もこれまでから変更になりました。
新しいモジュールアーキテクチャのカーネル2.6でローダブルモジュールをコンパイルするためのMakefileサンプルです。
hello/Makefile - 1ソースファイル 1モジュール
hello2/Makefile - 複数ソースファイル 複数モジュール
hello3/Makefile - 複数ソースファイル 1モジュール
hello4/Makefile - 1ソースファイル(従来型オプション指定)
# mkdir driver; cp -a hello*.[ch] driver; cd driver
# cat > Kbuild
(内容はこんな感じ:1ソースのとき)
obj-m := hello_single.o clean-files := *.o *.ko *.mod.[co] *~
(内容はこんな感じ:複数ソースのとき)
obj-m := hello.o hello-y := hello_main.o hello_extern.o clean-files := *.o *.ko *.mod.[co] *~
# make -C /usr/src/linux-2.6.14.3 M=`pwd` V=1
# make -C /usr/src/linux-2.6.14.3 M=`pwd` V=1 clean
Last editted on 12/13/2005
Copyright(c) 2003, 2004, 2005 Device Drivers Limited 戻る→