プログラムによるLinuxカーネル構成の安全な変更


8

入力ファイルに基づいていくつかのLinuxカーネル構成オプションを自動的に変更する必要があるスクリプトを書いています。
もちろん、これを行う最も簡単な方法は、.configファイルを直接編集することですが、これは推奨されず、問題が発生する可能性があります。
私はこれを「正しい方法」で行う方法を見つけることができないようです。

「ヘルプを作成」は、単一のオプションを変更する方法も、。/ scripts / kconfig / conf --helpも表示しません。kernel.orgのこのファイルにも方法がないようです。
GentooのGenkernel さえ、手動で .configファイルを変更します。

それで、基本的に:
カーネル構成オプションをプログラムで変更したり、依存関係の追跡を完了したりする安全な方法はありますか?
これを達成するためにKconfigを手動で実行できますか?

回答:


3

私がすることは最初です:

make defconfig

次に設定変更を追加し、その後に次のようにします.config

make olddefconfig

これにより、構成で生じた不整合が「修正」されます。YMMVは、期待どおりに修正されない可能性があるためです。


お返事をありがとうございます!私はそうすることを考えましたが、あなたが言ったように、YMMV。2つの競合するオプションがある場合、どちらが修正されるかはわかりません。
SharkWipf 2016年

@SharkWipfまあ、いずれにしても、結果は確定的であると期待します。したがって、結果が希望どおりでない場合は、別のステートメントを追加して競合するものをオフにし、機能するまでこのプロセスを繰り返します。
DepressedDaniel 2016年

確かに、チェックできない方法で他のオプションを混乱させる可能性があり、最終的にこのスクリプトをgithubに置きたいので、できるだけ安定して信頼できるようにしたいと思います。通常、このスクリプトは、新しいものを生成するのではなく、既存のユーザー作成のカーネル構成を変更するために使用されるため、この方法で確実に機能させることは困難です。
SharkWipf 2016年

@SharkWipfええと、それはあなたが達成しようとしていることは一種のAIを必要とするように思えます;)従来の解決策は、機能するデフォルトを提供し、あえてあえてカスタマイズできるようにすることです。
DepressedDaniel 2016年

完全に手動で実行したい場合は、そうです。しかし、Kconfigを使用して、menuconfigの「ボックスのカチカチ」をシミュレートできる方法があることを期待していました。基本的に私がやりたいことは、ユーザーがGentoo wikiからカーネル要件をコピーし、可能な場合は(十分に簡単に)正しい構成値に解決してから、それに応じて構成を更新できるようにすることです(もちろんユーザーのレビューの後で)。したがって、この場合の「デフォルト」はありません。
SharkWipf 2016年

0

.configファイルのパッチを入手します。それを準備するために取らなければならないステップは

cp .config .config.bck
make menuconfig # Here change all that you need to fit your needs
diff -u .config.bck .config > myconfig.$(kern_vers).patch

次に、スクリプトに次の行を追加します

patch .config myconfig.$(kern_vers).patch
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.