리눅스 커널의 기본값들 생성

리눅스 커널을 빌드할 때, 많은 설정값들을 보게 된다. 진짜다. ㅇㅅㅇ 이 많은 옵션들을 전부 다 알수는 없고, 어떤 걸 기본적으로 설정해야 하는지 말아야 하는지도 사실은 시간이 엄청 오래걸린다. 그러나, 이 수많은 값들 중 어떤 값을 기본으로 써야 하는지는 커널 소스 안에 설정값들이 존재한다.

그 중에서도 그냥 기본으로 쓰이는 옵션들이 어디에 있는지만 우선적으로 좀 확인해 보려고 한다. 내가 잊어버리지 않기 위해서….ㅇㅂㅇ;;;

일단, 기본 설정값들에 대해서는 automake, autoconf 등의 툴에 의해서 설정값들을 만들어서 쓸 수 있지만, 그 설정값들을 기본적으로 만들어 주는 명령어들은 존재한다.

  • make config: 텍스트 기반의 설정.
  • make menuconfig: ncurses 기반의 설정.
  • make defconfig: 해당 아키텍쳐에 맞춰서 기본으로 설정된 파일을 만드는 설정.
  • make nconfig: Pseudo 그래픽 기반의 설정. (ncurses 기반임.)
  • make xconfig: Qt4 기반의 그래픽 설정.
  • make gconfig: GTK+ 기반의 그래픽 설정.
  • make oldconfig: 이전 설정한 환경에서 새로운 것만 적용하는 설정.
  • make allyesconfig: 모든 옵션을 전부 yes (* 표시)로 만드는 설정.

이러한 명령어들을 이용하여 우선 커널의 기본값들을 설정하고, 해당되는 값에서 조금씩 수정해서 이용하는 것이 대부분이다. 그리고 이제 설정한 내용이 의존성 문제를 일으키는지 아닌지를 검사해주는 명령을 통해 검사를 진행한다.

  • make dep: .config 설정을 바탕으로 각 파일의 종속성을 검사.

그러나 만약, .config 파일의 설정이 잘못되어 완전히 새롭게 만들고 싶을 경우에는 다음과 같이 이용하면 된다. (물론, 기본 .config 파일을 지우고 다시 만들기도 하는 분들이 있다던데…./먼산)

  • make mrproper: 기존에 설정되어 있던 커널 설정 값을 초기화.

특히 이 mrproper의 경우에는 clean과는 전혀 다르다.

  • make clean: 기존에 컴파일 과정에서 만들어진 오브젝트들을 제거.

clean은 말 그대로 컴파일한 내용을 초기화하는 것이지 설정까지 클린하게 만들진 않는다. 그렇기 땜에 설정을 초기화하거나 새로 커널 소스 가져다가 다시 설정하려면 make mrproper를 이용해서 설정을 초기화 해야 여러모로 꼬이질 않는다.

일단 난 지금 이렇게 이해하고 쓰고있다. 맨날 작업하면서도 머릿속에 저장이 안되어서 은근 정리가 필요함. ㅠㅠ

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

이 사이트는 스팸을 줄이는 아키스밋을 사용합니다. 댓글이 어떻게 처리되는지 알아보십시오.