2017-05-23 7 views
2

저는 centos 7 커널 용 커널 모듈을 만들고 싶습니다. 하지만 일부 기능 프로토 타입에 문제가 있습니다. 그것의 다른 커널 - 3.10.0 - 327.36.3.el7 및 커널 - 3.10.0 - 514.el7. Linux Kernel Version Macro Definition을 사용하는 방법을 알고 있습니다. 하지만 커널 패치 버전과 linux ditr을 확인해야합니다. 이름.Linux 커널 패치 버전 매크로 정의

커널의 패치 버전을 확인하기위한 일부 전신 처리기 매크로가 추가되었습니다.

+0

빠른 답장을 원하시면, IRC에서이 질문을 할 수 있습니다. https://kernelnewbies.org/IRC – Gaurav

+0

Ok. kernelnewbies.org/IRC에서이 문제를 해결하면 여기서 알 수 있습니다. – andreykyz

+0

'CONFIG_LOCALVERSION_AUTO'가 설정된 경우 자동으로 추가되는 숫자가 있다고 생각합니다. 소스 트리 버전에 해당하는 . check [this] (http://cateee.net/lkddb/web-lkddb/LOCALVERSION_AUTO.html) –

답변

0

방금 ​​정보를 찾았습니다. 커널 헤더의 Makefile에서 미리 정의 된 변수를 사용할 수 있습니다. 예를 들어 centos 7에서는 kernel-3.10.0-514.16.1.el7을 사용합니다. 변수는 /usr/src/kernels/3.10.0-514.16.1.el7.x86_64/Makefile 파일에 있습니다 : 커널 모듈 우리가 -DPATCH_VERSION에 의해 ​​우리의 소스 코드를 넣을 수 있습니다 우리의 메이크에서

VERSION = 3 
PATCHLEVEL = 10 
SUBLEVEL = 0 
EXTRAVERSION = -514.16.1.el7.x86_64 
NAME = Unicycling Gorilla 
RHEL_MAJOR = 7 
RHEL_MINOR = 3 
RHEL_RELEASE = 514.16.1 
... 

= $ {RHEL_RELEASE} gcc parametr (또는 centos 7의 예제). 하지만 데비안에서는 RHEL_RELEASE 변수가 없으므로 배포판을 확인해야합니다.

나는 더 좋은 방법이 있다고 생각합니다.