정적 드라이버 코드에서 Linux 커널 모듈을 빌드할 수 없습니다.

정적 드라이버 코드에서 Linux 커널 모듈을 빌드할 수 없습니다.

.ko기본적으로 모듈 구성이 없는 드라이버에서 커널 모듈을 빌드하려고 합니다( ). 펌웨어 로딩 오류가 발생하기 때문에 내장 드라이버 사용을 피하고 싶습니다.

나는 다음을 수행했습니다.

  1. Bt_driver.c:

    module_int(BT_Driver_init);
    module_exit(BT_Driver_deinit);
    
  2. 메뉴 구성:

    obj-$(CONFIG_BT_DRI) := Bt_driver.o
    
  3. 커널 구성:

    tristate "Bt Module " // So, I can select Y, N and M option
    
  4. 구성 정의

    CONFIG_BT_DRI=m
    

빌드가 완료된 후 Bt_driver.ko빌드 위치에서 모듈을 찾을 수 없습니다.

답변1

추가한 후에 module_init()module_exit()모듈 라이센스를 추가해야 할 수도 있습니다 MODULE_LICENSE("GPL").

모듈이 빌드(오염)되지 않는 한.

여전히 로드 가능한 모듈 커널을 빌드할 수 없는 경우 자체 Makefile(이 모듈용)을 사용하여 빌드해 보십시오.

관련 정보