리눅스 커널의 스크립트 구성


8

커널 기능 목록이 주어지면 주어진 모든 기능 (및 해당 종속성)을 지원하는 최소한의 Linux 구성을 만들고 싶습니다.

기능을 하나씩 활성화하는 allnoconfig 및 도구를 만드는 방법이 있습니까?

( .config파일을 편집 할 수는 있지만 종속성이 올바르게 설정되지는 않습니다. 사용할 수는 make *config있지만 대화 형으로 만 작동하거나 기본 구성을 만드는 것으로 알고 있습니다.)


다음은 종속성 해결을 통해 Linux 커널 구성을 자동화하는 스크립트입니다. Kernel Expect (kernelexpect)
T. Perkins

답변:


1

비 대화식으로 수행해야하는 경우 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 또는 이와 유사한 것을 사용하는 것을 이미 고려했다고 가정합니까? 몇 년 동안 최소한의 설정을 시도하지는 않았지만 완전히 사용할 수없는 커널을 만드는 분명하지 않은 방법이 있다는 것을 기억합니다. :)


"olddefconfig"도 아마 잘 작동 할 것입니다. defconfig 파일에서 기본 구성 옵션을 얻는 방법이 있습니까? (이 경우 defconfig 파일은 적절한 기본을 제공하고 최소 사용자 정의 옵션은 .config에서 설정할 수 있습니다.)
michas

-1

커널 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)

1
첫눈에 좋을 것 같습니다. 불행히도 의존성을 전혀 신경 쓰지 않는 것 같습니다. :(
michas
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.