博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
qemu模拟开发板问题记录
阅读量:4107 次
发布时间:2019-05-25

本文共 1801 字,大约阅读时间需要 6 分钟。

问题现象:

guang@arm-vexpress:/ # ls

bin lib mnt sys usr
dev linuxrc proc test var
etc lost+found sbin tmp
guang@arm-vexpress:/ # cd test/
guang@arm-vexpress:/test # insmod qemu.ko
qemu: loading out-of-tree module taints kernel.
guang@arm-vexpress:/test # lsmod
qemu 16384 0 - Live 0x7f000000 (O)
guang@arm-vexpress:/test # insmod qemu.ko
insmod: can’t insert ‘qemu.ko’: File exists

问题1:如上,首次加载ko,提示out-of-tree,lsmod确显示ko已加载,insmod会报ko已经存在,wiki参考说是“内核在编译的时候选择支持内核签名机制,据说在3.7版本后面就支持”,不太确定,wiki地址:

guang@arm-vexpress:/test # rmmod qemu.ko

[Info]Hello! Enter QEMU.
guang@arm-vexpress:/test # insmod qemu.ko
[Info]Hello! Exit QEMU.
guang@arm-vexpress:/test # lsmod
qemu 16384 0 - Live 0x7f010000 (O)
guang@arm-vexpress:/test # rmmod qemu.ko
[Info]Hello! Enter QEMU.
guang@arm-vexpress:/test # lsmod
guang@arm-vexpress:/test #

问题2,如下,insmod和rmmod的log正好相反,很奇怪

guang@arm-vexpress:/test # lsmod

guang@arm-vexpress:/test # insmod qemu.ko
[Info]Hello! Exit QEMU.
guang@arm-vexpress:/test # rmmod qemu.ko
[Info]Hello! Enter QEMU.
guang@arm-vexpress:/test #
这里写图片描述

源码如下:

// qemu.c#include 
#include
static int __init qemu_init (void){ printk (KERN_INFO"[Info]Hello! Enter QEMU."); return 0;}module_init (qemu_init);static void __exit qemu_exit (void){ printk (KERN_INFO"[Info]Hello! Exit QEMU.");}module_exit (qemu_exit);MODULE_AUTHOR ("Guang-kylin");MODULE_LICENSE ("GPL v2");MODULE_DESCRIPTION ("A simple qume test module");MODULE_ALIAS ("QEMU module");
// makefileKDIR=/home/guang/Develop/linux-stablePWD=$(shell pwd)# Kernel modulesobj-m += qemu.omodule-objs = qemu.oARCH=armCROSS_COMPILE=arm-linux-gnueabi-CC := $(CROSS_COMPILE)gccLD := $(CROSS_COMPILE)ld#EXTRA_CFLAGS=-g -O0default:        make -C $(KDIR) M=$(PWD) modulesclean:        rm -f *.ko *.o *.mod.c *.symvers *.order
你可能感兴趣的文章
【Python】学习笔记——-7.0、面向对象编程
查看>>
【Python】学习笔记——-7.1、类和实例
查看>>
【Python】学习笔记——-7.2、访问限制
查看>>
【Python】学习笔记——-7.3、继承和多态
查看>>
【Python】学习笔记——-7.4、获取对象信息
查看>>
【Python】学习笔记——-7.5、实例属性和类属性
查看>>
Linux设备模型(总线、设备、驱动程序和类)之四:class_register
查看>>
git中文安装教程
查看>>
虚拟机 CentOS7/RedHat7/OracleLinux7 配置静态IP地址 Ping 物理机和互联网
查看>>
弱类型、强类型、动态类型、静态类型语言的区别是什么?
查看>>
Struts2技术内幕图书 转载
查看>>
Java异常分类
查看>>
项目中的jackson与json-lib使用比较
查看>>
Jackson Tree Model Example
查看>>
j2ee-验证码
查看>>
日志框架logj的使用
查看>>
js-高德地图规划路线
查看>>
常用js收集
查看>>
mydata97的日期控件
查看>>
如何防止sql注入
查看>>