编译Linux内核添加签名和秘钥signing_key.pem

在编译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

重启,选择刚安装好的版本进入就好了

如有错误,欢迎批评指正

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值