Fedora Users Forum

Fedoraユーザのためのサポートフォーラム
現在時刻 - 2018年11月15日(木) 13:33

All times are UTC + 9 hours





新しいトピックを投稿する トピックへ返信する  [ 27 件の記事 ]  ページ移動 1つ前へ  1, 2, 3
作成者 メッセージ
 記事の件名: Re: Fedora 12 のカーネル再構築
投稿記事Posted: 2010年2月25日(木) 22:35 
オフライン
プライベートメッセージ送信  メール  プロフィール

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

原因が少し分かってきたような気がします。ただ気がするだけで、確証が有りません。
確証を掴むために、次のようなことを、やってみたいのですが、御教授いただけないでしょうか?

原因として、cp -p /boot/config-2.6.31.9-174.fc12.i686.PAE ./.config で
複写した .config には
CONFIG_DRM=m
CONFIG_DRM_KMS_HELPER=m <---これが消える
CONFIG_DRM_TTM=m
CONFIG_DRM_TDFX=m
CONFIG_DRM_R128=m
CONFIG_DRM_RADEON=m
CONFIG_DRM_I810=m
CONFIG_DRM_I830=m
CONFIG_DRM_I915=m
CONFIG_DRM_I915_KMS=y
CONFIG_DRM_MGA=m
CONFIG_DRM_SIS=m
CONFIG_DRM_VIA=m
CONFIG_DRM_SAVAGE=m
CONFIG_DRM_NOUVEAU=m <---これが消える
CONFIG_DRM_NOUVEAU_KMS=y <---これが消える
CONFIG_DRM_NOUVEAU_BACKLIGHT=y <---これが消える
CONFIG_DRM_NOUVEAU_DEBUG=y <---これが消える
が存在するのに make oldconfig を実行した後では、上記で <--- で示した行が無くなって
います。そのために表示できなくなっているのではないかと思われます。

1、 make oldconfig の実行では何も尋ねてこないで終了したので、以前の設定が引き継がれ
たと思っていましたが、そうではないのですね。
どのような場合に、以前の設定が引き継がれないのでしょうか?

2、 CONFIG_DRM_NOUVEAU=m 等の行が消えないようにするには、どうすれば良いのでしょうか?

以上、御教授宜しくお願い致します。


トップへ
 
 記事の件名: Re: Fedora 12 のカーネル再構築
投稿記事Posted: 2010年2月26日(金) 12:33 
オフライン
プライベートメッセージ送信  メール  プロフィール

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

早とちりでした。
fedora 11 でも make oldconfig を実行すると CONFIG_DRM_NOUVEAU=m の行は
消えますが、再構築したカーネルで起動出来ます。
お騒がせして申し訳有りませんでした。


トップへ
 
 記事の件名: Re: Fedora 12 のカーネル再構築
投稿記事Posted: 2010年2月26日(金) 12:37 
オフライン
プライベートメッセージ送信  メール  WWW  YIM  プロフィール

登録日時: 2010年1月09日(土) 15:58
記事: 104
initramfsをmkinitrdで作り直せば起動できますよ。

CONFIGの違いは、おそらく、Fedora独自にパッチを当ててる部分の違いでしょう。
ONFIG_DRM_NOUVEAU関係はオープンソースのnvidia用のドライバです。

環境を色々変えると何が問題か分かりにくくなります。
変更しなくて良いです。
Fedora 12で問題なくカーネル再構築できております。

以下カーネル再構築についてまとめているので、参照してください。
ただし、カーネルのバージョンが異なるので注意して下さい。


トップへ
 
 記事の件名: Re: Fedora 12 のカーネル再構築
投稿記事Posted: 2010年3月09日(火) 13:26 
オフライン
プライベートメッセージ送信  メール  プロフィール

登録日時: 2009年9月02日(水) 14:17
記事: 44
カーネルの版が 2.6.31.9-174.fc12.i686.PAE の上で、カーネル再構築を、試行錯誤した結果、
問題点が二つに集約されました。

1、 機種により起動できたりできなかったりする。
HP Compaq 6325 では起動できる。
HP G60 では起動できない。

2、 起動できても起動時間が非常に長くなる。

1 の問題の原因は、HP G60 に対応する表示ドライバが、ダウンロードしたカーネルソースには
含まれていないためであることが分かりました。
カーネルソースにパッチを当てることにより、HP G60 でも起動できるようになりました。

2 の問題の原因は、初期 RAM ディスクが、mkinitrd で作られたか、dracut で作られたかに
よるようです。
dracut で作られた初期 RAM ディスクでは、起動時間が非常に長くなります。
kenken 様から御教授頂いた方法で、初期 RAM ディスクを mkinitrd で作り直すと起動時間は
速くなります。
しかし、Ferora 12 のソースから、rpmbuild で カーネルrpm を作ってインストールした場合
は、dracut で作られているのに、起動時間は遅くはなりません。

