panda.jpg 


안녕하세요 판다 이우영입니다.


오늘은 커널설정에 대해서 이야기 해보려 합니다.


요것도 너무 당대한 내용이지만 잘 줄여서 말해보겠습니다.


1. 커널 설정은 어떻게?




자 오늘은 커널의 설정하는 방법에 대해서 알아보겠습니다.


커널은 아주 많은 하드웨어에 대응하기위한 정보들을 가지고 있습니다.


간단하게 설명해본다면  인텔의 cpu, arm cpu등의 정보를 모두 가지고 있습니다.


그럼 이것들을 구별해서 사용해야 겠죠?


그래서 우리는 이런 정보를 만들어줍니다 그것이 .config에 있는 내용입니다.


여기에는 어떤 cpu를 사용하겠다. 파일시스템은 어떤걸 지원하겠다. 어떤 사운드드라이버를 사용하겠다 등등


아주 세세한 부분부터 디바이스 드라이버 까지 사용여부를 사용자가 설정할 수 있습니다.


위와같이 설정여부를 정의해둔것이 Kconfig입니다. 이파일은 커널의 웬만한 폴더에는 하나씩 가지고 있는 파일 입니다.


그만큼 아주 복잡하게 되어 있는 물건입니다..


그래서 어떤 감사한 분이 우리에게 menuconfig를 만들어 주셨습니다!!!


01.JPG


보시는 거와 같이 Kconfig를 분석하여 GUI환경으로 만들어 주신 겁니다!!

(물론 이것도 복잡하지만 이런거 없으면 아무것도 할수가 없습니다. 충분히 감사해야 할 일입니다!!)


일단 먼저 menuconfig로 들어가는 방법을 알아보겠습니다.


일반적인 방법은 


make menuconfig


입니다. 하지만 우리는 쉘을 사용하죠?


./make-s5pv210.sh menuconfig


위 명령을 통해 커널 설정으로 들어 갈 수 있습니다.


선택은 스페이스 바를 이용하고(외쪽의 별표시부분) 좌우로 옴겨서 select, exit, help 명령은 엔터로 실행 합니다.


세부며뉴가 있는경우 (보통 ---> 로 표시되어 있습니다.) select로 선택이 되고 exit로 상위로 다시 돌아갑니다.


help를 보시면 해당 위치의 설정이 어떤건지 간단하게 설명이 되어 있습니다.


처음 들어가시면 제생각에 많이 보게 될 부분은 


system type, Device Drivers 두 부분입니다.


system type은 어떤 cpu를 사용할 것인지 등등 그에 따른 설정들이 모여있습니다.


02.JPG


여기에는 EZS5PV210 cpu를 성정하고 있는 모습이 보이며 UART(시리얼) 에 관련된 설정도 보입니다.


mmu를 사용하는지에 대해서도 설정이 보입니다.


S3C UART to use for low-level messages 같은 경우 커널의 메시지를 어떤 UART포트에 출려해줄 것인지 설정해 줍니다.

(ezs5pv210 은 UART2번을 기본으로 잡고 있습니다.)


03.JPG


Device Drivers의 모습입니다. 


여기서 현재 보드에서 사용중인 디바이스에 관련된 드라이버들을 설정 해주어야  커널에서 디바이스를 잡아줍니다.


보시면 sound, usb, MMC, I2C등 많이 사용되는 디바이스들이 보입니다.


여기끝이 아니라 각 설정에 들어가시면 더욱 세세한 설정들이 더있습니다.

(모든일이 쉬운것이 없습니다 ㅠㅠ)


같은 디바이스라도 어떤 디바이스냐에 따라 드라이버 또한 달라져야 합니다.


예를 들어보면 우리가 pc에서 그래픽카드를 사용하시죠?


이때 디바이스 드라이버를 설치 해줘야 합니다. 마무거나 설치하시나요? 


아니죠 해당 제품에 해당하는 디바이스 드라이버를 설치합니다.


위와 같은 원리 입니다.



그럼 오늘은 여기서 마치겠습니다.


다음시간에는 간단하게 Kconfig를 이해할 겸 우리만의 설정을 하나 추가해 보겠습니다.


그럼 다음시간에 만나요~