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.
이 파일에서 변수를 정의할 수도 있습니다.