Notice
Recent Posts
Recent Comments
«   2024/06   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30
Archives
Today
Total
관리 메뉴

채록채록

[Linux\Debian] kernel configuration is invalid오류, linux-headers 본문

Linux

[Linux\Debian] kernel configuration is invalid오류, linux-headers

김책은 2024. 5. 14. 07:54

진짜 어제부터 잘 되던 커널모듈 예제가 컴파일조차 안되어서 미치는줄 알았다.
오류 내용은 다음과 같다.

챗지피티에게 물어봐도 뻔한 대답을 하고(뭐 이것저것 잘 검토해보세요! 같은)


검색해서 한 방법도 잘 안되고, 업데이트했다가 재부팅도 해보고...
실습 예제가 나와있는 책에서 하란대로 헤더도 설치했는데 안되었다. ㅠㅠ

그런데 다른 사이트를 참고하여 linux headers를 '재'설치하니까 되었다.
포인트는 '재'설치이다. 그냥 install 하면 안된다.

--reinstall이 포인트

그러니까 이제 드디어 컴파일된 것을 확인할 수 있었다. 내가 저 헬로월드를 출력하기 위해 이런 개고생을 했다니...살짝 자괴감들었지만 그래도 그 과정에서 알게된 것이 많았음에 의의를 둔다.

1. 커널모듈 코드를 뜯어보며 모듈이 커널에 insmod될 때 호출되는 init_module()과 cleanup_module() 대신 원하는 함수를 쓰는 방법에 대해 알게되었다.

2. 모든 커널 모듈에는 <linux/module.h>가 포함되어야 하는 이유를 조금이나마 알게되었다. (내가 마주한 문제가 리눅스 헤더문제였기 때문에 관련된 개념을 많이 구글링했기 때문이다.) 커널용 헤더는 커널과 인터페이스하는 코드를 컴파일할 때 필요한 다양한 기능과 구조, 정의를 제공한다고한다. 나는 그냥 배포판을 설치하면 이런 따로 설치해야한다던지 커널과 버전을 맞추어야한다던지 이런 문제는 없을 줄 알았는데 설치된 커널 버전과 일치하는 커널 헤더 패키지를 확인하는 습관, 필요하면 /usr/src를 뒤져볼 수 있는 밑바탕 지식 등이 필요한 것을 깨달았다.

3. Makefile에서 PWD 환경변수를 상속하게 하는 방법에 대해 알게되었다. 그리고 확인하는 명령어도 알게되었다.

4. 무언가를 실습하기 전에 그에 대한 개념을 충분히 학습하고 가는 것의 중요성을 깨달았다... ㅠㅠ그것이 효율적으로 일하는 방법이다.

Reference:

 

https://wikidocs.net/196793#google_vignette

 

2. 헤더

무엇이든 빌드하기 전에 커널용 헤더 파일을 설치해야 합니다. 우분투/데비안에서: ```{.console} sudo apt-get update apt-cache search l…

wikidocs.net

 

https://askubuntu.com/questions/890712/kernel-configuration-is-invalid-error-while-trying-to-install-paragon-ufsd-profe

 

Kernel configuration is invalid error while trying to install paragon ufsd professional drivers for HFS+

short question: While running the install.sh Skript for Paragon UFSD drivers I get the Error message: ERROR: Kernel configuration is invalid."; \include/generated/autoconf.h or include/config/a...

askubuntu.com