Ubuntu中编译helloworld驱动

1、 新建hello文件夹

2、hello.c

#ifndef __KERNEL__
#  define __KERNEL__
#endif
#ifndef MODULE
#  define MODULE
#endif

// 下面的是主要的内容
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/init.h>

MODULE_LICENSE("GPL");

static int year=2012;

int hello_init()
{
    printk(KERN_ALERT "Hello kernel, it‘s %d!\n",year);
    return 0;
}

void hello_exit()
{
    printk(KERN_ALERT "Bye, kernel!\n");
}

// 下面两个为关键的模块函数
module_init(hello_init);
module_exit(hello_exit);

3、 Makefile

obj-m := hello.o

all :
    $(MAKE) -C /lib/modules/$(shell uname -r)/build M=$(PWD) modules

clean:
    $(MAKE) -C /lib/modules/$(shell uname -r)/build M=$(PWD) clean

注意:$(MAKE)前面为一个TAB键

4、 make

3、 insmod hello.ko

4、 dmesg

时间: 2024-10-10 02:11:31

Ubuntu中编译helloworld驱动的相关文章

ubuntu下编译内核驱动。

目的: 1. 驱动热身.网上有很多类似的文章可供参考. 2. 在操作系统中, 编写这个设备的驱动. 3. 为写qemu的watchdog驱动练手. 有朋友问make的 watchdog驱动 需要什么准备,所以写这个blog. 环境: ubuntu 12.04.4 热身: 首先编写一个简单的 hello world驱动. 耗时(基于熟悉linux环境和操作系统的条件下): 1. 安装操作系统 30-60分钟. 2. 配置操作系统 30分钟.主要是配置中文书法.无其他特殊的配置. 3. 代码编写运行

配置android source 在ubuntu中编译环境

在Ubuntu中可以配置 android source 编译环境,推荐使用最新的64位的Ubuntu  LTS(Long Time Support); 1.安装JDK. AOSP主分支代码需要java7,在Ubuntu上可以使用 OpenJDK. 安装java7的命令: $ sudo apt-get update $ sudo apt-get install openjdk-7-jdk 如果系统中已安装有java环境,可以将其进行更新: $ sudo update-alternatives --

ubuntu中编写helloworld简单c语言程序(先贴上,这个还需要改,因为自己的vi有点问题)

1.首先用vi编写一个c语言程序文件,命令行输入:vi helloworld.c,建立一个名叫"helloworld.c"的文件 2.在文件中输入内容 #include <stdio.h> int main() { printf("hello world!"); return 0; } 3.命令模式下输入:wq,保存并退出 4.输入gcc helloworld.c,编译默认shengc生成名为a.out的执行文件,可以用gcc -o 编译生成其它名字的执

PHP在ubuntu中编译安装

关于怎么获取php源码和解压就不再说了. 编译的参数为: ./configure --prefix=/opt/php --with-bz2 --with-mcrypt --with-mhash --with-openssl --with-pdo-mysql --with-pdo-pgsql --with-mysqli --with-pgsql --enable-calendar --with-gettext --with-iconv --enable-mbstring --with-pspell

Ubuntu中编译链接Opencv应用的简便方式

安装完成Opencv后,使用以下命令查 看编译/连接参数 pkg-config --cflags --libs opencv 可看到如下信息 -I/usr/include/opencv  /usr/lib/x86_64-linux-gnu/libopencv_calib3d.so /usr/lib/x86_64-linux-gnu/libopencv_contrib.so /usr/lib/x86_64-linux-gnu/libopencv_core.so /usr/lib/x86_64-li

【Linux】在Ubuntu中安装Eclipse与Helloworld

在Ubuntu中安装Eclipse之前,必须先如同<[Linux]在Debian配置JDK1.7,与Linux Java Helloworld>(点击打开链接)现在Ubuntu中装好JDK1.7,整个安装过程甚至比Debian的还要简单,安装的过程中,活用好把文件拖进终端,这样就不用输入这么长的路径.Ubuntu与Debian唯一的区别,就是执行命令你通通在前面补个sudo就对了,表示以root用户执行这个命令. 一.Eclipse的下载与安装 1.首先,在Eclipse的官网中下载最新版的L

ubuntu下编译java程序

ubuntu下编译java程序 首先需要安装jdk,并配置好相应环境变量 下面以简单的HelloWorld为例 文件名为HelloWorld.java java代码: public class HelloWorld { public static void main(String args[]) { System.out.println("Hello World!"); } } 编译: javac HelloWorld.java 此时会在当前文件夹生成 HelloWorld.class

Ubuntu下编译3.0.4内核

Ubuntu下编译3.0.4内核 Linux内核3.0版本发布已有一段时间了,不知道这个版本号大跃进的内核是否好用.目前各个发行版的linux还仍未采用3.0的内核,因此可以自己动手编译内核来感受一下!趁着这次编译内核的机会可以再熟悉一下编译内核的步骤. 1.下载并解压内核到任意目录 从源码官网下载最新的内核源码3.0.4,可以解压至任意目录,我放在主目录下: 1 ~$ tar xjvf linux-3.0.4.tar.bz2 2.配置内核 对内核进行配置是为了得到内核配置文件.config.通

在Ubuntu中搭建.NET开发环境

Mono简介Mono是Xamarin公司C#和CLR的ECMA标准基于开发的一个开源的.NET实现版本,它是Linux平台上开发.NET应用程序首选.同时其也提供了Xamarin.IOS和Xamarin.Andriod,是我们可以直接使用C#开发IOS和Andriod手机开发.安装MonoMono的乌班图版本是由社区提供维护的.以下的版本在标准的Ubuntu库中是可用的:Ubuntu Hardy (8.04 LTS):     1.2.6Ubuntu Lucid (10.04 LTS):