next up previous
次へ: カーネルモジュールのロードとアンロード 上へ: モジュールの作成と実行(ロード・アンロード) 戻る: Makefileの作成

hello.cのコンパイル

「LINUXデバイスドライバ 第3版」の23ページには、次のようなコンパイル方法 が示してある。


\begin{boxedminipage}{8cm}
\begin{verbatim}make -C ~/kernel-2.6 M=\lq pwd\lq  modules\end{verbatim}
\end{boxedminipage}

このコンパイル方法を自分の使っているシステムに適合させる。

自分の使っているOSのカーネル番号(リリース番号)はuname -rを実 行すれば分かる。


\begin{boxedminipage}{5cm}
\begin{verbatim}...

これは、/lib/modulesディレクトリにある。


\begin{boxedminipage}{5cm}
\begin{verbatim}...

そこで、23ページのコンパイル方法を自分のシステムに合わせると、つぎのよう になることが分かる。(詳細は、「2.4.1 モジュールのコンパイル」(P.22) を参照すること)


\begin{boxedminipage}{11cm}
\begin{verbatim}...

上記のようにmakeコマンドを使ってコンパイルしてみる。

コンソールの日本語環境(ja_JP.eucJP)ではエラーや警告がでた場合は、 部分的に文字化け起きるので、konの環境でコンパイルすればエラー・メッ セージや警告メッセージを読むことができる。


\begin{boxedminipage}{11cm}
\begin{verbatim}...

コンパイルに成功するとカーネル・モジュール・ファイルのhello.koがで きている。サフィックスの.koはカーネル・オブジェクト (kernel object)の略である。


\begin{boxedminipage}{11cm}
\begin{alltt}
\relax{}  ...



MANOME Yoichi 平成19年1月6日