커널 트리에서 'make oldconfig'를 수행 할 때 자동으로 기본값에 응답


36

이전 설정을 기반으로 새 커널을 빌드 할 때 make oldconfig새 옵션을 기본값으로 설정하도록 프로세스 를 자동화하는 방법이 있습니까?

편집 : 새로운 커널 에서 .config (from /boot/config-*또는 /proc/config.gz)를 사용할 때 make oldconfig프로세스는 이전 커널에서 사용할 수 없었던 옵션을 활성화할지 묻습니다. Y / n / m으로 대답하거나 Enter 키를 눌러 기본값을 적용 할 수 있습니다. 사용자 상호 작용없이 기본값을 자동으로 수락하고 싶습니다.


@jscott 이것은 첫 번째 질문에 대해서만 "입력을 누르십시오". 'yes'명령을 사용하여 문자열을 임의로 인쇄 할 수 있습니다.
Laurent Parenteau

답변:


37

다음 명령을 사용하십시오.

yes "" | make oldconfig

'yes'명령은 지정된 모든 문자열이있는 행을 반복적으로 출력하거나 기본적으로 'y'를 출력합니다.

따라서 단순히 "Enter enter"를 사용하여 'make oldconfig'명령의 기본값을 사용할 수 있습니다.


아, 'yes'명령이 문자열을 출력 할 수 있는지 몰랐습니다. 고맙습니다!
Jean-Francois Chevrette

3
이것은 경이 롭습니다.
Ivan X

1
대답은 훨씬 더 나은 아이디어입니다 serverfault.com/a/538150/18822
Evan Carroll

56
make olddefconfig

당신이 원하는 것입니다. 도움말에서 ( make help커널 소스 디렉토리에 있음)

olddefconfig-silentoldconfig와 동일하지만 새 기호를 기본값으로 설정


나는 잠시 동안 이와 같은 것을 찾고있었습니다 ... 많은 감사합니다!
Jafar Kofahi

어떤 Linux 버전이 출시 되었습니까? 그냥 궁금해서 현재 이전 버전 (3.0)을 처리하고 있으며 아직 버전이 없습니다.
clacke

1
이것이 정답이어야합니다.
suprjami

0

예. 소스 디렉토리의 최상위 레벨에있는 ".config"에 저장됩니다.

또한 배포 커널을 사용하는 경우 RedHat과 같은 일부 배포판은 배포본을 / boot / config-$ (uname -r)에 저장합니다. (커널 버전) [1]

마지막으로 실행중인 커널에서 컴파일 된 경우 /proc/config.gz에서 사용할 수 있습니다. 이 옵션을 도입 한 버전을 잊었습니다.

[1]이 옵션들 :

CONFIG_IKCONFIG=y
CONFIG_IKCONFIG_PROC=y 

편집하다

/usr/src/linux/kernel/Documentation/kbuild/kconfig.txt (또는 적절한 경로)를 확인하십시오. 권장 사항 중 일부를 사용하여 솔루션을 스크립팅 할 수 있습니다. 스크립팅과 textutils의 조합을 사용하여 설명하는 것을 수행합니다.

편집 2

추가로, 이것은 나쁜 생각입니다. 옵션 하드웨어가 환경 변경에 고유 한 지원을하지만 기본값이 아닌 경우 어떻게합니까? 부정적인 영향을 미치는 변경이 발생하면 어떻게됩니까? 이것은 실제로 대화식이어야합니다. 구성을 만들고 나머지를 자동화 할 수 있습니다.

"make silentoldconfig"는 조금 덜 장황하며 도움이 될 수 있습니다. 여전히 대화식입니다.


그것은 내가 의도 한 게 아니었다. 달성하고자하는 것을 설명하기 위해 질문에 자세한 내용을 추가했습니다.
Jean-Francois Chevrette 2019

0

make silentoldconfig


2
silentoldconfig는 여전히 대화식이며, 덜 장황하다
Laurent Parenteau
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.