1. openSUSE是一款优秀的linux。

2.选择默认虚拟机

3.选择稍后安装操作系统

4.选择linux  opensuse

5. 选择默认虚拟机名称

6.设置处理器为双核。

7.内存设置为2G

8. 选择网络地址转换

9.设置IO控制器

10. 选择默认磁盘类型

11.创建一个新的虚拟磁盘

12.设置磁盘大小

13.选择路径保存虚拟磁盘

14. 完成虚拟机创建

15.设置虚拟机

16.选择opensuse镜像

17.开启虚拟机

18.虚拟机启动

19.安装opensuse

20.安装程序加载

21.系统启动中

22.系统初始化中

23.选择中文,开始安装

24.同意协议

25.单击下一步,这两步后续完成

26.单击下一步

27.同步NTP服务器

28.单击下一步

29.选择KDE桌面

30.设置账户密码

31.开始分析系统

32.开始安装软件

33.全选所有的选项

C/C++开发

Linux内核驱动开发

34.开始安装

35.安装中

36.安装进行时

37.安装完成进入界面

38.写一个C语言的helloworld

39.启动终端

40.进入路径

41.编译执行

42.写一个C++的代码1,cc

43. 打印语句,C++

44.打印出结果

45. 驱动的helloworld

#include <linux/init.h> //驱动初始化

#include <linux/module.h>//驱动模块

MODULE_LICENSE("Dual BSD/GPL");//遵循linux协议

static int hello_init(void)

{

printk(KERN_ALERT "Hello, world\n");//打印驱动信息

return 0;

}

static void hello_exit(void)

{

printk(KERN_ALERT "Goodbye, cruel world\n");//打印驱动信息

}

module_init(hello_init);//打印驱动初始化信息

module_exit(hello_exit);//打印驱动结束信息

46.q驱动的编译选项,注意all,clean下面的操作前面都要加tab键

pwd = $(shell pwd)

KERNEL_SRC = /lib/modules/$(shell uname-r)/build

obj-m := hello.o

module-objs := hello.o

all:

$(MAKE) -C $(KERNEL_SRC) M=$(PWD) modules

clean:

rm *.ko

rm *.o

47.编译驱动

48 超级管理员加载驱动

49 看到驱动输出

50 卸载驱动,并查看

51驱动退出。

52遍历所有驱动

53. 驱动程序list

54.

这个时候openSUSE CCPP以及Linux内核驱动开发环境搭建完成,希望大家认真实践。

Unix/Linux环境C编程入门教程(12) openSUSECCPP以及Linux内核驱动开发环境搭建的更多相关文章

  1. Unix/Linux环境C编程新手教程(12) openSUSECCPP以及Linux内核驱动开发环境搭建

    1. openSUSE是一款优秀的linux. watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvaXRjYXN0Y3Bw/font/5a6L5L2T/font ...

  2. Unix/Linux环境C编程入门教程(1) Solaris 11 64bit环境搭建

    Unix/Linux版本众多,我们推荐Unix/Linux初学者选用几款典型的Unix/Linux操作系统进行学习. 本文就带大家来安装Solaris 11 64位并且配置好C/C++开发环境 本文所 ...

  3. Unix/Linux环境C编程入门教程(19)Red Hat Entetprise Linux 7.0环境搭建

    位架构,包括英特尔X-86_64.Power和s390.动态定时能力将降低内核内部中断数量,Open vSwitch 2.0功能可调节虚拟机之间的流量.RHEL 7中默认的文件系统是XFS,包含了一个 ...

  4. Unix/Linux环境C编程入门教程(5) Red Hat Enterprise Linux(RHEL)环境搭建

    Unix/Linux版本众多,我们推荐Unix/Linux初学者选用几款典型的Unix/Linux操作系统进行学习. 通过./a.out ./Y.out执行出结果,证明C++程序编译成功,也就说明li ...

  5. Unix/Linux环境C编程入门教程(4) Debian Linux环境搭建

    Unix/Linux版本众多,我们推荐Unix/Linux初学者选用几款典型的Unix/Linux操作系统进行学习. 1.广义的Debian是指一个致力于创建自由操作系统的合作组织及其作品,由于Deb ...

  6. Unix/Linux环境C编程入门教程(3) Oracle Linux 环境搭建

    Unix/Linux版本众多,我们推荐Unix/Linux初学者选用几款典型的Unix/Linux操作系统进行学习. 2010年9月,Oracle Enterprise Linux发布新版内核--Un ...

  7. Unix/Linux环境C编程入门教程(2) CentOS环境搭建

    Unix/Linux版本众多,我们推荐Unix/Linux初学者选用几款典型的Unix/Linux操作系统进行学习. 本文就带大家来安装CentOS并且配置好C/C++开发环境,这是一款Linux. ...

  8. Unix/Linux环境C编程入门教程(32) 环境变量那些事儿

    1. getenv() putenv()setenv()函数介绍 getenv(取得环境变量内容) 相关函数 putenv,setenv,unsetenv 表头文件 #include<stdli ...

  9. Unix/Linux环境C编程入门教程(22) C/C++如何获取程序的运行时间

    1.问:知道程序运行时间我们可以做什么? 在<C++应用程序性能优化>一书中,如果大家读过相信大家一定对性能优化这一块非常上心,文中总是对优化前后的时间对比非常直观给我们一个感受. 那么我 ...

随机推荐

  1. 在非MVC环境下使用 Razor引擎

    Razor引擎下载地址: http://github.com/Antaris/RazorEngine 解析Model: string template = "Hello @Model.Nam ...

  2. mac下配置java环境

    1.tomcat配置 http://www.cnblogs.com/freeyiyi1993/p/3436368.html 2.下载eclipse和jdk安装  jdk去oracle网站下载

  3. QFN和QFP的区别

    QFN(quad flat non-leaded package)四侧无引脚扁平封装.多称为LCC. 陶瓷QFN :基本上都是LCC 标记. 塑料QFN 也称为塑料LCC.PCLC.P-LCC 等. ...

  4. C语言入门(18)——数组与字符串

    用来存放字符量的数组称为字符数组.字符串可以看作一个数组,它的元素是字符型的. 字符数组的定义 形式与前面介绍的数值数组相同.例如: char c[10]; 由于字符型和整型通用,也可以定义为int ...

  5. JavaScript代码编写尝试使用Vanilla JS 或者Jquery插件

    From Here: http://vanilla-js.com/ Vanilla JS is a fast, lightweight, cross-platform frameworkfor bui ...

  6. 普林斯顿大学算法课 Algorithm Part I Week 3 比较器 Comparators

    比较器接口(Comparator interface):用可选顺序(alternate order)进行排序 public interface Comparator<key> int co ...

  7. string 转换char类型

    将string转换成char类型 const char *c = string.c_str() char转换string char *c_name = "char" string ...

  8. sdut 3-5 学生成绩统计

    3-5 学生成绩统计 Time Limit: 1000MS Memory limit: 65536K 题目描写叙述 通过本题目练习能够掌握对象数组的使用方法,主要是对象数组中数据的输入输出操作. 设计 ...

  9. Android4.2.2的Stagefright维护编解码器的数据流

    这里是他们自己的源代码阅读点滴总结属性,转请注明出处,谢谢. 欢迎和大家分享.qq:1037701636 email:gzzaigcn2012@gmail.com Android源代码版本号Versi ...

  10. 一个C/C++结构体初始化有趣的现象

    我们知道C语言当中结构可以使用{}进行初始化,例如有结构体定义如下: typedef struct type_t { int a; int b; int c; int d; }type_t; 我们可以 ...