메뉴 구성

menuconfig
메뉴 구성
Linux 4.4.2 ncurses configuration.png
Linux 버전 4.4.2의 menuconfig
기입처C
운영 체제리눅스
유형빌드 자동화 도구
면허증.GNU 일반 공중 라이선스
웹 사이트www.kernel.org

make menuconfig는 Linux 소스를 구성할 수 있는 5가지 유사한 도구 중 하나이며 소스 코드를 컴파일하기 위해 필요한 초기 단계입니다. make menuconfig메뉴 기반 사용자 인터페이스를 사용하여 컴파일할 Linux 기능(및 기타 옵션)을 선택할 수 있습니다.보통 명령어를 사용하여 호출됩니다.make menuconfigmenuconfig는 Linux Makefile의 타깃입니다.

역사

make menuconfigLinux의 첫 번째 버전이 아닙니다.이전 툴은 Q&A 기반의 유틸리티입니다(make config,make oldconfigLinux 설정용 세 번째 툴은 다음과 같습니다.make xconfigQt가 필요합니다.또 있다make gconfig, GTK+사용합니다.make nconfig와 유사합니다.make menuconfig.

이러한 툴은 모두 내부적으로 Kconfig 언어를 사용합니다.Kconfig는 임베디드 디바이스용 부트로더인 Das U-Boot, 임베디드 Linux 시스템 생성 도구인 Buildroot, 임베디드 시스템용 단일 실행 가능한 셸 유틸리티 도구함인 BusyBox다른 프로젝트에서도 사용됩니다.

이전 버전과 비교한 이점

심플한 디자인이지만make menuconfigQ&A 기반의 설정 툴에 상당한 이점을 제공합니다.make oldconfig가장 주목할 만한 것은 기본 검색 시스템과 ""와는 다른 파일 이름으로 파일을 로드 및 저장할 수 있는 기능입니다..config".make menuconfig사용자가 기능 사이를 직접 이동하거나 뒤로 이동할 수 있습니다.make config를 눌러서↵ Enter 키를 여러 번 눌러 특정 기능의 Configuration에 선형으로 네비게이트합니다.

사용자가 이전 버전에 만족하는 경우.config파일, 사용make oldconfig는 이 이전 파일을 사용하여 가능한 모든 질문에 대답하고 대화형으로 새로운 기능을 제시합니다.이는 버전 업그레이드를 위한 것이지만 다른 경우에는 적절할 수 있습니다.

make menuconfig시스템 리소스에 대한 부하가 가볍습니다.make xconfig(버전 2.6.31.1(이전에는 Tk)에서 Qt를 사용) 또는make gconfigGTK+를 사용합니다.대부분의 기능을 무시할 수 있습니다.make config이렇게 하면 불완전하거나 크기가 큰 커널을 구성할 가능성이 높아집니다.첫 번째 명령어는.configLinux 배포판에 포함된 파일을 사용하면 커스텀 커널을 쉽게 구성할 수 있습니다.

를 편집하는 것보다.config손으로.make menuconfig에 메뉴 옵션에서 [Help]버튼을 눌러 각 기능에 대한 설명을 나타냅니다.또, 일부(버전 2.6.31.1의 프라이머리) 의존성 체크가 추가되었습니다.make oldconfig를 사용하면 의존관계 체크를 한 번에 수행할 수 있지만 사용자가 수동으로 변경한 기능을 검색하여 필요한 기능이 여전히 활성화되어 있는지 확인해야 합니다.

사실상 양쪽을 모두 사용하여make menuconfig그리고.make oldconfig, diff, (cvs 및 적절한 텍스트에디터도 있습니다)는 유연성과 신뢰성이 가장 뛰어납니다.Linux 의 설정에는 상당한 작업이 필요하기 때문에, 유저는 Linux 의 백업을 하는 것을 강하게 추천합니다(즉,cp /usr/src/linux*/.config ~/savemywork.config).

도움말 정보는 Kconfig라는 다양한 파일의 커널 소스 트리에 배포됩니다.

의존 관계

사용방법make menuconfig, Linux 소스는 요건, 제조 도구, C 컴파일러 및 ncurses 라이브러리입니다.

키 스트로크

메인 키 스트로크
키 스트로크 의미.
? 옵션 설명 및 힌트/도움말
PgUpPgDn 커널 기능 및 menuconfig 명령을 탐색합니다.
Esc+Esc menuconfig를 종료하거나 명령을 취소합니다.
↵ Enter 명령을 활성화하거나 분기를 확장합니다.
y 이 기능을 컴파일하여 커널 내부에 포함합니다.
m 이 기능을 커널과는 별도로 모듈로 컴파일합니다.
n 기능을 컴파일하지 마십시오.
/ 설정 파라미터를 검색합니다.

기호

기능의 좌측에는, 2개의 구두점으로 둘러싸인 설정(y, M, 또는 공백)이 있습니다.

의존관계 정보
기호. 의미.
< > 종속성이 없습니다.
[ ] 종속성을 사용하려면 이 값을 컴파일(y)하거나 컴파일(n)하지 않아야 합니다.
{ } 의존관계에서는 이것이 모듈(m) 또는 컴파일인(y)이어야 합니다.
- - 종속성을 가지려면 이를 컴파일(y)해야 합니다.

제공된 종속성 정보는 원시 정보이므로 종속 기능의 이름은 알 수 없습니다.

기타 기호
기호. 의미.
---> 이 분기를 새 창으로 확장하기 위해 사용합니다.
(실험) 불안정/낮은 코드 주의.
(신규) 이전 버전의 Linux에는 없는 옵션입니다.
(추천) 향후 버전에서 삭제될 옵션입니다.

커널 빌드 워크플로우에서 menuconfig

modules_install install 이외에도 많은 make target이 있기 때문에 사용자는 Linux README을 읽을 것을 권장합니다.각각 다른 기능을 활성화하거나 tinyconfig 또는 allyesconfig와 같은 다른 인터랙티브인터페이스를 사용하여 커널을 설정합니다.

단순한(그러나 효과적인) 워크플로우

  1. make menuconfig
  2. 다음으로 압축된 커널과 그 모듈을 긴 프로세스로 빌드합니다. make.
  3. 다음과 같은 원하는 방법으로 설치make modules_install,make install.

「 」를 참조해 주세요.

레퍼런스

외부 링크