首页 > 其他分享 >kernel module in UEFI secure boot -

kernel module in UEFI secure boot -

时间:2022-11-26 12:04:05浏览次数:75  
标签:kernel secure ko boot module gtp UEFI OCP

# insmod lkm_hello.ko
insmod: ERROR: could not insert module lkm_hello.ko: Operation not permitted

解决办法
其实就是因为修改.ko文件是修改的linux内核文件,所以被bios的安全启动保护给禁止了而已。
重启进入BIOS,修改安全启动选项,禁用安全启动选项,开机后重新sudo运行之前的指令。

 

​https://open-cells.com/index.php/2017/06/08/kernel-module-uefi-secure-boot/​

 

Signed kernel module: how to

  • Compilation of a kernel module like this example
  • cd opencells-mods/gtp_mod
  • make -C /lib/modules/$(uname -r)/build M=$PWD
  • sudo cp gtp.ko /lib/modules/$(uname -r)/kernel/drivers/net/gtp.ko
  • But, despite we just compiled it successfully,  the module can’t be loaded
  • modprobe gtp
  • ERROR: could not insert ‘gtp’: Operation not permitted

your kernel boot is in “secure boot”, the module can’t be loaded

This issue occurs also with other modules in AOI, like ue_ip.kp

  • Solution 1
  • Remove “secure boot” entirely
  • depends on UEFI bios
  • Can be done by
sudo apt install mokutil

sudo mokutil --disable-validation
  • After this, reboot  the computer, the UEFI bios should ask for the password you set with “mokutil”, then ask to accept to disable secure boot
  • Solution 2
  • Sign your modules
  • add you own signature to valid signatures
  • create ciphering keys
openssl req -new -x509 -newkey rsa:2048 -keyout OCP.priv -outform DER -out OCP.der -nodes -days 36500 -subj "/CN=OpenCells/"
  • keep the two files OCP.der, OCP.priv as you’ll need it to sign your kernel modules
  • import it in UEFI boot
sudo mokutil --import OCP.der
  • It asks for a password: put any string, you’ll need it once, at next reboot, to secure the new ciphering enrolling
  • You need to reboot the machine to enroll this new key
  • Now you can sign your modules
  • each time you compile a module, you have to sign it
  • (after: sudo cp gtp.ko /lib/modules/`uname -r`/kernel/drivers/net/gtp.ko)
sudo /usr/src/linux-headers-$(uname -r)/scripts/sign-file sha256 ./OCP.priv ./OCP.der $(modinfo -n gtp)
  • now “sudo modprobe gtp”  should not complain anymore
  • You’ll need to compile and update the module after each Ubuntu kernel upgrades



标签:kernel,secure,ko,boot,module,gtp,UEFI,OCP
From: https://blog.51cto.com/u_847102/5888797

相关文章

  • springboot之redis启动时的三个警告
    第一个警告将net.core.somaxconn=1024添加到/etc/sysctl.conf中,然后执行sysctl-p生效配置。——20221116@设置的不起作用第二个警告将vm.overcommit_memory=1添......
  • Springboot项目问题之StringRedisTemplate could not be found
    一、问题背景在Springboot山配置redis,启动项目之后报找不到StringRedisTemplate,使用了jedis二、报错截图如下三、我的项目配置如下springboot版本是2.6.13jedis是......
  • SpringBoot中的日志框架(未完成)
    日志是什么?日志是一个记录事件的组件,无论是记录运行情况还是追踪线上问题,都需要分析日志。为什么需要日志框架?场景演变:1、最初时利用System.out.println("msg")来输出......
  • 利用java-springboot和paddleocr进行ocr识别
    利用java-springboot和paddleocr进行ocr识别项目:https://github.com/jiangnanboy/java-springboot-paddleocrTableofContentsAboutGettingStartedResultContactR......
  • kernel——proc
    1.简介proc文件系统:一种和内核交互的接口,最早专用于读写进程信息。特点:proc文件系统的文件节点只能从内核层创建,且这些节点的ops和设备节点类似,是由创建者定义的。......
  • SpringBoot整合Alibaba-Dubbo和Apache-Dubbo
    目录1Alibaba整合Dubbo1.1服务提供者1.1.1服务提供者接口1.1.2服务提供者实现类1.1.2.1项目结构图1.1.2.2pom.xml1.1.2.3服务实现类1.1.2.4配置文件1.1.2.5启动类......
  • idea社区版本创建springboot项目的三种方式
    文章目录一、前言一、方式1:spring官方创建springboot项目1、打开在线的springinitializr2、选择项目的语言、版本、依赖等3、解压源码包,并使用IDEA打开4、测试接口二......
  • 基于springboot财务管理系统设计与实现的源码+文档
    摘 要随着信息技术和网络技术的飞速发展,人类已进入全新信息化时代,传统管理技术已无法高效,便捷地管理信息。为了迎合时代需求,优化管理效率,各种各样的管理系统应运而生,各行......
  • 基于springboot大学生体质测试管理系统设计与实现的源码+文档
    摘要大学生体质测试管理系统提供给用户一个简单方便体质测试管理信息,通过留言区互动更方便。本系统采用了B/S体系的结构,使用了java技术以及MYSQL作为后台数据库进行开发。......
  • 基于springboot电动车智能充电服务平台设计与实现的源码+文档
    摘要在Internet高速发展的今天,我们生活的各个领域都涉及到计算机的应用,其中包括电动车智能充电服务平台的网络应用,在外国电动车智能充电服务平台已经是很普遍的方式,不过国......