カーネル再構築の方法
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」を押します。
パスワード入力
パスワードを入力して「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」ファイル(「config-3.0.13-local」)にコピーします。
# cd /usr/src
(*「端末」の末尾が「#」になったら、次のコマンドを入力します。)
コマンドを入力して「Enter」を押します。>「/usr/src」のフォルダに移動します。
# make oldconfig
(*「端末」の末尾が「#」になったら、次のコマンドを入力します。)
コマンドを入力して「Enter」を押します。
>ソースディレクトリーの最上位のディレクトリー
「.config」ファイルが作成されます。
# make menuconfig
コマンドを入力して「Enter」を押します。
「make menuconfig」の設定画面が表示されます。 この設定画面で、再構築するカーネルを設定します。
「make menuconfig」の基本操作方法
- 各項目の上下移動は、「↓」・「↑」キーを押します。
- 各項目の(*)=「有効」・( )=「無効」は、スペースキーを繰り返し押します。
- 次のセクションに移動する場合は、各項目の文字の右側に「 --->」となっている項目を選択して、
下の項目は<Select>で、「Enter」キーを押します。 - 元のセクションに移動する場合は、「→」キーを押して下の項目を<Exit>にして、「Enter」キーを押します。
- 設定終了は、TOP画面を表示して「→」キーを押して下の項目を<Exit>にして、「Enter」キーを押します。
設定し直す場合は、「→」キーを押して<No>にして、「Enter」を押します。
設定完了する場合は、<Yes>を確認して「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」などの追加バージョンを設定しておきます。
・「Local vision-append to kernel release」を選択
・「-local」などの追加バージョンを設定
「make menuconfig」のセクションに関しては、>こちらを参考にしてみてください。
「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」の部分の数字は、
カーネルを再構築した日時(2012年2月1日)を指定すると、あとで日時データが解りやすく
また、後で作成される「.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/です。 リンクできるので、そちらも参考にしてみてください。