SSブログ

【Ubuntu 9.10】カーネル再構築 2.6.31 [ubuntu]

※ブログの都合上、コマンドに勝手に折り返しがついている部分があります。
※注意してください。

Ubuntu 9.10でカーネル再構築をしてみました。
コンパイルしたカーネルソースは、
linux-source-2.6.31
元のOSは、
vmlinuz-2.6.31-16-generic
です。

PCの構成は下記のとおり、
------
元のディストリビューション:Ubuntu 9.10 日本語Rimix(32bit)
CPU:Intel Core 2 Duo E8600
Motherboard:P5Q
Graphicboard:ATI Radeon HD 4870
-----

基本的に、
http://d.hatena.ne.jp/adsaria/20081104/1225766991
のページを参考にしました。感謝m(_ _)m

ここでは、rootになったようにかいてありますが、
私は全てsudoを使ってやりました。

1)環境設定
root@ubuntu:~# apt-get install build-essential
root@ubuntu:~# apt-get install kernel-package


ところが・・ 
libncurses-dev ncurses-dev libqt3-dev
の3つのパッケージが見つからない・・
適当にlibncurses5関連、ncurses-base、libqt3,libqt4関連を入れてしまった・・
そしたら、特にmake menuconfig やmake xconfigが動いてしまった・・
ちゃんと必要なパッケージだけインストールすればよかった。

2)ソースを持ってくる。
下記のコマンドで検索して、

root@ubuntu:~# apt-cache search linux-source

下記のコマンドで持ってくる。

root@ubuntu:~# apt-get install linux-source-2.6.31

そうすると/etc/srcに下記のファイルがダウンロードされます。
linux-source-2.6.31.tar.bz2

4)ソース展開&.configコピー&oldconfig
ソースの展開は、

root@ubuntu:-# cd /usr/src
root@ubuntu:/usr/src# tar xf linux-source-2.6.31.tar.bz2

次に、.configのコピー

root@ubuntu:/usr/src# cd linux-source-2.6.31
root@ubuntu:/usr/src/linux-source-2.6.31# cp /boot/config-2.6.31-16-generic .config

そして現在のconfigを反映させるために、

root@ubuntu:/usr/src/linux-source-2.6.31# make oldconfig

5)カーネルの設定&コンパイル設定
カーネル設定メニューを起動

root@ubuntu:/usr/src/linux-source-2.6.31# make menuconfig

または、(GUIでやりたければ)

root@ubuntu:/usr/src/linux-source-2.6.31# make xconfig

それで、設定をするのですが・・項目多すぎ・・
そしたら、下記のページを見つけて参考にしながら設定。
http://en.gentoo-wiki.com/wiki/Asus_P5Q-E
もちろん、processor type は Core 2にしました。

それと作成されたカーネルのsuffixを変えるためにMakeFileをいじります。
下記の行が多分 .3とかになっているので、

EXTRAVERSION = -16-custom01

などと直しました。
6)コンパイル
下記のコマンドでコンパイル。

root@ubuntu:/usr/src/linux-source-2.6.31# fakeroot make-kpkg --initrd --revision=100105 kernel_image kernel_headers

ネットで調べるとfakerootを使ってるのと使ってないのがありました。
絶対必要なのかはよくわかりません。
revisionは私は安直に日付にしてます。

1時間弱待って、
root@ubuntu:/usr/src# ls
fglrx-8.681
linux-headers-2.6.31-16-custom01_100105_i386.deb
linux-image-2.6.31-16-custom01_100105_i386.deb
linux-source-2.6.31
linux-source-2.6.31.tar.bz2


と2つの.debファイルができます。
一番上にfglrx-8.681というディレクトリがあるのですが、
これはAITのディスプレイドライバのソースでディスプレイドライバがATIであるがゆえに困った問題が多発しました。

7)インストール

下記のコマンドでインストール。

root@ubuntu:/usr/src# dpkg -i linux-image-2.6.31-16-custom01_100105_i386.deb

しかし、普通にインストールしようとすると下記の場所でエラーになる。
run-parts: executing /etc/kernel/postinst.d/nvidia-common

そしたら、実際に/etc/kernel/postinst.dのディレクトリにnvidia-commonなるものが存在する。
私はATIユーザーなので消しました!!
その代わり、/etc/kernel/postinst.dのディレクトリにdkmsが存在してます。
ATIドライバのインストールと、カーネル再構築を同時にしていて気がついたのですが、どうやらdkmsが無いカーネル持ってくると、ATIドライバ入れ直しになるようです。

それでコマンドを入れると、

未選択パッケージ linux-image-2.6.31-16-custom01 を選択しています。
(データベースを読み込んでいます ... 現在 169640 個のファイルとディレクトリがインストールされています。)
(linux-image-2.6.31-16-custom01_100105_i386.deb から) linux-image-2.6.31-16-custom01 を展開しています...
Done.
linux-image-2.6.31-16-custom01 (100105) を設定しています ...
Running depmod.
Finding valid ramdisk creators.
Using mkinitramfs-kpkg to build the ramdisk.
Running postinst hook script update-grub.
Generating grub.cfg ...
Found linux image: /boot/vmlinuz-2.6.31-16-generic
Found initrd image: /boot/initrd.img-2.6.31-16-generic
Found linux image: /boot/vmlinuz-2.6.31-16-custom01
Found initrd image: /boot/initrd.img-2.6.31-16-custom01
Found memtest86+ image: /boot/memtest86+.bin
Found Windows Vista (loader) on /dev/sda1
done
Examining /etc/kernel/postinst.d.
run-parts: executing /etc/kernel/postinst.d/dkms

VistaとのデュアルブートにしているのでGrubに見つけられちゃいました。
最後にdkmsを実行しているのが分かると思います。

続いてヘッダーのインストール。

root@ubuntu:/usr/src# dpkg -i linux-headers-2.6.31-16-custom01_100105_i386.deb

ところが。。


未選択パッケージ linux-headers-2.6.31-16-custom01 を選択しています。
(データベースを読み込んでいます ... 現在 172692 個のファイルとディレクトリがインストールされています。)
(linux-headers-2.6.31-16-custom01_100105_i386.deb から) linux-headers-2.6.31-16-custom01 を展開しています...
linux-headers-2.6.31-16-custom01 (100105) を設定しています ...
dpkg: 警告: obsolete option '--print-installation-architecture', please use '--print-architecture' instead.


と警告が出てしまった。
調べたところどうやら、ATIドライバが怪しそうなのですがよくわかりません。
とりあえず、インストールするPCもターゲットPCもおなじなのでいいか・・


nice!(0)  コメント(0) 
共通テーマ:パソコン・インターネット

nice! 0

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

Facebook コメント

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。