vine linux 3.1 kernel srcの取得
sorry Japanese only
PAGE作成日 2005/08/19
最終更新日 2007/01/05
page size = Mbyte

vine linux3.1の kernel sourceについてです

kernel sourceの展開

vine linuxの mirrorがある ring serverなどから
自分の使用している versionの kernel sourceを downloadしましょう。

kernel versionの確認方法
[root]# uname -r
2.4.27-0vl7.6

以下の物が私の場合該当します
http://www.ring.gr.jp/pub/linux/Vine/Vine-3.1/i386/Vine/RPMS.main/kernel-source-2.4.27-0vl7.i386.rpm
http://www.ring.gr.jp/pub/linux/Vine/Vine-3.1/updates/RPMS/i386/kernel-source-2.4.27-0vl7.6.i386.rpm
(上が vine3.1になった当初の src。下はこのときの最新版の src。最新のを入手しましょう)

downloadします。
[root]# wget http://www.ring.gr.jp/pub/linux/Vine/Vine-3.1/updates/RPMS/i386/kernel-source-2.4.27-0vl7.6.i386.rpm
--15:55:13--  http://www.ring.gr.jp/pub/linux/Vine/Vine-3.1/updates/RPMS/i386/kernel-source-2.4.27-0vl7.6.i386.rpm
           => `kernel-source-2.4.27-0vl7.6.i386.rpm'
www.ring.gr.jp をDNSに問いあわせています... 210.188.213.230, 210.158.0.14, 150.26.214.84, ...
www.ring.gr.jp[210.188.213.230]:80 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 200 OK
長さ: 31,137,570 [application/x-redhat-package-manager]

100%[===========================>] 31,137,570     1.04M/s    ETA 00:00

15:55:46 (1.05 MB/s) - `kernel-source-2.4.27-0vl7.6.i386.rpm' を保存しました [31137570/31137570]

似たようなファイルに、
http://www.ring.gr.jp/pub/linux/Vine/Vine-3.1/SRPMS/SRPMS/kernel-2.4.27-0vl7.src.rpm
http://www.ring.gr.jp/pub/linux/Vine/Vine-3.1/updates/SRPMS/kernel-2.4.27-0vl7.6.src.rpm
がありますが、これは /root/rpm/SOURCE以下に解凍されてしまうため使えません。
(kernel-source-hogehoge.rpmは /usr/src以下へ展開されます。)

それでは rpmコマンドを使って kernel srcを展開します。
[root]# rpm -i --replacepkgs kernel-source-2.4.27-0vl7.6.i386.rpm
オプションを -ivhでやるのを忘れてしまいました。
(--replacepkgsオプションは、既にインストールされている物を再インストールする場合に使います。)

kernelを updateする場合
今使用している 2.4.27は残しておいて、新しく Downloadした 2.4.33を installしたい!
と言うときは、rpmコマンド実行して上書きされちゃ困るので、どこへ書き込まれるのかをあらかじめ確認してみます。
Downloadした kernel-sourceに対して以下のコマンドを実行すると
[root]# rpm -qpl kernel-source-2.4.33-0vl0.9.i386.rpm | more
/usr/src/linux-2.4.33/COPYING
/usr/src/linux-2.4.33/CREDITS
/usr/src/linux-2.4.33/Documentation
以下略
現在使用している kernelの srcが展開されている linux-2.4.27とは別の所へ展開されるのが確認できます。

kernel update時には kernel-headerも同時に展開しないと、依存関係がダメだと怒られますから、これもどこへ展開されるか確認してみます
[root]# rpm -qpl kernel-headers-2.4.33-0vl0.9.i386.rpm
/boot/kernel.h-2.4.33
/usr/src/linux-2.4.33
/usr/src/linux-2.4.33/README.kernel-sources
/usr/src/linux-2.4.33/configs
/usr/src/linux-2.4.33/configs/kernel-2.4.33-athlon-smp.config
/boot領域にも書き込まれて少し怖いですが、まあ大丈夫でしょう

と言うことで、kernel update時は以下のコマンドを実行します
[root]# rpm -ivh kernel-source-2.4.33-0vl0.9.i386.rpm  kernel-headers-2.4.33-0vl0.9.i386.rpm
準備中...                   ########################################### [100%]
   1:kernel-headers         ########################################### [ 50%]
   2:kernel-source          ########################################### [100%]


