Unix/Linux环境C编程入门教程(12) openSUSECCPP以及Linux内核驱动开发环境搭建

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内核驱动开发环境搭建,布布扣,bubuko.com

时间: 2024-07-30 13:43:58

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

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

1. openSUSE是一款优秀的linux. watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvaXRjYXN0Y3Bw/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" /> 2.选择默认虚拟机 3.选择稍后安装操作系统 4.选择linux  opensuse 5. 选择默认虚拟机名称 6.设置处理器为双核. watermark/2/text/a

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

Unix/Linux版本众多,我们推荐Unix/Linux初学者选用几款典型的Unix/Linux操作系统进行学习. Red Hat Enterprise Linux是Red Hat公司的Linux发行版,面向商业市场,包括大型机.红帽公司从Red Hat Enterprise Linux 5开始对企业版LINUX的每个版本提供10年的支持[1].而Red Hat Enterprise Linux常简作RHEL. 1. 启动Vmware,如果没有安装的话,请看前面VMware安装的视频 2.选中

Unix/Linux环境C编程入门教程(41) C语言库函数的文件操作详解

?? 上一篇博客我们讲解了如何使用Linux提供的文件操作函数,本文主要讲解使用C语言提供的文件操作的库函数. 1.函数介绍 fopen(打开文件) 相关函数 open,fclose 表头文件 #include<stdio.h> 定义函数 FILE * fopen(const char * path,const char * mode); 函数说明 参数path字符串包含欲打开的文件路径及文件名,参数mode字符串则代表着流形态. mode有下列几种形态字符串: r 打开只读文件,该文件必须存

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

Unix/Linux版本众多,我们推荐Unix/Linux初学者选用几款典型的Unix/Linux操作系统进行学习. 本文就带大家来安装Solaris 11 64位并且配置好C/C++开发环境 本文所需软件下载地址 33.  F2 开始安装 34.待安装完成 按F8重启 35.重启后的界面  直接回车  启动 36. 登陆切换到我们刚刚创建的用户 待切成功的时候我们就加载合成的镜像文件sol-11_1-repo-full.iso 然后我们切换到root用户 37.先取消掉已连接的状态 38.重新

Unix/Linux环境C编程入门教程(24) MySQL 5.7.4 for Red Hat Enterprise 7(RHEL7)的安装

远观历史, MySQL的主要目的是为了能够在单处理器核心的商业服务器上运行.如今MySQL的一个变化用户可能不会注意到,那就是甲骨文已经开始重新架构MySQL的代码,使它大量的模块化.如软件解析器,优化和复制功能以模块化的形式被重写.该版本的查询性能得以大幅提升,比 MySQL 5.6 提升 1 倍,新版本的 MySQL 在测试平台上可达到每秒 512000 只读 QPS,而 MySQL 5.6 最高只能到 250000 QPS.该性能的提升是通过其 Memcached 插件实现的.同时该版本在

Unix/Linux环境C编程入门教程(40) 初识文件操作

?? 1.函数介绍 close(关闭文件) 相关函数 open,fcntl,shutdown,unlink,fclose 表头文件 #include<unistd.h> 定义函数 int close(int fd); 函数说明 当使用完文件后若已不再需要则可使用close()关闭该文件,二close()会让数据写回磁盘,并释放该文件所占用的资源.参数fd为先前由open()或creat()所返回的文件描述词. 返回值 若文件顺利关闭则返回0,发生错误时返回-1. 错误代码 EBADF 参数fd

Win10与VS2015搭建内核驱动开发环境遇到的问题

关于在Win10与vs2015环境下搭建内核驱动开发环境看这两篇文章: WIN10 + VS2015 + WDK10 + SDK10 + VM虚拟机驱动开发调试环境搭建 Win10下VS2015(WDK10)驱动开发环境配置 搭建过程中遇到的问题 本人环境介绍: 物理机win10企业版 10586.218 虚拟机win10专业版 10586.218 vs2015 update2 Windbg 10.0.10586.567 Windows Driver Kit 10.0.10586.0 Windo

[国嵌攻略][102][内核驱动开发环境搭建]

服务器环境搭建 1.配置tftp服务器 1.1.设置tftp目录 vim /etc/xinetd.d/tftp server_args             = -s .../tftp disable                 = no 1.2.启动tftp服务 /etc/init.d/xinetd restart 2.配置nfs服务器 2.1.设置nfs目录 vim /etc/exports .../nfs *(rw,sync,no_root_squash) 2.2.启动nfs服务 /

Unix/Linux环境C编程入门教程(30) 字符串操作那些事儿

函数介绍 rindex(查找字符串中最后一个出现的指定字符) 相关函数 index,memchr,strchr,strrchr 表头文件 #include<string.h> 定义函数 char * rindex( const char *s,int c); 函数说明 rindex()用来找出参数s字符串中最后一个出现的参数c地址,然后将该字符出现的地址返回.字符串结束字符(NULL)也视为字符串一部分. 返回值 如果找到指定的字符则返回该字符所在的地址,否则返回0. 范例 #include