안녕하세요.

 

뉴페이스 유형석입니다.

 

이번시간은 간만에 팁 하나 알려 드리도록 하겠습니다.

 

혹시 미흡 하더라도 너그러이 봐주시고, 댓글로 조언 해주시면 감사하겠습니다!



1. 개요


     rubik_s_cube_random_petr_01.jpg


    구입한 보드를 가지고 커널을 올리려고 했는데 제공 받은 커널소스와

    제공해주는 커널 이미지의 옵션이 다르다는것을 알게 되었습니다.


    울며 겨자 먹기로 제공받은 커널 이미지를 올리고 NFS를 설치 하자...

    커널 옵션에 NFS가 체크가 안 되어 있습니다.orz


    때문에 make menuconfig 를 이용하여 추가 하려 했지만

    수많은 옵션을 일일이 노가다로 알아내고 체크하기엔 무리가 있더라구요.

    (대략 아래와 같은 상태)


   K001_01.png


    그래서 열심히 구글링 해보니 아래와 같은 방법으로 해결 할 수 있었습니다.



2. 해결책

    
    _cube_petri_lumme_01.svg.med.png

    일단 제공받은 커널을 올리고 부팅을 했습니다.

    그리고 자연스럽게 로그인을 하고, /proc 로 진입하면 config.gz 라는 파일이 있습니다.

    이 파일이 저를 구원해주는 역활을 하게 됩니다.


    config.gz 에는 이 커널에 들어 있는 옵션들과 기타 사항들이 몽땅 모여 있습니다.

    grep 으로는 찾아 낼 수 없고 zgrep 이라는 것을 사용하면 원하는 부분이 쉽게 출력되서 나옵니다.


    zgrep -i [이름] [파일]


    요런 식으로 사용 하시면 됩니다.


    자 저도 빨리 해보기로 했습니다.


    zgrep -i CONFIG /proc/config.gz

   

    T003_15.png


    요렇게 엄청난 분량의 옵션들이 나옵니다.

    이걸 따로 복사 하셔서 커널 소스 디렉토리로 이동 합시다.

    그리고 sudo gedit .config 를 하시든 sudo cp .config .config_bak 를 해서 빽업을 하든 합니다.


    그리고 과감히 내용을 몽땅 삭제 하고 복사 했던 것을 붙여 넣기 합니다.


    저는 NFS가 필요 했기 때문에 기존 커널 소스에서 make menuconfig 를 하여 추가 해 주었습니다.

    그 후 텍스트로를 옵션이 어떻게 가는지 몰랐기 때문에 .config 에서 NFS 부분만 추출 하였습니다.


    그리고 아까 복사한 옵션에다가 아래 부분을 추가 해 주었습니다.

    (혹시 몰라 위치도 똑같이 해 주었습니다.)


    T003_16.png


    그림으로 나타내면 이런식입니다.

   

    K001_02.png


3. 결론

    

    아주 잘 됩니다. 으하하!!


    혹시라도 저처럼 고생 하시는 분이 계실까봐 한번 올려 봅니다.

    그리고  config.gz는 커널 옵션에서 설정해 주는 부분인것 같은데요.

    간혹 설정이 안되어 있는 커널은 config.gz가 없을지도 모릅니다.

    그럴땐 .....

    혹시 아시는 분 계시면 댓글로 남겨 주세요~~

   

    읽어 주셔서 감사합니다!

 

    그림 : 구글검색