Linuxビルドを自動化したいのですが、最終的には非常に受動的なステップのように見えるステップを実行する必要がありますmake menuconfig
。これは、OSとカーネル構成間の構成を同期するようです。
cp git-tracked-config .config
make defconfig
make menuconfig # <- how to automate/script this?
make V=s
make menuconfig
デフォルトでは、ビルドスクリプト呼び出しをどのように削除しますか?
ところで、これはmake menuconfigを呼び出さずに実行したときに発生するように見えるビルドエラーへの応答です。
make[1]: *** No rule to make target `include/config/auto.conf', needed by `include/config/kernel.release'. Stop.
メイクファイル自体が存在しないか、メイクファイルがルールを含むように作成/変更されていないため、メイクファイルにルールが欠落しているようです。しかし、これは別の問題です。
この問題を一緒に解決するより賢い方法があるかもしれません。追跡していないが追跡する必要がある他の設定はありますか(例:oldconfig)。
ベストアンサー1
Linuxカーネルビルドシステムはさまざまなビルドターゲットを提供し、それについて学ぶための最良の方法は次のことですmake help
。
Configuration targets:
config - Update current config utilising a line-oriented program
nconfig - Update current config utilising a ncurses menu based program
menuconfig - Update current config utilising a menu based program
xconfig - Update current config utilising a QT based front-end
gconfig - Update current config utilising a GTK based front-end
oldconfig - Update current config utilising a provided .config as base
localmodconfig - Update current config disabling modules not loaded
localyesconfig - Update current config converting local mods to core
silentoldconfig - Same as oldconfig, but quietly, additionally update deps
defconfig - New config with default from ARCH supplied defconfig
savedefconfig - Save current config as ./defconfig (minimal config)
allnoconfig - New config where all options are answered with no
allyesconfig - New config where all options are accepted with yes
allmodconfig - New config selecting modules when possible
alldefconfig - New config with all symbols set to default
randconfig - New config with random answer to all options
listnewconfig - List new options
olddefconfig - Same as silentoldconfig but sets new symbols to their default value
kvmconfig - Enable additional options for guest kernel support
tinyconfig - Configure the tiniest possible kernel
jimmijがコメントで述べたように、興味深い部分は関連するoldconfig
ターゲットにあります。
個人的に選択することをお勧めしますsilentoldconfig
(ファイルに変更がないか、ファイルを新しいカーネルで更新した場合.config
)。olddefconfig
.config