Fedora Users Forum

Fedoraユーザのためのサポートフォーラム
現在時刻 - 2019年7月21日(日) 16:14

All times are UTC + 9 hours





新しいトピックを投稿する トピックへ返信する  [ 12 件の記事 ]  ページ移動 1, 2  次へ
作成者 メッセージ
 記事の件名: make oldconfig の設定情報
投稿記事Posted: 2010年1月21日(木) 20:13 
オフライン
プライベートメッセージ送信  メール  プロフィール

登録日時: 2009年9月02日(水) 14:17
記事: 44

Sponsored Links

カーネルを再構築する場合、make oldconfig は以前の設定情報と異なっている項目
のみ尋ねてくるということですが、www.kernel.org
カーネルの場合、以前の設定情報が保存されているファイルはどこにあるのでしょうか?
御教授宜しくお願い致します。


トップへ
 
 記事の件名: Re: make oldconfig の設定情報
投稿記事Posted: 2010年1月23日(土) 15:04 
オフライン
プライベートメッセージ送信  メール  プロフィール

登録日時: 2008年11月03日(月) 21:48
記事: 271
こんにちわ、fedora初心者さん

「カーネル設定情報が保存されているファイル」
で検索してみました


カーネルとカーネルモジュール

によりますと
引用:
●カーネル

OSの中核プログラムのこと
操作をするユーザはシェルを通してカーネルとやり取りをする
「Linux」という言葉は厳密にはLinuxカーネルを意味する

通常は /bootディレクトリ内にvmlinuzというファイル名で、カーネルイメージとして配置されている


引用:
カーネルモジュールはカーネルのバージョンごとに用意する必要がある
通常は、 /lib/modules/カーネルバージョン ディレクトリ以下に機能別のサブディレクトリ毎に格納され、
.o という拡張子が付けられる

カーネルモジュールの設定ファイル:/etc/modules.conf
(一部のディストリビューションでは /etc/conf.modules )

と書いてありました

カーネル関連は詳しく調べたことはありませんので、間違っていたらすみません

Sponsored links



トップへ
 
 記事の件名: Re: make oldconfig の設定情報
投稿記事Posted: 2010年1月24日(日) 13:48 
オフライン
アバター
プライベートメッセージ送信  メール  WWW  プロフィール

登録日時: 2008年9月08日(月) 21:17
記事: 428
カーネルの設定は、ソースツリーの.configというファイルですが、本家のkernel.orgのカーネルからビルドする場合は、再構築というより新規にビルドする形になるので、本家のカーネルソースには.configはありません。

現在使用しているカーネルの.configは、そのカーネルのソースを展開して入手することになりますが、このファイルは、現在使用しているカーネルのものですから、バージョンが違うかもしれないし、ディストリによって独自のドライバを組み込んだり、パッチを当てていることもあります。なので、そのまま本家のカーネルに使おうとすると、まともにビルドできない可能性が高いです。

最新の2.6.32を使ってチャレンジしたいということならやってみる価値はありますが、依存関係その他で泥沼になる覚悟が必要です。

一部のオプションのみを変更したいということであれば、現在使用しているカーネルのソースから再構築することをお勧めします。Fedora12であれば下記のサイトの手順を参考にして下さい。



※ Fedora10に関する解説ですが、Fedora 12でも、$ make menuconfig までは同じ手順で出来ました。実際のビルドは時間がないので試していません。なお、 make menuconfigを実行する際に、ncurses-develが必要でした。

※ 以前は、ネットワークが認識されないため、Gigabit Ethernetのドライバを組み込む必要があったのでカーネル再構築したりしていましたが、最近はあまりやってません(必要ないので)。

[追記] make oldconfigは、以前の設定を.configに反映させるだけです。「以前の設定情報と異なっている項目のみ尋ねて」くれるわけではありません。
(↑これは変更せずに実行したから表示されなかっただけかも知れません)


トップへ
 
 記事の件名: Re: make oldconfig の設定情報
投稿記事Posted: 2010年1月24日(日) 14:28 
オフライン
アバター
プライベートメッセージ送信  メール  プロフィール

登録日時: 2009年3月20日(金) 22:04
記事: 239
vine_userさんの補足になるかは?ですが、付け足します。

kernelビルドという展開になると、通常、kernel-PAE-devel-xxx もしくは kernel-develが必要になると思います。develが正しくないと、例えば自前でnVidiaを作成する場合、たぶん出来ないと思います。通常、190だと思いますが、195にする際とか。たぶん、rpmbuild 等を実施する際、うまく実行出来ない可能性があります。

