답변1
커널 버전이 5.12 이상이라고 가정하면 Linux 커널 소스 패키지에서 경로 이름이 있는 파일을 보고 있는 것 같습니다 <kernel source root>/drivers/net/wireless/mediatek/mt76/mt7921/Kconfig
. 프로세스에 정보를 제공하는 파일입니다.생산하다실제 커널 구성 파일. 이 파일을 수정해도 실제로 커널 구성이 변경되지는 않습니다.
"이 드라이버를 모듈로 컴파일하려면 여기에서 M을 선택하십시오" 텍스트는 해당 커널 구성 메뉴 옵션에 대한 도움말 텍스트입니다. 예를 들어 디렉토리에서 다음을 실행하여 커널 구성 메뉴를 볼 수 있습니다 make menuconfig
. <kernel source root>
이 make menuconfig
명령은 커널 소스 트리의 다양한 부분에 있는 모든 파일을 처리 Kconfig
하고 데이터를 사용하여 커널 구성 메뉴를 구축하고 이를 표시합니다.
커널 구성 파일은 <kernel source root>/.config
각각 위치합니다.
이 드라이버를 모듈로 컴파일하려면 <kernel source root>/.config
그 안에 다음 줄이 있어야 합니다.
# CONFIG_MT7921E is not set
또는:
CONFIG_MT7921E=y
줄을 다음과 같이 변경합니다.
CONFIG_MT7921E=m
CONFIG_MT7921E
해당 행이 파일에 없으면 추가 .config
할 수 있습니다.
하지만 "Cmake를 사용할 때 .ko 파일이 생성되지 않습니다"라는 말의 의미를 이해하지 못합니다. 일반적으로 디렉토리 나 다른 Makefile 대상 중 하나에 make modules
들어갈 때 이를 실행해야 합니다.make all
cd
<kernel source root>
(라는 명령어가 있는데 cmake
완전히 다른 빌드 도구이고 리눅스 커널 빌드 과정에서는 사용되지 않습니다. 보통은 실제 Makefile을 생성하는 "전처리기"일 뿐이므로 사용하는 cmake
애플리케이션을 빌드할 때 주로 실행됩니다. cmake
먼저 cmake
, 다음으로 make
, make install
그러나 이는 Linux 커널과 관련이 없습니다).