- - PR -
カーネル再構築時に古いカーネルの.configファイルが見あたらない
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2003-09-24 19:59
現在カーネルの再構築を実行中ですが、コンフィギュレーションが
うまくいかないため、古いカーネルのコンフィギュレーションを 参考にしようと思い .configを探しているのですが、見あたりません。 探している場所は、古いカーネルが2.4.20-6だったので、 /usr/src/linux-2.4.20-6のディレクトリ内です。 ls -laを実行しても.configが見あたりません。 WEBを検索してみたのですが、探す方法が見つかりませんでした。 make mrproperをこのディレクトリで実行してしまった(ような気がする) からかもしれませんが、古いカーネルの.configファイルを 参照する良い方法は何かないでしょうか。 もしくは、2.4.22に変更するつもりなので、古いカーネルと同じ設定で 再構築する方法がありましたらご教授ください。 |
|
投稿日時: 2003-09-24 20:44
旧カーネルで
make xconfig とかして,何も変更せずに終了すれば.configファイルできませんでしたっけ? 環境が手元にないのであやふやですが(ごめんなさい. |
|
投稿日時: 2003-09-24 22:09
現在使用しているのがディストリビューションものなら
make oldconfig で動作中のカーネルと同じ .configが作成されます。 (arch/i386/defconfigを参照してます。) configsディレクトリにもCPUタイプ別の .configがあります。 kernel Projectからダウンロードしたものだったらどうしましょう? defconfigはありますが、CONFIG_EXPERIMENTAL=n になっているので 全く参考にならないです。 モジュールは/lib/modules/kernel_version/以下のファイルをチェック すればわかります。 組み込み分は「/sbin/ksyms -a」である程度分かりますけど、、、 PCMCIAの Configureスクリプトが多少参考になります。 この際だから、ヘルプで確認しながら不要なものを組み込み・モジュールに するのをやめるのも一案ですが。 [ メッセージ編集済み 編集者: Marionette 編集日時 2003-09-24 22:14 ] |
|
投稿日時: 2003-09-24 22:11
> 旧カーネルで
> make xconfig > とかして,何も変更せずに終了すれば.configファイルできませんでしたっけ? make mrproperしちゃってるので、あくまで設定のデフォルト値が書き込まれるだけです。 2.4.22でmake xconfigとかmake menuconifgした方が早い。 > make mrproperをこのディレクトリで実行してしまった(ような気がする) > からかもしれませんが、古いカーネルの.configファイルを参照する良い > 方法は何かないでしょうか。 本当に make mrproperしちゃったなら、ファイル自体は消えてしまってます。 その.configファイルが、ディストリビューションのインストール時についてきた ものであれば、(ディストリビューションに付属している)kernelのソースを再度 インストールすれば、復元できます。 それ以外の場合はバックアップから復元する他無いです。もとのカーネルの .configを作成した人は誰でしょうか?その人にバックアップをとっていないか聞い てみるしかないでしょう。 |
|
投稿日時: 2003-09-25 22:20
数々のアドバイス、ありがとうございます。
ためしにコンフィギュレーションしてみたのですが、 どうしてもmake bzImageでエラーが出てしまいます。 そのときのエラーはこのようになりましたが、 やはりコンフィギュレーションが間違っているのでしょうか。。。 gcc -D__KERNEL__ -I/usr/src/linux-2.nt.c:32 から: /usr/src/linux-2.4.22/include/linux/sunrpc/sched.h:42: 警告: struct や union の 最後にセミコロンがありません /usr/src/linux-2.4.22/include/linux/sunrpc/sched.h:42: 構文解析エラー が '{' ト ークンの前にあります /usr/src/linux-2.4.22/include/linux/sunrpc/sched.h:78: 構文解析エラー が ':' ト ークンの前にあります /usr/src/linux-2.4.22/include/linux/sunrpc/sched.h:83: 構文解析エラー が '}' ト ークンの前にあります /usr/src/linux-2.4.22/include/linux/sunrpc/sched.h: 関数 `rpc_malloc' 内: /usr/src/linux-2.4.22/include/linux/sunrpc/sched.h:200: 不完全型のポインタへの間接参照 /usr/src/linux-2.4.22/include/linux/sunrpc/sched.h: 関数 `rpc_exit' 内: /usr/src/linux-2.4.22/include/linux/sunrpc/sched.h:206: 不完全型のポインタへの間接参照 /usr/src/linux-2.4.22/include/linux/sunrpc/sched.h:207: 不完全型のポインタへの間接参照 clnt.c: 関数 `rpc_call_sync' 内: clnt.c:241: `my_task' の領域サイズがわかりません clnt.c:261: 不完全型のポインタへの間接参照 clnt.c:264: 不完全型のポインタへの間接参照 clnt.c:241: 警告: 変数 `my_task' は使われませんでした これはエラーのほんの一部なのですが、どうすれば改善できるのでしょか。。。 |
|
投稿日時: 2003-09-26 11:52
make menuconfig (or make xconfig or make config)
make dep make clean make bzImage の順にやりましたか? |
|
投稿日時: 2003-09-26 22:07
なんとかカーネル再構築ができました。
どうやらコンフィギュレーションが不完全だったようです。 一部のモジュールで起動時にエラーが起きていますが、 なんとか起動もうまくいっています。 新しいカーネルが動いていますので、その上でもう一度 エラーの出ている箇所についてコンフィギュレーションしなおしてみます。 今後こうならないように、コンフィギュレーションのバックアップをとりました。 数々のアドバイス、ありがとうございました。 |
1