在编译linux内核的时候报错,提示没有秘钥文件
首先要配置一下,用默认的就行
make defconfig
# 或者
make oldconfig
然后进入.config文件查看配置文件
xxxx@xxxx:~/linux-5.15$ gedit .config
可以看到CONFIG_MODULE_SIG_KEY的文件名是 signing_key.pem
#
# Certificates for signature checking
#
CONFIG_MODULE_SIG_KEY="certs/signing_key.pem"
CONFIG_MODULE_SIG_KEY_TYPE_RSA=y
# CONFIG_MODULE_SIG_KEY_TYPE_ECDSA is not set
CONFIG_SYSTEM_TRUSTED_KEYRING=y
CONFIG_SYSTEM_TRUSTED_KEYS=""
CONFIG_SYSTEM_EXTRA_CERTIFICATE=y
CONFIG_SYSTEM_EXTRA_CERTIFICATE_SIZE=4096
CONFIG_SECONDARY_TRUSTED_KEYRING=y
CONFIG_SYSTEM_BLACKLIST_KEYRING=y
CONFIG_SYSTEM_BLACKLIST_HASH_LIST=""
CONFIG_SYSTEM_REVOCATION_LIST=y
CONFIG_SYSTEM_REVOCATION_KEYS=""
# end of Certificates for signature checking
然后我们进入certs文件夹 如果没有就创建一个
# 进入 certs 目录
cd certs
# 生成私钥
openssl genpkey -algorithm RSA -out signing_key.pem -pkeyopt rsa_keygen_bits:2048
# 生成证书请求
openssl req -new -key signing_key.pem -out signing_key.csr -sha256
# 自签名生成证书
openssl x509 -req -days 365 -in signing_key.csr -signkey signing_key.pem -out signing_key.crt
按照提示输入信息,不输入也没事
# 将生成的证书转换为 x509 格式 如果需要):
openssl x509 -in signing_key.crt -out signing_key.x509 -outform DER
或者直接一点 直接输入这行命令生成密钥
openssl req -new -x509 -newkey rsa:2048 -keyout signing_key.pem -outform DER -out signing_key.x509 -nodes -days 36500 -subj "/CN=My Kernel Signing Key/"
然后返回根目录
重新编译安装
cd ..
sudo make clean
sudo make -j12
sudo make install
重启,选择刚安装好的版本进入就好了
如有错误,欢迎批评指正
3069

被折叠的 条评论
为什么被折叠?



