カーネル再構築の方法
UbuntuのユーザーやLinuxディストリビューションの作成者は、 カーネルのソースコードを使い、パソコンやスマートフォンで動作するOSを作ることができます。(=ビルド)
この際、ユーザーは、利用するファイルシステムや周辺機器を動かすためのソフト(=デバイスドライバ)等を、 設定によって選択して、組み込んだり外したりできます。
また、カーネルを再構築することで既存のUbuntuのファイルシステムを変更できます。
ここでは、そのカーネル再構築の設定方法を実践的に紹介します。
「端末」の操作
ビルドに必要なパッケージ・ツールをインストールします。
$ sudo apt-get -y update
パスワード入力
$ sudo apt-get -y install libncurses-dev
$ sudo apt-get -y install build-essential libncurses-dev
$ sudo apt-get -y install build-essential fakeroot kernel-package
$ sudo apt-get -y install linux-source
と各コマンドを入力してそれぞれ「Enter」を押します。「端末」はそのまま続けます。
最適なサーバが、選択されていれば、自動的に「/usr/src」のフォルダの中に、 リポジトリーの最新バージョンの「linux-source-x.x.xパッケージ」と、「linux-source-x.x.x.tar.bz2パッケージ」が、 上記のコマンドによりダウンロードされています。
ここでは具体的に解りやすく、「linux-source-3.0.0パッケージ」と、「linux-source-3.0.0.tar.bz2パッケージ」という事で、 紹介を進めます。
次に、
$ sudo -s
パスワード入力
コマンドを入力してそれぞれ「Enter」を押します。
# apt-get install linux-souce-3.0.0(リポジトリーの最新バージョン)
コマンドを入力して「Enter」を押します。>ソースコードをインストールします。
# cd /usr/src
コマンドを入力して「Enter」を押します。>「/usr/src」のフォルダに移動します。
# tar xvjf linux-source-3.0.0.tar.bz2
コマンドを入力して「Enter」を押します。>「linux-source-3.0.0.tar.bz2」のパッケージを展開します。
# cd linux-souce-3.0.0
コマンドを入力して「Enter」を押します。>「/usr/src/linux-souce-3.0.0」のフォルダに移動します。
# cp /boot/config-3.0.0-15-generic .config
コマンドを入力して「Enter」を押します。 >既存のUbuntuのファイルシステムの「/boot/config-3.0.0-15-generic」のファイルを、 新しい「.config」ファイルにコピーします。
# cd /usr/src
コマンドを入力して「Enter」を押します。>「/usr/src」のフォルダに移動します。
# make oldconfig
コマンドを入力して「Enter」を押します。 >ソースディレクトリーの最上位のディレクトリー「.config」ファイルが作成されます。
# make menuconfig
コマンドを入力して「Enter」を押します。
「make menuconfig」の設定画面が表示されます。 この設定画面で、再構築するカーネルを設定します。
「make menuconfig」の操作方法
- 項目の上下移動は、「↓」・「↑」キーを押します。
- 各項目の(*)=「有効」・( )=「無効」は、スペースキーを繰り返し押します。
- 次のセクションに移動する場合は、各項目の文字の右側に「 --->」となっている項目を選択して、下の項目は<Select>で、「Enter」キーを押します。
- 元のセクションに移動する場合は、「→」キーを押して下の項目を<Exit>にして、「Enter」キーを押します。
- 設定終了は、TOP画面を表示して「→」キーを押し、の下の項目を<Exit>にして、「Enter」キーを押します。
設定完了<Yes>を確認して「Enter」を押します。設定し直す場合は、「→」キーを押して<No>にして、「Enter」を押します。 - 設定完了<Yes>を確認して「Enter」を押した後、設定画面に戻りたい場合は、<Esc>キーを押します。
- 設定完了<Yes>を確認して「Enter」を押した後、「端末」で次の作業に進んだ場合は、もう設定画面に戻れません。
- 設定完了<Yes>を確認して「Enter」を押した後、「端末」で次の作業に進んだ時に、
設定画面に戻りたい場合は、最初から設定をやり直しになります。 - 設定の「決定」は、すべて<Enter>キーを押します。
基本的には、「# cp /boot/config-3.0.0-15-generic .config」の時に、 既存のUbuntuのシステムをコピーしてあるので、既存のUbuntuを基本にして、 利用するファイルシステムや周辺機器を動かすためのソフト(=デバイスドライバ)等を、 この設定の編集によって選択して、組み込んだり外したりしてカスタマイズします。
この時に最初に必ず、「General Setup」セクションにある「Local vision-append to kernel release」を選択して、 「-local」などの追加バージョンを設定しておきます。
「make menuconfig」のセクションに関しては、>こちらを参考にしてみてください。
# make-kpkg clean
# CONCURRENCY_LEVEL=4 make-kpkg --rootcmd fakeroot --initrd --revision=20120201 kernel_image kernel_headers
コマンドを入力してそれぞれ「Enter」を押します。>この後は、「端末」が自動で数時間作業します。 (>かなり長い時間画面が下にスライドします。気長に待ちましょう。)
「CONCURRENCY_LEVEL=4」(=同時実行数)の部分 >「4」の数字の部分は、PCが、「マルチコアCPUや、複数のCPUを装備している場合」は、 ビルド処理の並列数を増やすことでビルド時間を短縮できます。 指定する数値は、CPU数(あるいはCPUコア数)と同じか、その倍程度にすると良いでしょう。
「--revision=20120201」の「20120201」の部分の数字は、 カーネルを再構築した日時を指定すると、あとで日時データが解りやすく また、後で作成される「.deb」パッケージのバージョン名として記載されます。
# cd /usr/src
# dpkg -i linux-image-3.0.13-local_20120201_amd64.deb
# dpkg -i linux-header-3.0.13-local_20120201_amd64.deb
コマンドを入力してそれぞれ「Enter」を押してインストールします。
「端末」の末尾が
#
と表示されたら
# exit
コマンドを入力してそれぞれ「Enter」を押して「端末」を終了します。
以上で、カーネル再構築の設定が完了です。
PCを再起動して「端末」を開き、
$ sudo uname -r
パスワード入力
コマンドを入力してそれぞれ「Enter」を押します。
カーネルを再構築した新しいバージョンアップ名に変更された事を確認できます。
このページの編集は、カーネル再構築のススメを参考にさせて頂きました。 ありがとうございました。 HPアドレスは、http://dogmap.jp/2009/06/19/rebuild-kernel/です。 リンクできるので、そちらも参考にしてみてください。