centos6.5下编译hello.ko驱动程序

说明:

  该驱动编译过程是在虚拟机中,安装完centos 6.5系统后:

A:默认make为用的自带的内核版本,我的centos 6.5系统 版本为(命令uname -r):2.6.32-431.el6.x86_64时:

A1、cd /usr/src/kernel/下;
A2、将2.6.32-431.el6.x86_64的kernel文件夹复制到/usr/src/下;
A3、在/usr/src/2.6.32-431.el6.x86_64/drivers/下创建存放hello测试程序的目录:mkdir test;
A4、进入到test下,创建hello.c和Makefile
A5、其中hello.c如下:
/*****************************/
#include <linux/init.h>
#include <linux/module.h>
MODULE_LICENSE("Dual BSD/GPL");

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

static void hello_exit(void)
{
printk(KERN_ALERT " Hello world exit\n");
}

module_init(hello_init);
module_exit(hello_exit);

MODULE_AUTHOR("zzz");
MODULE_DESCRIPTION("A simple Hello world module");
MODULE_ALIAS("a simplest module");
/*****************************************/

而Makefile中只有一句:obj-m := hello.o

A6、在当前test目录下,执行:
make -C /usr/src/2.6.32-431.el6.x86_64 M=$(pwd) modules

完成后,则在当前目录下能够看到hello.ko驱动文件。

执行modinfo hello.ko将看到该模块的信息如下:
/****************************/
filename: hello.ko
alias: a simplest module
description: A simple Hello world module
author: zzz
license: Dual BSD/GPL
srcversion: 5AB83CD37662439404D5EE3
depends:
vermagic: 2.6.32-431.el6.x86_64 SMP mod_unload modversions
/*****************************/

A7、执行insmod hello.ko,将驱动模块加载到内核中

A8、执行cat /var/log/messages | tail
将在屏幕上看到系统打印的信息:Apr 2 18:02:51 localhost kernel: Hello world enter。

A9、执行rmmod hello.ko 从内核中移除hello驱动模块和 cat /var/log/messages |tail
将在屏幕上看到系统打印信息:Apr 2 18:04:33 localhost kernel: Hello world exit。

A10、至此,在自带的centos 6.5下的hello.ko驱动编译结束。

时间: 2024-10-25 18:38:46

centos6.5下编译hello.ko驱动程序的相关文章

CentOS6.5_64bit下编译安装MySQL-5.6.23

转载请注明出处:http://blog.csdn.net/guoyjoe/article/details/44785511 ************************************************************         CentOS6.5_64bit下编译安装MySQL-5.6.23 **************************************************************一.关闭防火墙chkconfig iptable

Linux(CentOS6.5)下编译安装PHP5.6.22时报错&rdquo;configure: error: ZLIB extension requires gzgets in zlib&rdquo;的解决方式(确定已经编译安装Zlib,并已经指定Zlib路径)

本文地址http://comexchan.cnblogs.com/,作者Comex Chan,尊重知识产权,转载请注明出处,谢谢!   今天在CentOS6.5下编译安装PHP时,一直报错 configure: error: ZLIB extension requires gzgets in zlib 而Zlib确定已经安装了. 使用Google根本搜索不到有关的错误. 尝试重新编译了Zlib,还是不行. 后面发现我的PHP编译选项里面有个 --with-libdir=lib64 \ 删除之,再

centos6.7下编译安装lnmp

很多步骤不说明了,请参照本人的centos6.7下编译安装lamp,这次的架构是nginx+php-fpm一台服务器,mysql一台服务器 (1)首先编译安装nginx: 操作命令: yum -y groupinstall "Development Tools" "Server Platform Development" yum -y install pcre-devel  useradd -r nginx  mkdir /var/tmp/nginx   事先得创建

centos6.7下 编译安装MySQL5.7

centos6.7下编译安装MySQL5.7 准备工作 #-----依赖包及MySQL和boost安装包----- #yum包安装: shell> yum -y install gcc-c++ ncurses-devel cmake make perl gcc autoconf automake zlib libxml libgcrypt libtool bison #获取boost类库(5.7编译需要boost类库,编译时指定boost路径): shell> wget http://down

Linux(CentOS6.5)下编译安装Nginx官方最新稳定版(nginx-1.10.0)

本文地址http://comexchan.cnblogs.com/ ,作者Comex Chan,尊重知识产权,转载请注明出处,谢谢! 下载相关组件源码 组件名 组件官网 直接下载地址 pcre http://www.pcre.org/ http://120.52.73.43/jaist.dl.sourceforge.net/project/pcre/pcre/8.38/pcre-8.38.tar.gz openssl https://www.openssl.org/source/ https:/

CentOS6.8下编译安装GCC

关于 GCC 在 CentOS 下通过 yum 安装默认版本号,CentOS 5 是 4.1.2:CentOS 6 是 4.4.7:CentOS 7 是 4.8.3.很多时候在编译安装软件都需要高版本的 GCC,否则就会报错.那么如何升级 GCC 的版本呢? 首先要确认升级到的 GCC 版本号.目前 GCC 的最新版已经到了 5.2,而 CentOS 7 则依然使用其 4.8,所以基于兼容性考虑,我选择升级到 4.8.5.GCC 官网:https://gcc.gnu.org 下面开始一步一步来编

centos6.7下编译安装lamp环境

编译C源代码: 前提:提供开发工具及开发环境 通过“包组”提供开发组件,CentOS 6: "Development Tools", "Server Platform Development" 第一步 configure脚本: 选项:指定安装位置.指定启用的特性 --help: 获取其支持使用的选项 安装路径设定:--prefix=        --sysconfdir=    Optional Features: 可选特性 --disable-FEATURE  

CentOS6.5下编译安装LAMP环境

LAMP(Linux-Apache-MySQL-PHP)网站架构是目前国际流行的Web框架.该框架能够满足大流量.大并发量的网站需求:当然.也可以直接使用高性能的服务器.高性能的负载均衡硬件以及CDN加速等.若想真正的设计一个非常好的支撑高并发.高吞吐量的架构,除了必要的高性能的硬件之外,还必须要慎重的选择高性能的操作系统.高性能的网页服务器.高性能的数据库.高性能的编程语言等. LAMP框架包括: 1. Linux操作系统 2. Apache网络服务器 3. MySQL数据库 4. Perl.

Linux CentOS6.5下编译安装MySQL 5.6.16【给力详细教程】

一.编译安装MySQL前的准备工作 安装编译源码所需的工具和库 [sql] view plaincopy yum install gcc gcc-c++ ncurses-devel perl 安装cmake,从http://www.cmake.org下载源码并编译安装 [sql] view plaincopy wget http://www.cmake.org/files/v2.8/cmake-2.8.10.2.tar.gz tar -xzvf cmake-2.8.10.2.tar.gz cd