【Linux操作系统】Linux内核插入卸载模块

  • 打开终端
  • 输入:mkdir moduleTest,创建一个放置文件的文件夹
  • 进入文件夹,cd moduleTest
  • 创建文件:nano hello.c,文件内容如下:
#include <linux/init.h>
#include <linux/module.h>
MODULE_LICENSE("Dual BSD/GPL");

static int hello_init(void){
    printk(KERN_ALERT"Hello, xiaoming\n");
    return 0;
}

static void hello_exit(void){
    printk(KERN_ALERT"Goodbye, xiaoming\n");
}

module_init(hello_init);
module_exit(hello_exit);
  • 创建Makefile文件:nano Makefile,代码如下:
obj-m := hello.o
KERNELBUILD :=/usr/src/linux-headers-3.11.0-12-generic
default:
    make -C $(KERNELBUILD) M=$(shell pwd) modules
clean:
    rm -rf *.o  *.ko *.mod.c .*.cmd .tmp_versions *.order *.symvers

里面的路径因Linux版本而异,可以自己去对应路径查看一下

  • 编译,输入 make,编译过程:

  • 插入模块:sudo insmod hello.ko
  • 删除模块:sudo rmmod hello.ko
  • 查看结果:dmesg | grep “xiaoming”

    dmesg查看系统内核模块信息

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

时间: 2024-10-09 11:04:56

【Linux操作系统】Linux内核插入卸载模块的相关文章

Linux下的内核编译与模块操作

Linux下的内核编译与模块操作 一:实验环境 1):虚拟机 2):linux系统 3):linux系统的硬盘的空余空间要大于7G 4):虚拟机的内存要大于2.5G以上 二:实验目标 1):源码编译Linux内核 2):使用Linux内核模块 3):实战-编译一个NTFS内核模块,实现linux挂载NTFS文件系统并实现读写功能 三:实验脚本 第一块 --源码编译Linux内核 linux系统与windows系统是两种截然不同的系统,windows系统中的软件都是需要付费的,而linux系统中的

Linux操作系统 Linux内核

Linux内核 预备知识: 1.POSIX(Portable Operating System Interface of UNIX-可移植操作系统接口):定义了操作系统应该为应用程序提供的接口标准,是IEEE为要在各种UNIX操作系统上运行的软件而定义的一系列API标准的总称.不同的操作系统根据POSIX标准将实现相同的功能的系统调用标准化. 2.一方面,设计程序只需要跟API打交道和系统调用无关紧要,另一方面,内核只跟系统调用打交道,库函数及应用程序是怎么系统调用不是内核所关心的. 3.完成同

linux操作系统网络内核优化

服务器做web应用(Http/Nginx)Linux内核参数优化 Linux系统下,TCP连接断开后,会以TIME_WAIT状态保留一定的时间,然后才会释放端口.当并发请求过多的时候, 就会产生大量的TIME_WAIT状态的连接,无法及时断开的话,会占用大量的端口资源和服务器资源.这个时候我们可以优化TCP的内核参数, 来及时将TIME_WAIT状态的端口清理掉. 本文介绍的方法只对拥有大量TIME_WAIT状态的连接导致系统资源消耗有效,如果不是这种情况下,效果可能不明显. 可以使用netst

解析 Linux 内核可装载模块的版本检查机制

转自:http://www.ibm.com/developerworks/cn/linux/l-cn-kernelmodules/ 为保持 Linux 内核的稳定与可持续发展,内核在发展过程中引进了可装载模块这一特性.内核可装载模块就是可在内核运行时加载到内核的一组代码.通常 , 我们会在两个版本不同的内核上装载同一模块失败,即使是在两个相邻的补丁级(Patch Level)版本上.这是因为内核在引入可装载模块的同时,对模块采取了版本信息校验.这是一个与模块代码无关,却与内核相连的机制.该校验机

Linux操作系统中“rpm”命令的详细介绍

Linux中常见的软件包封装类型如下所述: RPM软件包:这种软件包的扩展名为 ".rpm" ,只能在使用RPM机制的Linux操作系统中安装,如RHEL.Fedora.centOS等.RPM软件包一般针对特定版本的操作系统量身定制,因此依赖性较强. 源代码安装包:这种软件包是程序员开发完成的原始代码,一般被制作成 ".tar.gz" 或 ".tar.bz2" 等格式的压缩包文件,因多数使用 tar 命令打包而成的,所以经常被称为 "t

Linux 操作系统发展历程及系统版本选择

第1章 Linux简介 1.1 什么是操作系统? 简单讲:操作系统就是一个人与计算机硬件的中介. 操作系统,英文名称Operating System,简称OS,是计算机系统中必不可少的基础系统软件,它是应用程序运行以及用户操作必备的基础环境支撑,是计算机系统的核心. 操作系统的作用是管理和控制计算机系统中的硬件和软件资源,例如,它负责直接管理计算机系统的各种硬件资源,如对CPU,内存,磁盘等的管理,同时对系统资源供需的优先次序进行管理.操作系统还可以控制设备的输入,输出以及操作网络与管理文件系统

操作系统 Linux系统

Linux操作系统 预备知识(Operating System): 1.GNU项目,GNU项目是一个自由软件项目,旨在建立一个完全自由开放通用的UNIX软件平台. 2.操作系统:管理计算机硬件和软件资源的程序,而且操作系统需要处理如管理与配置内存.决定系统资源供需的优先次序.控制输入设备与输出设备.操作网络与管理文件系统等基本事务.操作系统也提供一个让用户与系统交互的操作界面. 3.操作系统基础知识:一.四个特性:并发:同一段时间内多个程序执行(注意区别并行和并发,前者是同一时刻的多个事件,后者

使用 /proc 文件系统来访问 linux操作系统 内核的内容 &amp;&amp; 虚拟文件系统vfs及proc详解

http://blog.163.com/he_junwei/blog/static/19793764620152743325659/ http://www.01yun.com/other/20130422/366044.html 使用 /proc 文件系统来访问 Linux 内核的内容 这个虚拟文件系统在内核空间和用户空间之间打开了一个通信窗口 简介: /proc 文件系统是一个虚拟文件系统,通过它可以使用一种新的方法在 Linux? 内核空间和用户空间之间进行通信.在 /proc 文件系统中,

linux内核hello world模块编写

#include <linux/module.h> #include <linux/kernel.h> #include <linux/init.h> int param = 0; /* 设备模块注册时执行的初始化函数 */ static int __init initialization_module(void) { printk("Hello world.\n"); printk("param = %d.\n", param)