よって、これはわたしが行っていることですが、新しいカーネルだけ という前提であれば、64bitで Rawhideの kernel kernel-devel kernel-headersだけを入れている環境があります。恐らくこのほうが安全ではありますが、Rawhide なので、覚悟は必要です(挑戦です!。

2.6.32 にはカーネルが上がります。

以下手順変更します。code_air_edgeさん 情報有難うございます。

# yum update kernel{,-devel,-headers} --enablerepo=rawhide

以下コマンド repoで弄りましたが、上記に変更する為、ブランクに訂正します(16:13)

この状態の場合、カーネルは定期的に手動で上げることになります。 

テストとしては面白いですが、保証はありません。 


トップへ
 
 記事の件名: Re: make oldconfig の設定情報
投稿記事Posted: 2010年1月24日(日) 22:32 
オフライン
プライベートメッセージ送信  メール  WWW  YIM  プロフィール

登録日時: 2010年1月09日(土) 15:58
記事: 104
fedora初心者さん。
ようこそカーネル再構築の世界へ!!


.configのテンプレートは2種類あります。

1)linuxカーネルデフォルトのconfigを使う。

.configのデフォルトは
展開したファイルの中の
コード:
arch/x86/

の中に
コード:
i386_defconfig    x86_64_defconfig

があります。
32bitの場合はi386_defconfig、
64bitの場合はx86_64_defconfigを
.configにコピーして下さい。
(他のCPUの場合はx86の所をお使いのCPUに…)


そのあと、make oldconfigすればいいでしょう。


2)Fedoraカーネルのconfigを使う。

Fedoraのconfigを使うという手もあります。
コード:
/boot/config-version

をコピーして下さい。
versionのところは動作検証ができているカーネルのバージョン名を
bashなどの補完機能[tab]キー等を使って補ってください。

コピー後、make oldconfigして下さい。


ただし、Fedoraのカーネルはvine_userさんも書いてらっしゃるとおり、
独自のパッチを当てているので、
うまくmake oldconfigが通らない可能性は否定できません。
(通らなかった経験はありませんが^^)

make oldconfig後、新しいversionのカーネルの
追加された機能を追加するかなどのオプション選択の画面に入ります。
これがなかなか選択が難しい。
基本的には、mを選択できるものは、
mを選択(モジュールとして組み込むということ)。
ynかは、項目の後の方にExperiment(だったかな?)と
書かれていたら、n、それ以外はyで良いと思います。

>mako99さん
kernel-develは、カーネル再構築には必要ありません。
kernel-develは、カーネルモジュールをコンパイルする際に
必要なkernelのヘッダーファイルが入っているだけです。


追記:
コード:
make
make modules_install install

した後、
コード:
cd /boot/
cp initramfs-version.img initramfs-version.img.oirg
dracut --force initramfs-version.img

としないとカーネルの起動ができないですな。


トップへ
 
 記事の件名: Re: make oldconfig の設定情報
投稿記事Posted: 2010年1月26日(火) 14:18 
オフライン
プライベートメッセージ送信  メール  プロフィール

登録日時: 2009年9月02日(水) 14:17
記事: 44
りなっくす初心者 様

ご返事有難う御座いました。
----------------------------------------------------------------------------------------------
Site Admin 様

> 本家のカーネルソースには.configはありません。
そうなのです。make oldconfig を実行した場合、何と何を比較して、設定を
尋ねてきているのかを知りたいのです。
----------------------------------------------------------------------------------------------
mako999 様

ご返事有難う御座いました。
----------------------------------------------------------------------------------------------
kenken 様

i386_defconfig を linuxカーネル直下に名前を .config に変えて複写
して、make oldconfig を実行した場合、おびただしい項目の設定について
尋ねてきます。
i386_defconfig が以前の設定情報であるとするならば、.config は
i386_defconfig を複写して作ったので、以前の設定情報と同じものになる
ので、何も尋ねてこないで終了することになるように思うのですが?


トップへ
 
 記事の件名: Re: make oldconfig の設定情報
投稿記事Posted: 2010年1月26日(火) 15:57 
オフライン
プライベートメッセージ送信  メール  WWW  YIM  プロフィール

登録日時: 2010年1月09日(土) 15:58
記事: 104
fedora初心者 様


こちらでもおびただしい項目の設定について設定されることを確認しました。


コード:
head arch/x86/configs/i386_defconfig

とすると、
コード:
#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.30-rc2
# Mon May 11 16:21:55 2009
#
# CONFIG_64BIT is not set
CONFIG_X86_32=y
# CONFIG_X86_64 is not set
CONFIG_X86=y
CONFIG_OUTPUT_FORMAT="elf32-i386"

