我々はテストドライバーのディレクトリツリーとしてARMアーキテクチャ用のカーネルソースディレクトリにドライバを追加したいと仮定し
、カーネルにおける増加ディレクトリおよびサブディレクトリに、我々は、対応する新しいディレクトリを作成する必要があるKconfig
とMakefile
、ファイルを新しいディレクトリながら、親ディレクトリkconfigをしても、メイクファイルするためにMakefileを変更する必要があり、新たなファイルがkconfigを参照することができます
新しいテストディレクトリで次の含まれている必要がありますKconfig
ファイル:
#
# TEST driver configuration
#
menu "TEST Driver "
comment " TEST Driver"
config CONFIG_TEST
bool "TEST support "
config CONFIG_TEST_USER
tristate "TEST user-space interface"
depends on CONFIG_TEST
endmenu
カーネルのテストドライバーが、新しい機能であるため、あなたが最初のメニューのテストドライバーを作成する必要があるので、;その後、「TESTサポート」を表示、ユーザが選択するのを待ち、次のことが(CONFIG_TEST = y)がある場合、ユーザーは、テストドライバーを選択したかどうかを判断します、さらなる機能を示す:CPUの機能を有するユーザインタフェースをサポートし、ユーザインタフェース機能がカーネルモジュールにコンパイルすることができるように、本明細書で使用されるクエリステートメントはトライステート
動作するように、このkconfigをファイルを作成するには、以下を追加し、アーチ/腕/ kconfigをファイルを変更する必要があります
source "drivers/test/Kconfig"
新しいファイルは、kconfigを参照するスクリプトソース手段
新しいテストディレクトリで次の含まれている必要がありますMakefile
ファイル:
# drivers/test/Makefile
#
# Makefile for the TEST.
#
obj-$(CONFIG_TEST) += test.o test_queue.o test_client.o
obj-$(CONFIG_TEST_USER) += test_ioctl.o
obj-$(CONFIG_PROC_FS) += test_proc.o
obj-$(CONFIG_TEST_CPU) += cpu/
スクリプトが値obj- *コンフィギュレーション変数に基づいてリストを作成します。CONFIG_TEST_CPU = yは、ディレクトリリストCPUに追加する必要がある場合、テストディレクトリは、サブディレクトリのCPUを含んでいるので
CPUテストディレクトリには、次のサブディレクトリにもMakefileを必要と含まれています
# drivers/test/test/Makefile
#
# Makefile for the TEST CPU
#
obj-$(CONFIG_TEST_CPU) += cpu.o
全体のテストカタログを作るためには、コマンドの役割にコンパイルすることができ、Makefileファイルのテストディレクトリの親ディレクトリは、次のスクリプトを追加する必要があります
obj-$(CONFIG_TEST) += test/
ユーザーがテストディレクトリ中にカーネルをコンパイルできるように、$(CONFIG_TEST)+ =テスト/ - objがでドライバー/ Makefileの追加しました
新しいテストディレクトリツリーは、kconfigをを追加し、Makefileの後に、次のとおりです。