merge_config.sh
구성 조각
$ cd linux
$ git checkout v4.9
$ make x86_64_defconfig
$ grep -E 'CONFIG_(DEBUG_INFO|GDB_SCRIPTS)[= ]' .config
# CONFIG_DEBUG_INFO is not set
$ # GDB_SCRIPTS depends on CONFIG_DEBUG_INFO in lib/Kconfig.debug.
$ cat <<EOF >.config-fragment
> CONFIG_DEBUG_INFO=y
> CONFIG_GDB_SCRIPTS=y
> EOF
$ # Order is important here. Must be first base config, then fragment.
$ ./scripts/kconfig/merge_config.sh .config .config-fragment
$ grep -E 'CONFIG_(DEBUG_INFO|GDB_SCRIPTS)[= ]' .config
CONFIG_DEBUG_INFO=y
CONFIG_GDB_SCRIPTS=y
불행히도 프로세스 대체는 작동 하지 않습니다 .
./scripts/kconfig/merge_config.sh arch/x86/configs/x86_64_defconfig \
<( printf 'CONFIG_DEBUG_INFO=y\nCONFIG_GDB_SCRIPTS=y\n' )
의 이유는 https://unix.stackexchange.com/a/164109/32558
merge_config.sh
make alldefconfig
대상 의 간단한 프런트 엔드입니다 .
크로스 컴파일 ARCH
시 다음을 실행할 때 내 보내야합니다 merge_config.sh
. 예 :
export ARCH=arm64
export CROSS_COMPILE=aarch64-linux-gnu-
make defconfig
./scripts/kconfig/merge_config.sh .config .config-fragment
병합 된 출력 파일은 KCONFIG_CONFIG
환경 변수를 사용하여 명시 적으로 지정할 수 있습니다 . 그렇지 않으면 그냥 덮어 씁니다 .config
.
KCONFIG_CONFIG=some/path/.config ./scripts/kconfig/merge_config.sh .config .config-fragment
Buildroot는 /programming/1414968/how-do-i-configure-the-linux-kernel-within-buildroot로 자동화합니다 BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES
.
관련 : /programming/7505164/how-do-you-non-interactively-turn-on-features-in-a-linux-kernel-config-file
make olddefconfig
?