とでます。


どうもこの.configのテンプレートは2.6.30-rc2用みたいですね。
2.6.30-rc2から現在のバージョンと比較すると
(今お使いのカーネルのバージョンは2.6.32.5かな?)
たくさんのカーネル設定の変更が加えられています。

そのため、おびただしい項目の設定について設定させられるようです。

ちなみに.configを削除してmake oldconfigすると、
もっとたくさんの項目の選択を要求されるみたいなので
i386_defconfをコピーした.configはmake oldconfigによって
ちゃんと読み込まれていると思います。



Linuxカーネルはものすごいスピードで進化しています。


そのため、
新しく設定すべき項目が膨大な量になっているのだと思います。
ただ、CPUタイプ(x86かどうかよりもっと明確に)
の設定まで要求されるようになったのは不思議です。


トップへ
 
 記事の件名: Re: make oldconfig の設定情報
投稿記事Posted: 2010年1月29日(金) 13:00 
オフライン
プライベートメッセージ送信  メール  プロフィール

登録日時: 2009年9月02日(水) 14:17
記事: 44
kenken 様

ご返事頂きまして有難う御座います。

どこかに設定値が保存されていて、make oldconfig を実行すると
その保存値と .configファイルの値を比較して .configファイル
で設定されていない項目とか、値が異なっている項目について尋ねて
くるのではないか、と思っていたのですがそうではないのでしょうか?


トップへ
 
 記事の件名: Re: make oldconfig の設定情報
投稿記事Posted: 2010年1月29日(金) 15:15 
オフライン
プライベートメッセージ送信  メール  WWW  YIM  プロフィール

登録日時: 2010年1月09日(土) 15:58
記事: 104
fedora初心者さま

非常にするどい質問、ありがとうございます。

fedora初心者 さんが書きました:

どこかに設定値が保存されていて、make oldconfig を実行すると
その保存値と .configファイルの値を比較して .configファイル
で設定されていない項目とか、値が異なっている項目について尋ねて
くるのではないか、と思っていたのですがそうではないのでしょうか?


arch/x86/Kconfig内で
sourceコマンドが他のKconfigを参照していて、
このKconfigというファイルが項目を保存しています。
これらのファイルを参照して(もちろん、.configもしくはi386_defconfigとも比べて)
質問項目を出力しているようです。

コード:
find -name Kconfig

すれば、すべての項目を探すことができます。


また、
.configをarch/x86/configs/i386_defconfigから.configを
コピーした時としないときでは結果は同じみたいです。
(以前変化すると書きましたが間違いです。申し訳ないです。)



.configをarch/x86/configs/i386_defconfigからコピーした場合と
.configを削除した場合を比べて見たところ、
おびただしい項目の質問の数に変化はありませんでした。
(もちろん、/boot/config-versionからコピーした場合は、変化する。)

.configなしにmake oldconfigを実行してみると、

コード:
scripts/kconfig/conf -o arch/x86/Kconfig
#
# using defaults found in arch/x86/configs/i386_defconfig
#

と表示されているので、.configがなかったらi386_defcofigを参照するようです。
(64bitだと変わるのかな?ここはおそらくuname -mを参照してるのかと^^)


トップへ
 
 記事の件名: Re: make oldconfig の設定情報
投稿記事Posted: 2010年1月31日(日) 14:41 
オフライン
プライベートメッセージ送信  メール  プロフィール

登録日時: 2009年9月02日(水) 14:17
記事: 44
---------
kenken 様

御教授頂きまして有難う御座います。

設定値は一つのファイルに纏まって保存されているのではなく、あちらこちらに分散して
保存されているとの理解でよろしいのでしょうか?
configファイルは有りません。
このカーネルで、make menuconfig を実行して、何も変更しないで、yes と応えて
終了すると、.configファイルが作成されます。
この.configファイルを使って、make oldconfig を実行すると、何も尋ねて来ません。
ということは、この.configファイルに設定値が集約されたと考えてよろしいのでしょうか?

Sponsored links



トップへ
 
期間内表示:  ソート  
新しいトピックを投稿する トピックへ返信する  [ 12 件の記事 ]  ページ移動 1, 2  次へ

All times are UTC + 9 hours


オンラインデータ

このフォーラムを閲覧中のユーザー: なし & ゲスト[0人]


トピック投稿: 不可
返信投稿: 不可
記事編集: 不可
記事削除: 不可
ファイル添付: 不可

検索:
ページ移動:  
cron

無料でマイフォーラムを作成する! · php-BB© · Internationalization Project · 不正利用を報告する · 使用条件/プライバシーポリシー
© Forums-Free.com 2009