web-dev-qa-db-ja.com

defconfigはOpenWrtでその構成をどこで取得しますか?

OpenWrtを使用してwifiデバイスのイメージをコンパイルしています。指示に従って、単純な.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=yCONFIG_TARGET_ar71xx_generic_YYY_Router=yに変更しただけでは、make defconfigの結果は大きく異なるはずです。

4
trandatnh

OpenWrtは設定をディレクトリに保存します

target/linux/<target system>/<subtarget>/profiles

コマンドmake menuconfigを使用して、ターゲットシステムとサブターゲットを設定できます。 make menuconfig

私の場合:

ターゲットシステム= ar71xx

サブターゲット= generic

したがって、ディレクトリは次のようになります。

target/linux/ar71xx/generic/profiles

このディレクトリには、いくつかの事前定義されたプロファイルがあり、<profile>.mkファイルに格納されています。これらのファイルは、ターゲットプロファイルが選択されたときにデフォルトとして使用されるパッケージを定義します。

5
trandatnh

設定は通常、ディレクトリに保存されます

_Arch/$(Arch)/configs
_

したがって、デフォルトの_x86_構成は

_Arch/x86/configs/i386_defconfig
_

デフォルトの_x86_64_構成は

_Arch/x86/configs/x86_64_defconfig
_

ここで、すべてのパスはLinuxのsrcルートからの相対パスです。


Archのデフォルト設定を見つけるには、トップレベルの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_の最終結果には、アーキテクチャーのデフォルト構成のファイル名が含まれています。

4
casey