1.カーネルの設定とコンパイル
CPアーチ/腕/のconfigs / xx_defconfigの.config
menuconfigを作るには
uImageを作ります
2.カーネルの設定とコンパイルプロセスを理解します
カーネルのコンフィギュレーション中には、ファイルの.configを生成します。
一例として、カードにDM9000:
.configで「CONFIG_DM9000 = Y」で見つけることができ、これは、このモジュールがカーネルにコンパイルされることを意味します。ファイルの.koブロックにコンパイルされます「CONFIG_DM9000 = m」は、動的にカーネルにロードすることができます。
最上位ディレクトリのカーネルを見つけるためにCONFIG_DM9000:
grepの「CONFIG_DM9000 」 -rn。なぜ含ま下に何かアドバイスを見つけるません
4つの文書がある見ることができるようにARMアーキテクチャに含めます
- アーチ/アーム/ PLAT-s3c24xx / commod-smdk.c(C源)
- ドライバー/ネット/ Makefileの(サブディレクトリのmakefile)
- 含める/設定/ auto.confg
- / Linuxの/をautoconf.hが含まれます
オープン/ドライバ/ネット/ Makefie。あなたは、 " - $(CONFIG_DM9000)+ = dm9000.o OBJ" を見つけることができます。$(CONFIG_DM9000)は、定義CONFIG_DM9000がdm9000.oをコンパイルするかどうかを決定することを意味します。マクロで定義されている間Auto.confは、auto.confに「CONFIG_DM9000 = Y」、それはOBJ-Y + = dm9000.oに拡張することができるように、メイクファイルを見ることができます。これは、モジュールがカーネルにコンパイルすることを意味します。「CONFIG_DM9000 = M」場合は、モジュールがの.koファイルにコンパイルされます。auto.confは最終的にトップレベルのMakefileに含まれます。
したがって、/設定/ auto.confマクロがMakefileの内部に定義されているが含まれます。
ヘッダファイルをautoconf.hので、Cのソースが使用されていることは明らかです。様々なマクロ定義の定義があります。
生成されたときとをautoconf.hとauto.confときはmake menuconfigを。
概要:menuconfigのは-----> auto.confとをautoconf.hを発生させます
auto.conf ----->モジュールをコンパイルするかどうかを決定するためのMakefile(yはカーネルにコンパイルされたときには、mは場合コンパイルされたモジュールです)
autoconf.h -----> Cは、ソースの時間は、ソースマクロ定義は、関連を定義します