커널 기능 목록이 주어지면 주어진 모든 기능 (및 해당 종속성)을 지원하는 최소한의 Linux 구성을 만들고 싶습니다.
기능을 하나씩 활성화하는 allnoconfig 및 도구를 만드는 방법이 있습니까?
( .config파일을 편집 할 수는 있지만 종속성이 올바르게 설정되지는 않습니다. 사용할 수는 make *config있지만 대화 형으로 만 작동하거나 기본 구성을 만드는 것으로 알고 있습니다.)
커널 기능 목록이 주어지면 주어진 모든 기능 (및 해당 종속성)을 지원하는 최소한의 Linux 구성을 만들고 싶습니다.
기능을 하나씩 활성화하는 allnoconfig 및 도구를 만드는 방법이 있습니까?
( .config파일을 편집 할 수는 있지만 종속성이 올바르게 설정되지는 않습니다. 사용할 수는 make *config있지만 대화 형으로 만 작동하거나 기본 구성을 만드는 것으로 알고 있습니다.)
답변:
비 대화식으로 수행해야하는 경우 make oldconfig 또는 olddefconfig를 사용할 수 있습니다. make * config는 의존성을 수정하고 menuconfig와 같이 상세하지 않습니다. (그렇지 않으면 menuconfig는 기능을 하나씩 활성화하는 데 완벽하게 적합하며 도움말 텍스트도 포함되어 있습니다!)
make oldconfig는 '새로운'구성 옵션을 요청하므로 비 대화식으로 작업하려면 비활성화 된 옵션에 대해 다음과 같은 주석을 삽입해야합니다.
# CONFIG_KERNEL_GZIP is not set
반면 olddefconfig는 묻지 않지만 기본값을 사용합니다. silentoldconfig도 있지만 경우에 따라 묻기 때문에 자동이 아닙니다.
도움을 :
oldconfig - Update current config utilising a provided .config as base
silentoldconfig - Same as oldconfig, but quietly, additionally update deps
olddefconfig - Same as silentoldconfig but sets new symbols to their default value
면책 조항 : 필요한 라이브러리에 대한 옵션을 제거하는 사소한 테스트 만 시도했습니다. 그것들은 olddefconfig와 oldconfig에 의해 다시 추가되었습니다. 이것이 더 큰 구성을 수행하는 데 어떻게 적용되는지 모르겠습니다.
어쨌든, 이것을 시작하기 전에 make localmodconfig 또는 이와 유사한 것을 사용하는 것을 이미 고려했다고 가정합니까? 몇 년 동안 최소한의 설정을 시도하지는 않았지만 완전히 사용할 수없는 커널을 만드는 분명하지 않은 방법이 있다는 것을 기억합니다. :)
커널 2.6.29부터는 찾을 수있는 스크립트가 있습니다 /kernel_extracted_dir/scripts/config
예를 들어
/kernel_extracted_dir/scripts/config --set-val CONFIG_LOG_BUF_SHIFT 14
/kernel_extracted_dir/scripts/config --enable CONFIG_PRINTK_TIME
(만기일을 밝히기 위해이 블로그 에서 예를 들었습니다. )
다음 옵션이 있습니다 (도움말에서 복사).
--enable|-e option Enable option
--disable|-d option Disable option
--module|-m option Turn option into a module
--set-str option string
Set option to "string"
--set-val option value
Set option to value
--undefine|-u option Undefine option
--state|-s option Print state of option (n,y,m,undef)
--enable-after|-E beforeopt option
Enable option directly after other option
--disable-after|-D beforeopt option
Disable option directly after other option
--module-after|-M beforeopt option
Turn option into module directly after other option commands can be repeated multiple times
options:
--file config-file .config file to change (default .config)
--keep-case|-k Keep next symbols' case (dont' upper-case it)