
Wi-Fiデバイスを使用して画像をコンパイルしています。OpenWrt。指示に従って簡単な.config
ファイルをTOP-DIRにコピーしました。
CONFIG_TARGET_ar71xx=y
CONFIG_TARGET_ar71xx_generic=y
CONFIG_TARGET_ar71xx_generic_XXX_OpenWrt_Router=y
その後、コマンドを実行してくださいmake menuconfig
。このコマンドの結果は次のとおりです。
.config file now having default configuration.
しかし、すべての新しい設定がどこから来たのかわかりません。私が変わったら、結果はCONFIG_TARGET_ar71xx_generic_XXX_Router=y
非常に変わったでしょう。CONFIG_TARGET_ar71xx_generic_YYY_Router=y
make defconfig
答え1
OpenWrt は設定をディレクトリに保存します。
target/linux/<target system>/<subtarget>/profiles
次のコマンドを使用して、ターゲットシステムとサブターゲットを設定できますmake menuconfig
。
私:
対象システム=ar71xx
サブ目標 =generic
したがって、ディレクトリは次のようになります。
target/linux/ar71xx/generic/profiles
このディレクトリには、ファイルに保存されているいくつかの事前定義された設定ファイルがあります<profile>.mk
。このファイルは、ターゲットプロファイルを選択するときにデフォルトで使用されるパッケージを定義します。
答え2
構成ファイルは通常このディレクトリに保存されます。
arch/$(ARCH)/configs
したがって、基本x86
構成は次のようになります。
arch/x86/configs/i386_defconfig
基本的なx86_64
構成は次のとおりです。
arch/x86/configs/x86_64_defconfig
すべてのパスはLinux srcのルートディレクトリに基づいています。
すべてのアーチの基本構成を見つけるには、最上位レベルを例にとりますMakefile
。
include $(srctree)/arch/$(SRCARCH)/Makefile
export KBUILD_DEFCONFIG KBUILD_KCONFIG
config: scripts_basic outputmakefile FORCE
$(Q)mkdir -p include/linux include/config
$(Q)$(MAKE) $(build)=scripts/kconfig $@
$(srctree)/arch/$(SRCARCH)/Makefile
たとえば、Makefileを調べると、arch/x86/Makefile
次のようになります。
ifeq ($(ARCH),x86)
ifeq ($(shell uname -m),x86_64)
KBUILD_DEFCONFIG := x86_64_defconfig
else
KBUILD_DEFCONFIG := i386_defconfig
endif
else
KBUILD_DEFCONFIG := $(ARCH)_defconfig
endif
変数の最終結果には、KBUILD_DEFCONFIG
アーキテクチャのデフォルト構成ファイル名が含まれます。
答え3
すべてのCONFIG_
変数はから来ます。ここでファイル内のすべての変数をopenwrt/config
見ることができます。openwrt/.config
たとえば、次のCONFIG_DEBUG
場所にあります。openwrt/config/Config-build.in
config DEBUG
bool
prompt "Compile packages with debugging info"
default n
help
Adds -g3 to the CFLAGS.
このファイルで変数を定義することもできます。