my first LKM

TPM 读写NV 前提:#export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH#tcsd源码如下:#include #include "trousers/tss.h"#define CKERR if(result != TSS_SUCCESS) {perror("erro/n"); return 1;}int main(){  阅读详情

2.6的LKM加载机制和2.4有些区别。下面是我的第一个LKM

/*hello.c*/

#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/init.h>
static int hello_init(void) {
  printk(KERN_ALERT"Hello, world!/n");
  return 1;
}

static void hello_exit(void) {
  printk(KERN_ALERT"Goodbye!/n");
}

module_init(hello_init);
module_exit(hello_exit);

 

/*makefile*/

obj-m = hello.o

all:

    make -C /lib/modules/'uname -r'/build M=$(PWD) modules

clean:

    rm *.o *.ko

注意makefile中的两个tab键

 

编译成功后,加载模块

insmod hello.ko

卸载

rmmod hello.ko

# tail /var/log/messages

"Hello world"

"Goodbye"

 

Python-OpenCV及cv2,numpy库最新安装教程[最全步骤] 安装教程目录前言OpenCV-Python安装教程报错解决cv2安装numpy安装opencv安装(附加)总结 前言 首先,我知道一些看到我的Blog的人已经在网上找了很多歪路子,现在已经火冒三丈了(我也是这样过来的hhhh),那么现在,深呼吸,跟着我的教程,不要着急,每一步都要读一遍。完整安装过程需要1个小时左右(仅供参考,本人第一次安装python花了一天(确信)) OpenCV-Python... 阅读详情

相关推荐

Windows下的Geant4安装教程

本教程将从0开始展示在Windows下如何安装Geant4,包括各种辅助工具(QT、Cmake、Visual Studio)的下载安装,环境变量的配置,以及example的生成等。

weixin_49065278的博客 4107

Ubuntu 16.04 下 Sysdig 系统调用监控实战:替代 top/htop 的深度可观测方案

系统调用是操作系统行为的原子单位,也是故障根因分析的黄金信源。相比 top、htop 等资源聚合工具,Sysdig 直接捕获内核级 syscall 事件流,提供文件访问、网络连接、进程创建等全维度可观测能力。其核心价值在于突破用户态视角局限,尤其适用于 Ubuntu 16.04 这类 EOL 但广泛部署于工业控制、边缘网关等关键场景的旧内核环境——在无法升级、不敢重启的‘冻结系统’中,Sysdig 成为唯一能关联进程、文件、socket 与内核行为的诊断手术刀。本文聚焦 Sysdig 在 4.4.x 内核下

Coding 330

Linux:在使用UEFI固件的计算机上内核是如何被启动的

启动计算机通常不是一件难事:按下电源键,稍等片刻,你就能看到一个登录界面,再输入正确的密码,就可以开启一天的网上冲浪之旅了。但偶尔这件事没那么顺利,有时候迎接你的不是熟悉的登录界面,而是一个令人生畏的命令提示符界面,一闪一闪的提示符告诉你:“你碰到麻烦了”。于是你对着错误提示查找解决方法,按照网页上的步骤,你对着提示符输入并执行了几条你完全不理解的命令,计算机又能正常启动了,但同时你发现你那存有大学舍友糗照的硬盘分区被清空了。

imred的专栏 3069

Netfilter,获取http明文用户名和密码

目录 Netfilter简介 实验-target端 内核模块的操作 初始化netfilter 解析http包,获取用户名和密码 实验-hack端 遇到的问题 @ Netfilter简介 Net...

weixin_30279315的博客 423

BCM-BCP-DRP-运维管理之故障管理——故障的分类与处理流程

