Linux駆動学習---Ubuntu 12.04 Linuxソースツリーの構築

1578 ワード

LDD 3の第2章:構造と運転モジュールでは2.6とする.x以上のバージョンでモジュールを構築するには、独自のシステムでカーネルツリーを構成し、構築する必要があります.以前のバージョンでは、カーネルヘッダファイルが1セット必要で十分でした.2.6カーネルのモジュールは、カーネルソースツリーのターゲットファイルにリンクされるため、より堅牢なモジュールマウントが得られますが、カーネルディレクトリツリーにも存在します.このように、読者はまずカーネルソースコード(kernel.orgからの純粋なソースコードであってもよいし、リリース版のカーネルであってもよいが、kernel.orgのカーネルを推奨する)を用意し、新しいカーネルを構築し、自分のシステムにインストールする必要がある.
まず、独自のシステムカーネルと同じバージョンの新しいカーネルを構築する方法について説明します.カーネルソースコードは32ビットと64ビットを区別しません.構成時に区別します.しかし、これらは私たちが心配している問題ではありません.
Ubuntu 12について.04に言います.
1)まず自分のバージョンをチェックします.
uname -r
3.2.0-79-generic-pae

2)カーネルソースファイルの検索:
sudo apt-cache search linux-source
)ソースファイルのダウンロード:
sudo apt-get install linux-source-3.2.0
ダウンロードが完了すると、/usr/srcディレクトリにフォルダが表示されます.
linux-source-3.2.0
)このディレクトリにアクセスして、
cd linux-source-3.2.0/ 
そして
sudo tar xjvf linux-source-3.2.0.tar.bz2
)解凍されたディレクトリに入ります.
cd linux-source-3.2.0/ 
そして
sudo make oldconfig

このステップは1つ生成されます.configのプロファイル
6)コンパイル:
sudo make

私のこのステップの実行が最後に近づいたときにエラーが発生しました:ERROR:「_modver_version_show」[drivers/staging/rts 5139/rts 5139.ko]undefined!
RTS 5139駆動の問題であるはずです.どうせ私たちもこの駆動を使わないで、解決方法は以下の通りです.
sudo vi .config
修正
CONFIG_RTS 5139=mから
CONFIG_RTS5139=n
続けて
 sudo make

7)コンパイルモジュール:
sudo make modules

8)モジュールのインストール:
sudo make modules_install
)正常に再起動しました.