dca
모듈을 삽입하면 rcS
사용할 때 다음 오류가 표시됩니다 dmesg
. 인터넷에서 bzImage
와 의 버전이 일치하지 않아서 발생했다는 글을 읽었는데 dca.ko
, 와 가 bzImage
동시에 dca.ko
컴파일이 insmod dca.ko
되어서 터미널 창에서 수동으로 실행해 봤는데, dmesg
오류가 없었습니다. 문제가 무엇입니까? 로딩시간이 잘못되어서 그런걸까요 rcS
?
오류는 다음과 dmesg
같습니다
[ 5.889617] dca: module verification failed: signature and/or required key missing - tainting kernel
[ 5.889946] dca service started, version 1.12.1
insmod
존재하다 rcS
:
insmod /lib/modules/6.4.0-rt8/dca.ko
insmod /lib/modules/6.4.0-rt8/i2c-algo-bit.ko
insmod /lib/modules/6.4.0-rt8/pps_core.ko
insmod /lib/modules/6.4.0-rt8/ptp.ko
insmod /lib/modules/6.4.0-rt8/igb.ko
답변1
다른 커널 모듈은징후- 다른 방법을 선택하지 않는 경우 커널 빌드 프로세스에서 자동으로 생성된 키를 사용할 수 있습니다.
귀하의 키 dca.ko
는 서명되지 않았거나 적어도 동일한 키를 사용하지 않습니다.
보안 부팅을 사용하지 않으면 커널은 부팅을 위해 빌드된 키만 신뢰하지만 선택적으로 확인할 수 없는 커널 모듈을 허용하고 해당 모듈이 로드될 때 커널을 오염된 것으로 표시할 수 있습니다.
보안 부팅이 적용되면 shimx64.efi
커널을 구축하는 데 사용되는 공리적으로 신뢰할 수 있는 키 외에도 보안 부팅 서명 키와 이에 의해 유지되는 MOK(머신 소유자 키)가 일반적으로 커널이 신뢰하는 키 목록에 추가됩니다. 커널~해야 한다또한 검증할 수 없는 커널 모듈을 로드하려는 시도를 거부하도록 구성할 수도 있습니다. 그렇지 않으면 완전히 Secure Boot와 호환되지 않습니다.
(자체 커널을 구축할 때 보안 부팅 준수를 얼마나 엄격하게 원하는지 정확하게 결정할 수 있습니다. 그러나 보안 부팅에서 실행할 수 있지만 검증할 수 없는 모듈을 허용하는 커널을 배포하는 경우 이 클래스 커널은 " 보안 부팅 블랙리스트에 등록된 우회 장치"이며 향후 보안 부팅 인식 시스템 펌웨어 릴리스에서 거부됩니다.)
자세한 내용은 다음을 참조하세요.문서/관리자 안내서/module-signing.rst커널 소스 패키지에 있습니다.
오염 메시지를 제거하려면 커널 소스 트리의 도구와 빌드 시간 옵션에 지정된 개인 키(또는 설정되지 않은 경우 커널 소스 트리에서 기본 자동 생성 키 )를 dca.ko
사용하여 모듈에 서명할 수 있습니다. 커널 모듈 서명에 사용되는 해싱 알고리즘은 빌드 타임 옵션으로 지정됩니다.scripts/sign-file
CONFIG_MODULE_SIG_KEY
certs/signing_key.pem
CONFIG_MODULE_SIG_HASH