[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[plamo:24832] Re: カーネルの再構築手順 補足のお伺い



 きどさま、
            お世話さまになります。
                                   佐藤明彦です


> 
> 横からすみません。ずいぶんお悩みのようなので……。
> 

どうもありがとうございます。
適切でタイムリーな、分かりやすいご説明 等 感謝です。
理解するのが、浅い状態で、ご報告するのに時間が掛かったりしまして
ご報告とご返事が遅れている状態です。
そのため、皆様に時間をひきずってご迷惑をお掛けしているようで
恐縮しております。

> まず、Linux システムの動作に最低限必要なカーネル関連のファイルは以下の
> 3 つだけです。
> 
>     /vmlinuz (ディストリによっては /boot/vmlinuz の場合もあり)
>     /boot/System.map
>     /lib/modules/(kernel-vaersion) 以下のディレクトリ・ツリー
> 

重要な、キーワードを わざわざ ご抽出してご説明をして頂きまして
有難うございます。
私の、現段階のSystem.map 設定では、下記の通り バージョン 2.6.10 の
ファイルが含まれていないようです。

harup:~# ls -l /boot/S*
lrwxrwxrwx    1 root     root           17 Dec 14 03:22 /boot/System.map -> System.map-2.4.26
-rw-r--r--    1 root     root       601653 Jun 20  2004 /boot/System.map-2.4.26
-rw-r--r--    1 mspring  users      804269 Jun 20  2004 /boot/System.map-2.6.7
harup:~#

話がそれて わがままな質問で 恐縮ですが、先日の カーネルの
バージョン 2.6.10 のmake menuconfig から コンパイルの作業の中で、
間違ったのかもしくは、抜けたところがあるのでしょうか。

必要であれば、やり直しとうができれば幸いです。


> この他、ディストリによっては次のファイルが存在することもあります。
> Plamo のデフォルト設定では使われていませんが……
> 
>     /boot/vmlinux
>     /boot/initrd.img (initrd という名の場合もある)
> 

分かりましたです。
/vmlinuxはルートディレクトリにあるのを確認しました。
/boot/initrd.imgは、Plamo 標準カーネルでは、きどさんの下記のコメント
の通り使われていませんでした。

> それぞれのファイルの役割は以下のとおりです。
> 
> /vmlinuz
>     カーネル本体です。圧縮されています。
> 
> /boot/System.map
>     カーネルの各種機能のシンボルのリストを記したテキストファイルです。
>     一部のコマンドが実行時に参照するそうです。
> 
> /lib/modules/(kernel-vaersion)
>     カーネル・モジュールが格納されています。実行時に動的に取り外しでき
>     るドライバなどです。
> 
> /boot/vmlinux
>     vmlinuz と同じですが、こちらは圧縮されていません。Plamo 標準カーネ
>     ルでは使われていません。
> 
> /boot/initrd.img
>     システムの起動時に必要なカーネル・モジュール群をまとめて圧縮したも
>     のです。たとえば SCSI 接続の HDD を使っているのに、SCSI ドライバが
>     カーネル組み込みではなくモジュール化されている時などに必要になりま
>     す。Plamo 標準カーネルでは使われていません。
> 


ご丁寧な、ご解説どうも有難うございます。
まだ、ご解説の言葉の、奥深いところは 消化不良の理解の項目が
あるようです。
専門書とカーネル再構築の実践を両方を進めながら、実態としての
意味が理解できて深まることを期待したいと思っています。


> これらのファイルの置き場所は、HDD の同じパーテーションにあれば、どこに
> あっても構いません。カーネル・モジュールはすべてのディストリビューショ
> ンで /lib/modules/(kernel-vaersion) に置かれますが、伝統的に Plamo など
> のSlackware 系ディストリでは vmlinuz を / 直下に置き、それ以外を /boot
> 以下に置きます。他のディストリでは vmlinuz も /boot 以下に置くものもあ
> ります。
> 

ありがとうございます。
分かりましたです。

> ご質問の /usr/src/linux 以下のカーネル・ソース・ツリーとの関係は?  です
> が、結論から言うと、OS の動作だけをとれば、/usr/src/linux はまったく無
> 関係で、なくても問題ありません。
> 
> では、どのような時にカーネル・ソースが必要になるかと言えば、ディストリ
> ビューションが提供する標準カーネルでは機能が不足している場合や、逆に使
> わない機能を削ってカーネルを軽量化するために、カーネルを自分でコンパイ
> ルし直す時です。(それ以外にも、ソフトウェアの中にはコンパイル時にカー
> ネル・ソースを参照するものがあります。その場合も必要になります)
> 

1.標準カーネルでは機能を追加する場合と
2.標準カーネルでは機能を削除する場合と
3.コンパイル時にカーネル・ソースを参照する
     の 3通りがあるということですね。分かりましたです。

> したがって、現在動作中のカーネルのバージョンと、/usr/src/linux が参照し
> ているカーネル・ソースのバージョンが違っていても何の不思議もありません
> し、まったく問題ありません。佐藤さんの例で言えば、現在動作中のカーネル
> は 2.4.26 だが、佐藤さんがこれからコンパイルしようとしているカーネルは
> 2.6.10 である、というだけのことです。
> 

 これからコンパイルするカーネルを 2.4.26 または 2.6.10 の いずれかを
選定する方法は、どのようにしたらよいのでしょうか。
現在の動作中のカーネル は 2.4.26 ですが、 2.6.10 のコンパイルは
自動的にではなく、なんらかの理由があるのだとおもうのですが。
ここでも、愚問になっていたならば、ご容赦ください。


> ついでながら、カーネル・ソースの展開場所も /usr/src 以下と決まっている
> わけではありません。/usr/local/linux でも /home/hogehoge/linux でも大
> 丈夫です。
> 

はい、分かりましたです。

> 多くのソフトウェアはコンパイル時に、/usr/include 以下のファイル群を参照
> するのですが、この /usr/include には、/usr/src/linux/include/asm ->
> /usr/include/asm のように、カーネルソースが /usr/src/linux にあるという
> 前提で作られているシンボリックリンクがいくつか存在します。

ここは、注意して、お伺いするということにさせて頂きます。
コンパイル時に、/usr/include 以下のファイル群を参照することは
後ほど、意味が理解できることを信じて次に進ませて頂きます。
/usr/src/linux/include/asm 以外にも、いろいろ あるということでしょうか。

> したがって、
> /usr/src/linux というシンボリックリンクさえあれば、その参照先は、
> /usr/local/linux-2.6.10 でも /home/hogehoge/linux-2.6.10 でもいいわけです。

代名詞みたなものである、ということでしょうか。

> しかしながら、普通は /usr/src/linux-2.6.10 のようにソースを展開
> し、/usr/src/linux へリンクします。
> 

一般性と互換性を持たせるという意味からも、理解できるような気がします。

> これは、他のソフトを自前でコンパイルする時に問題になるのであって、自分
> はソフトのコンパイルなどしない、バイナリ・パッケージのインストールしか
> しない、というのであれば関係ない話です。
> 
> 長くなりましたが、これでご理解いただけたでしょうか。
> 


ほんとうに、泥沼にはまっているような状態の中で
適切でご丁寧なご説明ありがとうございます。

まだ、いろいろと山があり谷がありで時間が掛かるかも知れませんが
めげずに進めてゆきたいと思っています。

分からないなりに、今回 カーネルの再構築 の体験を通しまして
Plamo Linux の奥深さとすごい魅力を、一層 感じて感謝と共に
ありがたく思っています。


今後とも ご指導をいただきますよう
よろしくお願い申し上げます。

----------------
佐藤明彦 (Sato Akihiko)
e-mail : myspring_sato@kyp.biglobe.ne.jp

Follow-Ups
[plamo:24834] Re: カーネルの再構築手順 補足のお伺い, MOUE Kiyoshi
References
[plamo:24821] Re: カーネルの再構築手順 補足のお伺い, msharu
[plamo:24831] Re: カーネルの再構築手順 補足のお伺い, KIDO Hideyuki

[検索ページ] [メール一覧]
Plamo ML 公開システム