話を元に戻して installの時の話の続きです
どこへ展開されたか確認します。
[root]# cd /
[root]# find . -mmin -5 -ls
     1    0 drwxr-xr-x   2 root     root            0  8月 20  2005 ./dev/pts
途中省略
     2    4 drwxr-xr-x  18 root     root         4096  8月 20 15:59 ./usr
305307    4 drwxr-xr-x   3 root     root         4096  8月 20 15:59 ./usr/src
305313    4 drwxr-xr-x  14 root     root         4096  8月 20 15:59 ./usr/src/linux-2.4.27
305319    4 drwxr-xr-x   3 root     root         4096  8月 20 15:59 ./usr/src/linux-2.4.27/arch
129545    4 drwxr-xr-x   7 root     root         4096  8月 20 15:59 ./usr/src/linux-2.4.27/arch/i386
129547    4 drwxr-xr-x   4 root     root         4096  8月 20 15:59 ./usr/src/linux-2.4.27/arch/i386/boot
129550    4 drwxr-xr-x   2 root     root         4096  8月 20 15:59 ./usr/src/linux-2.4.27/arch/i386/boot/compressed
途中省略
368053    4 drwxr-xr-x   2 root     root         4096  8月 20 15:59 ./usr/src/linux-2.4.27/scripts/lxdialog
305893    0 lrwxrwxrwx   1 root     root           12  8月 20 15:59 ./usr/src/linux -> linux-2.4.27
 63873    4 drwxr-xr-x   3 rpm      rpm          4096  8月 20 15:59 ./var/lib/rpm
 63900   44 -rw-r--r--   1 root     root        45056  8月 20 15:59 ./var/lib/rpm/Requirename
 63896 6680 -rw-r--r--   1 root     root      6828032  8月 20 15:59 ./var/lib/rpm/Packages
途中省略
 63902   12 -rw-r--r--   1 root     root        12288  8月 20 15:59 ./var/lib/rpm/Conflictname
5分以内に書き換えられたファイルです。
/usr/src以下へ展開されています。

しかし /usr/src/linux/configsディレクトリーがありません。
これは kernel-headersを入れることにより展開されます。
[root]# rpm -i --replacepkgs kernel-headers-2.4.27-0vl7.6.i386.rpm

どこへ展開されたか確認します。
[root]# cd /
[root]# find . -mmin -5 -ls | grep -v proc
305307    4 drwxr-xr-x   3 root     root         4096  8月 20 16:24 ./usr/src
305313    4 drwxr-xr-x  16 root     root         4096  8月 20 16:24 ./usr/src/linux-2.4.27
113834    4 drwxr-xr-x  28 root     root         4096  8月 20 16:24 ./usr/src/linux-2.4.27/include
113835    4 drwxr-xr-x   3 root     root         4096  8月 20 16:24 ./usr/src/linux-2.4.27/include/acpi
289835    4 drwxr-xr-x   2 root     root         4096  8月 20 16:24 ./usr/src/linux-2.4.27/include/acpi/platform
途中省略
368083    4 drwxr-xr-x   2 root     root         4096  8月 20 16:24 ./usr/src/linux-2.4.27/configs
305893    0 lrwxrwxrwx   1 root     root           12  8月 20 16:24 ./usr/src/linux -> linux-2.4.27
176222    4 drwxr-xr-x  26 root     root         4096  8月 20 16:24 ./usr/include
177128    0 lrwxrwxrwx   1 root     root           24  8月 20 16:24 ./usr/include/asm -> ../src/linux/include/asm
177127    0 lrwxrwxrwx   1 root     root           26  8月 20 16:24 ./usr/include/linux -> ../src/linux/include/linux
 63873    4 drwxr-xr-x   3 rpm      rpm          4096  8月 20 16:24 ./var/lib/rpm
 63900   44 -rw-r--r--   1 root     root        45056  8月 20 16:24 ./var/lib/rpm/Requirename
 63876    4 drwxr-xr-x   3 root     root         4096  8月 20 16:24 ./boot
 66332    0 lrwxrwxrwx   1 root     root           15  8月 20 16:24 ./boot/kernel.h -> kernel.h-2.4.27

/usr/src/linux/include
/usr/src/linux/configs
/usr/includeへリンク
/boot/kernel.hのリンク
が作られました。

続く => make mrproper

9005
戻る