커널 3.16용 i8ukutils 1.42 컴파일

커널 3.16용 i8ukutils 1.42 컴파일

Linux 3.16(amd64)이 설치된 Debian에서 i8k를 실행하려고 합니다.

저장소(1.41)의 deb가 있고 서비스가 시작되고 있습니다. i8kmon은 올바른 통계를 표시하지만 팬 제어가 작동하지 않습니다. 문제는 시스템에 smm이 없다는 것입니다. ./smm-test 스크립트에서 "No smm program"이 발생합니다.

최근 커널 4.*의 변경으로 인해 마지막 i8kutils 1.43에는 smm이 포함되지 않는다는 것을 알고 있지만 1.41(repo의)과 1.42는 내 3.16 커널에서 작동해야 합니다. 그렇다면 repo 패키지에 smm 파일이 없는 이유는 무엇입니까?

1.42 아카이브를 다운로드하고 "make"를 실행했지만 {18kmon, i8kctl, i8kfan)이 컴파일되었고 smm에는 아무 작업도 수행되지 않았습니다.

'gcc smm.c -o smm'을 사용하여 smm.c 파일을 별도로 컴파일하려고 시도했지만 다음과 같이 표시됩니다.

htt@woodhost:~/Downloads/i8kutils$ gcc -Wall smm.c -o smm
smm.c: Assembler messages:
smm.c:50: Error: invalid instruction suffix for `push'
smm.c:52: Error: operand type mismatch for `push'
smm.c:58: Error: invalid instruction suffix for `pop'
smm.c:67: Error: invalid instruction suffix for `pop'

'gcc -g -O2 -Wall -I'로 실행할 때. -o smm -m32 smm.c' 다음을 제공합니다.

htt@woodhost:~/Downloads/i8kutils$ gcc -g -O2 -Wall -I. -o smm -m32 smm.c
In file included from /usr/include/stdio.h:27:0,
                 from smm.c:27:
/usr/include/features.h:364:25: fatal error: sys/cdefs.h: No such file or directory
 #  include <sys/cdefs.h>
                         ^
compilation terminated.

SMM이 작동하려면 무엇이 필요합니까?

관련 정보