nvme driver 原始碼修改、編譯
在linux中有時候需要用到自己修改過的nvme driver,我的linux環境是centos
1、查詢centos版本
uname -r
3.10.0-327.el7.x86_64
2、搜尋centos的src.rpm包,解壓
rpm -i https://buildlogs.centos.org/c7.1511.00/kernel/20151119220809/3.10.0-327.el7.x86_64/kernel-3.10.0-327.el7.src.rpm
3、找到linux核心原始碼
/root/rpmbuild/SOURCES/linux-3.10.0-327.el7.tar.xz
4、編譯nvme driver
在原始碼目錄中找到nvme-core.c nvme-scsi.c nvme.h三個檔案,拷貝到單獨的資料夾內。增加一個makefile
ifneq ($(KERNELRELEASE),)
nvme_driver-objs:= nvme-core.o nvme-scsi.o
obj-m := nvme_driver.o
else
PWD := $(shell pwd)
KVER ?= $(shell uname -r)
KDIR := /lib/modules/$(KVER)/build
all:
$(MAKE) -C $(KDIR) M=$(PWD)
clean:
rm -fr *.o *.mod.c *.ko .tmp_versions
endif
5、insmod driver
modprobe -r nvme
insmod nvme-driver.ko
替換掉原來的nvme driver
相關文章
- 原始碼編譯Vim 8原始碼編譯
- MongoDB(0)- 原始碼編譯MongoDB原始碼編譯
- 編譯Android原始碼編譯Android原始碼
- 編譯hibernate原始碼編譯原始碼
- Docker編譯Azerothcore原始碼Docker編譯原始碼
- Spring原始碼編譯Spring原始碼編譯
- 修改gradle指令碼,加速spring4.1原始碼編譯構建速度Gradle指令碼Spring原始碼編譯
- windows下修改、編譯、構建spring-framework4.1.8.RELEASE原始碼Windows編譯SpringFramework原始碼
- 編譯FFMPEG原始碼的指令碼編寫案例編譯原始碼指令碼
- WebRTC研究 (一) 編譯原始碼Web編譯原始碼
- 原始碼編譯 apache2.4原始碼編譯Apache
- Kubernetes原始碼編譯原始碼編譯
- Swift原始碼專案編譯Swift原始碼編譯
- 龍芯原始碼編譯MySQL原始碼編譯MySql
- Ceph原始碼編譯與打包原始碼編譯
- 原始碼編譯安裝Redis原始碼編譯Redis
- LAMP原始碼編譯安裝LAMP原始碼編譯
- osg原始碼編譯步驟原始碼編譯
- Android原始碼編譯--整理Android原始碼編譯
- XCode 編譯 PAG 原始碼XCode編譯原始碼
- Android原始碼閱讀-編譯8.0原始碼Android原始碼編譯
- 針對flume中扇出複用(源exec)原始碼修改,並編譯flume原始碼編譯
- Vue3原始碼分析——編譯模組和編譯器Vue原始碼編譯
- MySQL5.5原始碼編譯新增編譯備註資訊~MySql原始碼編譯
- 反編譯APK資原始檔與原始碼編譯APK原始碼
- TiKV 原始碼解析系列 ——Placement Driver原始碼
- Dubbo原始碼之動態編譯原始碼編譯
- MacOS X 編譯Android原始碼Mac編譯Android原始碼
- 原始碼編譯安裝的原理原始碼編譯
- openssl原始碼編譯及配置方法原始碼編譯
- Android FrameWork 之原始碼編譯AndroidFramework原始碼編譯
- 用mingw編譯tcc原始碼編譯原始碼
- 原始碼的下載與編譯原始碼編譯
- zabbix agent原始碼編譯安裝原始碼編譯
- 原始碼編譯安裝MySQL 5.7.9原始碼編譯MySql
- Apache Kafka-0.8.1.1原始碼編譯ApacheKafka原始碼編譯
- Tomcat7.0原始碼編譯Tomcat原始碼編譯
- 【轉】MySQL原始碼編譯安裝MySql原始碼編譯