hello ko

2024-08-23 12:38
文章标签 hello ko

本文主要是介绍hello ko,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、查看内核版本

uname -r

 

编译内核模块必须有对应的内核版本的源码,不同的机器内核源码位置不同,本实验源码位置如下:

二、编码

//内核模块必须引入的头文件
#include <linux/kernel.h>
#include <linux/module.h>
//内核模块初始化函数,必须以__init作为标志
static int __init hello_init(void)
{printk("hello world");return 0;
}
//内核退出模块 
static void __exit hello_exit(void)
{return;
}module_init(hello_init);
module_exit(hello_exit);
//遵守的协议 
MODULE_LICENSE("GPL");

三、编写Makefile

obj-m += demo.o     #指定编译模块名称,会自动寻找hello.c  
CURRENT_PATH:=$(shell pwd)  
LINUX_KERNEL:=$(shell uname -r)  LINUX_KERNEL_PATH:=/usr/src/kernels/3.10.0-1062.9.1.el7.x86_64/    #内核源码目录  all:  make -C $(LINUX_KERNEL_PATH) M=$(CURRENT_PATH) modules     #C进入内核目录读取Makefile,M表明后回到当前目录读取Makefile  clean:  make -C $(LINUX_KERNEL_PATH) M=$(CURRENT_PATH) clean       #table不是空格

四、编译内核模块

 

五、安装内核模块

查看内核模块信息
[root@VM_0_11_centos Oops]# modinfo demo.ko
filename:       /home/Oops/demo.ko
license:        GPL
retpoline:      Y
rhelversion:    7.7
srcversion:     FA212459DF3D7FE0878E9BD
depends:        
vermagic:       3.10.0-1062.9.1.el7.x86_64 SMP mod_unload modversions 
[root@VM_0_11_centos Oops]# insmod demo.ko
[root@VM_0_11_centos Oops]# dmesg | grep hello
[84145.145935] hello world
[84267.629481] hello world

 

 

 

 

这篇关于hello ko的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1099410

相关文章

【Spring boot】编写代码及测试用例入门之 Hello Spring boot _踩坑记

先贴下目录: 这是我从 start.spring.io 里下载的依赖Web的模板 // DemoApplication.javapackage com.abloume.springboot.blog.demo;import org.springframework.boot.SpringApplication;import org.springframework.boot.autocon

【JFinal】IDEA+maven上手JFinal之Hello World!

一、New Project 1、在 IDEA 环境下新建 Project 项目 2、选择创建 Maven 项目,并且不使用模板 3、输入 Maven 的 GroupId 和 ArtifactId 4、输入项目名称 二、将当前 Project 改为 POM 工程 将项目的 jfinal-web-demo 作为项目的 parent 工程,用于定义 maven 依赖包的版本信息、

hello,大家好。

由于最近工作变动,目前是从河北来到了广东。 顾不上写博客了,请大家谅解。 后续会慢慢的恢复正常的节奏,很感谢大家的关注。

java-在idea中antrl的hello world

java-在idea中antrl的hello world 1. 在idea中安装ANTLR V4的插件2. 下载ANTLR的jar包3. idea中创建普通的java项目4. 创建一个Hello.g4的文件5. 使用idea生产接口文件6. java创建一个类和main方法7. 调试输出8. 参考链接 1. 在idea中安装ANTLR V4的插件 路径如下,安装完成后重启ide

java-antrl手敲命令的hello world

java-antrl手敲命令的hello world 环境步骤1. 下载ANTLR的jar包2. 新建一个g4文件3. 生成语法对应的java文件4. 编译语法对应的java文件5. 测试语法5.1 打印测试信息5.2 查看语法分析树 6. 注意事项6.1 每一个antlr4版本的jar包都对应java的相应版本,要对应。6.2 [@1,6:10='parrt',<ID>,1:6]解析6.3

驱动ko文件开机自动加载配置

直接编辑/etc/modules添加驱动名称(不要加后缀名)这里以test_pci.ko为例子 vim /etc/modules# /etc/modules: kernel modules to load at boot time.## This file contains the names of kernel modules that should be loaded# at boot

汇编语言输出“Hello World!“

1.软件 Nasmide64.exe(李忠老师编写) Fixvhdw64.exe(李忠老师编写) VirtualBox虚拟机(免费 开源) 2.过程 01.Fixvhdw64.exe输入以下代码: mov ax,0xb800mov ds,axmov byte [0x00],'H'mov byte [0x02],'e'mov byte [0x04],'l'mov byte [0

c++的Hello World!

Hello的区别 #include <iostream>using namespace std;​int main(int argc,const char* argv[]){cout << "Hello World!" << endl;return 0;} 文件扩展名: cpp、C、cxx 头文件: C++语言的标准库文件,文件名的末尾不带.h,iostream用于标准输入输出

hello树先生——红黑树

红黑树 一.什么是红黑树二.红黑树的实现1.创建树节点结构2.插入功能的实现 三.提供一些常见二叉树接口四.进行平衡测试 一.什么是红黑树 红黑树是一种自平衡的二叉搜索树,具有以下特性: 节点颜色:每个节点要么是红色,要么是黑色。根节点:根节点始终是黑色。红色节点:红色节点的子节点不能是红色(即没有两个连续的红色节点)。黑色节点:从任何节点到其每个叶子节点的路径上,必须包含

world wind for web的hello world

闲来无事,看了一下WorldWind,整理了一个demo。关于WorldWind,官方介绍如下: WorldWind是开源免费的API,用于可视化和承载地理空间数据。我们拥有安卓、浏览器和桌面等客户端开发库,为开发者提供快速和简单实用的3D球体、地图和地理信息可视化工具。我们的服务器套件扩展了GeoServer的功能,提供了端到端的地理空间解决方案。 使用WorldWind可以监控全球天气模式