ITSM Business Continuity Manage(BCM) BusinessContinuityPlan(BCP) 偏业务 DisasterRecoveryPlan(DRP) 偏IT 天塌了,考虑在天塌了的状态下做什么,怎么开展业务就是BCP; 天塌了,考虑怎么把天撑回去,就是DRP。 DRP+BCP+供应链管理+危机管理等就是BCM (业务连续性管...

mmgithub123的博客 2722

告别手动点鼠标:用Python脚本批量跑ADS版图仿真,效率提升10倍(附完整代码)

本文详细介绍了如何利用Python脚本自动化ADS版图仿真流程,显著提升射频工程师的工作效率。通过调用ADS底层接口,实现参数化修改、批量任务调度和结果自动收集,解决了手动操作中的常见问题,如仿真不更新等。附完整代码,帮助开发者快速实现10倍效率提升。

weixin_42523543的博客 331

Netfilter实验

利用netfilter过滤http报文,获取POST请求中的name和password。

Zzxy 1231

别再只怪贴片厂了!从MLCC内部裂纹,看懂物料质量与工艺应力的博弈

本文深入分析了MLCC内部裂纹的失效原因,提供了从裂纹形态学到生产全流程的失效风险地图的完整分析框架。通过实战案例和检测技术组合,帮助工程师精准锁定MLCC失效背后的真凶,优化物料质量和工艺应力管理。

weixin_33122947的博客 293

Linux 内核启动 | 模块自动加载

……

u013669912的博客 1364

2024.6.15丨基于VFDB数据库的致病菌毒力因子注释实战指南

本文提供了一份基于VFDB数据库进行致病菌毒力因子本地化注释的实战指南。详细介绍了从环境准备、DIAMOND工具安装、VFDB数据库选择与构建,到核心比对操作及结果解读与过滤的全流程。重点阐述了本地化分析相较于在线工具在速度、稳定性和批量处理上的优势,旨在帮助微生物基因组研究人员高效、精准地识别致病菌的关键毒力因子。

weixin_29220405的博客 272

AI应用架构师实战:半导体器件仿真AI智能体系统搭建

半导体器件仿真(如MOSFET、FinFET等)是芯片设计的核心环节,传统流程依赖专家手动调参、多物理场仿真引擎(如TCAD)耗时(小时级至天级)、经验难以沉淀,导致研发周期长、成本高。如何构建一个AI智能体系统,实现仿真任务的自动化调度、参数智能优化、结果分析与知识沉淀,成为提升半导体研发效率的关键挑战。

移动开发前沿的博客 1223

Linux内核Jump Labels性能优化:原理、实战与应用场景

在Linux内核开发中,性能优化是核心议题,尤其是针对高频执行路径的条件分支处理。传统if语句会引入分支预测开销,影响流水线效率。Jump Labels(又称Static Keys)作为一种底层机制,通过代码修补技术,将运行时条件判断优化为近乎零开销的跳转或空操作指令。这项技术对于实现高效的事件追踪、动态调试开关和性能监控钩子具有重要价值,广泛应用于内核的tracepoint、debugfs等子系统。通过理解其基于static_key API的工作原理,开发者可以在内核模块中实现类似的高效开关控制,从而在追

343

【PostgreSQL教程】PostgreSQL 特别篇之 语言接口Java

本篇教程的Java程序中开始使用PostgreSQL之前,需要确保在计算机上设置了PostgreSQL JDBC和Java。您可以检查Java教程以在计算机上安装Java。现在让本篇教程检查如何设置PostgreSQL JDBC驱动程序。

No8g攻城狮的博客 1758

Ubuntu 18.04 下 Node.js 生产级配置指南

Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行时环境,其稳定运行高度依赖底层操作系统支持。在 Ubuntu 18.04(代号 bionic)这一长期维护但内核与工具链较旧的发行版中,Node.js 的版本选择、安装方式与权限模型需深度适配——例如 glibc 2.27 和 GCC 7.5.0 对 v20+ 版本存在兼容风险,而 apt 源提供的 v10.x 已终止安全维护。采用 nvm 管理 LTS 版本(如 v18.19.0)可实现多版本隔离、用户级部署与可复现构建,配

weixin_33725270的博客 365

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

xen 添加hypercall

 在linux系统中添加新的系统调用,一般需要三个步骤:1.  注册新的系统调用号2. 更新系统调用表3.  添加新函数在xen中添加一个 hypercall,类似于在linux中添加一个系统调. 基本上也是上面几个步骤。现在举个具体的例子:比如我们要在xen中添加一个打印消息的hypercall,参数有一个,类型为char*, 代表我们要打印的消息. 函数原型为:

sploving的专栏 5786

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

enable Selinux

<br />系统开启selinux步骤如下:<br />配置内核config文件,开启SELINUX 获得SElinux策略包以及工具 <br /> apt-get install selinux-basics selinux-policy-default1 . <br />运行selinux-activate 来配置Grub重启. <br />运行check-selinux-installation 检查selinux是不是装成功。 如果出现FSCKFIX的错误,设置/etc/defaul

sploving的专栏 2848

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

ubuntu10.04,编译xen 4.01

<br />1.下载xen4.01的源码<br />2.安装必须的软件包(请参考http://wiki.xensource.com/xenwiki/Xen4.0)apt-get install bcc bin86 gawk bridge-utils iproute libcurl3 libcurl4-openssl-dev bzip2 <br /> module-init-tools transfig tgif texinfo texlive-latex-base texlive-latex-recomm

sploving的专栏 2692

CFI and SFI

看paper时遇见两个名词:CFI(control flow integrity ), SFI(software fault isolation ),那么两者到底有什么区别呢?查了一下文献,得知:SFI 是将代码限制在自己的代码块中。比如两个domainA 和B,A是trust, B是untrust, SFI就是防止B的代码跳转到A中,从而防止恶意攻击。采用的技术就是对于jump这

sploving的专栏 2569

安装不同版本GCC

 在Fedora 8时,重装编译grub-0.97时,总是出现如下错误:configure: error: GRUB requires a working absolute objcopy; upgrade your binutilsgoogle 了一下,原来是gcc版本不兼容,他要求的版本是3.4,而我的机器是4.1的,只好下载源码重新安装。 

sploving的专栏 2442

rootkit(1)-adore-ng0.56在Linux2.6应用

自己机器是fc8#uname -r 2.6.18.8-xen源码在/home/sploving/xen1. 下载adore-ng-0.562. cp Makefile.2.6 Makefile并修改相应的项,以适应自己的内核版本。3. make4. ./relink[root@localhost adore-ng-0.56-wztfix]# ./reli

sploving的专栏 2158

ubuntu 10.04安装IMA

<br />首先编译内核:<br />make menuconfig<br />把CONFIG_IMA*选上<br />然后make -j4;make install, make modules, make modules_install<br />即可<br />在启动时,grub的kernel那一项要加上<br />ima_tcb=1<br />这样就可以查看/sys/kernel/security/ima/里面的东西了

sploving的专栏 1869

fedora 8 安装 scilab

从源码下的最新的scilab,然后在fc8上编译,遇到不少问题,逐一解决./configure1.hdf5 Could not find hdf5.yum install hdf5-devel2.configure:error: Could not find or use the Java package/jar jhdf5 used by HDF5Java l

sploving的专栏 1853

google groups 新的地址

group的地址总是被屏蔽,发现一个新的可用的地址:groups.google.is

sploving的专栏 970

xen 编译一个问题

 编译xen的时候,在make initrd时容易出现下面的问题:No ata_generic module found during initrd image creation 那么是/lib/modules/2.6.18.8-xen/kernel/driver目录下没有ata这个模块。我们可以把dom0的拷过去。我的内核是2.6.231.查看ata_generic放到哪个目

sploving的专栏 893

kernel to/from NV

#include #include #include "include/trousers/tss.h"#define CKERR if(result != TSS_SUCCESS) {perror("erro/n"); return 1;}int main(){  TSS_HCONTEXT hContext;  TSS_HTPM hTPM;  TSS_HPOLICY h

sploving的专栏 873

汇编小结

汇编常用的寄存器有:data register:EAX,EBX,ECX,EDXsegment register: CS, DS, EX, FS, GS, SSindex register: ESI, EDI(表示源和目的pointer register: EIP, ESP, EBP EIP 为指令指针, ESP 为堆栈指针,EBP为基址指针寄存器,用来标识栈中某一固定位置,

sploving的专栏 659
上一篇: linux 系统调用列表(转)
下一篇: (转)xen make file
sploving
博客等级 码龄20年 31粉丝 27原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值