이것은 버그가 아니라 기능입니다.
Anthony Wong이 말했듯이 DKMS 패키지를 설치할 때 패키지를 직접 컴파일하고 있으므로 Canonical은 모듈에 서명 할 수 없습니다.
그러나 Secure Boot를 확실히 사용할 수는 있지만 이는 Secure Boot가 모듈의 신뢰 여부를 알 수 없기 때문에 Secure Boot가 자신을 보호하려고하는 유스 케이스입니다.
기본적으로 UEFI 시스템에는 PK (Platform Key)가 있으며 이는 프로세서에서 코드를로드하기 위해 궁극적으로 신뢰되는 인증 기관입니다.
GRUB 또는 shim 또는 기타 부팅 메커니즘은 루트 CA (PK)에서 신뢰하는 KEK에 의해 디지털 서명 될 수 있으므로 컴퓨터는 구성없이 Ubuntu Live USB / DVD와 같은 부팅 소프트웨어를 사용할 수 있습니다.
Ubuntu 16.04에서 커널은 CONFIG_MODULE_SIG_FORCE = 1로 빌드됩니다. 즉 , 커널이 플랫폼에서 신뢰할 수있는 키로 모듈에 서명되도록 강제합니다 . UEFI 플랫폼에는 기본적으로 사용자가 제어 할 수없는 PK가 포함되어 있으므로 자신의 컴퓨터에서 인식하는 키로 이진에 서명 할 수 없습니다.
어떤 사람들은 그것을 강타하고 반대하지만, 원하는 새로운 키를 등록하는 것보다 더 나은 방법은 없습니다 (보안 관점에서).
부팅 시스템에서 shim을 사용하는 경우 Machine Owner 's Key 데이터베이스라는 것을 사용하고 키를 MOK로 등록 할 수 있습니다 (mokutil을 사용하여 수행 할 수 있음). 그렇지 않은 경우 UEFI 데이터베이스에 키를 서명 키로 등록 할 수도 있습니다 .
키를 등록한 후 MOK를 사용하여 DKMS 빌드 패키지에 서명 할 수 있으며 (에 perl 스크립트가 있어야 함 /usr/src/kernels/$(uname -r)/scripts/sign-file
) 서명 한 후에는 커널에로드 할 수 있습니다 .
물론 누군가는 이것에 대해 더 시각적 인 지침을 제시하고 아마도 키를 고려할 수 있도록 마법사 또는 더 나은 DKMS 표준을 만들어야 할 것입니다.
자신의 커널 모듈에 서명하는 방법에 대한이 설명을 참조 할 수 있습니다 : https://askubuntu.com/a/768310/12049