Building modules for a precompiled kernel

When we inserting a module into linux kernel, the linux (almost) always check the vermagic info of module, if it does not match kernel’s, inserting process fails.

So, the question is :

How to build modules for a precompiled kernel ?

Solution:

Edit VERMAGIC_STRING in include/linux/vermagic.h

Ref:

  1. http://linux.die.net/lkmpg/x380.html
  2. http://hychen.wuweig.org/blog/2009/10/09/rao-guo-linux-driver-vermagicjian-cha/

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 07-01

Building modules for a precompiled kernel的相关文章

Building and booting Nexus 5 kernel

1. Downloading toolchain and setup. git clone https://android.googlesource.com/platform/prebuilts/gcc/linux-x86/arm/arm-eabi-4.7/ 2. Downloading kernel source code : $git clone https://android.googlesource.com/kernel/msm.git looking into kernel versi

linux :vmware kernel update导致vmware无法打开,解决

kernel 4.7 and VMWare Workstation 12.1. # cd /usr/lib/vmware/modules/source # tar xf vmnet.tar # mv vmnet.tar vmnet.old.tar # sed -i -e 's/dev->trans_start = jiffies/netif_trans_update\(dev\)/g' vmnet-only/netif.c # tar cf vmnet.tar vmnet-only # vmwa

Raspberry Pi Kernel Compilation 内核编译官方文档

elinux.org/Raspberry_Pi_Kernel_Compilation#Use_the_provided_compiler Software & Distributions: Software - an overview. Distributions - operating systems and development environments for the Raspberry Pi. Kernel Compilation - advice on compiling a ker

Linux Kernel的Makefile与Kconfig文件的语法

https://www.kernel.org/doc/Documentation/kbuild/kconfig-language.txt Introduction ------------ The configuration database is a collection of configuration options organized in a tree structure: +- Code maturity level options | +- Prompt for developme

Linux kernel 模块 hello 测试

原文链接:https://www.cnblogs.com/nerohwang/p/3621316.html hello.c 文件: #include <linux/kernel.h> /*Needed by all modules*/ #include <linux/module.h> /*Needed for KERN_* */ #include <linux/init.h> /* Needed for the macros */ MODULE_LICENSE(&qu

Linux Kernel - Debug Guide (Linux内核调试指南 )

http://blog.csdn.net/blizmax6/article/details/6747601 linux内核调试指南 一些前言 作者前言 知识从哪里来 为什么撰写本文档 为什么需要汇编级调试 ***第一部分:基础知识*** 总纲:内核世界的陷阱 源码阅读的陷阱 代码调试的陷阱 原理理解的陷阱 建立调试环境 发行版的选择和安装 安装交叉编译工具 bin工具集的使用 qemu的使用 initrd.img的原理与制作 x86虚拟调试环境的建立 arm虚拟调试环境的建立 arm开发板调试环

配置Linux Kernel时make menuconfig执行流程分析

   在编译内核前,一般是根据已有的配置文件(一般在内核根目录下的arch/arm/configs/文件夹下,把该目录下的xxx_defconfig文件拷贝到内核根目录下,并重命名为.config)来进行编译; 或者需要先配置裁剪内核. 假设我们要基于一块ARM芯片的开发板配置裁剪内核时,在内核的根目录下运行:make ARCH=arm menuconfig命令后,会弹出如下配置界面: 当我们在内核的根目录下运行make ARM=arm menuconfig这条命令时,内核根目录下的Makefi

[dpdk][kernel][driver] 如何让DPDK的UIO开机自动加载到正确的网卡上 (没搞定)

0. 前言 开了虚拟机,开始dpdk之前,我每天都干这几件事: [[email protected] potatos]# modprobe uio [[email protected] potatos]# insmod /root/dpdk/x86_64-native-linuxapp-gcc/kmod/igb_uio.ko [[email protected] potatos]# /root/dpdk/tools/dpdk-devbind.py -b igb_uio 0000:00:04.0

CentOS启动流程、Grub legacy配置、linux kernel模块管理、伪文件系统介绍

写在前面: 博客书写牢记5W1H法则:What,Why,When,Where,Who,How. 本篇主要内容: ● 启动相关基础概念汇总 ● 启动流程 ● init程序类型     /etc/rc.d/rc     chkconfig     /etc/rc.d/rc.sysinit ● GRUB legacy     命令行接口     配置文件 ● Linux Kernel     内核模块查看与管理         lsmod         modinfo         modprob