推察すると、カーネルソースからカーネルを再構築する場合でも、初期 RAM ディスクを mkinitrd
で作り直さなくて、dracut のままで、起動時間が遅くならない方法があるのではないかと思います。
その方法をご存知の方、御教授宜しくお願い致します。


トップへ
 
 記事の件名: Re: Fedora 12 のカーネル再構築
投稿記事Posted: 2010年3月21日(日) 13:34 
オフライン
プライベートメッセージ送信  メール  WWW  YIM  プロフィール

登録日時: 2010年1月09日(土) 15:58
記事: 104
結論を先に書きますと、
initramfsの生成にしようするプログラムは、
dracutを諦めてmkinitrdで妥協しています。


カーネル再構築時に
コード:
make install

すると、Fedora12では、new-kernel-pkgを呼び出して、
initramfsおよびinitrdを作り出します。
で、このnew-kernel-pkgはシェルスクリプトとなっており、
dracutがあれば、dracutを使って
mkinitrdがあれば、mkinitrdを使うというロジックになっております。

ただし、Fedora 11では、new-kernel-pkgでは、
mkinitrdを使ってinitrdを生成します。

dracutはFedora12で導入された、initramfsを生成するプログラムです。
ですので、Fedora11では、mkinitrdが使われたためカーネル再構築してうまく起動できたのでしょう。
ですが、dracut+素のカーネルでは起動時間が非常に長くなってしまっています。
dracut+素のカーネルで生成したinitramfsの容量は80MB、
dracut+素のカーネルで生成したinitramfsは容量10MBなので、
起動時にこのファイルを解凍(gzip+cpioで圧縮されている)する時間が
かかるのではと考えています。

dracutについての解説は、

もしくは、
コード:
man dracut

してください。

Fedoraオリジナルのカーネルでは/lib/modules/2.6.31以下の容量と
素のカーネルの/lib/moduls/2.6.31以下の容量が一桁違うのでそこがネックになっているかと。

Fedoraカーネルのkernel.specファイルの中身を読んで、
kernel-develをどうやって生成しているかが分かれば解決できるかもしれません。

ですが、私にはそれ以上はよくわからなかっため、
mkinitrdを使って、initramfsを構築し使っています。
特に、遅くなるわけでもありませんし、
私は妥協しています。

また、dracutが何をやっているかも色々検索してみましたが、
有力な情報は掴めませんでした。
/etc/dracut.confも設定の仕方がいまいちわからないし。

というわけで、どなたか分かるかたがいらしたらご協力を…


トップへ
 
 記事の件名: Re: Fedora 12 のカーネル再構築
投稿記事Posted: 2010年3月23日(火) 23:43 
オフライン
プライベートメッセージ送信  メール  プロフィール

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

ご返事頂きまして有難う御座います。
試行錯誤した結果、.configファイルの CONFIG_DEBUG_INFO および /etc/dracut.conf
ファイルの hostonly="-h" が関係していることが分かりました。
この二つの項目の組み合わせで、起動時間がどのようになるか調べてみました。

 |hostonly=        |CONFIG_DEBUG_INFO=   |modulesの大きさ |initramfsの大きさ |起動時間 |
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
1|先頭の#をとって有効にする|menuconfigで is not setにする|57M       |4.1M       |28sec  |
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
2|先頭の#をとって有効にする|menuconfigで y にする    |768M      |11M       |28sec  |
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
3|先頭に#を付けて無効にする|menuconfigで is not setにする|57M       |11M        |28sec  |
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
4|先頭に#を付けて無効にする|menuconfigで y にする    |770M      |81M        |58sec  |
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

以上の結果から、hostonly="-h" が無効で、かつ、CONFIG_DEBUG_INFO=y でカーネル再構築が行われたときに
起動時間が長くなることが分かりました。
言い換えれば、hostonly="-h" の先頭の # が取り去られいるか、あるいは CONFIG_DEBUG_INFO
が is not set になっていれば、起動時間が短くなることが分かりました。


トップへ
 
 記事の件名: Re: Fedora 12 のカーネル再構築
投稿記事Posted: 2010年3月26日(金) 20:42 
オフライン
プライベートメッセージ送信  メール  WWW  YIM  プロフィール

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

確かにこちらでもdracutを使ったinitramfsの高速起動が確認できました。
すごいですね :o
どこで、この情報を得られたのでしょうか?


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

All times are UTC + 9 hours


オンラインデータ

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


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

検索:
ページ移動:  
cron

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