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

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

大家好,又见面了,我是全栈君。


1. openSUSE是一款优秀的linux。

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

2.选择默认虚拟机


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

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

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

4.选择linux  opensuse


5. 选择默认虚拟机名称

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

6.设置处理器为双核。

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

7.内存设置为2G

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

8. 选择网络地址转换

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

9.设置IO控制器

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

10. 选择默认磁盘类型

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

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

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

12.设置磁盘大小

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

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

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

14. 完毕虚拟机创建

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

15.设置虚拟机

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

16.选择opensuse镜像

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


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

17.开启虚拟机

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

18.虚拟机启动

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

19.安装opensuse

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

20.安装程序载入

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

21.系统启动中

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

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

22.系统初始化中

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

23.选择中文,開始安装

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

 

24.允许协议

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

 

25.单击下一步。这两步兴许完毕

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

26.单击下一步

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

27.同步NTPserver

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

28.单击下一步

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

 

29.选择KDE桌面

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

 

30.设置账户password

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

31.開始分析系统

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

 

32.開始安装软件

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

33.全选全部的选项

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

C/C++开发

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

Linux内核驱动开发

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

34.開始安装

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

 

35.安装中

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

36.安装进行时

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

37.安装完毕进入界面

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

38.写一个C语言的helloworld

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

39.启动终端

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

40.进入路径

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

 

41.编译运行

 

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

 

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

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

 

43. 打印语句,C++

 

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

44.打印出结果

 

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

45. 驱动的helloworld

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

#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键

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

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.编译驱动

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

48 超级管理员载入驱动

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

49 看到驱动输出

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

50 卸载驱动,并查看

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

51驱动退出。

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

52遍历全部驱动

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

 

53. 驱动程序list

 

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

54.

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/115525.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • DB9 公头母头引脚定义及连接

    DB9 公头母头引脚定义及连接

    2021年11月16日
    54
  • gateway网关详解_网关和网桥的定义

    gateway网关详解_网关和网桥的定义3.5.Gateway网关的概念之前的操作,我们有了管理他的配置中心和注册中心。下一步我们就要配置网关了。于是,问题就要回到什么是网关?以及为什么要配置网关上来了。先聊聊为什么要配置网关。注册中心相当于对各种服务进行调度,把他们安排的明明白白的。但注册中心能力再打,他也没办法安置前端的请求,让他们一一入座,也没办法对一些恶意请求进行拦截。问题就出现了,前端服务此时只能自己在配置里改变请求的位置,而且,每次改变请求就要更改配置,重新上线。恶意请求也无法拦截。这显然是不合理的。于是,网关出现了。

    2022年10月11日
    4
  • python之sympy库–数学符号计算与绘图必备[通俗易懂]

    python之sympy库–数学符号计算与绘图必备[通俗易懂]在实际进行数学运算的时候,其实有两种运算模式,一种是数值运算,一种是符号运算(代数)。而我们日常使用计算机进行数值运算,尤其是比如除、开平方等运算时,往往只能得到其近似值,最终总会已一定的误差,如果使用符号运算模式,则可以完全避免此种问题。一、数学符号及符号表达式符号表达式,区别于常规的数值型数学表达式,常规数学表达式,比如x+y*2等,基本x和y是一个变量,且变量最终也会被赋值,由变量组成的表达式,最后得出的也是一个数值。而符号表达式,则真正的由符号组成,而符号无需提前赋值,由符号组成的表达式

    2022年6月4日
    42
  • 单例设计模式的几种写法(java版本、超详细)

    单例设计模式的几种写法(java版本、超详细)

    2021年8月4日
    79
  • 基于单片机的八路抢答器的设计与实现_基于单片机的三路抢答器设计

    基于单片机的八路抢答器的设计与实现_基于单片机的三路抢答器设计1.设计要求:1.以单片机为核心,设计一个八位竞赛抢答器:同时供八名选手或八个代表队比赛,分别用八个按钮S0~S7表示。2.设置一个系统清除和抢答控制开关S,开关由主持人控制。3.抢答器具有锁存与显示功能。即选手按按钮,锁存相应的编号,并在优先抢答选手的编号一直保持到主持人将系统清除为止。4.抢答器具有定时抢答功能,且一次抢答的时间由主持人设定(如30秒)。5.当主持人启动“开始”键后,定时器进行减计时,同时扬声器发出短暂的声响,声响持续的时间为0.5s左右。6.参赛选手在设定的时间

    2022年10月9日
    4
  • oracle提示未明确定义列_oracle数据库免费吗

    oracle提示未明确定义列_oracle数据库免费吗这种情况出现的原因一般是列名重复。数据库中创建如下表进行测试:createtableqq_test(aintPRIMARYkey,bvarchar2(32))首先执行:selecta,b,afromqq_test;执行结果如下:再执行:select*from(selecta,b,afromqq_test);执行结果如下:去掉重复的列名,或者用别名代替既可,如:select*from(select…

    2022年10月4日
    6

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号